Impact Score: 5/10
Strapi v5.31.1 — 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.31.1. Source highlight: **media-library:** add aria-selected and click handlers for better … (#23475)
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 (2)
- **media-library:** add aria-selected and click handlers for better … (#23475)
- improve combobox to add new locale (#24806)
⚡ Performance & Enhancements (1)
- improve package registry URL determination during Strapi upgrade (#22913)
🔧 Bug Fixes & Patches (6)
- accessible responsive left menu (8f6b0444b7)
- bulk unpublish when creating a new locale (#24821)
- modifying&publishing locale should only update that locale (#24648)
- include locales to get last modified entries in widgets (#24647)
- optional chaining in getRetentionDays function (#24830)
- edit view dialog ui (#23353)
📄 View Raw Release Notes (Original Developer Log)
## 5.31.1 (2025-11-19)
### 🚀 New feature
- **media-library:** add aria-selected and click handlers for better … ([#23475](https://github.com/strapi/strapi/pull/23475))
### 🔥 Bug fix
- accessible responsive left menu ([8f6b0444b7](https://github.com/strapi/strapi/commit/8f6b0444b7))
- bulk unpublish when creating a new locale ([#24821](https://github.com/strapi/strapi/pull/24821))
- modifying&publishing locale should only update that locale ([#24648](https://github.com/strapi/strapi/pull/24648))
- include locales to get last modified entries in widgets ([#24647](https://github.com/strapi/strapi/pull/24647))
- optional chaining in getRetentionDays function ([#24830](https://github.com/strapi/strapi/pull/24830))
- edit view dialog ui ([#23353](https://github.com/strapi/strapi/pull/23353))
- show relations per locale in listview ([#24805](https://github.com/strapi/strapi/pull/24805))
- global translation keys for bulk move modal ([#22773](https://github.com/strapi/strapi/pull/22773))
- missing translations ([#22800](https://github.com/strapi/strapi/pull/22800))
- added fix for not performing bulk actions when it is disabled ([#21792](https://github.com/strapi/strapi/pull/21792))
- warn user on page reload/close if edit view has unsaved data ([3c9d7923b3](https://github.com/strapi/strapi/commit/3c9d7923b3))
- add error notification when AI metadata save fails ([#24611](https://github.com/strapi/strapi/pull/24611))
- unable to customize cors settings in graphql plugin ([#22852](https://github.com/strapi/strapi/pull/22852))
- typescript error front test ([#24845](https://github.com/strapi/strapi/pull/24845))
- contentTypes generation fails on negative number ([#24056](https://github.com/strapi/strapi/pull/24056))
- unable to clear and save time only fields in the content manager… ([#24675](https://github.com/strapi/strapi/pull/24675))
- add missing semicolon to core-contoller ts template ([#24079](https://github.com/strapi/strapi/pull/24079))
- prevent list from jumping to top when selecting checkbox ([#24146](https://github.com/strapi/strapi/pull/24146))
- **admin:** ai admin config can be set to true for non growth license ([#24835](https://github.com/strapi/strapi/pull/24835))
- **admin:** ai disabled by default for growth license ([#24868](https://github.com/strapi/strapi/pull/24868))
- **content-manager:** preserve fields with visible:false during form submission ([#24849](https://github.com/strapi/strapi/pull/24849))
- **core:** max length on short text ([#24794](https://github.com/strapi/strapi/pull/24794))
- **core:** allow description and placeholder be empty ([#24799](https://github.com/strapi/strapi/pull/24799))
- **db:** replace discardDrafts calls in v5 migration with queries ([#24798](https://github.com/strapi/strapi/pull/24798))
- **upload:** file-type does not support commonjs ([#24848](https://github.com/strapi/strapi/pull/24848))
### ⚙️ Chore
- improve combobox to add new locale ([#24806](https://github.com/strapi/strapi/pull/24806))
- replace act() calls with the right testing library api when it is necessary ([b5ed02af8c](https://github.com/strapi/strapi/commit/b5ed02af8c))
- **content-manager:** fix deprecation in Tooltip usage ([#23029](https://github.com/strapi/strapi/pull/23029))
- **deps:** bump cloudinary from 1.41.0 to 2.7.0 ([#24831](https://github.com/strapi/strapi/pull/24831))
- **deps:** bump tar-fs from 2.1.1 to 2.1.4 ([#24844](https://github.com/strapi/strapi/pull/24844))
### 💅 Enhancement
- improve package registry URL determination during Strapi upgrade ([#22913](https://github.com/strapi/strapi/pull/22913))
### ❤️ Thank You
- Adrien L
- Araksya Gevorgyan @araksyagevorgyan
- Ayush @Ayushd785
- Bassel Kanso @Bassel17
- Ben Irvin
- Chaitya @chaitya-titan
- Daniel Garcia @dagadevelop
- Dmitry Maklygin @dmaklygin
- HichamELBSI
- Jorrit Schippers
- José Luis @SalahAdDin
- Lucas Boilly @lucasboilly
- markkaylor
- Marvin Mottet
- mathildeleg @mathildeleg
- Maxime Robert
- ndaemy @ndaemy
- Ocneanu Vlad @OcneanuVlad
- Razim Saidov @razims
- Sam Phillemon @Sam-Phillemon9493
_Please note, this version has been deprecated on npm due to a data loss issue found within a bug fix._