* feat: chat
feat: apply changes
feat: integrate with ctb
feat: marker
chore: remove comment
feat: new chat
feat: copy message
feat: upload modal
feat: upload file
feat: errors and stop chat
chore: refactor transforms
chore: format relations
chore: chat title
chore: remove architect dependency
feat: empt state
chore: improve text area focus
* feat: chat imports
feat: resizable text area
fix: re add chat
chore: translations
feat: env vars
fix: minor chat issues
feat: feedback
fix: rebase
feat: import folder
feat: limits
feat: attachments dropzone
chore: file attachments cleanup
chore: track chat id
feat: figma import
fix :token
feat: figma token
fix: attribute status when chat makes updates
feat: image upload
* feat: staging integration
* chore: remove logs
* feat: use tool call result instead of annotation
* fix: invalid component uid
* chore: chat input focus ring
* fix: ui issues
* fix: default draft and publish and do not modify singular name
* fix: minor transforms
* fix: linting
* test(front): update snapshots
* chore: fix misplaced getstarted project schema
* chore: remove unused import
* security: validate exact path of host
* fix: define process better for playwright to work
* fix: process env in vite config for playwright
* chore: use production url
* feat(ctb): Tracking events for AI Chat interaction (#23731)
* feat(content-type-builder): WIP tracking events for chat interactions
* fix: typescript build errors
* fix: event name and build errors
* chore: send ai key with analytics
* chore: actually send licenseKey
* chore: send ailicensekey with groupproperties
* fix: didStartNewChat
* chore: track new chats
* feat: enhance attachment type management in AI chat components
* fix: update chat status handling in ChatProvider component
* feat: add optional aiLicenseKey to Strapi interface
---------
Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
* refactor: remove didusersendmessage tracking event (#23777)
* fix: merge conflict
* fix: send projectId to AI server
* feat: add a enabled config for AI features (#24060)
* feat: add getAiToken endpoint (#24172)
* feat: add getAiToken route
* fix: change route name, remove project id
* fix: type issue and fix schema
* feat: retrieve ai token from frontend (#24226)
---------
Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
* fix: use primary500 for links in ai chat
* chore: migrate to AI SDK v5 (#24252)
* fix: migrate code for v5
* t:wq
* feat: push schemas to ctb
* chore: remove old code
* chore: remove ts-no-check
* chore: fix comment
* fix: ai server logs (#24318)
* test(back): fix error log tests
---------
Co-authored-by: Marc Roig <marc12info@gmail.com>
* fix: configure ai ctb csp middleware without overriding user or default config
* future(upload): generate image metadata on file upload (#24365)
* chore: create aiMetadata service with isEnabled
* chore: extract getAiToken to service
* fix: unit test
* future(upload): generate metadata with ai
* fix: ts build
* fix: only send images to ai server
* test: add unit tests
* fix: unit test
---------
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
* AI media lib bulk update (#24414)
* feat(packages): adding endpoint for bulk update
* feat(packages): linting
* feat(packages): adding tests
* feat(packages): cleanup
* feat: guided tour for ai ctb (#24411)
* feat(upload): adding aiMetadata into settings (#24468)
feat(upload): adding aiMetadata into settings
* feat: add AI upload modal (#24407)
* chore: create aiMetadata service with isEnabled
* chore: extract getAiToken to service
* fix: unit test
* future(upload): generate metadata with ai
* feat: add AI upload modal
* feat: add edit and delete to upload modal
* fix: remove sparkle icon on edit
* fix: add error handling
* chore: refactor ai upload modal reducer
* fix: catch ai token generation error
* chore: add useBulkEdit hook
* feat: connect to bulk edit endpoint
* fix: e2e test
* fix: ci in both ce and ee
---------
Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
* feat(upload): applying ai enabled logic for media library (#24486)
feat(upload): applying ai enabled logic for media library
* fix: sparkle icon
* fix: set ai server prod url
* fix: default config to enabled
* fix: cursor moving to the end when editing text
* fix: upload in the right folder
* fix: close modal when deleting last item
* chore: use STRAPI_AI_URL everywhere
* fix: bulk upload from frontend
* fix: restore sparkle icon on inputs
* fix: unit test ci
* feat(upload): generating metadata from thumbnail (#24515)
* feat(upload): generating metadata from thumbnail
* feat(upload): fixing linting issue
* feat(upload): fixing tests and addressiing feedback
* feat(upload): fixing lint
* fix: check for cms-ai entitlement
* fix: tests
* fix: race condition failing front unit tests
---------
Co-authored-by: Marc-Roig <marc12info@gmail.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Bassel Kanso <bassel.kanso@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
Co-authored-by: Ziyi <daydreamnation@live.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Araksya Gevorgyan <31159659+araksyagevorgyan@users.noreply.github.com>
Co-authored-by: Adrien L <thewebsdoor@gmail.com>
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
* fix: do not change unlocalized fields when updating localized field via doc service
* chore: add api test
* Update tests/api/core/strapi/document-service/update.test.api.ts
* chore: use fillNonLocalizedAttributes util
* chore: move to i18n utils file
* feat(document-service): implement document ID uniqueness check and add corresponding tests
* refactor(document-service): update type for whereClause and improve duplicate documentId tests
* refactor(document-service): simplify uniqueness check comment in createEntriesService
* feat(document-service): enhance document ID uniqueness check with draft/published state handling
* refactor(document-service): change test lifecycle hooks to beforeAll/afterAll for improved performance
* 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>
* feat: init new homepage with custom greeting (#22269)
* feat: init new homepage
* fix: e2e test
* chore(homepage): move guided tour (#22338)
* enhancement: create homepage widget component
* enhancement(homepage): create recently edited documents endpoint (#22355)
* chore: init recent documents route and controller
* enhancement: add recently updated docs endpoint
* chore: add endpoint types
* chore: add api tests
* fix: ts build
* enhancement: add generic widget component
* enhancement: add homepage recently edited widget
* chore: add compound component
* fix: unit test
* enhancement: add no data state
* enhancement: add no data variant
* future(homepage): add generic widget component (#22369)
* enhancement: create homepage widget component
* enhancement: add generic widget component
* chore: add compound component
* fix: unit test
* enhancement: add no data variant
* fix: widget height
* enhancement(homepage): get recent publish activity (#22377)
* chore: tracking and a11y improvements
* chore: add e2e tests
* fix: more cache invalidation
* chore: update api tests
* fix: remove cm dependency
* fix: broken status
* enhancement(home): add recently published widget (#22391)
* fix(home): replace title documentId with document title (#22403)
* fix(home): make locale defined or null to get the correct status (#22405)
* fix(homepage): make back button work when document has a locale (#22450)
* release: 5.6.0
* Revert "release: 5.6.0"
This reverts commit 77ad0efc79afd9777d140f84e8abc47cda26d1d9.
* release: 5.6.0
* fix(homepage): add missing styles for error, loading, and empty states (#22448)
* fix(homepage): add missing styles for error, loading, and empty states
* fix: always include title and icon
* chore: refactor to not rerender static content
* chore: reuse table component
* fix: single type link
---------
Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
* fix: minor ui issues
* fix: hide doc status when no d&p (#22409)
* fix: hide doc status when no d&p
* enhancement: show dash instead
---------
Co-authored-by: Rémi de Juvigny <remi.dejuvigny@strapi.io>
Co-authored-by: Rémi de Juvigny <8087692+remidej@users.noreply.github.com>
* v5.7.0-beta.0
* fix: package versions
* fix: package version
---------
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>
Co-authored-by: Marc-Roig <marc12info@gmail.com>
* feat(review-workflows): adding required stage for publishing (#21380)
* feat(review-workflows): adding required stage for publishing
* fix(review-workflows): fixs on rw required stage
* fix(review-workflows): selected required stage when stage name changed
* fix(review-workflows): bug when creating new rw
* feat(review-workflows): check entry stage before publish (#21400)
* feat(content-releases): add stage check to releases details page (#21497)
* feat(content-releases): add stage check
* fix(content-releases): apply suggestions on releases x review workflows
* feat(content-releases): considered review stage when getting the action status (#21612)
* feat(content-releases): considered review stage when getting the action status
* fix: apply changes to reviewWorkflows on schema
* fix: add api test for review workflows publish stage
* fix: api tests
* fix: validation message errors (#21878)
* feat: add workflowId & hasRequiredStageToPublish to workflows metrics events (#21897)
* fix(content-releases): skip flaky test
* fix: update accessible name in history.spec.ts
---------
Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>