Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/release-notes/6.4.12/changelog.ai.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
AI Context: 6.4.12 Changelog (changelog.mdx)

This file tracks manual edits made after the generation script ran.
The script reads the "Skipped PRs" section to avoid re-adding removed entries.

## Skipped PRs

## Manual Rewrites
72 changes: 72 additions & 0 deletions docs/release-notes/6.4.12/changelog.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
id: d6yac3ip
title: Webiny 6.4.12 Changelog
description: See what's new in Webiny version 6.4.12
---

import { GithubRelease } from "@/components/GithubRelease";
import { Alert } from "@/components/Alert";

<GithubRelease version={"6.4.12"} />

## Website Builder

### Fixed Missing `version` and `metadata` Fields in Single-Page Queries ([#5727](https://github.com/webiny/webiny-js/pull/5727))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

The `GET_PAGE_BY_ID` and `GET_PAGE_BY_PATH` queries in the Website Builder SDK were missing the `version` and `metadata` fields from their selection sets. If you needed these fields, you had to patch the SDK manually. Both fields are now included by default.

### Fixed Stale Page Revision Data After Mutations ([#5757](https://github.com/webiny/webiny-js/pull/5757))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

Creating, publishing, unpublishing, or deleting page revisions did not update the revisions cache, so the editor's revisions drawer and top bar dropdown displayed stale data until a page reload. All revision mutations now properly update the cache, and both UI components are driven from a shared `RevisionListPresenter` instead of local state copies.

### Added Delete Revision API Endpoint ([#5757](https://github.com/webiny/webiny-js/pull/5757))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

The admin app called `websiteBuilder.deletePageRevision`, but the mutation was never declared on the backend — the entire client feature was wired to a non-existent endpoint. The mutation now exists and delegates to the CMS `DeleteEntryRevisionUseCase`, which handles deleting the latest revision and cascading to a full entry delete when necessary.

### Improved Revision List Actions and Confirmations ([#5757](https://github.com/webiny/webiny-js/pull/5757))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

Per-revision actions (create from, edit, publish, unpublish, delete) are now determined by the presenter rather than derived in the view. Destructive actions now require confirmation through a dialog and display a toast with the outcome. Previously, delete ran on the first click and failed silently on error.

### Fixed Workflow Decorators Not Applying to Top Bar Actions ([#5757](https://github.com/webiny/webiny-js/pull/5757))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

The page editor config was not registered through `Plugins`, so workflow decorators were never applied to the top bar actions. Additionally, an approved review no longer counts as "under review", so the editor becomes writable again and offers **Publish** instead of **New Revision**.

## Development

### Debug Logger Tool ([#5734](https://github.com/webiny/webiny-js/pull/5734))
{/* REVIEW-PENDING @brunozoric — confirm this entry, then delete this line */}

A new opt-in, permission-gated debugger is now available for troubleshooting issues in environments where you cannot access AWS or the underlying code. When a user with the `dev-tools.debug` permission enables capture, debug payloads from instrumented call sites are returned in the GraphQL response under `extensions.debug`.

**Key details:**

- Capture is requested per-request via the `x-webiny-debug` header (set to `1`, or a glob pattern like `cms.os.*` with `!` to exclude).
- Debug sessions are buffered in memory (capped at 4 MB), and payloads never reach CloudWatch—only the permitted user sees them.
- The first instrumented call site is `cms.os.list`, which captures OpenSearch query and response data around entry listing.

A new **Dev Tools → Debugger** panel in Admin lets you toggle capture, filter by namespace, and download a JSON report. Collected sessions are held in memory only and do not persist beyond the browser tab.

<Alert type="info">

After deploying this release, you must redeploy your API infrastructure (`yarn webiny deploy api`) and invalidate your CloudFront distribution to ensure the new `x-webiny-debug` header is forwarded correctly. Without this, the feature silently captures nothing.

</Alert>

### Fixed Peer Dependency Ranges Being Locked During Package Publishing ([#5777](https://github.com/webiny/webiny-js/pull/5777))
{/* REVIEW-PENDING @adrians5j — confirm this entry, then delete this line */}

When publishing packages, peer dependencies were incorrectly locked to the exact version installed in the monorepo rather than preserving the original range. This caused installation failures with `@webiny/website-builder-nextjs` — npm would error with `ERESOLVE` if your project used a different Next.js version than the one pinned during publishing.

Peer dependencies are now published with their original version ranges. For example, `@webiny/website-builder-nextjs` now correctly declares `next: >=15.0.0 <16.0.0`, allowing installation alongside any compatible Next.js 15 version.

## Admin

### Fixed Keyboard Shortcut Leak on Component Unmount ([#5757](https://github.com/webiny/webiny-js/pull/5757))
{/* REVIEW-PENDING @Pavel910 — confirm this entry, then delete this line */}

`useHotkeys` leaked registered shortcuts when a component unmounted while shortcuts were active. The cleanup effect closed over stale state, so a drawer that unmounted while open never released its `esc` binding, causing the next component to claim it to throw an error.
61 changes: 61 additions & 0 deletions docs/release-notes/6.4.12/upgrade-guide.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
id: tiuvp42p
title: Upgrade from 6.4.x to 6.4.12
description: Learn how to upgrade Webiny from 6.4.x to 6.4.12.
---

import { Alert } from "@/components/Alert";
import { AdditionalNotes } from "@/components/upgrade/AdditionalNotes";

<Alert type="success" title="What you'll learn">

- how to upgrade Webiny from 6.4.x to 6.4.12

</Alert>

<Alert type="info">

Make sure to check out the [6.4.12 changelog](./changelog) to get familiar with the changes introduced in this release.

</Alert>

## Step-by-Step Guide

### 1. Upgrade Webiny Packages

Upgrade all Webiny packages by running the following command:

```bash
yarn webiny upgrade 6.4.12 --debug
```

Note that the command above will run upgrades for all available versions of Webiny up to 6.4.12. If there are upgrades for 6.4.1, 6.4.5, they will be ran.

You can omit the version to upgrade to the latest available:

```bash
yarn webiny upgrade --debug
```

Once the upgrade has finished, running the `yarn webiny --version` command in your terminal should return **6.4.12**.

<Alert type="info">

If the above command fails or is not available in your setup, you can run the upgrade script directly via `npx`:

```bash
npx https://github.com/webiny/webiny-upgrades-v6 6.4.12 --debug
```

</Alert>

### 2. Deploy Your Project

Proceed by redeploying your Webiny project:

```bash
# Execute in your project root.
yarn webiny deploy --env {environment}
```

<AdditionalNotes />