Impact Score: 5/10
Strapi v4.17.0 โ 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 v4.17.0. Source highlight: [core:content-releases] fix(content-releases): fix padding bottom duplicated in the Heading of the Details page (https://github.com/strapi/strapi/pull/19066) @simotae14
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 (6)
- [core:content-releases] feat(content-releases): delete release action on release page (https://github.com/strapi/strapi/pull/19089) @markkaylor
- [core:content-releases] feat(content-releases): group release actions by property (https://github.com/strapi/strapi/pull/19097) @markkaylor
- test(pack-up): add ENV to allow immutable installs in yarn 4
- feat: Migrate @strapi/admin server to typescript
- feat: type content manger entity manager service
- feat(blocks): make it easier to exit code blocks
โก Performance & Enhancements (1)
- chore(blocks): miscellaneous improvements
๐ง Bug Fixes & Patches (6)
- [core:content-releases] fix(content-releases): fix padding bottom duplicated in the Heading of the Details page (https://github.com/strapi/strapi/pull/19066) @simotae14
- [core:content-releases] fix(content-releases): remove Refresh button from the details page (https://github.com/strapi/strapi/pull/19067) @simotae14
- [core:content-releases] fix(content-releases): redirect to the list page when we have errors in the Details page (https://github.com/strapi/strapi/pull/19078) @simotae14
- [core:content-releases] fix(content-releases): add a bottom border below tabs (https://github.com/strapi/strapi/pull/19090) @simotae14
- [core:content-releases] fix(content-releases): empty Details page add a button to the CM (https://github.com/strapi/strapi/pull/19095) @simotae14
- [core:content-releases] fix(content-releases): CM add Release add content when there are no releases (https://github.com/strapi/strapi/pull/19096) @simotae14
๐ View Raw Release Notes (Original Developer Log)
### ๐ฅ Bug fix
* [core:content-releases] fix(content-releases): fix padding bottom duplicated in the Heading of the Details page (https://github.com/strapi/strapi/pull/19066) @simotae14
* [core:content-releases] fix(content-releases): remove Refresh button from the details page (https://github.com/strapi/strapi/pull/19067) @simotae14
* [core:content-releases] fix(content-releases): redirect to the list page when we have errors in the Details page (https://github.com/strapi/strapi/pull/19078) @simotae14
* [core:content-releases] fix(content-releases): add a bottom border below tabs (https://github.com/strapi/strapi/pull/19090) @simotae14
* [core:content-releases] fix(content-releases): empty Details page add a button to the CM (https://github.com/strapi/strapi/pull/19095) @simotae14
* [core:content-releases] fix(content-releases): CM add Release add content when there are no releases (https://github.com/strapi/strapi/pull/19096) @simotae14
* [core:content-releases] fix(content-releases):disable edit and delete buttons in the Details page when you don't have permissions (https://github.com/strapi/strapi/pull/19099) @simotae14
* [core:helper-plugin] fix(helper-plugin): memoize GenericInput for performance issues (https://github.com/strapi/strapi/pull/19177) @joshuaellis
* [core:strapi] Filter out undefined controllers in startup telemetry checks (https://github.com/strapi/strapi/pull/19144) @Convly
* [plugin:graphql] fix: revert graphql-upload library to non breaking change version (https://github.com/strapi/strapi/pull/19182) @Bassel17
* [typescript] [Types] Fix entity-service's parameters inference for generic mapped types with deep literal intersections (https://github.com/strapi/strapi/pull/19093) @Convly
### ๐ New feature
* [core:content-releases] feat(content-releases): delete release action on release page (https://github.com/strapi/strapi/pull/19089) @markkaylor
* [core:content-releases] feat(content-releases): group release actions by property (https://github.com/strapi/strapi/pull/19097) @markkaylor
### โ๏ธ Chore
* [dependencies] chore: update ds 1.14.1 (https://github.com/strapi/strapi/pull/19179) @joshuaellis
### ๐ Update and Migration Guides
- General update guide can be found [here](https://docs.strapi.io/developer-docs/latest/update-migration-guides/update-version.html)
- Migration guides can be found [here](https://docs.strapi.io/developer-docs/latest/update-migration-guides/migration-guides.html) ๐
----
## What's Changed
> Due to typescript migrations not every PR had a milestone, this it the complete list of PRs from 4.16.2 -> 4.17.0
* chore(plugins/i18n): migrate to basic ts by @alexandrebodin in https://github.com/strapi/strapi/pull/18735
* Convert CM to TS by @jhoward1994 in https://github.com/strapi/strapi/pull/18669
* chore(blocks): refactor useBlocksStore by @remidej in https://github.com/strapi/strapi/pull/18776
* chore(actions): run checks workflow on develop branches by @joshuaellis in https://github.com/strapi/strapi/pull/18815
* test(pack-up): add ENV to allow immutable installs in yarn 4 by @joshuaellis in https://github.com/strapi/strapi/pull/18814
* chore(upload): convert JS to JSX by @joshuaellis in https://github.com/strapi/strapi/pull/18818
* chore(i18n): convert settings as associated components to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18809
* chore(u&p): convert js to jsx by @joshuaellis in https://github.com/strapi/strapi/pull/18819
* feat: Migrate @strapi/admin server to typescript by @Marc-Roig in https://github.com/strapi/strapi/pull/18232
* [CTB] Migrate CTB to typescript by @innerdvations in https://github.com/strapi/strapi/pull/18155
* chore(documentation): convert js to jsx by @joshuaellis in https://github.com/strapi/strapi/pull/18832
* chore(cm): convert js to jsx by @joshuaellis in https://github.com/strapi/strapi/pull/18834
* chore: pretty codebase by @joshuaellis in https://github.com/strapi/strapi/pull/18835
* chore(deps): update storybook by @joshuaellis in https://github.com/strapi/strapi/pull/18839
* chore(i18n): convert CMEditView components to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18831
* chore(examples): remove the generated types by @joshuaellis in https://github.com/strapi/strapi/pull/18845
* chore(i18n): convert CM List view components to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18838
* chore(admin): convert settings pages by @joshuaellis in https://github.com/strapi/strapi/pull/18820
* chore(blocks): miscellaneous improvements by @remidej in https://github.com/strapi/strapi/pull/18854
* [Content Manager]- types for routing middleware by @jhoward1994 in https://github.com/strapi/strapi/pull/18823
* chore(admin): convert API Token settings page to TS by @gu-stav in https://github.com/strapi/strapi/pull/18680
* [content-manager] types for policies by @jhoward1994 in https://github.com/strapi/strapi/pull/18846
* chore(i18n): convert CM hooks to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18861
* feat: type content manger entity manager service by @Marc-Roig in https://github.com/strapi/strapi/pull/18860
* fix(type): export JSONObject by @jhoward1994 in https://github.com/strapi/strapi/pull/18870
* fix(pack-up): ensure we pass the tsconfig file name, not a path to it by @joshuaellis in https://github.com/strapi/strapi/pull/18875
* (content-manager): types for field sizes service by @jhoward1994 in https://github.com/strapi/strapi/pull/18888
* chore(blocks): pass modifiers via useBlocksEditorContext by @remidej in https://github.com/strapi/strapi/pull/18802
* fix(blocks): add modifiers to test provider by @remidej in https://github.com/strapi/strapi/pull/18898
* chore(admin): convert transfer tokens to TS by @gu-stav in https://github.com/strapi/strapi/pull/18885
* chore(blocks): handle block conversion logic in the blocks store by @remidej in https://github.com/strapi/strapi/pull/18840
* chore(admin): convert token components to TS by @gu-stav in https://github.com/strapi/strapi/pull/18907
* chore(cm): convert crudReducer to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18879
* chore(lock): deduplicate dependencies by @belgattitude in https://github.com/strapi/strapi/pull/18745
* feat(blocks): make it easier to exit code blocks by @remidej in https://github.com/strapi/strapi/pull/18894
* feat(blocks): add markdown snippets by @remidej in https://github.com/strapi/strapi/pull/18922
* fix(blocks): handle enter key on image by @remidej in https://github.com/strapi/strapi/pull/18901
* chore(i18n): convert middlewares to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18957
* chore(deps): update DS to 1.13.2 by @joshuaellis in https://github.com/strapi/strapi/pull/18959
* chore(deps): bump @adobe/css-tools from 4.3.1 to 4.3.2 by @dependabot in https://github.com/strapi/strapi/pull/18961
* chore(workflows): update unit_front to use node 20 by @joshuaellis in https://github.com/strapi/strapi/pull/18962
* chore(content-manager): convert the editview to typescript by @joshuaellis in https://github.com/strapi/strapi/pull/18948
* fix(content-manager): add memoization to params object to stop recursion by @joshuaellis in https://github.com/strapi/strapi/pull/18982
* chore(cm): convert recursive layouts to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18983
* fix(permissions): circular dependency by @joshuaellis in https://github.com/strapi/strapi/pull/18986
* chore(content-manager): convert cm app shell to TS by @joshuaellis in https://github.com/strapi/strapi/pull/18985
* chore(admin): convert review workflows page to TS by @HichamELBSI in https://github.com/strapi/strapi/pull/18984
* (content-manager): types for component service by @jhoward1994 in https://github.com/strapi/strapi/pull/18869
* feat(strapi): add experimental plugin init command by @joshuaellis in https://github.com/strapi/strapi/pull/18970
* [content-manager] types for permissions service by @jhoward1994 in https://github.com/strapi/strapi/pull/19015
* [content-manager] types for uid service by @jhoward1994 in https://github.com/strapi/strapi/pull/18910
* [content-manager] types for metrics service by @jhoward1994 in https://github.com/strapi/strapi/pull/19014
* chore(cm): convert list-view to TS by @joshuaellis in https://github.com/strapi/strapi/pull/19016
* chore(generator): add runtime dir to gitignore by @joshuaellis in https://github.com/strapi/strapi/pull/18978
* refactor(cm): remove collection-type form wrappers by @joshuaellis in https://github.com/strapi/strapi/pull/19036
* Feat(blocks): move blocks by @madhurisandbhor in https://github.com/strapi/strapi/pull/18852
* (content-manager): types for data mapper service by @jhoward1994 in https://github.com/strapi/strapi/pull/18887
* refactor(admin): remove some contexts and use redux instead by @joshuaellis in https://github.com/strapi/strapi/pull/19040
* chore(admin): convert auditLogs page to TS by @HichamELBSI in https://github.com/strapi/strapi/pull/19020
* fix(content-manager): search relations with contains not startsWith by @Arshiash80 in https://github.com/strapi/strapi/pull/19043
* feat(strapi): add experimental plugin:verify command by @joshuaellis in https://github.com/strapi/strapi/pull/19041
* fix(tooling): use nx to build & clean by @joshuaellis in https://github.com/strapi/strapi/pull/19084
* v4.16.2 by @Convly in https://github.com/strapi/strapi/pull/19105
* [Types] Fix entity-service's parameters inference for generic mapped types with deep literal intersections by @Convly in https://github.com/strapi/strapi/pull/19093
* fix(content-releases): fix padding bottom duplicated in the Heading of the Details page by @simotae14 in https://github.com/strapi/strapi/pull/19066
* fix(content-releases): remove Refresh button from the details page by @simotae14 in https://github.com/strapi/strapi/pull/19067
* fix(content-releases): add a bottom border below tabs by @simotae14 in https://github.com/strapi/strapi/pull/19090
* fix(content-releases): CM add Release add content when there are no releases by @simotae14 in https://github.com/strapi/strapi/pull/19096
* fix(content-releases):disable edit and delete buttons in the Details page when you don't have permissions by @simotae14 in https://github.com/strapi/strapi/pull/19099
* fix(content-releases): empty Details page add a button to the CM by @simotae14 in https://github.com/strapi/strapi/pull/19095
* fix(content-releases): redirect to the list page when we have errors in the Details page by @simotae14 in https://github.com/strapi/strapi/pull/19078
* chore: update ds to 1.14.0 by @joshuaellis in https://github.com/strapi/strapi/pull/19138
* fix(content-releases): fix test by @Feranchz in https://github.com/strapi/strapi/pull/19142
* fix(Blocks): remove pop up link and reopening on save/publish by @madhurisandbhor in https://github.com/strapi/strapi/pull/19052
* feat(blocks): Ability to expand blocks input by @madhurisandbhor in https://github.com/strapi/strapi/pull/19125
* [Types] Fix Attributes Filtering when no registries are extended by @Convly in https://github.com/strapi/strapi/pull/19145
* fix: display nested components in edit view by @remidej in https://github.com/strapi/strapi/pull/19160
* fix(helper-plugin): memoize GenericInput for performance issues by @joshuaellis in https://github.com/strapi/strapi/pull/19177
* chore: update ds 1.14.1 by @joshuaellis in https://github.com/strapi/strapi/pull/19179
* fix(cm): update placeholder in blocks link popover by @joshuaellis in https://github.com/strapi/strapi/pull/19172
* fix: revert graphql-upload library to non breaking change version by @Bassel17 in https://github.com/strapi/strapi/pull/19182
## New Contributors
* @Arshiash80 made their first contribution in https://github.com/strapi/strapi/pull/19043
**Full Changelog**: https://github.com/strapi/strapi/compare/v4.16.2...v4.17.0