markkaylor and Ben Irvin
d14e758ed5
fix(homepage): homepage count-documents slow on large D&P tables ( #26370 )
...
* fix(homepage): homepage count-documents slow on large D&P tables
* chore: add api test
* test(homepage): add i18n count-documents document_id semantics tests
Assert per-document_id buckets for never-published multi-locale drafts,
partial locale publish states, and mutually exclusive published vs modified.
---------
Co-authored-by: Ben Irvin <ben@innerdvations.com >
2026-05-27 10:25:34 +02:00
Ben Irvin
bdb24ffb0d
fix(database): append primary key to ORDER BY for paginated selects ( #26032 )
2026-05-11 15:37:50 +02:00
Jamie Howard
4ec512cb11
fix: keep draft link on x-to-one relations non-dp to dp ( #26179 )
2026-05-06 09:23:21 +00:00
Ziyi
fa6299100d
feat(content-manager): add Zod 4 foundation utilities ( #25574 )
2026-04-30 14:55:04 +02:00
Nico André
52b8fd9e3d
feat(admin): api token supports admin permissions and admin user ownership ( #25657 )
2026-04-29 17:57:36 +02:00
Jamie Howard
62a6230772
test: relations available status ( #26051 )
2026-04-24 10:39:17 +02:00
Ziyi
ab7d9c38ec
fix(document-service): preserve self-referential relations during publish and discard ( #25890 )
...
* fix(document-service): preserve self-referential relations during publish/discard
* test(document-service): convert self-referential API test to TypeScript
* fix(document-service): use JoinTable type and tighten Record types in self-referential-relations
* test(document-service): remove weak load() happy-path unit test
* fix(document-service): skip mappedBy attrs, deduplicate and idempotent-insert self-refs
* test(document-service): fix missing dialect and trx mocks in self-referential-relations tests
* fix(tests): use count assertions for CM API self-referential relation tests
2026-04-23 13:32:04 +02:00
db2ec304ff
fix(core): add firstPublishedAt field to draft ( #25947 )
...
* fix(core): add firstPublishedAt field to draft
* test: add unit test firstPublishedAt
---------
Co-authored-by: Ziyi <daydreamnation@live.com >
Co-authored-by: Alex Birkner <github@tyrola.dev >
2026-04-13 11:13:46 +01:00
Ben Irvin
cc6b0c661b
fix: use max batch sizes per dialect ( #25390 )
2026-03-30 09:39:46 +02:00
Ziyi
08c3b0f003
fix: Content types with attributes named filters, sort, fields, or populate no longer cause 400 validation errors on populate queries and countDraftRelations ( #21338 ) ( #25762 )
...
* fix(utils): make convertNestedPopulate schema-aware to prevent keyword collision
2026-03-18 15:48:54 +01:00
Jamie Howard and markkaylor
a6fd594526
Chore/cm combined performance fixes ( #25678 )
...
* fix(content-manager): reduce over-populated localizations and metadata (#25557 )
* Chore: Content manager performance optimizations (#25600 )
* chore(content-manager): wip reduce overhead in metadata queries, populate building, and list view
* fix(content-manager): update document metadata query to select specific fields
* chore(content-manager): document metadata consolidate field selection
* chore(content-manager): streamline locale, enhance document metadata structure
* chore(content-manager): document unpublishing, improve publish status logic
---------
Co-authored-by: markkaylor <mark.kaylor@strapi.io >
2026-03-17 16:28:37 +00:00
Varun Chawla and Ziyi Yuan
45ea4b1c9b
fix(content-manager): skip non-draftAndPublish relations in countDraftRelations ( #25453 )
...
* fix(content-manager): skip non-draftAndPublish relations in countDraftRelations
* fix(content-manager): add safety guard for undefined targetModel
* fix(content-manager): add hasDraftAndPublish guard to sumDraftCounts and getDeepPopulateDraftCount
---------
Co-authored-by: Ziyi Yuan <daydreamnation@live.com >
2026-03-16 11:35:24 +01:00
Ben Irvin
79a590a581
security(feat): add strictParam, addQueryParams, addBodyParams ( #25528 )
2026-02-24 13:51:33 +01:00
Araksya Gevorgyan
e7ae51b01f
feat(core): adding clear button to boolean toggle ( #24836 )
...
feat(core): adding clear button to boolean toggle
2025-12-02 17:33:05 +01:00
mathildeleg
62638801ce
fix: include locales to get last modified entries in widgets ( #24647 )
...
* fix: include locales to get last modified entries in widgets
* chore: add tests
2025-11-12 18:20:59 +01:00
Adrien L
9c630ba433
fix: prefill non translatable fields when creating new document locale ( #24659 )
2025-10-29 15:50:50 +01:00
Adrien L
a8a53e3e7c
fix: wrong count of non draftAndPublish entries ( #24211 )
2025-08-26 09:45:23 +02:00
Adrien L
6d264f56ba
feat: key statistics homepage widget ( #23938 )
2025-07-31 09:36:25 +02:00
Aurélien MANCA
3561ab6db9
feat(uid): add regex attribute ( #23141 )
2025-06-10 16:34:28 +02:00
Rémi de Juvigny
ac2eac47cb
chore: convert relations api tests to ts ( #23553 )
...
* chore: convert relations api tests to ts
* test: delete skipped tests
2025-05-20 06:11:21 -04:00
markkaylor
167a9bf54f
chore(homepage): move widget controllers, services, and routes from admin to content-manager ( #23407 )
2025-04-24 11:01:12 +02:00
Alexandre Bodin
92055a7fb1
chore: use rollup
...
chore: fetch template only if name matches name convention
chore: linting
chore: fix tests
chore: fix npm scripts
test: try to fix test
2025-01-23 16:28:23 +01:00
markkaylor
f7525dade9
chore(tests): enable and update relations ordering test ( #22574 )
2025-01-09 12:44:46 +01:00
markkaylor
dad3c50630
fix(history): handle nested component images ( #22278 )
2025-01-08 15:57:28 +01:00
Dhruv Maradiya and Rémi de Juvigny
7d767aba20
fix: handle clearing of number field to send null instead of undefined ( #22537 )
...
* fix: handle clearing of number field to send null instead of undefined
set number field to null when cleared; undefined prevented clearing.
* test: add test for clearing integer field to set it to null
---------
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com >
2025-01-07 04:39:51 -05:00
Simone
f09127d8df
fix: renable the basic relations test ( #22464 )
2024-12-18 14:01:18 +01:00
Marc Roig and Jamie Howard
0d4051ce87
fix: multiple requests locale ( #22273 )
...
* fix: multiple requests locale
* fix: actions request
* fix: properly load locales
* fix: add status to localizations
* fix: remove unused types
* fix: front tests
* fix: add validation fields into localizations
* fix: validatable attributes
* fix: select nested fields when populating localizations
* fix: uncomment localizations populate
* fix: document-metadata
* fix: empty populate
* fix: revert to original proposal
* fix: do not select document ids on components (#22330 )
* fix: do not select document ids on components
* chore: unit test
* fix: metadata test
* fix: populate
* fix: default fields
* fix: show current locale when bulk publishing
* fix: create locale
* Update packages/core/content-manager/server/src/services/document-metadata.ts
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com >
---------
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com >
2024-12-16 16:12:40 +01:00
Rémi de Juvigny
59cb734ff4
chore: fix tests
2024-12-04 10:02:35 +01:00
f3ad685d4b
feat: reordering for polymorphic relations in Content API ( #21928 )
...
Co-authored-by: Marc Roig <Marc-Roig@users.noreply.github.com >
Co-authored-by: Marc <marc.roig.campos@strapi.io >
2024-11-08 09:07:22 +01:00
Jean-Sébastien Herbaux
7f39880265
Make locale/localizations private for non-localized cts ( #21495 )
2024-10-14 14:07:09 +02:00
Marc Roig and Rémi de Juvigny
002fc78b3c
feat: preview endpoint ( #21574 )
...
* feat: base files for static preview
* feat: preview config
* Update packages/core/content-manager/server/src/preview/routes/index.ts
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com >
* chore: empty handler
* chore: comment controllers type
* fix: remove is enabled check from load
* feat: test preview config
* chore: refactor type
* feat: preview endpoint
* feat: preview test
* fix: tests
* fix: api test
* chore: comment
---------
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com >
2024-10-08 14:23:47 +02:00
Rémi de Juvigny and Marc Roig
dc3f54929b
fix: history trying to restore components that were deleted ( #21559 )
...
* fix: reenable history api tests
* fix: history trying to restore components that were deleted
* Update tests/api/core/content-manager/content-manager/history/history.test.api.ts
Co-authored-by: Marc Roig <marc.roig.campos@strapi.io >
* chore: refactor to deselect component ids at version creation
* Revert "fix: reenable history api tests"
This reverts commit a35f61fbc0 .
* fix: type error
---------
Co-authored-by: Marc Roig <marc.roig.campos@strapi.io >
2024-10-07 05:59:35 -04:00
Ben Irvin
64bd4f3d1e
test(api): enable relations tests ( #21498 )
2024-09-27 15:50:39 +02:00
Alexandre Bodin
86fea32ae4
fix: locale might be null
2024-09-24 16:23:20 +02:00
Fernando Chávez
45c8d25668
fix(content-manager): error when content type has no i18n enabled ( #21026 )
...
* fix(content-manager): error when content type has no i18n enabled
* fix(content-manager): history check if CT has D&P and i18n
* fix api tests
2024-08-23 13:31:42 +02:00
Marc Roig
e281ba8e37
fix (content-manager): load relation main fields on all pages ( #20946 )
2024-08-07 14:34:15 +02:00
Jean-Sébastien Herbaux
3ad6bddd75
RBAC Action Aliases - v5 ( #20878 )
2024-08-06 15:16:25 +02:00
Marc Roig
2403a57adf
feat: history version on bulk publish locales ( #20847 )
...
* feat: history version on bulk publish locales
* fix: await create version
2024-07-23 09:40:46 +02:00
Marc Roig
8ad1ccbb99
chore: run relation permissions test ( #20674 )
2024-07-03 15:34:49 +02:00
Alexandre Bodin
3aee925501
fix: several media lib ui issues
...
fix: using open prop does not clear any state and create a lot of bugs
fix: crop
2024-06-20 17:27:42 +02:00
Jean-Sébastien Herbaux
5285f8db42
Fix Duplicate Rows on Deep Sorting ( #20543 )
2024-06-20 14:46:31 +02:00
Rémi de Juvigny
826f263c58
fix: add clone actions to history ( #20387 )
...
* fix: clone action not appearing in history
* chore: add api tests
2024-05-29 09:09:54 -04:00
8c5105d949
Publish multiple locales ( #20258 )
...
* fix: date comparison
* feat(core): document service publish multiple locales (#20046 )
* feat(core): document service (un)publish multiple locales
* fix(core): cleanup locale param types
* feat(content-manager): wip - multiple locale support
* Count draft relations across locales (#20116 )
* feat(content-manager): publish multiple locales from CM route
* feat(core): multiple locales in document service discard draft
* feat(content-manager): use bulkpublish for locale publish
* feat(content-manager): use query from bulkpublish locales
* feat(content-manager): publishMany
* feat(content-manager): api test for bulk locale + document publish
* chore(content-manager): fix for build
* fix(core): avoid * in locale data
* chore(content-manager): pr amends and validation improvement
* feat(content-manager): use transaction in document manager publish many
* feat(core): throw when a non string locale is provided and not supported
* fix(core): doc service find many
* chore: clean up
* feat(content-manager): Select fields that require validation in availablelocales (#20156 )
* feat(content-manager): wip - select more fields in availablelocales
* feat(content-manager): wip available locales using entity traversal
* feat(content-manager): wip test available locales returns fields with validation
* feat(content-manager): test available locales returns fields with validation
* fix(content-manager): ensure sensitive info not exposed in available statuses
* fix(content-manager): sanitize document metadata available status
* fix(content-manager): sanitize document metadata available status at controller level
* fix(content-manager): populate only for validatable fields
* chore: clean up
* chore: clean up
* chore: clean up
* fix(content-manager): build issues
* fix(content-manager): allow null locales
* fix(content-manager): history service (#20185 )
* fix(content-manager): history service
* chore(content-manager): clean up
* fix: pr feedback
* chore: update actions deps
* chore: update utility deps
* chore: upgrade sentry
* chore: upgrade graphql-tools
* fix: http-errors ugprade
* chore: add fs-extra types where needed
* docs(typescript): type system cheat sheet
* chore!: remove deprecated verbose option from ts:generate-types
* chore: clean up
fix(content-manager) correctly count bulk publish results
* fix(content-manager): pr feedback and test improvements
* feat(i18n): bulk locale publish modal in CM edit view (#20069 )
* feat(i18n): wip bulk locale publish modal
* fix(i18n): wip - fe bulk locale publish
* feat(content-manager): multi locale publish, integrate with backend and add basic e2e test
* feat(i18n): wip - display validation errors in bulk locale modal
* chore: clean up
* chore(i18n): design system changes
* feat(i18n): display correct status after publish and clean up error messaging
* feat(i18n): access onclose from modal body
* fix(i18n): selected locale change
* fix(i18n): locale table state
* fix(i18n): edit view e2e test
* chore(content-manager): validation tweak wip
* feat(i18n): cover validation cases in i18n e2e tests
* chore: clean up
* fix(i18n): edit view more document actions disabled state
* chore: feedback
* fix(i18n): send all params to publish many
* fix(i18n): place bulk locale publish 3rd in array
* fix(content-manager): validation error extraction
* fix(content-manager): pr feedback
* fix: build
* chore(content-manager): simplify exports
* chore(i18n): revert package
---------
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com >
Co-authored-by: Jean-Sébastien Herbaux <jean-sebastien.herbaux@epitech.eu >
Co-authored-by: Ben Irvin <ben.irvin@strapi.io >
* fix(i18n): disable publish button after bulk locale publish
* fix(content-manager): ce e2e fix
* chore: typography
* fix(i18n): e2e edit view test
* fix: wip date comparison
* fix: wip date comparison
* fix(content-manager): simplify date comparison
* fix: clean up metadata api test
* chore: update api tests
* fix: draft versions must be ahead of published to be considered modified
* fix: published modified calculation
* fix: clean up
* fix: simplify draft and publish comparison
* chore: clean up
* fix: flaky fe tests
* fix: pr feedback
* fix(i18n): error message extraction in bulk locale modal
* chore: remove old publish action
* chore: pr feedback
* chore: refactor error types & validation messages
* chore: use anchor link for locale changes
* chore: fix releases
* fix: clean up
* chore: snapshot
---------
Co-authored-by: Marc-Roig <marc12info@gmail.com >
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com >
Co-authored-by: Jean-Sébastien Herbaux <jean-sebastien.herbaux@epitech.eu >
Co-authored-by: Ben Irvin <ben.irvin@strapi.io >
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com >
2024-05-10 18:20:35 +01:00
Marc Roig and Jamie Howard
521cd3f8cd
fix: improve CM modified date comparison ( #19898 )
...
* fix: date comparison
* fix(content-manager): simplify date comparison
* fix: clean up metadata api test
* fix: draft versions must be ahead of published to be considered modified
* fix: published modified calculation
* fix: clean up
* fix: simplify draft and publish comparison
* chore: clean up
* fix: flaky fe tests
* fix: pr feedback
---------
Co-authored-by: Jamie Howard <jamie.howard@strapi.io >
2024-05-09 19:19:18 +02:00
Fernando Chávez
3fdf1a575b
enhancement: migrate bulk publish & unpublish to v5 ( #20184 )
...
* chore: migrate bulk publish & unpublish to v5
* chore: change findLocales type to accept arrays
* chore: fix lint error
* chore: migrate bulkDelete to v5 (#20161 )
* chore: migrate bulkDelete to v5
* chore: change findLocales type to accept strings array
* fix: docs prettier styles
* chore: remove console.log
* enhancement: migrate countManyDraftRelations to v5
* only publish not published entries
* use strapi query directly on bulkPublish
* fix api tests for bulk publish
* apply jamie feedback
2024-05-07 16:58:56 +02:00
Marc Roig
8e9b152292
fix: document service find many pagination ( #20178 )
2024-05-06 14:52:48 +02:00
markkaylor
e60ec18292
chore(history): refactor restore and add tests for relations ( #20179 )
2024-05-06 10:54:07 +02:00
Marc Roig
23fa63efeb
feat: webhooks ( #20129 )
...
* feat: webhooks
* feat: ignore entry.publish findOne
* chore: type entry
* feat: refactor publication methods to not trigger entry.delete webhook (#20136 )
* feat: refactor publication methods
* fix: remove unnecessary chain op in db query
* feat: emit document. as webhook
* feat: register legacy events
* feat: only trigger entry webhooks
* feat: rename webhook to event
* feat: event manager
* fix: repository
* feat: webhook tests
* fix: api tests
* fix: non localized fields api test
* fix: refactor event hub
* fix: eventhub type
* fix: event hub unit test
* fix: remove all subscribers
* fix: webhook api test
2024-05-03 11:41:42 +02:00
Alexandre Bodin
792129f7b4
chore: make document service api more consistent
2024-04-24 18:15:02 +02:00
Mark Kaylor
e765f29187
fix(tests): update history api tests to created ids
2024-04-24 17:26:58 +02:00