❌

Lees weergave

v4.26.2

⚠️ Note: This is the final Strapi 4 release ⚠️

No further updates to Strapi 4 will be published, this release serves as the final version of Strapi 4 which is considered EOL (End-Of-Life) as of April 30th, 2026. All Strapi users should migrate to Strapi 5: https://docs.strapi.io/cms/migration/v4-to-v5/introduction-and-faq

Also please note, this does include Strapi Customers as well. Strapi Cloud will still continue to function with Strapi 4 but that may be subject change in the near future without warning.

What's Changed

Security

  • Fixed a critical vulnerability where relational filtering could expose sensitive data through insufficient query sanitization. See GHSA-rjg2-95x7-8qmx / CVE-2026-27886.
  • Upgraded tar to v7 to address security warnings.
  • Applied v4 dependency security and maintenance updates.

Fixes

  • Enforced unique admin email validation when updating the authenticated user profile.

Compatibility

  • Added Node.js 22 support for Strapi v4.

Full Changelog: v4.26.1...v4.26.2

  •  

v5.47.1

5.47.1 (2026-06-03)

πŸ”₯ Bug fix

  • deleteMany respects filters combined with relation (#25420)
  • improve i18n plugin translations (#22714)
  • resolve ajv ReDoS vulnerability by forcing ajv@8.18.0 (#26141)
  • admin: use ISO 639-1 da for Danish admin locale (#26322)
  • content-manager: documentId(s) shown for relation when entry title set to numeric field (#25622)
  • content-manager: guard repeatable field .map() crash on relation… (#26421)
  • content-manager: fix frontend validation if not using "draft and publish" (#25300)
  • core: skip session secret check for API-only apps (#26390)
  • data-transfer: preserve core store when config stage is excluded (#26484)
  • deps: upgrade koa-session to v7.0.2 (#26140)
  • homepage: homepage count-documents slow on large D&P tables (#26370)
  • i18n: preserve non-localized field inheritance (#26367)
  • strapi: preserve tsbuildinfo across develop restarts (#26264)
  • upgrade: simplify registry URL resolution (#25027)

πŸ“š Documentation Changes

  • security: overhaul vulnerability reporting policy (#26393)

βš™οΈ Chore

  • admin: remove punycode dependency (#26189)
  • deps: bump axios from 1.16.0 to 1.16.1 (#26456)
  • deps: bump express-rate-limit from 8.2.1 to 8.5.2 (#26457)
  • deps: bump @hono/node-server from 1.19.9 to 1.19.14 (#26458)
  • deps: bump qs from 6.15.0 to 6.15.2 (#26417)
  • deps: bump @babel/plugin-transform-modules-systemjs from 7.25.9 to 7.29.4 (#26256)
  • deps: bump hono from 4.11.9 to 4.12.23 (#26455)
  • deps: bump @tootallnate/once from 2.0.0 to 2.0.1 (#26218)
  • docs: migrate docusaurus config to typescript (#26471)
  • mcp: clarify registration lifecycle and simplify error messages (#26517)
  • upload: remove aiMetadataJobsCleanup cron job (#26442)

πŸ’… Enhancement

  • core: lazy-load node-schedule and umzug at boot (#26267)
  • core: eliminate @strapi/typescript-utils from boot path (#26270)
  • core/core: lazy-load typescript-utils in Strapi and compile (#26266)
  • strapi: hash-cache peer-dep check; demote env-vars log to debug (#26269)
  • strapi: lazy-require worker-only deps in dev primary (#26268)

❀️ Thank You

  •  

v5.47.0

5.47.0 (2026-05-28)

πŸš€ New feature

  • BETA: MCP server (#26371)
  • publicationFilter param in REST and document service (#25793)
  • admin-tokens: remove adminTokens future flag (#26391)
  • admin: add documentation helper link in HeaderLayout (#26422)

πŸ”₯ Bug fix

  • Relation Search in Nested Components (#26023)
  • unable to access content manager page with required and private … (#24101)
  • admin: gate expiresIn deprecation on user auth options (#26298)
  • admin: redirect active tab to login on session expiry (#26165)
  • admin: avoid serving extensionless admin paths as static files (#26368)
  • content-manager: content history crash on deleted relations (#26245)
  • core: preserve createdBy/updatedBy on drafts created by discard-drafts migration (#26461)
  • core/core: codeBlockValidator uses language instead of syntax (#26392)
  • graphql: inherit publicationFilter into populated relations (#26400)

βš™οΈ Chore

  • dedupe yarn.lock file (#26376)
  • fix dependabot cooldown config for github-actions (#26438)
  • ci: improve dependabot security grouping and version update policy (#26408)
  • commitlint: disable body-max-line-length rule (#26406)
  • deps: bump simple-git from 3.32.3 to 3.36.0 (#26220)
  • deps: bump sanitize-html from 2.13.0 to 2.17.4 (#26342)
  • deps: bump ws from 8.17.1 to 8.20.1 in @strapi/data-transfer (#26379)
  • examples: remove sdk-plugin from todo-example plugin (#26341)
  • strapi: upgrade webpack ecosystem dependencies (#26385)

πŸ’… Enhancement

  • db: migration performance improvements (#25988)
  • provider-amazon-ses: replace node-ses with AWS SDK SESClient (#26054)
  • i18n: update and create Slovak translations (#25831)

❀️ Thank You

  •  

v5.46.1

5.46.1 (2026-05-20)

πŸ”₯ Bug fix

  • FK violation publishing self-relation parent & child in one release (#26147)
  • move session-manager jwt check from register to bootstrap (#25412)
  • admin: remove year 2041 limit on date/datetime pickers (#26209)
  • content-manager: fix getMainField context for component list/edit configure views (#25509, #26124)
  • database: respect nested sort in populate for join-table relations (#26361)
  • graphql: inherit publication state for i18n localizations (#22163)
  • migrations: guard inverseJoinColumn access in discard-drafts migration (#26331)
  • review-workflows: add assignee and review stage to list view filters (#26171)
  • review-workflows: message when single stage (#26229)
  • upgrade: use pnpm install when project prefers pnpm (#26246)
  • upgrade: align scoped @strapi packages in devDependencies (#26248)

βš™οΈ Chore

  • sonarcloud security review (#25949)
  • deps: bump ip-address from 10.1.0 to 10.2.0 (#26222)
  • deps: bump @protobufjs/utf8 from 1.1.0 to 1.1.1 (#26311)
  • deps: bump axios from 1.15.1 to 1.15.2 (#26177)
  • deps: bump fast-xml-builder from 1.1.4 to 1.2.0 (#26253)
  • deps: bump fast-uri from 3.0.1 to 3.1.2 (#26254)
  • eslint: migrate .eslintrc + .eslintignore to .eslintrc.cjs (#26216)

🚨 Security

  • deps: upgrade multiple dependencies (#26326)

❀️ Thank You

  •  

v5.46.0

5.46.0 (2026-05-13)

πŸš€ New feature

  • close button for the trial banner (3fd5f9fd56)
  • adding collapse button (901465b1e2)
  • updating design after Claude comments (d1cb08f76e)
  • getting that button to stick while the banner doesn't (f04fe97a75)
  • add preview support to images and videos (#25216)
  • content-manager: add possibility to customize blocks (#22063)
  • email: replace sendmail package with nodemailer in provider (#25893)

πŸ”₯ Bug fix

  • making button float better (c5396f1c18)
  • using isValid & adding translations (59498861f7)
  • auto-expand and scroll to newly added dynamic zone components (#26044)
  • keep draft link on x-to-one relations non-dp to dp (#26179)
  • long component names overflow in dynamic zone picker (#26010)
  • remove await from several telemetry calls to prevent blocking (#24743)
  • admin: resolve prism is not defined (#25660)
  • admin: handle 204 no-content response in fetch client (#25416)
  • content-manager: local-storage was not updated if filters were removed (#26240)
  • content-manager: skip draft/modified count queries for non-D&P content types (#26049)
  • core/admin: admin and content api tokens retro-compatibility (#26313)
  • core/core: validation uses injected strapi instance (#26211)
  • database: morph typeField wins over same-name fields in populate (#26120)
  • database: append primary key to ORDER BY for paginated selects (#26032)
  • db: deterministic schema hash by sorting tables before hashing (#26202)
  • graphql: isolate root query args per root field (#26178)
  • test: check button attribute differently (#26212)
  • utils: throw ValidationError for all invalid query params (not just sort) (#25894)

βš™οΈ Chore

  • adding translations for the banner (e696d94627)
  • turkish translations for cloud (#26223)
  • .github: bump CI runners to node 24 (#26231)
  • ai: ignore .agents/local-skills and .agents/local-state for local only harness (#26276)
  • deps: bump eslint-plugin-react (#26227)
  • deps: migrate msw 1.x β†’ 2.13.4 across admin test suites (#26065)
  • deps: upgrade typedoc to 0.28.19 and related plugins (#26082)
  • security: mark Strapi v4 as End of Life (#26162)
  • upload: add concurrentUploadSize config (#26053)

❀️ Thank You

  •  

v5.45.0

5.45.0 (2026-05-06)

πŸš€ New feature

  • extended ctb api for plugins (ad7cb5d5d7)
  • sort based on publish status (#25689)
  • admin: api token supports admin permissions and admin user ownership (#25657)
  • content-manager: add Zod 4 foundation utilities (#25574)

πŸ”₯ Bug fix

  • issue with plugin content type uid (f768670d38)
  • style issues (2f42e5fe44)
  • opt out of the ct backup strategy for plugin content types (5936814932)
  • build errors (520ecfc6d5)
  • enforce minimum length (f2b6c2bcd0)
  • prevent trailing ? in URL when params is empty object (#25724, #25900)
  • dynamically update rate limit prefix key based on route (#24818)
  • admin: clean up lazy component registration warnings (#25015)
  • admin: type addMenuLink with optional Component for menu-only links (#26198)
  • content-manager: prevent crash on detached DZ component (#26148)
  • content-type-builder: preserve plugin CT identity in AI chat transform (0be48848fa)
  • database: run cleanOrderColumns updates sequentially (#26134)
  • database: run cleanOrderColumns updates sequentially (#26134)
  • review-workflows: implement incremental loading in assignee dropdown (#25967)
  • upload: sharp concurrency and cache leads to OOM (#26046)

❀️ Thank You

  •  

v5.44.0

5.44.0 (2026-04-29)

πŸš€ New feature

  • deploy to cloud homepage widget (#25774)

πŸ”₯ Bug fix

  • add responseType to getFetchClient for non-JSON responses (#25974)
  • prevent browser defaults for Ctrl+I and other modifier shortcuts in Firefox (#26050)
  • contain absolute descendants in OverflowingItem (#26133)
  • content-manager: prevent duplicate React key in homepage recent-documents widget (#26084)
  • content-manager: optimize document layout hooks (#26005)
  • database: make 5.0.0-02-created-document-id migration idempotent (#26045)
  • document-service: support delete selection params (#25097)
  • document-service: preserve self-referential relations during publish and discard (#25890)
  • document-service: discard-draft 500 on self-referential manyToMany relations (#26152)
  • i18n: preserve non-localized media when creating a locale (#26031)
  • openapi: documentation plugin generates OpenAPI with incorrect ID parameter (#26067)
  • review-workflows: pass locale params to useDocument in StageSelect and AssigneeSelect (#26104)
  • types: align Service.Generic index signature with Controller.Generic (#25475)

πŸ“š Documentation Changes

  • add AGENTS.md universal agent guide (#26018)

βš™οΈ Chore

  • release v5.43.0 update develop (#26100)
  • upgrade contributor docs dependencies (#26073)
  • deps: bump multiple dependencies (#26103)
  • deps: bump @xmldom/xmldom from 0.8.12 to 0.8.13 (#26098)
  • deps: bump and dedupe pinned subdeps (#26139)
  • examples: migration performance benchmark harness + mariadb/sqlite + anti-pattern schemas (#26036)
  • scripts/release: fix experimental peer dependencies install (#26083)

πŸ’… Enhancement

  • add ESM syntax support for Vite .mts config file (#25238)
  • i18n: improve Russian translations of tours section in admin package (#25221)
  • translations: update czech translations (#25824)

❀️ Thank You

  •  

v5.43.0

5.43.0 (2026-04-22)

πŸš€ New feature

  • core/*: introduce strapi.ai namespace (#25886)
  • i18n: complete Dutch (nl) translations for admin panel (#25932)

πŸ”₯ Bug fix

  • date picker sends date-only format to avoid deprecation warning (1508d5d8f3)
  • bulk publish validation on required components in dz (#25687)
  • use admin basename for 401 redirect path (#25458)
  • auth providers generate unique username on conflict (#23853)
  • webpack public path was missing a slash at the end (#22654)
  • handle potential null userPermissions in Protect component (#24444)
  • admin: add cursor pointer and fix click behavior on sortable table headers (#25418)
  • admin: eliminate several browser race conditions (#26020)
  • content-manager: blocks editor errors when image has formats: null (#26015)
  • content-manager: use RBAC-aware populate in countDraftRelations (#25977)
  • content-manager: don't allow locale to overwrite list view settings (#25437)
  • content-manager: render ID column without number grouping (#25996)
  • content-manager: apply i18n translations to dynamic zone component names (#25417)
  • data-transfer: fix large transfer crashes; show transfer progress (#23479)
  • upload: content-api does not return signed urls (#26034)
  • upload-aws-s3: support root-level credentials and update AWS SDK (#25914)

βš™οΈ Chore

  • update main README content (#25618)
  • data-transfer: isIgnoredContentType helper for filtering (#26004)
  • deps: bump undici from 6.24.1 to 6.25.0 (#26022)
  • deps: bump follow-redirects from 1.15.11 to 1.16.0 (#26025)

πŸ’… Enhancement

  • strapi dev continue watching on build error (#25514)
  • add list & delete admin user cli commands (#23022)
  • data-transfer: improve progress UX (#25921)

🚨 Security

  • upgrade to axios 1.15.1 (#26072)

❀️ Thank You

  •  

v5.42.1

5.42.1 (2026-04-15)

πŸ”₯ Bug fix

  • typo in Russian translation for upload button (#25946)
  • fixed 9 typos, spelling errors, and duplicate words. (#25936)
  • skip form onChange when markdown updates come from setValue (#25955)
  • adjust typo in test (#25960)
  • update snapshot (9b2501ceeb)
  • increase test timeout (f50134dbae)
  • preserve relations in fill from another locale (#25703)
  • enable save button when re-ordering components or dynamic zones (#25959)
  • made changes to resolve Firefox timepicker issue (#25129, #25438)
  • admin: batch content manager permission checks and reuse session ability (#25911)
  • core: add firstPublishedAt field to draft (#25947)
  • document-service: preserve relations during publish (#25909)
  • tests: type errors cause build to fail which cause tests to fail (072ad0d801)
  • upload: cache busting for cross-origin images in crop (#25950)
  • upload-aws-s3: trust S3 response Location URL for compatible providers (#25939)

βš™οΈ Chore

  • fix typos in comments and docs (12dfbe97c9)
  • adding finnish translation to Strapi Admin (#25620)
  • fix typos in comments and docs (91407798c4)
  • update Polish language translations (#23762)
  • deps: bump lodash from 4.17.23 to 4.18.1 (#25919)
  • deps: bump lodash-es from 4.17.23 to 4.18.1 (#25906)
  • deps: bump nodemailer from 8.0.4 to 8.0.5 (#25963)
  • deps: bump axios from 1.13.5 to 1.15.0 (#25980)
  • deps: bump path-to-regexp from 8.4.1 to 8.4.2 (#25901)
  • examples: delete config.server.url to restore port override capability (#26011)

❀️ Thank You

  •  

v5.42.0

5.42.0 (2026-04-08)

πŸš€ New feature

  • removing A/B testing from the prompt Currently A/B testing opt-in isn't used, so removing it from the CLI (8d5b04ece4)
  • changing sonar variable (0d822ade04)
  • data-transfer: add directory export/import format (#25867)

πŸ”₯ Bug fix

  • change return to continue in deleteRelations when using foreign keys (#25857)
  • hide legacy options (da9cdfc640)
  • contains filter no longer returns empty data (#25810)
  • typos in documentation plugin README (4ff54bff36)
  • admin: p is not function error (#25663)
  • content-manager: pass component schemas when rebuilding list view headers (#25872)
  • content-manager: wrap single type displayName with formatMessage (#25880)
  • core: relation handling preserves order during unpublish/republish cycles (#25764)
  • create-strapi-app: generate .yarnrc.yml for Yarn projects (#25869)
  • documentation: use dist extensions path in production (#25863)

πŸ“š Documentation Changes

  • fix typos in documentation plugin README (8e11e41247)

βš™οΈ Chore

  • add .claude directory to gitignore (e85aa81cdf)
  • sonarqube variables like in their docs (40f9ecd6c7)
  • deps: bump minimatch from 10.2.4 to 10.2.5 (#25879)
  • deps: bump @xmldom/xmldom from 0.8.6 to 0.8.12 (#25877)
  • deps: bump path-to-regexp from 8.2.0 to 8.4.0 (#25850)
  • deps: bump undici from 6.24.0 to 6.24.1 (#25785)
  • deps: bump handlebars from 4.7.7 to 4.7.9 (#25841)
  • deps: bump yauzl from 3.2.0 to 3.2.1 (#25729)
  • deps: bump bn.js from 4.12.0 to 4.12.3 (#25691)
  • deps: bump js-yaml from 3.14.1 to 3.14.2 (#25680)
  • deps: bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#25681)
  • deps: bump path-to-regexp from 8.4.0 to 8.4.1 (#25888)
  • deps: bump simple-git from 3.21.0 to 3.32.3 (#25704)
  • deps: bump file-type from 21.0.0 to 21.3.2 (#25728)
  • deps: bump @octokit/plugin-paginate-rest from 9.2.1 to 9.2.2 (#25693)
  • deps: bump @octokit/request from 8.4.0 to 8.4.1 (#25694)
  • deps: bump picomatch from 2.3.1 to 2.3.2 (#25828)
  • deps: bump nodemailer from 8.0.1 to 8.0.4 (#25848)

❀️ Thank You

  •  

v5.41.0

5.41.0 (2026-04-01)

πŸ”₯ Bug fix

  • use strapi.fetch for remote uploads (#25661)
  • Content types with attributes named filters, sort, fields, or populate no longer cause 400 validation errors on populate queries and countDraftRelations (#21338, #25762)
  • check devDependencies when resolving required admin deps (#22130)
  • use max batch sizes per dialect (#25390)
  • content-type-builder: default draftAndPublish to true in AI CTB (#25781)
  • document-service: re-insert cascade-deleted bidirectional relations (#25725)
  • graphql: expose status and hasPublishedVersion on non–D&P root queries for nested relations (#25763)
  • homepage: render widgets progressively and batch permission checks (#25846)
  • upload: allow removal of file type filter in media library (#25399)
  • upload: row duplicate-key warning (#25670)
  • upload: allow upload of files with empty MIME type (#25844)

βš™οΈ Chore

  • deps: bump undici from 6.23.0 to 6.24.0 (#25731)
  • deps: bump effect from 3.19.19 to 3.21.0 (#25796)
  • scripts/check-package-versions: support Yarn catalog (#25625)

πŸ’… Enhancement

  • add customField parameter to extendFields (#22521)
  • content-manager: add documentid in listview and editview (#25759)

🚨 Security

  • package upgrades to remove deprecated versions of boolean, tar, and glob (#25776)

❀️ Thank You

  •  

v5.40.0

5.40.0 (2026-03-18)

πŸš€ New feature

  • add package manager dropdown before version in bug report template (#25679)

πŸ”₯ Bug fix

  • add maxwidth to documentactions menu (#25664)
  • formatErrorMessages array values formatting (#24196)
  • admin: alias singleton frontend deps in vite (#25682)
  • content-manager: reduce excessive rerendering in components and dynamic zones (#25631)
  • content-manager: skip non-draftAndPublish relations in countDraftRelations (#25453)
  • i18n: show locale key in disabled select when editing locale (#25124)

πŸ“š Documentation Changes

  • fix docs links in README (#25715)

βš™οΈ Chore

  • use https instead of git url in package.repository.url (#25698)
  • content-manager: optimize relations handling in EditView component (#25683)
  • core: parallelize and cache dynamic zone populate (#25685)

πŸ’… Enhancement

  • resolved filter editability on clicking filter tag (#24057)
  • core: remove beta on Document API, enforce deprecation on EntityService API (#25744)

❀️ Thank You

  •  

v5.38.1

5.38.1 (2026-03-11)

Superseded on March 11, 2026 by v5.39.0 due to versioning mistake.
Please use v5.39.0.

  •  

v5.39.0

5.39.0 (2026-03-11)

πŸš€ New feature

  • expand accordion by default when inserting a new component in a document (#24230)
  • content-manager: filter list view by publication status (#25510)

πŸ”₯ Bug fix

  • added shift+tab to blocks editors (#24122)
  • single type publish permission error (#24754)
  • es translations (#25655)
  • typo 'compatability' to 'compatibility' in error messages (#25535)
  • content-manager: export ContentManagerPlugin type for plugin dev… (#24149)
  • content-manager: reduce excessive rerendering in relation fields (#25623)
  • content-manager: reduce rerenders for conditional fields (#25617)
  • content-releases: publish in right order to preserve relations (#25551)
  • guided-tour: no overlay in dark mode (#25485)
  • openapi: correctly merge plugin router prefix with route paths (#25616)
  • types: fix document findOne params (#25613)
  • upload: add crossOrigin attribute to image preview (#24946)

βš™οΈ Chore

  • upgrade to glob 13 (#25610)
  • upgrade better-sqlite3 to 12.6.2 (#25611)
  • remove eslint-plugin-rxjs (#25612)
  • upgrade koa to 20.8.4 and minimatch to 10.2.4 (#25624)
  • eslintignore coverage (#25649)
  • stop adding issues to GitHub projects in issues_handleLabel workflow (#25677)
  • update package metadata (#25599)
  • *: register vitest dependency in Yarn catalog (#25400)
  • core/permissions: ensure engine properly merges conditions (#25569)
  • deps: bump js-yaml from 3.14.1 to 3.14.2 (#24858)
  • deps: bump qs from 6.14.2 to 6.15.0 (#25555)
  • deps: bump jws from 3.2.2 to 3.2.3 (#24981)
  • deps: bump elliptic from 6.5.7 to 6.6.1 (#24803)
  • deps: bump serialize-javascript from 6.0.1 to 6.0.2 (#24841)
  • deps: bump mdast-util-to-hast from 13.2.0 to 13.2.1 (#24950)
  • deps: bump jws from 3.2.2 to 3.2.3 (#25652)
  • deps: bump tar from 7.5.9 to 7.5.10 (#25642)
  • deps: bump serialize-javascript from 6.0.1 to 6.0.2 (#25653)

🚨 Security

  • upload: improve mimetype detection for uploads (#25177)

❀️ Thank You

  •  

v5.38.0

5.38.0 (2026-03-04)

πŸš€ New feature

  • content-manager: add relationOpenMode setting (modal/page/newTab) (#25433)
  • email-nodemailer: upgrade to Nodemailer v8 with advanced email features and Admin UI capabilities (#25392)
  • i18n: add missing french translations (#23093)

πŸ”₯ Bug fix

  • typo 'recieved' to 'received' across codebase (#25541)
  • markdown editor number list is created with wrong numbers (#24631)
  • add i18n for boolean cell values (#22314)
  • folder subtitles for folders without assets or subfolders (#22694)
  • vite and webpack config when linking ds locally (#25530)
  • types: add missing typing for proxy.koa config (#25575)

βš™οΈ Chore

  • bump design-system to v2.2.0 (#25584)
  • deps: bump rollup from 4.27.4 to 4.59.0 (#25566)
  • upload: add import from url (#25496)

❀️ Thank You

  •  

v5.37.1

5.37.1 (2026-02-26)

πŸ”₯ Bug fix

  • core: preserve component clone integrity in discard-drafts migration

❀️ Thank You

  •  

v5.37.0

5.37.0 (2026-02-26)

πŸ”₯ Bug fix

  • improve subnav on mobile so it works with banner (#25450)
  • layout page broken (#25501)
  • add design-system to config (#25435)
  • radix ui dialog dependency version (#25549)

πŸ“š Documentation Changes

  • fix typos in content-releases frontend intro (#25471)

βš™οΈ Chore

  • add bot and contributor detection to community-label workflow (#25497)
    (#25494))
  • docs: revise README for AWS S3 provider updates (#25449)

πŸ’… Enhancement

  • improve mobile ux of list view (#25366)

🚨 Security

  • feature: add strictParam, addQueryParams, addInputParams (#25528)
  • deps: upgrade to tar 7.5.9 (#25504)
  • deps: upgrade multiple dependencies (#25506)
  • deps: bump bn.js from 4.12.0 to 4.12.3 (#25521)
  • deps: bump minimatch from 9.0.3 to 10.2.1 ([#25494]

❀️ Thank You

  •  

v5.36.1

5.36.1 (2026-02-18)

πŸ”₯ Bug fix

  • handle undefined tours property (#25290)
  • core: handle negative and zero min/max validation for number fields (#25409)
  • history: improve error handling and batch deletion in cron jobs (#25425)
  • migrations: speed up discard-drafts with bulk batches (#25293)
  • ts: ignore generated .strapi folder (#25086)
  • utils: bump preferred-pm to fix npm workspace detection (#25406)

βš™οΈ Chore

  • add --no-build-admin option to 'strapi develop' command (#25415)
  • */vitest: introduce Vitest and vitest-config package (#25286)
  • ci: redirect question issues to GitHub Discussions (#25441)
  • deps: bump @casl/ability from 6.5.0 to 6.7.5 (#25430)
  • deps: bump qs from 6.14.1 to 6.14.2 (#25444)

🚨 Security

  • upgrade to tar 7 (#25380)
  • update react-router (#25391)
  • deps: upgrade axios from v1.12.2 to v1.13.5 (#25427)

❀️ Thank You

  •  

v5.36.0

5.36.0 (2026-02-11)

πŸš€ New feature

  • persistent list view settings (#24246)
  • strapi/create: type strapi configs (#21859)
  • upload-aws-s3: add extended configuration for S3-compatible providers (#25263)

πŸ”₯ Bug fix

  • responsive drawer for content history (#25344)
  • scrolling in sidenav also scroll content (#25379)
  • match database package version (#25389)
  • content-manager: preserve origin id when cloning, to fetch relations so they are corrected re-populated (#25307)
  • preview-config: allow and await for async handler (#25396)
  • upload-aws-s3: use baseUrl even if upload location lacks protocol (#23400)

πŸ’… Enhancement

  • improve mobile design for edit view forms (#25320)
  • create-strapi-app: add --non-interactive mode for CI and scripts (#25373)

🚨 Security

  • upgrade apollo to 4.13.0 (#25375)

❀️ Thank You

  •  

v5.35.0

5.35.0 (2026-02-04)

πŸš€ New feature

  • upload: add focal point picker for images (#25267)

πŸ”₯ Bug fix

  • prevent bulk publish modal from closing during API refetch (#24632)
  • update ko.json (#23501)
  • mobile actions drawer in content manager edit view (#25243)
  • upload: prevent asset deletion when clicking cancel on EditAssetDialog (#25318)

βš™οΈ Chore

  • bump yarn 4.5 to 4.12 (#25284)

πŸ’… Enhancement

  • improve mobile design for content history forms (#25338)

🚨 Security

  • update multiple subdependencies (#25337)

❀️ Thank You

  •  

v5.34.0

5.34.0 (2026-01-28)

πŸš€ New feature

  • update german translations for various components (#24143)
  • upload: add retroactive ai metadata generation (#25066)

πŸ”₯ Bug fix

  • add missing labels to IT locale (#25217)
  • form elements mobile adjustments (#25202)
  • responsive cm header (#25203)
  • run orphan removal for the 'related_type' column (#24833)
  • adjust padding for cm subnav (#25253)
  • admin: format input error message with values (#23932)
  • i18n: ai translation losing unsupported fields (#25247)
  • menu: render external links as anchors (#25269)

πŸ“š Documentation Changes

  • clarify strapi installation instructions in README (#25016)
  • CONTRIBUTING: set link to latest version of .commitlintrc.ts (#25224)

βš™οΈ Chore

  • update pinned elliptic (#25206)
  • remove unused imports from react and @strapi/design-system (#25222)
  • update pinned dependencies express, qs, body-parser (#25209)
  • remove in-app marketplace (#24958)
  • update lodash to 4.17.23 (#25244)
  • deps: bump lodash-es from 4.17.21 to 4.17.23 (#25239)
  • upload: setup future flag for media lib redesign work (#25229)
  • β€Ž.github/workflows: bump outdated GitHub Actions versions (#25233)

πŸ’… Enhancement

  • responsiveness consistency for subnav (#25107)

🚨 Security

  • update pinned mdast-utils (#25227)
  • update pinned js-yaml, node-forge, tmp, and more (#25228)

❀️ Thank You

  •  
❌