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.5.0/changelog.ai.txt
Original file line number Diff line number Diff line change
@@ -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
77 changes: 77 additions & 0 deletions docs/release-notes/6.5.0/changelog.mdx
Original file line number Diff line number Diff line change
@@ -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";

<GithubRelease version={"6.5.0"} />

## 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";

<ContentEntryEditorConfig>
<ContentEntryEditorConfig.NewEntryWizard
element={<YourWizardComponent />}
modelIds={["article", "blogPost"]}
/>
</ContentEntryEditorConfig>
```

### 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
<DropdownMenu.Item variant="destructive" onClick={handleDelete}>
Delete
</DropdownMenu.Item>
```
61 changes: 61 additions & 0 deletions docs/release-notes/6.5.0/upgrade-guide.mdx
Original file line number Diff line number Diff line change
@@ -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";

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

- how to upgrade Webiny from 6.4.x to 6.5.0

</Alert>

<Alert type="info">

Make sure to check out the [6.5.0 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.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**.

<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.5.0 --debug
```

</Alert>

### 2. Deploy Your Project

Proceed by redeploying your Webiny project:

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

<AdditionalNotes />