npm @strapi/strapi 5.61.0
v5.61.0

latest releases: 0.0.0-experimental.92bb20997b2793318c466b024655f2deb68620d1, 0.0.0-experimental.8e940b908681b7ff311cc06cc6fa6596e0bd7387
2 hours ago

5.61.0 (2026-11-04)

πŸš€ New feature

  • audit-logs: record history restores, discarded drafts, settings updates and media events (#28178)

πŸ”₯ Bug fix

  • admin: add missing english keys and french translations (#28354)
  • admin: package exports point to source files that do not exist (#28326)
  • admin: make action provider registerMany all-or-nothing (#28324)
  • content-manager: offscreen required uids lose their default value when saving after load (35ce71beb2)
  • content-manager: edit view rows mounted for an error unmount once the errors are cleared (26272dd9c6)
  • content-manager: send a single relation search when the combobox first opens (be34c0e8ff)
  • content-manager: only replace a single relation once its saved relation is loaded (0886987f6f)
  • content-manager: list view crashes when a content type has an attribute named ref (cf1cffdbcc)
  • content-manager: history version restore answers 500 for an unknown version id (#28198)
  • content-manager: relations return 500 instead of 403 on field read denial (#28194)
  • content-manager: publish actions return 500 on content types without draft and publish (#28189)
  • content-manager: findContentTypesByKind type rejects the kind string it needs (#28187)
  • content-manager: history versions declare a componentsSchemas field they never store (#28255)
  • content-manager: relation endpoints return 500 for morph-to fields (#28270)
  • content-manager: update, clone and publish return 200 with empty data for a deleted document (#28269)
  • content-manager: history restore fails when a component id no longer belongs to the document (#28195)
  • content-releases: action validity not refreshed after attribute change (#28126)
  • content-releases: sync entry validation awaited inside Promise.all (#28256)
  • content-releases: duplicate webhooks when publishing a release (#27909)
  • content-type-builder: changes to a component named admin are not saved (#28200)
  • content-type-builder: count documents, not rows, before switching to single type (#28278)
  • content-type-builder: content type update without draftAndPublish disables draft and publish (#28203)
  • content-type-builder: editing an unknown content type throws a TypeError (#28260)
  • content-type-builder: kind change does not emit the content-type.update event (#28205)
  • content-type-builder: log a failing schema event listener instead of crashing (#28279)
  • content-type-builder: create content type honours options.draftAndPublish (#28287)
  • content-type-builder: guard update-schema against switching to single type with many documents (#28284)
  • content-type-builder: keep stored schema options keys on content type edit (#28285)
  • content-type-builder: is-development-mode middleware crashes when referenced by name (#28323)
  • content-type-builder: stop waiting for schema event listeners after a timeout (#28329)
  • content-type-builder: count rows without documentId in the single type guard (#28333)
  • core: required fields of a new component are not enforced on update (#28236)
  • core: limit MCP tool input elements (#28179)
  • create-strapi-app: example seed uploads files without their original name (#28325)
  • database: moving a relation to the start fails on MySQL/MariaDB (#28289)
  • documentation: login answers 500 when no password hash is stored (#28249)
  • documentation: bootstrap crashes when users-permissions is not installed (#28186)
  • documentation: override service registers yaml that is not an object (#28259)
  • graphql: named resolver middlewares do not run as registered strapi middlewares (#28257)
  • i18n: locales content api response schema rejects region codes and real document ids (#28252)
  • i18n: return not found when a locale disappears during update (#28275)
  • review-workflows: assigning a workflow drops other content manager configuration options (#27864)
  • review-workflows: workflows can be created or renamed with a name that already exists (#28201)
  • review-workflows: stage lookup returns a stage from another workflow (#28193)
  • review-workflows: locale created through an update has no review stage (#28202)
  • review-workflows: assigned documents widget shows an empty stage after its workflow is deleted (#28273)
  • review-workflows: deleting a stage can leave its entries without a stage (#28271)
  • review-workflows: deleting or unassigning a workflow with an orphaned content type returns 500 (#28237)
  • tooling: jest unit preset runs test helper files as test suites (#28248)
  • types: allow null on optional document input attributes (#27902)
  • upload: replacing an image with a non-image file keeps the image width, height and formats (#28233)
  • upload: avif images are stored without dimensions or responsive formats (#28170)
  • utils: concurrent provider registrations of one key bypass the duplicate check (#28322)

πŸ“š Documentation Changes

  • document edit view progressive mounting, lazy validation schema and createContext re-renders (386d4f0a20)

βš™οΈ Chore

  • drop Node 20 support (#26631)
  • merge back release 5.60.0 (#28330)
  • link v5.60.0 tag into develop history (5ba94ee6b4)
  • link main 5.60.0 squash into develop history (cdf4309ab6)
  • admin: remove the unused use-context-selector dependency (eedc2d144b)
  • admin: type the meta argument the list view passes to cellFormatter (ec09de346c)
  • admin: migrate backend unit tests from jest to vitest (#28055)
  • core: migrate backend unit tests from jest to vitest (067374ca4a)
  • core: migrate tests added on develop to vitest (fd7e0c9388)
  • create-strapi-app: migrate backend unit tests from jest to vitest (#28057)
  • create-strapi-app: align template typescript lib with node 22 (#28328)
  • deps: bump qs from 6.16.0 to 6.16.1 (#28316)
  • deps: bump webpack-dev-middleware to 7.4.6 (#28208)
  • documentation: migrate backend unit tests from jest to vitest (#28056)

πŸ’… Enhancement

  • admin: only re-render context consumers whose selected value changed (302021fb0b)
  • content-manager: build the document validation schema once, when it is needed (619e402016)
  • content-manager: render edit view rows progressively (591419942c)
  • content-manager: only fetch relations of fields near the viewport (5ca1e44e4e)
  • upload: new asset picker and image drop in the rich text editors (#28176)
  • upload: content manager asset details drawer (#28283)

❀️ Thank You

Don't miss a new strapi release

NewReleases is sending notifications on new releases.