Strapi v4.17.0stable Released Jan 10, 2024
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.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก 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