Impact Score: 5/10
Strapi v5.51.2 β Release Notes & Engineering Impact
Source available β automated, not human-reviewed
Component: strapi Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
β‘ Executive Summary (TL;DR)
Strapi v5.51.2. Source highlight: **content-manager:** add optional component screenshots to DZ picker (#26863)
Who Does This Impact? (Role-Based Analysis)
π» Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
π Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
βοΈ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
β¨ New Features & Capabilities (3)
- **content-manager:** add optional component screenshots to DZ picker (#26863)
- add contributor documentation for the MCP server (#27160)
- **lint:** add non-blocking oxlint setup (#26923)
β‘ Performance & Enhancements (3)
- **content-type-builder:** support required on relation attributes (#27080)
- **core:** look models up on the registries in getModel (#27143)
- **database:** reduce per-column work when mapping rows to entities (#27144)
π§ Bug Fixes & Patches (6)
- use radio roles for accessibility and improve aria attributes (#27139)
- handle i18n conflict and local rights (6519f4d5db)
- **admin:** interpolate min/max values in validation error messages (#27172)
- **admin:** pin react-colorful to prevent optimizeDeps include/exclude conflict (#27203)
- **content-manager:** relation creation discards parent changes (#27081)
- **content-manager:** relation order changes after saving dynamic-zone components (#27135)
π View Raw Release Notes (Original Developer Log)
## 5.51.2 (2026-08-05)
### π New feature
- **content-manager:** add optional component screenshots to DZ picker ([#26863](https://github.com/strapi/strapi/pull/26863))
### π₯ Bug fix
- use radio roles for accessibility and improve aria attributes ([#27139](https://github.com/strapi/strapi/pull/27139))
- handle i18n conflict and local rights ([6519f4d5db](https://github.com/strapi/strapi/commit/6519f4d5db))
- **admin:** interpolate min/max values in validation error messages ([#27172](https://github.com/strapi/strapi/pull/27172))
- **admin:** pin react-colorful to prevent optimizeDeps include/exclude conflict ([#27203](https://github.com/strapi/strapi/pull/27203))
- **content-manager:** relation creation discards parent changes ([#27081](https://github.com/strapi/strapi/pull/27081))
- **content-manager:** relation order changes after saving dynamic-zone components ([#27135](https://github.com/strapi/strapi/pull/27135))
- **content-manager:** keep document status accurate on mixed-locale batches ([#27035](https://github.com/strapi/strapi/pull/27035))
- **core:** use configured default pageSize when only page is provided ([#27132](https://github.com/strapi/strapi/pull/27132))
- **database:** escape LIKE wildcards in filters and use equality for $eqi/$nei ([#26476](https://github.com/strapi/strapi/pull/26476))
- **i18n:** use fractional __temp_key__ when filling from locale ([#26296](https://github.com/strapi/strapi/pull/26296))
- **upload:** stream URL imports to disk instead of buffering in memory ([#27176](https://github.com/strapi/strapi/pull/27176))
- **upload:** keep cursor position while editing asset details fields (CMS-1536) ([2c6edbfacb](https://github.com/strapi/strapi/commit/2c6edbfacb))
- **upload:** apply asset permissions to media library actions (CMS-434) ([e8099188e2](https://github.com/strapi/strapi/commit/e8099188e2))
- **upload:** keep crop drag tracking on touch devices (CMS-1538) ([7807ea83dc](https://github.com/strapi/strapi/commit/7807ea83dc))
- **upload:** keep asset drawer header visible on mobile (CMS-1539) ([4edad7ca75](https://github.com/strapi/strapi/commit/4edad7ca75))
- **upload:** media library MVP fixes ([7a4012c65a](https://github.com/strapi/strapi/commit/7a4012c65a))
### π Documentation Changes
- add contributor documentation for the MCP server ([#27160](https://github.com/strapi/strapi/pull/27160))
### βοΈ Chore
- **deps:** bump @hono/node-server from 1.19.14 to 1.19.17 ([#27166](https://github.com/strapi/strapi/pull/27166))
- **deps:** bump postcss from 8.5.14 to 8.5.25 ([#27195](https://github.com/strapi/strapi/pull/27195))
- **deps:** bump brace-expansion from 1.1.16 to 1.1.18 ([#27196](https://github.com/strapi/strapi/pull/27196))
- **deps:** bump js-yaml from 3.15.0 to 3.15.1 ([#27197](https://github.com/strapi/strapi/pull/27197))
- **deps:** bump motion from 12.23.24 to 12.40.0 ([#27133](https://github.com/strapi/strapi/pull/27133))
- **deps:** bump tar from 7.5.21 to 7.5.22 ([#27165](https://github.com/strapi/strapi/pull/27165))
- **deps:** bump react-router-dom from 6.30.3 to 6.30.4 ([#27134](https://github.com/strapi/strapi/pull/27134))
- **deps:** bump undici from 6.27.0 to 6.28.0 ([#27164](https://github.com/strapi/strapi/pull/27164))
- **deps:** bump axios from 1.18.1 to 1.19.0 ([#27198](https://github.com/strapi/strapi/pull/27198))
- **deps:** align app-template react-router-dom with admin 6.30.4 ([#27210](https://github.com/strapi/strapi/pull/27210))
- **jest:** run unit/front tests via nx, drop root jest config and dep ([#26701](https://github.com/strapi/strapi/pull/26701))
- **lint:** add non-blocking oxlint setup ([#26923](https://github.com/strapi/strapi/pull/26923))
- **users-permissions:** move server code into server/src ([#26105](https://github.com/strapi/strapi/pull/26105))
### π
Enhancement
- **content-type-builder:** support required on relation attributes ([#27080](https://github.com/strapi/strapi/pull/27080))
- **core:** look models up on the registries in getModel ([#27143](https://github.com/strapi/strapi/pull/27143))
- **database:** reduce per-column work when mapping rows to entities ([#27144](https://github.com/strapi/strapi/pull/27144))
### β οΈ Changes to be aware of
#### Filter operators: literal wildcards and true case-insensitive equality
`$eqi` / `$nei` now do real case-insensitive equality (`= LOWER(?)`), not `LIKE`, so values with `%`, `_`, or a trailing `\` no longer act as wildcards or crash some databases. Substring operators (`$contains`, `$startsWith`, `$endsWith`, and case-insensitive variants) now treat `%`, `_`, and `\` in the filter value as literal characters. If you relied on `%` / `_` inside those filters as SQL wildcards, update filters to match the new literal semantics.
([#26476](https://github.com/strapi/strapi/pull/26476))
### β€οΈ Thank You
- Adrien L @Adzouz
- Adrien Lepoutre @Adzouz
- Andrei L @unrevised6419
- Arthur Moreau
- Ayoub Hidri @ayhid
- Bassel Kanso
- Ben Irvin
- DMehaffy
- Dominik Juriga @dominik-juriga
- Giulio Montagner @giu1io
- Jamie Howard @jhoward1994
- magics @hugomagics
- Mason McElvain @masonmcelvain
- Nico AndrΓ©
- Syed Osama Ali Shah @Osamaali313
- Vansh Parmar @vansh1011
- Vishal Kumar Singh @singhvishalkr