ai endpoints requested when the ai feature is unavailable (#27525)
admin: suppress MISSING_TRANSLATION errors to fix sluggish editing (#26108)
admin: sso default role placeholder shows "choose here" twice (#27685)
content-manager: create on the fly prefills inverse from component paths (#27636)
content-manager: saved list sort resets on base-route navigation (#27663)
core/core: koa response helper types missing in consumer projects (#27380)
database: updateMany with relation filter subquery (#26909)
database: document-id migration can take hours on large localized tables (#27404)
database: updateMany ignores _q and filters (#27769)
documentation: restore properties for repeated relation targets (#27592) — ⚠️ Reverted in v5.55.1 (causing a performance drop for Strapi projects with the documentation plugin) — please update your projects to 5.55.1 instead if you're impacted ⚠️
graphql: exclude custom resolvers from built-in query field detection (#27462)
upload: store unsigned urls in richtext and blocks fields (#27593)
upload: media library degrades for roles without settings.read (#27687)
upload: show more media grid columns on wider screens (#27711)
utils: normalize string chunks before buffering streams (#27700)
We've been heads-down on this for months, and it's the change we're most excited to put in your hands: the redesigned Media Library is now the default for everyone in version 5.54.0.
This isn't a fresh coat of paint. We rebuilt the Media Library entirely around how people actually work with assets:
A completely revamped UI and UX — rebuilt from the ground up, with every screen, interaction and flow reworked to make managing your assets faster and far less fiddly
A folder tree that's always visible — no more breadcrumb archaeology to work out where you are
Uploads that don't hold you hostage — the progress panel stays out of your way and keeps running while you carry on working. Browse folders, edit an entry, leave the Media Library entirely; your upload keeps going, file by file, and tells you when it's done
Drag and drop that just works — drop assets onto any folder, in the list or the sidebar
Infinite scroll instead of pagination, so browsing a large library is finally a scroll rather than a chore
A details panel that doesn't get in your way — keep browsing the list while it's open
Bulk move and delete, plus AI-generated captions and alt text on Growth plans
Faster search, filters and sorting across your whole library, including now a sorting by file size
The built-in MCP server now advertises tools as JSON Schema 2020-12, so strict clients that previously dropped every tool keep the full list. If you register custom MCP tools or prompts: unknown or unauthorized tool calls now return JSON-RPC error -32602 instead of isError: true; extra.sendNotification and extra.sendRequest are gone; and one prompt argsSchema that cannot become JSON Schema (for example z.date()) hides every prompt from prompts/list.
[@jest/transform] Strip TypeScript types with Node when no transformer claims a .ts, .mts or .cts file (#16421)
Fixes
[jest-core, jest-haste-map, jest-transform] Keep require('../package.json') external when bundling, so jest --version and the transform and haste-map cache keys report the released version instead of the previous one (#16422)
[jest-each] Escape a table row's keys before building the $variable interpolation RegExp, so a column name such as count(*) no longer fails the whole table with Invalid regular expression, and a . or | in a column name is matched literally (#16345)
[@jest/source-map] Resolve absolute Windows paths in a source map's sources and sourceRoot again, instead of appending them to the transformed file's directory (#16439)
Markdown: Fix text with $ been incorrectly parsed as math syntax (#20140 by @fisker)
<!-- Input -->**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.
<!-- Prettier 3.9.8 -->**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here.
<!-- Prettier 3.9.9 -->**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.
Markdown: Don't let Liquid objects interrupt paragraphs (#20087 by @seiyab)
<!-- Input -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
<!-- Prettier 3.9.7 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
<!-- Prettier 3.9.8 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
<!-- Input -->- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
<!-- Prettier 3.9.6 -->- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
<!-- Prettier 3.9.7 -->- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
JavaScript: Fix embedded template literal idempotency (#19725 by @fisker)
Markdown: Preserve single tildes in Markdown (#19739 by @lazerg)
Since 3.9.0, single-tilde spans like H~2~O were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub.
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@strapi/plugin-cloud](https://strapi.io) ([source](https://github.com/strapi/strapi/tree/HEAD/packages/plugins/cloud)) | [`5.52.3` → `5.57.0`](https://renovatebot.com/diffs/npm/@strapi%2fplugin-cloud/5.52.3/5.57.0) |  |  |
| [@strapi/plugin-users-permissions](https://strapi.io) ([source](https://github.com/strapi/strapi/tree/HEAD/packages/plugins/users-permissions)) | [`5.52.3` → `5.57.0`](https://renovatebot.com/diffs/npm/@strapi%2fplugin-users-permissions/5.52.3/5.57.0) |  |  |
| [@strapi/strapi](https://strapi.io) ([source](https://github.com/strapi/strapi/tree/HEAD/packages/core/strapi)) | [`5.52.3` → `5.57.0`](https://renovatebot.com/diffs/npm/@strapi%2fstrapi/5.52.3/5.57.0) |  |  |
| [@strapi/typescript-utils](https://strapi.io) ([source](https://github.com/strapi/strapi/tree/HEAD/packages/utils/typescript)) | [`5.52.3` → `5.57.0`](https://renovatebot.com/diffs/npm/@strapi%2ftypescript-utils/5.52.3/5.57.0) |  |  |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.13.3` → `24.19.2`](https://renovatebot.com/diffs/npm/@types%2fnode/24.13.3/24.19.2) |  |  |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.2.18` → `19.3.0`](https://renovatebot.com/diffs/npm/@types%2freact/19.2.18/19.3.0) |  |  |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`19.2.7` → `19.3.0`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.2.7/19.3.0) |  |  |
| [fs-extra](https://github.com/jprichardson/node-fs-extra) | [`11.4.0` → `11.4.1`](https://renovatebot.com/diffs/npm/fs-extra/11.4.0/11.4.1) |  |  |
| [jest](https://jestjs.io/) ([source](https://github.com/jestjs/jest/tree/HEAD/packages/jest)) | [`30.5.1` → `30.5.2`](https://renovatebot.com/diffs/npm/jest/30.5.1/30.5.2) |  |  |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.9.6` → `3.9.10`](https://renovatebot.com/diffs/npm/prettier/3.9.6/3.9.10) |  |  |
| [react-intl](https://formatjs.github.io/docs/react-intl) ([source](https://github.com/formatjs/formatjs)) | [`12.0.1` → `12.1.4`](https://renovatebot.com/diffs/npm/react-intl/12.0.1/12.1.4) |  |  |
| [supertest](https://github.com/ladjs/supertest) | [`7.2.2` → `7.3.1`](https://renovatebot.com/diffs/npm/supertest/7.2.2/7.3.1) |  |  |
---
### Release Notes
<details>
<summary>strapi/strapi (@​strapi/plugin-cloud)</summary>
### [`v5.57.0`](https://github.com/strapi/strapi/releases/tag/v5.57.0)
[Compare Source](https://github.com/strapi/strapi/compare/v5.56.0...v5.57.0)
##### 5.57.0 (2026-10-07)
##### 🚀 New feature
- **cli:** add strapi enterprise install command ([#​27849](https://github.com/strapi/strapi/pull/27849))
- **content-type-builder:** Preserve data on renaming attributes ([#​26749](https://github.com/strapi/strapi/pull/26749))
- **review-workflows:** record workflow and review actions in audit logs ([#​27814](https://github.com/strapi/strapi/pull/27814))
##### 🔥 Bug fix
- updating xhmikosr/decompress ([#​27885](https://github.com/strapi/strapi/pull/27885))
- documentId upload in content API ([#​27834](https://github.com/strapi/strapi/pull/27834))
- **admin:** media library banner appears on every admin page instead of only the media library ([9012e0ad5a](https://github.com/strapi/strapi/commit/9012e0ad5a))
- **admin:** upsell banner stacked with the media library banner when both were shown ([349aaea5ba](https://github.com/strapi/strapi/commit/349aaea5ba))
- **admin:** upsell banner briefly mounted and queried its trial data on the media library ([ba5482ce21](https://github.com/strapi/strapi/commit/ba5482ce21))
- **admin:** guard RelativeTime against invalid dates ([#​27472](https://github.com/strapi/strapi/pull/27472))
- **admin:** enumeration placeholder shown twice in select trigger ([#​27785](https://github.com/strapi/strapi/pull/27785))
- **admin:** add strapi version to admin telemetry events ([#​27922](https://github.com/strapi/strapi/pull/27922))
- **admin|upload:** stamp legacy media events and send login telemetry once ([#​27932](https://github.com/strapi/strapi/pull/27932))
- **content-manager:** warn before discard removes relations to draft entries ([#​27815](https://github.com/strapi/strapi/pull/27815))
- **content-manager:** preview click-to-edit breaks when the preview script is injected twice ([#​27796](https://github.com/strapi/strapi/pull/27796))
- **content-manager:** relation list loses pages after opening the same document in a modal ([#​27831](https://github.com/strapi/strapi/pull/27831))
- **content-manager:** stop relation fields rendering a full page loader ([#​27682](https://github.com/strapi/strapi/pull/27682))
- **core:** strip empty documentId from create/update data to prevent … ([#​27766](https://github.com/strapi/strapi/pull/27766))
- **documentation:** prevent relation schema generation from exhausting memory ([#​27780](https://github.com/strapi/strapi/pull/27780))
- **i18n:** globe tooltip displays \[object object] ([#​27890](https://github.com/strapi/strapi/pull/27890))
- **lint:** make oxlint override globs match repo paths ([#​27863](https://github.com/strapi/strapi/pull/27863))
- **upload:** add rotate to the media library image editor ([#​27714](https://github.com/strapi/strapi/pull/27714))
- **upload:** open asset and folder actions on right-click ([#​27816](https://github.com/strapi/strapi/pull/27816))
- **upload:** stamp mediaLibraryVersion v1 on legacy media library events ([#​27900](https://github.com/strapi/strapi/pull/27900))
- **utils:** explain that status is root-only when used in nested populate ([#​27857](https://github.com/strapi/strapi/pull/27857))
##### 📚 Documentation Changes
- architecture modeling ([#​26927](https://github.com/strapi/strapi/pull/26927))
##### ⚙️ Chore
- fix package version alignment on develop ([#​27871](https://github.com/strapi/strapi/pull/27871))
- remove lodash/fp and prefer native javascript ([#​27819](https://github.com/strapi/strapi/pull/27819))
- **deps:** bump [@​radix-ui/react-toolbar](https://github.com/radix-ui/react-toolbar) from 1.1.11 to 1.1.19 ([5dc5ad318d](https://github.com/strapi/strapi/commit/5dc5ad318d))
- **email:** migrate unit tests from jest to vitest ([#​27391](https://github.com/strapi/strapi/pull/27391))
- **graphql:** migrate backend unit tests from jest to vitest ([#​27389](https://github.com/strapi/strapi/pull/27389))
- **i18n:** remove type exports from server entry ([#​27817](https://github.com/strapi/strapi/pull/27817))
##### 💅 Enhancement
- **core:** accept localization behavior from registered providers ([#​27806](https://github.com/strapi/strapi/pull/27806))
- **strapi:** stop loading the admin build toolchain on every cli command ([#​27910](https://github.com/strapi/strapi/pull/27910))
##### 🚨 Security
- document DTS transfer-token trust model as a specific exclusion ([#​27483](https://github.com/strapi/strapi/pull/27483))
- **deps:** upgrade vite to fix server.fs.deny bypass on windows ([eadb0c9d82](https://github.com/strapi/strapi/commit/eadb0c9d82))
- **deps:** resolve every qs copy in the lockfile to 6.16.0 ([3be284aab1](https://github.com/strapi/strapi/commit/3be284aab1))
##### ❤️ Thank You
- Adrien L [@​Adzouz](https://github.com/Adzouz)
- Akshay Iyer [@​MrAi0](https://github.com/MrAi0)
- Andrei L [@​unrevised6419](https://github.com/unrevised6419)
- Arthur Moreau [@​kibwashere](https://github.com/kibwashere)
- Bassel Kanso [@​Bassel17](https://github.com/Bassel17)
- Ben Irvin [@​innerdvations](https://github.com/innerdvations)
- DMehaffy [@​derrickmehaffy](https://github.com/derrickmehaffy)
- Gonzalo Andres Garcia [@​gonbaum](https://github.com/gonbaum)
- HichamELBSI [@​HichamELBSI](https://github.com/HichamELBSI)
- Jamie Howard [@​jhoward1994](https://github.com/jhoward1994)
- kensukekikuchi-uh
- mathildeleg [@​mathildeleg](https://github.com/mathildeleg)
- Nico André [@​nclsndr](https://github.com/nclsndr)
- Simon Norris [@​cache-your-dreams](https://github.com/cache-your-dreams)
- Valentin [@​valfur03](https://github.com/valfur03)
- Ziyi [@​butcherZ](https://github.com/butcherZ)
### [`v5.56.0`](https://github.com/strapi/strapi/releases/tag/v5.56.0)
[Compare Source](https://github.com/strapi/strapi/compare/v5.55.1...v5.56.0)
##### 5.56.0 (2026-09-30)
##### 🚀 New feature
- **admin:** record admin account and password actions in audit logs ([#​27748](https://github.com/strapi/strapi/pull/27748))
- **admin:** audit webhook create, update and delete ([#​27779](https://github.com/strapi/strapi/pull/27779))
- **strapi:** compile Tailwind for the admin panel from one host stylesheet ([#​27550](https://github.com/strapi/strapi/pull/27550))
##### 🔥 Bug fix
- update create edit e2e test ([#​27751](https://github.com/strapi/strapi/pull/27751))
- **admin:** build window\.strapi before mount and type the project-type contract ([#​27683](https://github.com/strapi/strapi/pull/27683))
- **admin:** reopen button on dismissed trial banner overlays page controls ([#​27777](https://github.com/strapi/strapi/pull/27777))
- **content-manager:** create-relation option offered for relations targeting a Single Type ([82a2ecb2dd](https://github.com/strapi/strapi/commit/82a2ecb2dd))
- **content-manager:** hide create-relation option for Single Type targets instead of disabling it ([89b1efaeef](https://github.com/strapi/strapi/commit/89b1efaeef))
- **content-manager:** cannot re-assign a relation still present on the published version ([#​27602](https://github.com/strapi/strapi/pull/27602))
- **content-manager:** relation-on-the-fly modal affects the background entry ([584aa7b82a](https://github.com/strapi/strapi/commit/584aa7b82a))
- **content-manager:** nested relation-on-the-fly connects are lost on navigation ([9c13d85f59](https://github.com/strapi/strapi/commit/9c13d85f59))
- **content-type-builder:** clear stale folder field in the edit modal ([#​27770](https://github.com/strapi/strapi/pull/27770))
- **core/core:** correct "recieve" typo in content-structure service comment ([#​27825](https://github.com/strapi/strapi/pull/27825))
- **upload:** folder deletion removes assets without permission ([#​27654](https://github.com/strapi/strapi/pull/27654))
##### 📚 Documentation Changes
- fix typos across documentation pages ([#​27773](https://github.com/strapi/strapi/pull/27773))
- point RFC contributions to GitHub Discussions ([#​27746](https://github.com/strapi/strapi/pull/27746))
##### ⚙️ Chore
- release v5.55.0 update develop ([a82c2d8bab](https://github.com/strapi/strapi/commit/a82c2d8bab))
- release v5.55.1 update develop ([7a69d80b15](https://github.com/strapi/strapi/commit/7a69d80b15))
- add test:ts:back to packages with unchecked server code ([#​27811](https://github.com/strapi/strapi/pull/27811))
- **deps:** drop React 17 from peer dependency ranges ([#​26194](https://github.com/strapi/strapi/pull/26194))
- **deps:** bump js-yaml from 3.15.1 to 3.15.2 ([#​27516](https://github.com/strapi/strapi/pull/27516))
- **deps:** bump fast-uri from 3.1.5 to 3.1.8 ([#​27808](https://github.com/strapi/strapi/pull/27808))
- **deps:** bump postcss-selector-parser from 7.1.1 to 7.1.6 ([#​27541](https://github.com/strapi/strapi/pull/27541))
- **deps:** bump baseline-browser-mapping from 2.10.8 to 2.11.26 ([#​27809](https://github.com/strapi/strapi/pull/27809))
- **deps:** bump browserslist from 4.28.1 to 4.28.7 ([#​27531](https://github.com/strapi/strapi/pull/27531))
- **deps:** bump qs from 6.15.3 to 6.16.0 ([#​27532](https://github.com/strapi/strapi/pull/27532))
- **deps:** bump mysql2 from 3.20.0 to 3.23.1 ([#​27538](https://github.com/strapi/strapi/pull/27538))
- **deps:** bump react-router-dom from 6.30.4 to 6.30.6 ([#​27586](https://github.com/strapi/strapi/pull/27586))
- **deps:** bump sharp from 0.35.3 to 0.35.4 ([#​27600](https://github.com/strapi/strapi/pull/27600))
- **deps:** bump brace-expansion from 1.1.18 to 1.1.21 ([#​27840](https://github.com/strapi/strapi/pull/27840))
- **deps:** bump browserslist from 4.28.7 to 4.28.8 ([#​27838](https://github.com/strapi/strapi/pull/27838))
- **deps:** bump undici from 6.28.1 to 6.29.0 ([#​27839](https://github.com/strapi/strapi/pull/27839))
- **deps:** align react-router-dom in app-template ([#​27858](https://github.com/strapi/strapi/pull/27858))
- **tooling:** make jest lcov paths repo-relative for Sonar ([#​27763](https://github.com/strapi/strapi/pull/27763))
##### 💅 Enhancement
- **ci:** require an explicit QA label to merge ([#​27464](https://github.com/strapi/strapi/pull/27464))
- **upload:** support custom AI providers for metadata generation ([#​27684](https://github.com/strapi/strapi/pull/27684))
##### ❤️ Thank You
- Adrien L [@​Adzouz](https://github.com/Adzouz)
- Andrei L [@​unrevised6419](https://github.com/unrevised6419)
- Arthur Moreau
- Ayoub Hidri [@​ayhid](https://github.com/ayhid)
- Ben Irvin
- Christopher Pruijsen [@​cpruijsen](https://github.com/cpruijsen)
- Dex
- Gonzalo Andres Garcia [@​gonbaum](https://github.com/gonbaum)
- HichamELBSI
- Jamie Howard [@​jhoward1994](https://github.com/jhoward1994)
- keke [@​kekekuli](https://github.com/kekekuli)
- Nico André
- Ricardo Francoli [@​ricardofrancoli](https://github.com/ricardofrancoli)
- Valentin [@​valfur03](https://github.com/valfur03)
### [`v5.55.1`](https://github.com/strapi/strapi/releases/tag/v5.55.1)
[Compare Source](https://github.com/strapi/strapi/compare/v5.55.0...v5.55.1)
##### 5.55.1 (2026-09-24)
This is a hotfix release patching v5.55.0 that were causing a performance drop for the projects that have the documentation plugin.
##### ⏪ Revert
- **documentation:** restore properties for repeated relation targets ([#​27592](https://github.com/strapi/strapi/pull/27592)), reverted in ([#​27783](https://github.com/strapi/strapi/pull/27783))
### [`v5.55.0`](https://github.com/strapi/strapi/releases/tag/v5.55.0)
[Compare Source](https://github.com/strapi/strapi/compare/v5.54.0...v5.55.0)
##### 5.55.0 (2026-09-23)
##### 🚀 New feature
- **admin:** record token management in audit logs ([#​27605](https://github.com/strapi/strapi/pull/27605))
- **admin:** content type folders ([#​27419](https://github.com/strapi/strapi/pull/27419))
##### 🔥 Bug fix
- ai endpoints requested when the ai feature is unavailable ([#​27525](https://github.com/strapi/strapi/pull/27525))
- **admin:** suppress MISSING_TRANSLATION errors to fix sluggish editing ([#​26108](https://github.com/strapi/strapi/pull/26108))
- **admin:** sso default role placeholder shows "choose here" twice ([#​27685](https://github.com/strapi/strapi/pull/27685))
- **content-manager:** create on the fly prefills inverse from component paths ([#​27636](https://github.com/strapi/strapi/pull/27636))
- **content-manager:** saved list sort resets on base-route navigation ([#​27663](https://github.com/strapi/strapi/pull/27663))
- **core/core:** koa response helper types missing in consumer projects ([#​27380](https://github.com/strapi/strapi/pull/27380))
- **database:** updateMany with relation filter subquery ([#​26909](https://github.com/strapi/strapi/pull/26909))
- **database:** document-id migration can take hours on large localized tables ([#​27404](https://github.com/strapi/strapi/pull/27404))
- **database:** updateMany ignores \_q and filters ([#​27769](https://github.com/strapi/strapi/pull/27769))
- **documentation:** restore properties for repeated relation targets ([#​27592](https://github.com/strapi/strapi/pull/27592)) — **⚠️ Reverted in v5.55.1 (causing a performance drop for Strapi projects with the documentation plugin) — please update your projects to 5.55.1 instead if you're impacted ⚠️**
- **graphql:** exclude custom resolvers from built-in query field detection ([#​27462](https://github.com/strapi/strapi/pull/27462))
- **upload:** store unsigned urls in richtext and blocks fields ([#​27593](https://github.com/strapi/strapi/pull/27593))
- **upload:** media library degrades for roles without settings.read ([#​27687](https://github.com/strapi/strapi/pull/27687))
- **upload:** show more media grid columns on wider screens ([#​27711](https://github.com/strapi/strapi/pull/27711))
- **utils:** normalize string chunks before buffering streams ([#​27700](https://github.com/strapi/strapi/pull/27700))
##### ⚙️ Chore
- **deps:** remove unused dependencies from [@​strapi/strapi](https://github.com/strapi/strapi) ([#​27540](https://github.com/strapi/strapi/pull/27540))
- **docker:** postgres dev container fails to start on postgres 18 ([#​27668](https://github.com/strapi/strapi/pull/27668))
- **upload:** promote the new media library out of future/ ([#​27666](https://github.com/strapi/strapi/pull/27666))
##### ❤️ Thank You
- Adrien L [@​Adzouz](https://github.com/Adzouz)
- Akash Dabhi [@​akash-dabhi-qed](https://github.com/akash-dabhi-qed)
- Andrei L [@​unrevised6419](https://github.com/unrevised6419)
- Bassel Kanso
- Ben Irvin
- Christopher Pruijsen [@​cpruijsen](https://github.com/cpruijsen)
- Constantine [@​Constantine1916](https://github.com/Constantine1916)
- Daniel Chicea
- Dijedon [@​dijedontahiri](https://github.com/dijedontahiri)
- Giulio Montagner [@​giu1io](https://github.com/giu1io)
- Gonzalo Andres Garcia [@​gonbaum](https://github.com/gonbaum)
- Jamie Howard [@​jhoward1994](https://github.com/jhoward1994)
- jasleenkaur-qed42 [@​jasleenkaur-qed42](https://github.com/jasleenkaur-qed42)
- mathildeleg [@​mathildeleg](https://github.com/mathildeleg)
- Nico André
- Owen Rossi-Keen [@​Smoke3785](https://github.com/Smoke3785)
- Vibhu Gupta [@​VibhuGupta-dev](https://github.com/VibhuGupta-dev)
### [`v5.54.0`](https://github.com/strapi/strapi/releases/tag/v5.54.0)
[Compare Source](https://github.com/strapi/strapi/compare/v5.53.0...v5.54.0)
##### 5.54.0 (2026-09-16)
##### 🎉 The new Media Library is here!
<img width="1440" height="976" alt="Image details" src="https://github.com/user-attachments/assets/cf34c6ac-c3ae-4411-8d51-01851515c4e8" />
We've been heads-down on this for months, and it's the change we're most excited to put in your hands: the redesigned Media Library is now the default for everyone in version 5.54.0.
This isn't a fresh coat of paint. We rebuilt the Media Library entirely around how people actually work with assets:
- A completely revamped UI and UX — rebuilt from the ground up, with every screen, interaction and flow reworked to make managing your assets faster and far less fiddly
- A folder tree that's always visible — no more breadcrumb archaeology to work out where you are
- Uploads that don't hold you hostage — the progress panel stays out of your way and keeps running while you carry on working. Browse folders, edit an entry, leave the Media Library entirely; your upload keeps going, file by file, and tells you when it's done
- Drag and drop that just works — drop assets onto any folder, in the list or the sidebar
- Infinite scroll instead of pagination, so browsing a large library is finally a scroll rather than a chore
- A details panel that doesn't get in your way — keep browsing the list while it's open
- Bulk move and delete, plus AI-generated captions and alt text on Growth plans
- Faster search, filters and sorting across your whole library, including now a sorting by file size
📚 Read the [full documentation](https://docs.strapi.io/cms/features/media-library)
Not ready for the big change yet? You're feeling nostalgic and need the old one back?
We know upgrades land in the middle of real work. If you'd rather stay on the previous interface for now, you can add this to `config/features`:
```
module.exports = () => ({
useLegacyMediaLibrary: true,
});
```
Full details in Restoring the previous Media Library [in the docs](https://docs.strapi.io/cms/features/media-library#use-legacy-media-library).
Huge thanks to everyone who tested the beta and sent feedback. Can't wait to hear what you think 💙
##### 🚀 New features
- **i18n:** record locale management in audit logs ([#​27547](https://github.com/strapi/strapi/pull/27547))
- **upload:** add MCP scaffolding and read tools to the upload plugin ([#​27523](https://github.com/strapi/strapi/pull/27523))
- **upload:** add the media_update_asset MCP tool ([#​27574](https://github.com/strapi/strapi/pull/27574))
- **upload:** make the new Media Library the default ([#​27606](https://github.com/strapi/strapi/pull/27606))
- **upload:** manage media library folders over MCP ([#​27576](https://github.com/strapi/strapi/pull/27576))
- **upload:** move media library assets over MCP ([#​27578](https://github.com/strapi/strapi/pull/27578))
- **upload:** delete media library assets over MCP ([#​27580](https://github.com/strapi/strapi/pull/27580))
- **upload:** add banner announcing the new version ([#​27625](https://github.com/strapi/strapi/pull/27625))
##### 🔥 Bug fixes
- restore tests workflow ([#​27626](https://github.com/strapi/strapi/pull/27626))
- home test failing on new media library upload ([#​27629](https://github.com/strapi/strapi/pull/27629))
- **admin:** stop treating access-token expiry as a logout ([#​27424](https://github.com/strapi/strapi/pull/27424))
- **admin:** stop forwarding type onto TimePicker ([#​27632](https://github.com/strapi/strapi/pull/27632))
- **content-manager:** prevent mobile actions drawer from covering fields ([#​27588](https://github.com/strapi/strapi/pull/27588))
- **content-manager:** back after publishing a new entry returns to a pre-filled create form ([#​27604](https://github.com/strapi/strapi/pull/27604))
- **content-manager:** entries-per-page selector shows 10 instead of the configured default page size ([#​27646](https://github.com/strapi/strapi/pull/27646))
- **content-type-builder:** experimental indexes removed when saving a content type ([#​27597](https://github.com/strapi/strapi/pull/27597))
- **core/core:** media document ids cannot be linked with document service ([#​27557](https://github.com/strapi/strapi/pull/27557))
- **data-transfer:** validate asset metadata before restore ([#​27480](https://github.com/strapi/strapi/pull/27480))
- **upload:** keep a replaced file in its folder ([#​27524](https://github.com/strapi/strapi/pull/27524))
- **upload:** forward metas when replacing a file ([#​27544](https://github.com/strapi/strapi/pull/27544))
- **upload:** keep the drag preview under the cursor ([#​27542](https://github.com/strapi/strapi/pull/27542))
- **upload:** media_update_asset reports the asset's real folder ([#​27624](https://github.com/strapi/strapi/pull/27624))
- **upload:** bind the media MCP folder tools and pin their test contracts ([#​27594](https://github.com/strapi/strapi/pull/27594))
- **utils:** escape the dot in parseType's time regex ([#​27561](https://github.com/strapi/strapi/pull/27561))
##### ⚙️ Chore
- **content-type-builder:** alphabetize dependencies ([#​27616](https://github.com/strapi/strapi/pull/27616))
- **core:** replace node-schedule with croner ([#​27309](https://github.com/strapi/strapi/pull/27309))
- **deps:** bump ai sdk in content-type-builder to v6 (EE-174) ([#​27582](https://github.com/strapi/strapi/pull/27582))
- **upload:** remove the beta notice from the new Media Library ([#​27667](https://github.com/strapi/strapi/pull/27667))
##### 💅 Enhancement
- **preview:** add blocks support ([#​27274](https://github.com/strapi/strapi/pull/27274))
##### ❤️ Thank You
- Adrien L [@​Adzouz](https://github.com/Adzouz)
- Bassel Kanso
- Ben Irvin
- Christopher Pruijsen [@​cpruijsen](https://github.com/cpruijsen)
- ELABBASSI Hicham
- Giulio Montagner [@​giu1io](https://github.com/giu1io)
- Gonzalo Andres Garcia [@​gonbaum](https://github.com/gonbaum)
- Manish Tiwari [@​yfwmaniish](https://github.com/yfwmaniish)
- mathildeleg [@​mathildeleg](https://github.com/mathildeleg)
- Muhammad Rafay
- Nico André
- TupiC [@​TupiC](https://github.com/TupiC)
### [`v5.53.0`](https://github.com/strapi/strapi/releases/tag/v5.53.0)
[Compare Source](https://github.com/strapi/strapi/compare/v5.52.3...v5.53.0)
##### 5.53.0 (2026-09-09)
##### 🚀 New feature
- Add an export audit logs button ([#​27427](https://github.com/strapi/strapi/pull/27427))
- **content-releases:** record release actions in audit logs ([#​27436](https://github.com/strapi/strapi/pull/27436), [#​27436](https://github.com/strapi/strapi/pull/27436))
##### 🔥 Bug fix
- close the drawer on click on interactive elements ([4573d58806](https://github.com/strapi/strapi/commit/4573d58806))
- transfer configuration import discards the error that caused it ([#​27565](https://github.com/strapi/strapi/pull/27565))
- misc users-permissions and admin ([2f3595fe61](https://github.com/strapi/strapi/commit/2f3595fe61))
- **content-type-builder:** default new private fields to not searchable ([#​27482](https://github.com/strapi/strapi/pull/27482))
- **email-sendmail:** disable file and URL access for attachments ([#​27430](https://github.com/strapi/strapi/pull/27430))
- **mcp:** bump mcp sdk\@​2 to stop clients droping advertised tools ([#​27505](https://github.com/strapi/strapi/pull/27505))
- **strapi:** --sourcemap flag has no effect on the admin build ([#​27545](https://github.com/strapi/strapi/pull/27545))
- **upload:** reserve list space for the bulk actions bar ([#​27509](https://github.com/strapi/strapi/pull/27509))
- **upload:** filter the row replace picker by the asset's mime ([#​27508](https://github.com/strapi/strapi/pull/27508))
- **upload:** bound the focal point fields to the crop area ([#​27496](https://github.com/strapi/strapi/pull/27496))
- **upload:** folder navigation resets media library list scroll and p… ([#​27449](https://github.com/strapi/strapi/pull/27449))
- **upload:** keep the drawer open when a control behind is pressed ([3ebdde0965](https://github.com/strapi/strapi/commit/3ebdde0965))
- **upload:** only a primary-button press dismisses the drawer ([3b81103657](https://github.com/strapi/strapi/commit/3b81103657))
- **upload:** contain fast provider rejections in upload batches ([#​27543](https://github.com/strapi/strapi/pull/27543))
##### ⚙️ Chore
- release v5.52.3 update develop ([2695ff53ff](https://github.com/strapi/strapi/commit/2695ff53ff))
- **.github/draft-release:** run the workflow more than once per release ([#​27573](https://github.com/strapi/strapi/pull/27573))
- **ci:** pin all GitHub Actions to latest versions by commit SHA ([37d9438606](https://github.com/strapi/strapi/commit/37d9438606))
- **ci:** add the draft-release action and workflow ([#​27562](https://github.com/strapi/strapi/pull/27562))
- **deps:** bump undici from 6.28.0 to 6.28.1 ([#​27568](https://github.com/strapi/strapi/pull/27568))
- **lint:** make oxlint a blocking ci gate ([#​27450](https://github.com/strapi/strapi/pull/27450))
##### ⚠️ Changes to be aware of
##### MCP clients no longer drop advertised tools
The built-in MCP server now advertises tools as JSON Schema 2020-12, so strict clients that previously dropped every tool keep the full list. If you register custom MCP tools or prompts: unknown or unauthorized tool calls now return JSON-RPC error `-32602` instead of `isError: true`; `extra.sendNotification` and `extra.sendRequest` are gone; and one prompt `argsSchema` that cannot become JSON Schema (for example `z.date()`) hides every prompt from `prompts/list`.
([#​27505](https://github.com/strapi/strapi/pull/27505))
##### ❤️ Thank You
- Adrien L [@​Adzouz](https://github.com/Adzouz)
- Adrien Lepoutre [@​Adzouz](https://github.com/Adzouz)
- Andrei L [@​unrevised6419](https://github.com/unrevised6419)
- Arthur Moreau
- Bassel Kanso
- Gonzalo Andres Garcia [@​gonbaum](https://github.com/gonbaum)
- Jamie Howard [@​jhoward1994](https://github.com/jhoward1994)
- Jan Kahmen [@​kah-ja](https://github.com/kah-ja)
- Moutaz-homsi
- Nico André
- Simon Norris
</details>
<details>
<summary>jprichardson/node-fs-extra (fs-extra)</summary>
### [`v11.4.1`](https://github.com/jprichardson/node-fs-extra/blob/HEAD/CHANGELOG.md#1141--2026-09-22)
[Compare Source](https://github.com/jprichardson/node-fs-extra/compare/11.4.0...11.4.1)
- Properly handle read errors (e.g. due to permissions) in `emptyDir*()` ([#​1080](https://github.com/jprichardson/node-fs-extra/pull/1080))
- Allow renaming with only Unicode normalization difference in the filename (APFS-specific) ([#​859](https://github.com/jprichardson/node-fs-extra/issues/859), [#​1079](https://github.com/jprichardson/node-fs-extra/pull/1079))
</details>
<details>
<summary>jestjs/jest (jest)</summary>
### [`v30.5.2`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3052)
[Compare Source](https://github.com/jestjs/jest/compare/v30.5.1...v30.5.2)
##### Features
- `[@jest/transform]` Strip TypeScript types with Node when no transformer claims a `.ts`, `.mts` or `.cts` file ([#​16421](https://github.com/jestjs/jest/pull/16421))
##### Fixes
- `[jest-core, jest-haste-map, jest-transform]` Keep `require('../package.json')` external when bundling, so `jest --version` and the transform and haste-map cache keys report the released version instead of the previous one ([#​16422](https://github.com/jestjs/jest/pull/16422))
- `[jest-each]` Escape a table row's keys before building the `$variable` interpolation `RegExp`, so a column name such as `count(*)` no longer fails the whole table with `Invalid regular expression`, and a `.` or `|` in a column name is matched literally ([#​16345](https://github.com/jestjs/jest/pull/16345))
- `[@jest/source-map]` Resolve absolute Windows paths in a source map's `sources` and `sourceRoot` again, instead of appending them to the transformed file's directory ([#​16439](https://github.com/jestjs/jest/pull/16439))
</details>
<details>
<summary>prettier/prettier (prettier)</summary>
### [`v3.9.10`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910)
[Compare Source](https://github.com/prettier/prettier/compare/3.9.9...3.9.10)
[diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10)
##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#​20266](https://github.com/prettier/prettier/pull/20266) by [@​fisker](https://github.com/fisker))
See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details.
### [`v3.9.9`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#399)
[Compare Source](https://github.com/prettier/prettier/compare/3.9.8...3.9.9)
[diff](https://github.com/prettier/prettier/compare/3.9.8...3.9.9)
##### Markdown: Fix text with `$` been incorrectly parsed as math syntax ([#​20140](https://github.com/prettier/prettier/pull/20140) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```md
<!-- Input -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.
<!-- Prettier 3.9.8 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here.
<!-- Prettier 3.9.9 -->
**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.
```
### [`v3.9.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#398)
[Compare Source](https://github.com/prettier/prettier/compare/3.9.7...3.9.8)
[diff](https://github.com/prettier/prettier/compare/3.9.7...3.9.8)
##### Markdown: Don't let Liquid objects interrupt paragraphs ([#​20087](https://github.com/prettier/prettier/pull/20087) by [@​seiyab](https://github.com/seiyab))
<!-- prettier-ignore -->
```markdown
<!-- Input -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
<!-- Prettier 3.9.7 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
<!-- Prettier 3.9.8 -->
If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a
{{jsxref("TypeError")}} is thrown.
```
### [`v3.9.7`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#397)
[Compare Source](https://github.com/prettier/prettier/compare/3.9.6...3.9.7)
[diff](https://github.com/prettier/prettier/compare/3.9.6...3.9.7)
##### Markdown: Prevent indentation drift in list-item code blocks ([#​19647](https://github.com/prettier/prettier/pull/19647), [#​19990](https://github.com/prettier/prettier/pull/19990) by [@​Austin1serb](https://github.com/Austin1serb), [@​giaBaoJS](https://github.com/giaBaoJS))
<!-- prettier-ignore -->
```markdown
<!-- Input -->
- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
<!-- Prettier 3.9.6 -->
- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
<!-- Prettier 3.9.7 -->
- [x] short first line.
second paragraph at six spaces that wraps
onto another line here.
```
##### JavaScript: Fix embedded template literal idempotency ([#​19725](https://github.com/prettier/prettier/pull/19725) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```jsx
// Input
const foo = html`
<div>${getText({
value,
})}</div>
`;
// Prettier 3.9.6 (first format)
const foo = html`
<div>
${getText({
value,
})}
</div>
`;
// Prettier 3.9.6 (second format)
const foo = html`
<div>
${getText({
value,
})}
</div>
`;
// Prettier 3.9.7
const foo = html`
<div>
${getText({
value,
})}
</div>
`;
```
##### Markdown: Preserve Liquid blocks after Markdown tables ([#​19730](https://github.com/prettier/prettier/pull/19730) by [@​wanxiankai](https://github.com/wanxiankai), [@​seiyab](https://github.com/seiyab))
<!-- prettier-ignore -->
```markdown
<!-- Input -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
"model": ["str"],
} %}
<!-- Prettier 3.9.6 -->
| Argument | Type |
| ------------------------- | ---- |
| {% set default_params = { |
"model": ["str"],
} %}
<!-- Prettier 3.9.7 -->
| Argument | Type |
| -------- | ---- |
{% set default_params = {
"model": ["str"],
} %}
```
##### Markdown: Preserve single tildes in Markdown ([#​19739](https://github.com/prettier/prettier/pull/19739) by [@​lazerg](https://github.com/lazerg))
Since 3.9.0, single-tilde spans like `H~2~O` were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub.
<!-- prettier-ignore -->
```markdown
<!-- Input -->
H~2~O
<!-- Prettier 3.9.6 -->
H~~2~~O
<!-- Prettier 3.9.7 -->
H~2~O
```
##### Markdown: Fix Markdown blockquote containing `>` characters ([#​19802](https://github.com/prettier/prettier/pull/19802) by [@​seiyab](https://github.com/seiyab))
<!-- prettier-ignore -->
```md
<!-- Input -->
> **test**\>
<!-- Prettier 3.9.6 -->
> **test**>\>
<!-- Prettier 3.9.7 -->
> **test**\>
```
##### Markdown: Strip blockquote markers from a setext heading's continuation lines ([#​19878](https://github.com/prettier/prettier/pull/19878) by [@​Kjubikstronk](https://github.com/Kjubikstronk))
A setext heading spanning multiple lines inside a blockquote kept the `>` marker of its continuation lines as literal text.
<!-- prettier-ignore -->
```md
<!-- Input -->
> Multi
> Line
> ===
<!-- Prettier 3.9.6 -->
> Multi > Line
> ===
<!-- Prettier 3.9.7 -->
> Multi
> Line
> ===
```
##### Markdown: Fix HTML block indentation drift in markdown list items ([#​19987](https://github.com/prettier/prettier/pull/19987) by [@​lazerg](https://github.com/lazerg))
<!-- prettier-ignore -->
```markdown
<!-- Input -->
1. Enable images:
<p align="center">
<img alt="example">
</p>
<!-- Prettier 3.9.6 (--tab-width=4) -->
1. Enable images:
<p align="center">
<img alt="example">
</p>
<!-- Prettier 3.9.7 (--tab-width=4) -->
1. Enable images:
<p align="center">
<img alt="example">
</p>
```
##### Angular: Support `@boundary` error boundaries ([#​20014](https://github.com/prettier/prettier/pull/20014) by [@​Yahiro025](https://github.com/Yahiro025))
<!-- prettier-ignore -->
```html
<!-- Input -->
@boundary {
<complex-chart [data]="data"/>
}
@error (let err) {
<p>{{err.message}}</p>
}
<!-- Prettier 3.9.6 -->
SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1)
<!-- Prettier 3.9.7 -->
@boundary {
<complex-chart [data]="data" />
} @error (let err) {
<p>{{ err.message }}</p>
}
```
</details>
<details>
<summary>formatjs/formatjs (react-intl)</summary>
### [`v12.1.4`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.1.4): react-intl: 12.1.4
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.1.3...react-intl@12.1.4)
##### Bug Fixes
- **deps:** update dependency [@​formatjs/icu-messageformat-parser](https://github.com/formatjs/icu-messageformat-parser) to v3.5.20 ([#​7515](https://github.com/formatjs/formatjs/issues/7515)) ([23a04a9](https://github.com/formatjs/formatjs/commit/23a04a9022e3fc9f3985885e502b34828110ff34))
- **deps:** update formatjs monorepo (major) ([#​7512](https://github.com/formatjs/formatjs/issues/7512)) ([118166c](https://github.com/formatjs/formatjs/commit/118166c356b420d4bfa7a70ef52f700d874184cc))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​formatjs/icu-messageformat-parser](https://github.com/formatjs/icu-messageformat-parser) bumped to 3.5.21
- [@​formatjs/intl](https://github.com/formatjs/intl) bumped to 6.1.3
- intl-messageformat bumped to 12.1.3
### [`v12.1.3`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.1.3): react-intl: 12.1.3
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.1.2...react-intl@12.1.3)
##### Bug Fixes
- **deps:** update dependency [@​formatjs/icu-messageformat-parser](https://github.com/formatjs/icu-messageformat-parser) to v3.5.19 ([#​7496](https://github.com/formatjs/formatjs/issues/7496)) ([9cdcee7](https://github.com/formatjs/formatjs/commit/9cdcee791cd2a6b97cea7d48ded297da608ddd9d))
- **deps:** update formatjs monorepo ([#​7468](https://github.com/formatjs/formatjs/issues/7468)) ([de413f4](https://github.com/formatjs/formatjs/commit/de413f422518099660d9444d9f3515d4d1c4397f))
### [`v12.1.2`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.1.2): react-intl: 12.1.2
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.1.1...react-intl@12.1.2)
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​formatjs/icu-messageformat-parser](https://github.com/formatjs/icu-messageformat-parser) bumped to 3.5.20
- [@​formatjs/intl](https://github.com/formatjs/intl) bumped to 6.1.2
- intl-messageformat bumped to 12.1.2
### [`v12.1.1`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.1.1): react-intl: 12.1.1
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.1.0...react-intl@12.1.1)
##### Bug Fixes
- **eslint-plugin-formatjs:** generate lint-compatible empty message contracts ([#​7442](https://github.com/formatjs/formatjs/issues/7442)) ([799efaf](https://github.com/formatjs/formatjs/commit/799efafaebbd242cca5bf8f421e40c416dc89276))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​formatjs/intl](https://github.com/formatjs/intl) bumped to 6.1.1
- intl-messageformat bumped to 12.1.1
### [`v12.1.0`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.1.0): react-intl: 12.1.0
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.0.2...react-intl@12.1.0)
##### Features
- **[@​formatjs/intl](https://github.com/formatjs/intl):** support opt-in branded message text ([#​7436](https://github.com/formatjs/formatjs/issues/7436)) ([152ee1c](https://github.com/formatjs/formatjs/commit/152ee1cd52b49fb7d7ba98cb5464ab28b1b8ccfa))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​formatjs/intl](https://github.com/formatjs/intl) bumped to 6.1.0
- intl-messageformat bumped to 12.1.0
### [`v12.0.2`](https://github.com/formatjs/formatjs/releases/tag/react-intl%4012.0.2): react-intl: 12.0.2
[Compare Source](https://github.com/formatjs/formatjs/compare/react-intl@12.0.1...react-intl@12.0.2)
##### Bug Fixes
- default message helpers to empty ICU contracts ([#​7428](https://github.com/formatjs/formatjs/issues/7428)) ([7bd3c8b](https://github.com/formatjs/formatjs/commit/7bd3c8bb3c4fc0cf298c3f05c6d331910caa9da7))
##### Dependencies
- The following workspace dependencies were updated
- dependencies
- [@​formatjs/intl](https://github.com/formatjs/intl) bumped to 6.0.1
</details>
<details>
<summary>ladjs/supertest (supertest)</summary>
### [`v7.3.1`](https://github.com/forwardemail/supertest/releases/tag/v7.3.1)
[Compare Source](https://github.com/ladjs/supertest/compare/v7.3.0...v7.3.1)
- Merge pull request [#​907](https://github.com/ladjs/supertest/issues/907) from JH8459/fix/ephemeral-loopback-bind [`884cd26`](https://github.com/ladjs/supertest/commit/884cd26)
- fix: bind ephemeral server to the loopback address it connects to [`e74a1e0`](https://github.com/ladjs/supertest/commit/e74a1e0)
***
### [`v7.3.0`](https://github.com/forwardemail/supertest/releases/tag/v7.3.0)
[Compare Source](https://github.com/ladjs/supertest/compare/v7.2.2...v7.3.0)
- fix: stabilize ephemeral server requests and assertions [`71dc5fb`](https://github.com/ladjs/supertest/commit/71dc5fb)
- Merge pull request [#​883](https://github.com/ladjs/supertest/issues/883) from forwardemail/dependabot/npm_and_yarn/multi-acd8535d99 [`3b5ba5c`](https://github.com/ladjs/supertest/commit/3b5ba5c)
- Merge pull request [#​886](https://github.com/ladjs/supertest/issues/886) from forwardemail/dependabot/npm_and_yarn/picomatch-2.3.2 [`c3419b2`](https://github.com/ladjs/supertest/commit/c3419b2)
- Merge pull request [#​887](https://github.com/ladjs/supertest/issues/887) from forwardemail/dependabot/npm_and_yarn/lodash-4.18.1 [`7e409db`](https://github.com/ladjs/supertest/commit/7e409db)
- Merge pull request [#​898](https://github.com/ladjs/supertest/issues/898) from forwardemail/dependabot/npm_and_yarn/brace-expansion-1.1.21 [`b55a7f9`](https://github.com/ladjs/supertest/commit/b55a7f9)
- Merge pull request [#​899](https://github.com/ladjs/supertest/issues/899) from forwardemail/dependabot/npm_and_yarn/browserslist-4.29.0 [`7a5deaa`](https://github.com/ladjs/supertest/commit/7a5deaa)
- Merge pull request [#​900](https://github.com/ladjs/supertest/issues/900) from forwardemail/dependabot/npm_and_yarn/fast-uri-3.1.8 [`a75f6ee`](https://github.com/ladjs/supertest/commit/a75f6ee)
- Merge pull request [#​901](https://github.com/ladjs/supertest/issues/901) from forwardemail/dependabot/npm_and_yarn/js-yaml-3.15.2 [`c2cb33e`](https://github.com/ladjs/supertest/commit/c2cb33e)
- Merge pull request [#​896](https://github.com/ladjs/supertest/issues/896) from pnookala-godaddy/codex/ephemeral-loopback-bind [`7fb34e7`](https://github.com/ladjs/supertest/commit/7fb34e7)
- chore(deps-dev): bump js-yaml from 3.14.2 to 3.15.2 [`c357584`](https://github.com/ladjs/supertest/commit/c357584)
- chore(deps-dev): bump browserslist from 4.25.1 to 4.29.0 [`2a01b57`](https://github.com/ladjs/supertest/commit/2a01b57)
- chore(deps-dev): bump fast-uri from 3.0.6 to 3.1.8 [`343394d`](https://github.com/ladjs/supertest/commit/343394d)
- chore(deps-dev): bump brace-expansion from 1.1.12 to 1.1.21 [`6b203e9`](https://github.com/ladjs/supertest/commit/6b203e9)
- Merge pull request [#​881](https://github.com/ladjs/supertest/issues/881) from forwardemail/dependabot/npm_and_yarn/qs-6.14.2 [`d40ca7e`](https://github.com/ladjs/supertest/commit/d40ca7e)
- fix: match ephemeral server address family [`b6f5995`](https://github.com/ladjs/supertest/commit/b6f5995)
- chore(deps-dev): bump lodash from 4.17.21 to 4.18.1 [`81766ca`](https://github.com/ladjs/supertest/commit/81766ca)
- chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 [`985ac7c`](https://github.com/ladjs/supertest/commit/985ac7c)
- chore(deps): bump minimatch [`58baa5f`](https://github.com/ladjs/supertest/commit/58baa5f)
- chore(deps): bump qs from 6.14.1 to 6.14.2 [`c406e82`](https://github.com/ladjs/supertest/commit/c406e82)
***
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43NC4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTUxLjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOlsiYXV0b21hdGVkIiwiZGVwZW5kZW5jaWVzIl19-->
renovate[bot]
scheduled this pull request to auto merge when all checks succeed 2026-09-10 04:09:12 +04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
5.52.3→5.57.05.52.3→5.57.05.52.3→5.57.05.52.3→5.57.024.13.3→24.19.219.2.18→19.3.019.2.7→19.3.011.4.0→11.4.130.5.1→30.5.23.9.6→3.9.1012.0.1→12.1.47.2.2→7.3.1Release Notes
strapi/strapi (@strapi/plugin-cloud)
v5.57.0Compare Source
5.57.0 (2026-10-07)
🚀 New feature
🔥 Bug fix
📚 Documentation Changes
⚙️ Chore
💅 Enhancement
🚨 Security
❤️ Thank You
v5.56.0Compare Source
5.56.0 (2026-09-30)
🚀 New feature
🔥 Bug fix
📚 Documentation Changes
⚙️ Chore
💅 Enhancement
❤️ Thank You
v5.55.1Compare Source
5.55.1 (2026-09-24)
This is a hotfix release patching v5.55.0 that were causing a performance drop for the projects that have the documentation plugin.
⏪ Revert
v5.55.0Compare Source
5.55.0 (2026-09-23)
🚀 New feature
🔥 Bug fix
⚙️ Chore
❤️ Thank You
v5.54.0Compare Source
5.54.0 (2026-09-16)
🎉 The new Media Library is here!
We've been heads-down on this for months, and it's the change we're most excited to put in your hands: the redesigned Media Library is now the default for everyone in version 5.54.0.
This isn't a fresh coat of paint. We rebuilt the Media Library entirely around how people actually work with assets:
📚 Read the full documentation
Not ready for the big change yet? You're feeling nostalgic and need the old one back?
We know upgrades land in the middle of real work. If you'd rather stay on the previous interface for now, you can add this to
config/features:Full details in Restoring the previous Media Library in the docs.
Huge thanks to everyone who tested the beta and sent feedback. Can't wait to hear what you think 💙
🚀 New features
🔥 Bug fixes
⚙️ Chore
💅 Enhancement
❤️ Thank You
v5.53.0Compare Source
5.53.0 (2026-09-09)
🚀 New feature
🔥 Bug fix
⚙️ Chore
⚠️ Changes to be aware of
MCP clients no longer drop advertised tools
The built-in MCP server now advertises tools as JSON Schema 2020-12, so strict clients that previously dropped every tool keep the full list. If you register custom MCP tools or prompts: unknown or unauthorized tool calls now return JSON-RPC error
-32602instead ofisError: true;extra.sendNotificationandextra.sendRequestare gone; and one promptargsSchemathat cannot become JSON Schema (for examplez.date()) hides every prompt fromprompts/list.(#27505)
❤️ Thank You
jprichardson/node-fs-extra (fs-extra)
v11.4.1Compare Source
emptyDir*()(#1080)jestjs/jest (jest)
v30.5.2Compare Source
Features
[@jest/transform]Strip TypeScript types with Node when no transformer claims a.ts,.mtsor.ctsfile (#16421)Fixes
[jest-core, jest-haste-map, jest-transform]Keeprequire('../package.json')external when bundling, sojest --versionand the transform and haste-map cache keys report the released version instead of the previous one (#16422)[jest-each]Escape a table row's keys before building the$variableinterpolationRegExp, so a column name such ascount(*)no longer fails the whole table withInvalid regular expression, and a.or|in a column name is matched literally (#16345)[@jest/source-map]Resolve absolute Windows paths in a source map'ssourcesandsourceRootagain, instead of appending them to the transformed file's directory (#16439)prettier/prettier (prettier)
v3.9.10Compare Source
diff
Markdown: Update
micromark-extension-gfm-tableto fix the table parse issue on performance (#20266 by @fisker)See micromark/micromark-extension-gfm-table@
4f43eadfor details.v3.9.9Compare Source
diff
Markdown: Fix text with
$been incorrectly parsed as math syntax (#20140 by @fisker)v3.9.8Compare Source
diff
Markdown: Don't let Liquid objects interrupt paragraphs (#20087 by @seiyab)
v3.9.7Compare Source
diff
Markdown: Prevent indentation drift in list-item code blocks (#19647, #19990 by @Austin1serb, @giaBaoJS)
JavaScript: Fix embedded template literal idempotency (#19725 by @fisker)
Markdown: Preserve Liquid blocks after Markdown tables (#19730 by @wanxiankai, @seiyab)
Markdown: Preserve single tildes in Markdown (#19739 by @lazerg)
Since 3.9.0, single-tilde spans like
H~2~Owere rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub.Markdown: Fix Markdown blockquote containing
>characters (#19802 by @seiyab)Markdown: Strip blockquote markers from a setext heading's continuation lines (#19878 by @Kjubikstronk)
A setext heading spanning multiple lines inside a blockquote kept the
>marker of its continuation lines as literal text.Markdown: Fix HTML block indentation drift in markdown list items (#19987 by @lazerg)
Angular: Support
@boundaryerror boundaries (#20014 by @Yahiro025)formatjs/formatjs (react-intl)
v12.1.4: react-intl: 12.1.4Compare Source
Bug Fixes
Dependencies
v12.1.3: react-intl: 12.1.3Compare Source
Bug Fixes
v12.1.2: react-intl: 12.1.2Compare Source
Dependencies
v12.1.1: react-intl: 12.1.1Compare Source
Bug Fixes
Dependencies
v12.1.0: react-intl: 12.1.0Compare Source
Features
Dependencies
v12.0.2: react-intl: 12.0.2Compare Source
Bug Fixes
Dependencies
ladjs/supertest (supertest)
v7.3.1Compare Source
884cd26e74a1e0v7.3.0Compare Source
71dc5fb3b5ba5cc3419b27e409dbb55a7f97a5deaaa75f6eec2cb33e7fb34e7c3575842a01b57343394d6b203e9d40ca7eb6f599581766ca985ac7c58baa5fc406e82Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.
67c0f13ee1to0a345a54100a345a5410tof0c48c01aff0c48c01afto62ad528ac362ad528ac3tod12fe34f9ed12fe34f9eto761fc49922761fc49922to115e335ccf115e335ccfto3bd0e1d4523bd0e1d452to40ff4224ce40ff4224ceto12dbef816312dbef8163to57aa2265dc57aa2265dctoe130c795cfe130c795cftob14398d55ab14398d55ato2eeca9f9212eeca9f921to534369c11c534369c11ctof06264f84bf06264f84bto41e2c84fd941e2c84fd9toaf62c9f628af62c9f628to6f0615f07c6f0615f07cto0f3042947d0f3042947dtod75677fa67d75677fa67toaafe4d27b3aafe4d27b3to138275a44f138275a44ftod27b1515d0d27b1515d0to1f36ac48f21f36ac48f2to2b6ce58fae2b6ce58faeto673408baab673408baabtoc845941a5fView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.