From 139bfa91e6be4c0c408833851b66df4343b5326a Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 2 Jul 2026 21:35:15 +0000 Subject: [PATCH 01/28] chore: generate changelog for 6.5.0 --- docs/release-notes/6.5.0/changelog.ai.txt | 8 +++ docs/release-notes/6.5.0/changelog.mdx | 77 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 61 +++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 docs/release-notes/6.5.0/changelog.ai.txt create mode 100644 docs/release-notes/6.5.0/changelog.mdx create mode 100644 docs/release-notes/6.5.0/upgrade-guide.mdx diff --git a/docs/release-notes/6.5.0/changelog.ai.txt b/docs/release-notes/6.5.0/changelog.ai.txt new file mode 100644 index 000000000..497da81e2 --- /dev/null +++ b/docs/release-notes/6.5.0/changelog.ai.txt @@ -0,0 +1,8 @@ +AI Context: 6.5.0 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 diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx new file mode 100644 index 000000000..47f7981f1 --- /dev/null +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -0,0 +1,77 @@ +--- +id: mfffzjjg +title: Webiny 6.5.0 Changelog +description: See what's new in Webiny version 6.5.0 +--- + +import { GithubRelease } from "@/components/GithubRelease"; +import { Alert } from "@/components/Alert"; + + + +## Headless CMS + +### AI-Powered Content Generation ([#5333](https://github.com/webiny/webiny-js/pull/5333)) + +You can now generate CMS entry content using AI directly from the entry editor. A new AI button in the editor header opens a prompt dialog — describe what you want, and the generated content populates your entry fields in real time via WebSocket. The system understands your model's schema including nested objects, dynamic zones, validation rules, and predefined values. Rich text fields receive proper Lexical editor state through an internal conversion pipeline. + +### Configurable New Entry Wizard ([#5354](https://github.com/webiny/webiny-js/pull/5354)) + +You can now inject a custom wizard UI that appears before the entry form opens. This lets you gather initial values (e.g., from a template selector or AI prompt) and pre-fill the form with those values already marked as dirty. + +```typescript +import { ContentEntryEditorConfig } from "webiny/admin/cms/entry/editor"; + + + } + modelIds={["article", "blogPost"]} + /> + +``` + +### Redesigned Content Model Editor ([#5259](https://github.com/webiny/webiny-js/pull/5259), [#5289](https://github.com/webiny/webiny-js/pull/5289), [#5290](https://github.com/webiny/webiny-js/pull/5290)) + +The content model editor has been significantly redesigned. The Edit/Preview tabs now appear as a segmented control in the top bar. The fields sidebar collapses into an 80×80 icon grid with smooth animations. Field cards have been restyled with field-type icons and updated typography. Drag-and-drop uses a proper cursor overlay with label and icon instead of the previous orange circle, and drop zones have cleaner styling. The settings panel now opens in a drawer instead of a full-screen overlay. The preview tab shows a friendly empty state with an illustration and "Switch to edit mode" button when no fields exist. + +## Website Builder + +### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) + +The "Configure Next.js" option has been renamed to "Configure Starter Kit" and now includes a Nuxt tab alongside Next.js. The Nuxt tab generates ready-to-use environment configuration for the [Webiny Nuxt starter kit](https://github.com/webiny/website-builder-nuxt), pulling real deployment values (API key, API host, tenant ID, admin host) that you can copy directly into your project's `.env` file. + +### Editable Object and List Fields ([#5295](https://github.com/webiny/webiny-js/pull/5295)) + +Object fields now work in the page editor. Previously, declaring an `object` input on a component rendered nothing. Object fields now appear as clickable rows that open slide-out panels containing their child inputs. Lists of objects show as reorderable rows with add/remove/move controls and an empty state. Nested objects stack panels over each other with backdrop dimming, and all values persist correctly through the round-trip. + +### Preview Domain Trailing Slash Fix ([#5332](https://github.com/webiny/webiny-js/pull/5332)) + +Adding a trailing slash to the preview domain (e.g., `http://localhost:3000/`) no longer produces broken preview links with double slashes. The domain is now normalized automatically. + +## Admin + +### Workflow State Folder Permissions ([#5331](https://github.com/webiny/webiny-js/pull/5331)) + +Workflow states now respect Folder Level Permissions. Users only see workflow states for records in folders they can access — restricted users no longer see states for entries or pages outside their allowed folders. As part of this change, moving entries or pages with active workflow states is now blocked to prevent permission inconsistencies. + +### Real-Time AI Image Enrichment Notifications ([#5326](https://github.com/webiny/webiny-js/pull/5326)) + +When you upload an image and AI finishes generating its tags and description, you now receive an on-screen notification in real time. Only the person who uploaded the image is notified, not everyone signed in. + +### Content Reviews Widget Loading States ([#5328](https://github.com/webiny/webiny-js/pull/5328)) + +The Content Reviews dashboard widgets now show skeleton placeholders while loading and a clear empty-state illustration when a tab has no items. The widget maintains a stable height across loading, populated, and empty states with no layout jump. + +### Form Field Context and Navigation ([#5330](https://github.com/webiny/webiny-js/pull/5330)) + +Form field callbacks can now navigate the form tree to access sibling and parent fields via `IFieldScope` and `IFieldNavigator`. This enables computed, hidden, disabled, and required callbacks that depend on related field values. Dynamic zone copy/paste is also now supported. + +### Destructive Dropdown Menu Variant ([#5310](https://github.com/webiny/webiny-js/pull/5310)) + +`DropdownMenu.Item` now exposes a `variant="destructive"` prop for delete-style actions, replacing the need to copy a long className string onto every red menu item. + +```tsx + + Delete + +``` diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx new file mode 100644 index 000000000..006333f6e --- /dev/null +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -0,0 +1,61 @@ +--- +id: pxrxvsx6 +title: Upgrade from 6.4.x to 6.5.0 +description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. +--- + +import { Alert } from "@/components/Alert"; +import { AdditionalNotes } from "@/components/upgrade/AdditionalNotes"; + + + +- how to upgrade Webiny from 6.4.x to 6.5.0 + + + + + +Make sure to check out the [6.5.0 changelog](./changelog) to get familiar with the changes introduced in this release. + + + +## Step-by-Step Guide + +### 1. Upgrade Webiny Packages + +Upgrade all Webiny packages by running the following command: + +```bash +yarn webiny upgrade 6.5.0 --debug +``` + +Note that the command above will run upgrades for all available versions of Webiny up to 6.5.0. 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.5.0**. + + + +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.5.0 --debug +``` + + + +### 2. Deploy Your Project + +Proceed by redeploying your Webiny project: + +```bash +# Execute in your project root. +yarn webiny deploy --env {environment} +``` + + From 51c9f7b587d768d4cc79f9eaf422a2f52d6b9123 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Fri, 3 Jul 2026 12:04:07 +0000 Subject: [PATCH 02/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 41 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 47f7981f1..636116b2c 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -34,6 +34,18 @@ import { ContentEntryEditorConfig } from "webiny/admin/cms/entry/editor"; The content model editor has been significantly redesigned. The Edit/Preview tabs now appear as a segmented control in the top bar. The fields sidebar collapses into an 80×80 icon grid with smooth animations. Field cards have been restyled with field-type icons and updated typography. Drag-and-drop uses a proper cursor overlay with label and icon instead of the previous orange circle, and drop zones have cleaner styling. The settings panel now opens in a drawer instead of a full-screen overlay. The preview tab shows a friendly empty state with an illustration and "Switch to edit mode" button when no fields exist. +### New Revision Button for Published and Unpublished Entries ([#5352](https://github.com/webiny/webiny-js/pull/5352), [#5353](https://github.com/webiny/webiny-js/pull/5353), [#5347](https://github.com/webiny/webiny-js/pull/5347)) + +When editing a published or unpublished entry, you now see a "New Revision" button alongside "Publish". Previously, if an entry was published and then unpublished, the UI didn't make it clear how to create a new revision. The "All Revisions" option is now always visible in the revisions dropdown, and saving a locked entry automatically creates a new revision instead of failing. + +### Refactored CMS Architecture with Presenter/Feature Pattern ([#5323](https://github.com/webiny/webiny-js/pull/5323)) + +Content entries, content models, and related modules have been refactored to use a new presenter/feature architecture with dependency injection. Key improvements include: + +- Folder creation no longer triggers a full `ListFolders` reload — the cache is populated from the create response +- Sorting by name now works correctly for both folders and entries +- The `app-headless-cms-common` package is now types-only, reducing bundle size + ## Website Builder ### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) @@ -48,6 +60,14 @@ Object fields now work in the page editor. Previously, declaring an `object` inp Adding a trailing slash to the preview domain (e.g., `http://localhost:3000/`) no longer produces broken preview links with double slashes. The domain is now normalized automatically. +### Always Show "All Revisions" in Page Revision Menu ([#5348](https://github.com/webiny/webiny-js/pull/5348)) + +The "All revisions" option in the revisions menu is now always visible when editing a page, regardless of how many revisions exist. Previously it could be hidden in certain states. + +### Redirects List Rewritten with ListView Component ([#5261](https://github.com/webiny/webiny-js/pull/5261)) + +The redirects list has been rewritten using the new `ListPresenter` abstraction and `ListView` compound component. This fixes a bug where folders would not display correctly when a folder had subfolders but no redirect records. + ## Admin ### Workflow State Folder Permissions ([#5331](https://github.com/webiny/webiny-js/pull/5331)) @@ -75,3 +95,24 @@ Form field callbacks can now navigate the form tree to access sibling and parent Delete ``` + +### Upgraded tailwind-merge to v3 ([#5263](https://github.com/webiny/webiny-js/pull/5263)) + +The internal class-merging utility used for admin UI components was updated to version 3. This ensures correct conflict resolution behavior for Tailwind CSS v4 class names, including border widths, padding, and margin utilities. + +## Development + +### Custom GraphQL Playground Built from Scratch ([#5357](https://github.com/webiny/webiny-js/pull/5357)) + +The GraphQL Playground has been completely rewritten, replacing the old CDN-loaded `graphql-playground-react` with a custom implementation built on Monaco Editor. The new playground includes several improvements: + +- **Schema Docs Explorer** — a right-side drawer for browsing the introspected schema with stack-based type navigation, search across type names, field names, arguments, and enum values, and clickable type references +- **Query History** — localStorage-backed execution history (capped at 100 entries) with search, restore-to-active-tab, open-in-new-tab, and individual delete +- **Tab-based architecture** — each tab has its own GraphQL client with independent auth and tenant headers. System tabs (Manage, Read, Preview APIs) have read-only endpoints; duplicate them to get an editable copy +- **Comment-preserving prettifier** — formats queries while keeping your comments intact + +The playground uses a DI-based `PlaygroundTabRegistry`, allowing any package to contribute its own tabs. If you need custom client behavior, implement `PlaygroundClient.Interface` or use the provided factories with custom `getToken`/`getTenant` overrides. + +### Dev Tools Permissions No Longer Duplicated Across Playground Apps ([#5338](https://github.com/webiny/webiny-js/pull/5338)) + +The GraphQL Playground and SDK Playground apps each used to register the other app's permissions as well as their own, which could show permissions for apps that weren't installed. Each app now contributes only its own permissions, and they're combined into a single "Dev Tools" group automatically. diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 006333f6e..3ce061558 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: pxrxvsx6 +id: j13g9sp9 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From d6b1798b7bfce08a4675a367d0221ecffd5b877f Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 6 Jul 2026 09:09:07 +0000 Subject: [PATCH 03/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 6 ++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 636116b2c..16027e24a 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -46,6 +46,12 @@ Content entries, content models, and related modules have been refactored to use - Sorting by name now works correctly for both folders and entries - The `app-headless-cms-common` package is now types-only, reducing bundle size +### AI-Powered Entry Creation Wizard ([#5356](https://github.com/webiny/webiny-js/pull/5356)) + +You can now enable AI-assisted content generation when creating new CMS entries. A new "Generate with AI" toggle in Model Settings (`settings.aiEntryWizard`) controls whether new entries open with an inline AI content generation form. When enabled, the wizard pre-fills the entry form with AI-generated content based on your prompt. A skip button lets you bypass the wizard and start with an empty form. + +The wizard system now supports priority-based registration, so custom wizards can override the default AI wizard when needed. + ## Website Builder ### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 3ce061558..24f981264 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: j13g9sp9 +id: dopsvqwj title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 4829ae1af73096f597ef53d533c57b70e9f2fbe6 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Sat, 11 Jul 2026 14:25:45 +0000 Subject: [PATCH 04/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 22 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 16027e24a..a3c8929ce 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -106,6 +106,10 @@ Form field callbacks can now navigate the form tree to access sibling and parent The internal class-merging utility used for admin UI components was updated to version 3. This ensures correct conflict resolution behavior for Tailwind CSS v4 class names, including border widths, padding, and margin utilities. +### Review Boxes Empty States ([#5319](https://github.com/webiny/webiny-js/pull/5319)) + +Improved empty state handling for review boxes throughout the admin interface. + ## Development ### Custom GraphQL Playground Built from Scratch ([#5357](https://github.com/webiny/webiny-js/pull/5357)) @@ -122,3 +126,21 @@ The playground uses a DI-based `PlaygroundTabRegistry`, allowing any package to ### Dev Tools Permissions No Longer Duplicated Across Playground Apps ([#5338](https://github.com/webiny/webiny-js/pull/5338)) The GraphQL Playground and SDK Playground apps each used to register the other app's permissions as well as their own, which could show permissions for apps that weren't installed. Each app now contributes only its own permissions, and they're combined into a single "Dev Tools" group automatically. + +## AI + +### AI Prompt File Attachments and Audit Logging ([#5384](https://github.com/webiny/webiny-js/pull/5384)) + +You can now attach additional files (text, PDF, DOCX) to AI prompts in both the Headless CMS and Website Builder. The files are converted to markdown and included in the prompt context, allowing the AI to reference document content when generating responses. + +AI operations are now recorded in the audit logs. Each generation creates a single merged record capturing the before/after state, with detailed tabs showing the system prompt, user prompt, and LLM response in the audit log viewer. + +### Audit Logs UI Improvements ([#5384](https://github.com/webiny/webiny-js/pull/5384)) + +The audit logs interface has been updated with a filter drawer, improved date/time pickers with proper ISO output, and fixed pagination when scrolling through filtered results. + +## File Manager + +### File Type Filtering in File Picker ([#5384](https://github.com/webiny/webiny-js/pull/5384)) + +The File Manager picker now respects the `accept` prop to filter file listings. When you specify accepted file types, only matching files are shown in the listing while folders remain visible for navigation. Duplicate selections in multi-file mode are also now prevented. diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 24f981264..0d9d8e8bc 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: dopsvqwj +id: qla5fo6n title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 9560ef12ba3635d447dd4becdaed13596bc97c69 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Sun, 12 Jul 2026 18:02:28 +0000 Subject: [PATCH 05/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 17 +++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index a3c8929ce..8fcf4d6d1 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -52,6 +52,23 @@ You can now enable AI-assisted content generation when creating new CMS entries. The wizard system now supports priority-based registration, so custom wizards can override the default AI wizard when needed. +### Augmentable Model Settings Interface ([#5391](https://github.com/webiny/webiny-js/pull/5391)) + +Models can now carry custom settings via a new `IModelSettings` augmentable interface. This allows you to attach feature flags or other metadata directly to a model definition using the `.settings()` fluent builder method. + +```typescript +import { createModel } from "webiny/headless-cms"; + +const Article = createModel() + .name("Article") + .settings({ aiEntryWizard: true }) + .fields([ + // ... + ]); +``` + +The interface can be augmented from external packages to add type-safe custom properties. Models without `.settings()` default to an empty object. + ## Website Builder ### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 0d9d8e8bc..72577fdbb 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: qla5fo6n +id: cta2fh0z title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 6a237cfeef9775a21920df4647893c0e0b4c71e7 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 13 Jul 2026 07:52:58 +0000 Subject: [PATCH 06/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 18 ++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 8fcf4d6d1..21f1931c3 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -144,6 +144,24 @@ The playground uses a DI-based `PlaygroundTabRegistry`, allowing any package to The GraphQL Playground and SDK Playground apps each used to register the other app's permissions as well as their own, which could show permissions for apps that weren't installed. Each app now contributes only its own permissions, and they're combined into a single "Dev Tools" group automatically. +### Removed Apollo Client from Multiple Packages ([#5345](https://github.com/webiny/webiny-js/pull/5345), [#5342](https://github.com/webiny/webiny-js/pull/5342), [#5340](https://github.com/webiny/webiny-js/pull/5340), [#5339](https://github.com/webiny/webiny-js/pull/5339), [#5336](https://github.com/webiny/webiny-js/pull/5336), [#5335](https://github.com/webiny/webiny-js/pull/5335)) + +Apollo Client has been removed from several packages including ACO, Audit Logs, File Manager, Website Builder, Workflows, and Cognito. These packages now use Webiny's internal GraphQL client infrastructure instead. + +### OpenSearch Client Refactored to Use Dependency Injection ([#5311](https://github.com/webiny/webiny-js/pull/5311), [#5301](https://github.com/webiny/webiny-js/pull/5301)) + +The `OpenSearchContext` abstraction and `context.opensearch`/`context.elasticsearch` properties have been removed. All consumers now resolve the OpenSearch client directly via the `OpenSearchClient` dependency injection token. + +```typescript +import { OpenSearchClient } from "webiny/api-opensearch"; + +// Inject the client via DI instead of accessing context.opensearch +``` + +### Removed Unused `app-file-manager-s3` Package ([#5341](https://github.com/webiny/webiny-js/pull/5341)) + +The `app-file-manager-s3` package has been removed as it was no longer used anywhere in the codebase. + ## AI ### AI Prompt File Attachments and Audit Logging ([#5384](https://github.com/webiny/webiny-js/pull/5384)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 72577fdbb..eec7ffe01 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: cta2fh0z +id: t0vws9y5 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 9837b3a7424fc273dbb3271c09a31ab3b2d0d25d Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 13 Jul 2026 10:22:20 +0000 Subject: [PATCH 07/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 4 ++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 21f1931c3..13ab919e9 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -162,6 +162,10 @@ import { OpenSearchClient } from "webiny/api-opensearch"; The `app-file-manager-s3` package has been removed as it was no longer used anywhere in the codebase. +### Vue `shallowRef` Now Properly Triggers Re-renders ([#5262](https://github.com/webiny/webiny-js/pull/5262)) + +When using Vue's `shallowRef` in Webiny extensions, changes to the ref value were not always triggering component re-renders as expected. This has been fixed to ensure `shallowRef` behaves consistently with Vue's reactivity system, properly updating the UI when the reference changes. + ## AI ### AI Prompt File Attachments and Audit Logging ([#5384](https://github.com/webiny/webiny-js/pull/5384)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index eec7ffe01..0766a2211 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: t0vws9y5 +id: 9c8hj18r title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 27fedce12d75e5f6da1d744ec4c95f179fd5f6b0 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 13 Jul 2026 10:58:41 +0000 Subject: [PATCH 08/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 4 ++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 13ab919e9..e01140a3d 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -166,6 +166,10 @@ The `app-file-manager-s3` package has been removed as it was no longer used anyw When using Vue's `shallowRef` in Webiny extensions, changes to the ref value were not always triggering component re-renders as expected. This has been fixed to ensure `shallowRef` behaves consistently with Vue's reactivity system, properly updating the UI when the reference changes. +### TypeScript 7 and Dependency Updates ([#5396](https://github.com/webiny/webiny-js/pull/5396)) + +Webiny now uses TypeScript 7.0.2. Most dependencies have also been updated to their latest compatible versions. If you encounter type errors after upgrading, ensure your IDE and local TypeScript version are in sync with the project. + ## AI ### AI Prompt File Attachments and Audit Logging ([#5384](https://github.com/webiny/webiny-js/pull/5384)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 0766a2211..300ed9144 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 9c8hj18r +id: nie1la68 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From db57a6886c5b587e5ccb228f6ffa4588c6728f84 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 16 Jul 2026 12:49:29 +0000 Subject: [PATCH 09/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 36 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index e01140a3d..4c1978f94 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -91,6 +91,42 @@ The "All revisions" option in the revisions menu is now always visible when edit The redirects list has been rewritten using the new `ListPresenter` abstraction and `ListView` compound component. This fixes a bug where folders would not display correctly when a folder had subfolders but no redirect records. +### A/B Testing for Pages ([#5349](https://github.com/webiny/webiny-js/pull/5349)) + +You can now run A/B tests on Website Builder pages directly from the Admin UI. Create an experiment on any page, define full-page variants with different content, set traffic splits, and activate or pause experiments instantly. + +**How it works:** + +- **Create experiments** — Open a page in the editor, navigate to the Experiments panel, and create a new experiment with one or more variants. +- **Edit variants** — Each variant is a complete page snapshot that you edit on the normal editor canvas. +- **Set traffic splits** — Configure what percentage of visitors see each variant (e.g., 50% control, 25% variant A, 25% variant B). +- **Activate and pause** — Start the experiment when ready; pause it at any time to instantly revert all visitors to the control page. + +**SDK integration:** + +The SDK handles variant assignment automatically. A single `getPageWithExperiment` call fetches the page, determines the visitor's bucket, and returns the appropriate variant content: + +```typescript +import { contentSdk } from "webiny/website-builder-nextjs"; + +const { page } = await contentSdk.getPageWithExperiment(path, { + searchParams: search +}); +``` + +Visitor assignment is deterministic and sticky — the same visitor always sees the same variant without storing any assignment data. A `wb_ab_vid` cookie (random UUID, 1-year expiry, no PII) ensures consistent bucketing across sessions. + +**Testing and QA:** + +- Force a specific variant with `?wb-variant=` to preview any variant regardless of traffic split. +- Pause an experiment to immediately revert all traffic to the control page — no cache purge required. + + + +Variants follow your existing publishing workflow. A variant only serves to visitors after both the variant is marked "ready" and the parent page is published. + + + ## Admin ### Workflow State Folder Permissions ([#5331](https://github.com/webiny/webiny-js/pull/5331)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 300ed9144..e5f9caf92 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: nie1la68 +id: 9phe4mf4 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From c55a4cbd7723d409941167acdf9de0f72dafc0a6 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Fri, 17 Jul 2026 19:08:19 +0000 Subject: [PATCH 10/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 32 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 4c1978f94..f3717d09c 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -69,6 +69,38 @@ const Article = createModel() The interface can be augmented from external packages to add type-safe custom properties. Models without `.settings()` default to an empty object. +### Live Preview SDK for Next.js Applications ([#5435](https://github.com/webiny/webiny-js/pull/5435)) + +A new set of packages enables real-time live preview for headless CMS content in Next.js applications. When editors make changes in the CMS admin, those changes appear instantly in your frontend without requiring a page refresh or republish. + +The SDK includes: + +- **`cms-sdk`** — Core live preview functionality with postMessage-based editor bridge, entry store management, reference resolution, and dynamic zone support +- **`cms-nextjs`** — Next.js-specific integration for seamless React component rendering +- **`content-sdk`** and **`content-sdk-nextjs`** — Content delivery utilities for fetching published content + +```typescript +import { createCmsClient } from "webiny/cms-nextjs"; + +const client = createCmsClient({ + endpoint: "https://your-webiny-api.com/cms/preview/en-US", + token: "your-preview-token" +}); + +// Entries update in real-time as editors make changes +const entry = await client.getEntry({ model: "article", id: "abc123" }); +``` + +The CMS admin now includes a preview pane that renders your frontend components in an iframe, automatically syncing entry changes as you type. Dynamic zones and object fields support drag-and-drop reordering directly in the preview. + +### New `getModel` SDK Method with Wildcard Field Expansion ([#5435](https://github.com/webiny/webiny-js/pull/5435)) + +The SDK now exposes a `getModel` method that returns full model definitions including field metadata. It supports wildcard field expansion for nested structures and automatically resolves referenced models, making it easier to build dynamic rendering logic based on your content model schema. + +### Stricter Datetime Field Validation ([#5435](https://github.com/webiny/webiny-js/pull/5435)) + +The API now enforces format validation on datetime fields. Previously, malformed date strings could be saved without error. Invalid formats are now rejected at the API level with a descriptive validation message. + ## Website Builder ### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index e5f9caf92..d6bef02ea 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 9phe4mf4 +id: acmc68ga title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From c6b507fb175ca770a14665344a304d1461d48196 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 20 Jul 2026 10:39:22 +0000 Subject: [PATCH 11/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 6 ++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index f3717d09c..225d0037c 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -195,6 +195,12 @@ The internal class-merging utility used for admin UI components was updated to v Improved empty state handling for review boxes throughout the admin interface. +### New EmptyState Design System Component ([#5344](https://github.com/webiny/webiny-js/pull/5344)) + +A reusable `EmptyState` component has been added to the design system for communicating "no data" situations consistently across the Admin interface. It supports six context-appropriate illustration types (content, table, listing, layout, upload, select), optional title and description text, optional action buttons, and three sizes (small, default, large). + +The Content Reviews dashboard widgets now use this shared component, which keeps the widget height stable through loading and empty states — previously the widget could jump in height once loading finished. + ## Development ### Custom GraphQL Playground Built from Scratch ([#5357](https://github.com/webiny/webiny-js/pull/5357)) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index d6bef02ea..1144d8053 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: acmc68ga +id: vlankmi0 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 0d8b36c798f8f1d299932a0f265b00c6bd02a03e Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 20 Jul 2026 11:32:13 +0000 Subject: [PATCH 12/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 1144d8053..391f0bc87 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: vlankmi0 +id: 41nsuu39 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From cf18b8a8de50d2625d588c30373273e49177fab8 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 20 Jul 2026 14:02:04 +0000 Subject: [PATCH 13/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 391f0bc87..c605ac572 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 41nsuu39 +id: tmmtx30a title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From b8b86e0917124ae633d3e9622f0231825e55aa97 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Mon, 20 Jul 2026 15:18:53 +0000 Subject: [PATCH 14/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index c605ac572..79f5f69eb 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: tmmtx30a +id: 40bx9dje title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 72c67e9fb798186493c07b76d585ceaf62c66e01 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Tue, 21 Jul 2026 14:06:49 +0000 Subject: [PATCH 15/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 79f5f69eb..4d10d3e53 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 40bx9dje +id: rciacu17 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From a15dc209ed483c572f1f4d2064f4c4de0cd71098 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Tue, 21 Jul 2026 16:12:10 +0000 Subject: [PATCH 16/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 4d10d3e53..06063b67f 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: rciacu17 +id: zat3g3a3 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From c740b8c46e4003cdfb2115bb8d1cf85b17409f2e Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Tue, 21 Jul 2026 16:19:28 +0000 Subject: [PATCH 17/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 06063b67f..e534cfae9 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: zat3g3a3 +id: uqi4kh8h title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 36621725c94cac630682773b432dfae068757559 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Tue, 21 Jul 2026 17:37:03 +0000 Subject: [PATCH 18/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index e534cfae9..fe3e12eb4 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: uqi4kh8h +id: 2qm9w65e title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 901a872fa3bb7e1d00deb12ce84900fa263fdc87 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Wed, 22 Jul 2026 11:48:19 +0000 Subject: [PATCH 19/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index fe3e12eb4..bb2b25c10 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 2qm9w65e +id: 5svcurnw title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From cdb2fe617471ffc6fbae1f1ada5675b2a9115508 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Wed, 22 Jul 2026 15:34:07 +0000 Subject: [PATCH 20/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index bb2b25c10..af5b7e1cb 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 5svcurnw +id: 0gfmbdkr title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 92a1caed43d4b611b566ef45c83f4d43892d78a8 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Wed, 22 Jul 2026 15:59:45 +0000 Subject: [PATCH 21/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index af5b7e1cb..19a56963a 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 0gfmbdkr +id: 13oq1u4q title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From c8bc985f2b52a2b38339f719c48b50c4b95fcb9e Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 08:48:00 +0000 Subject: [PATCH 22/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 19a56963a..ccfd318d2 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 13oq1u4q +id: h7tqz4ly title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 572b7b5f675672dd0da018b739073a3bf628d197 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 09:25:17 +0000 Subject: [PATCH 23/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index ccfd318d2..784432ccd 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: h7tqz4ly +id: 4alyas68 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 5dee370532a0e933faec942bf0c70e59ad5d77ea Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 11:31:29 +0000 Subject: [PATCH 24/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/changelog.mdx | 67 ++++++++++++++++++++++ docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/changelog.mdx b/docs/release-notes/6.5.0/changelog.mdx index 225d0037c..809e2ae69 100644 --- a/docs/release-notes/6.5.0/changelog.mdx +++ b/docs/release-notes/6.5.0/changelog.mdx @@ -101,6 +101,33 @@ The SDK now exposes a `getModel` method that returns full model definitions incl The API now enforces format validation on datetime fields. Previously, malformed date strings could be saved without error. Invalid formats are now rejected at the API level with a descriptive validation message. +### New `asset` Field Type for Images and Files ([#5481](https://github.com/webiny/webiny-js/pull/5481)) + +A new first-class `asset` field type is now available in the Headless CMS field palette. This replaces the existing `file` field (now deprecated but still functional for existing models). The new field type provides: + +- Built-in image editing with crop and focal point controls +- Per-entry image transforms that are baked into the delivery URL +- A unified `FmAsset` GraphQL type with proper metadata handling + +When you add an `asset` field to a content model, editors can select files from the File Manager and apply custom crops directly in the entry form. These edits are stored on the entry itself, so the same source image can be cropped differently across entries. + +```typescript +// Asset field values now include the processed URL with crop params +const entry = await sdk.cms.getEntry({ + model: "article", + id: "abc123" +}); + +// entry.coverImage.url includes ?crop=... when edited +console.log(entry.coverImage.url); +``` + + + +Existing content models using the `file` field will continue to work. You can migrate to the new `asset` field type when convenient. + + + ## Website Builder ### Nuxt Starter Kit Configuration ([#5265](https://github.com/webiny/webiny-js/pull/5265)) @@ -159,6 +186,14 @@ Variants follow your existing publishing workflow. A variant only serves to visi +### Fixed Live Preview Updates for Asset Fields ([#5481](https://github.com/webiny/webiny-js/pull/5481)) + +Live preview in the CMS entry editor now correctly updates when you change asset field values. Previously, MobX observable proxies weren't being unwrapped before diffing, causing preview updates to fail silently. The fix also ensures: + +- Clearing an asset sends `null` instead of an object with null properties +- Asset URLs recompute immediately when crop settings change +- The editing SDK only activates when the preview iframe is showing a CMS entry + ## Admin ### Workflow State Folder Permissions ([#5331](https://github.com/webiny/webiny-js/pull/5331)) @@ -261,3 +296,35 @@ The audit logs interface has been updated with a filter drawer, improved date/ti ### File Type Filtering in File Picker ([#5384](https://github.com/webiny/webiny-js/pull/5384)) The File Manager picker now respects the `accept` prop to filter file listings. When you specify accepted file types, only matching files are shown in the listing while folders remain visible for navigation. Duplicate selections in multi-file mode are also now prevented. + +### Image Delivery Pipeline with Server-Side Transforms ([#5481](https://github.com/webiny/webiny-js/pull/5481)) + +Images served through the File Manager now support server-side transforms including crop, format conversion, and quality adjustments. When you edit an image's crop or focal point — whether in the File Manager, CMS asset picker, or Website Builder — the transform parameters are encoded directly into the delivery URL. + +The File Manager metadata structure has been updated: + +- `metadata.imageEdit` moved to `metadata.image` +- `hotspot` renamed to `focalPoint` throughout +- New fields: `metadata.image.{crop, focalPoint, alt, caption}` + +### Shared Image Editor Component ([#5481](https://github.com/webiny/webiny-js/pull/5481)) + +A unified `ImageEditor` component now powers image editing across the File Manager, CMS asset picker, and Website Builder file inputs. This provides a consistent editing experience with crop handles and focal point selection regardless of where you're working with images. + +## Webiny SDK + +### Unified Asset Type ([#5481](https://github.com/webiny/webiny-js/pull/5481)) + +The SDK now exports a canonical `Asset` type shared by both the CMS asset field and Website Builder file inputs. This removes the previous duplicate type definitions. + +All `Webiny`-prefixed names have been simplified: + +- `WebinyImage` → `Image` +- `WebinyAsset` → `Asset` +- `getWebinyAssetUrl` → `getAssetUrl` + +```typescript +import { Asset, getAssetUrl } from "webiny/sdk"; + +const url = getAssetUrl(asset, { width: 800, format: "webp" }); +``` diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 784432ccd..348bfd3cc 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 4alyas68 +id: 703p9jn1 title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 31d3f02cd40c95f2ba297935541a324dd655f32d Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 11:38:16 +0000 Subject: [PATCH 25/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 348bfd3cc..adc413663 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 703p9jn1 +id: 8105f34z title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From fd05f2e9348ef7b5b3cbfc5a7be5abdc35b53cdc Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 11:41:29 +0000 Subject: [PATCH 26/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index adc413663..1fb9ea763 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 8105f34z +id: 13pf6kzi title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 03fe9ce8f58217060eda9a99cdc2f519947e7a66 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 11:55:29 +0000 Subject: [PATCH 27/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index 1fb9ea763..e20926a92 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 13pf6kzi +id: 7g9zpkfx title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. --- From 67aa15f682858462943770f1d03d6b95d0398b79 Mon Sep 17 00:00:00 2001 From: webiny-bot Date: Thu, 23 Jul 2026 14:40:21 +0000 Subject: [PATCH 28/28] chore: regenerate release notes for 6.5.0 --- docs/release-notes/6.5.0/upgrade-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/6.5.0/upgrade-guide.mdx b/docs/release-notes/6.5.0/upgrade-guide.mdx index e20926a92..3d2bb1fe0 100644 --- a/docs/release-notes/6.5.0/upgrade-guide.mdx +++ b/docs/release-notes/6.5.0/upgrade-guide.mdx @@ -1,5 +1,5 @@ --- -id: 7g9zpkfx +id: 7t95np1o title: Upgrade from 6.4.x to 6.5.0 description: Learn how to upgrade Webiny from 6.4.x to 6.5.0. ---