819 Commits

Author SHA1 Message Date
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
Nico André bc0b0e9449 feat(core/*): introduce strapi.ai namespace (#25886) 2026-04-17 08:46:33 +02:00
Ben Irvin 79a590a581 security(feat): add strictParam, addQueryParams, addBodyParams (#25528) 2026-02-24 13:51:33 +01:00
Jamie Howard 1153e05e6e [CM] request-scoped caching and parallelisation (#24999)
* fix(core): request-scoped model cache for validateParams

* chore(model-cache): enhance documentation

* feat: cache permission calculations in sanitize and validate services, reduce db queries

* chore: replace hardcoded prefix with constant for content manager store keys

* feat: parallel tranversal and further caching

* chore: extract shared utilities

* feat: add performance benchmarking for deeply nested content management

* chore: improve error handling in parallel processing of arrays

* chore: add TODO

* feat: enhance performance benchmark script

* Potential fix for code scanning alert no. 65: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix: improve error message

* chore(content-manager): revert dynamic populate depth

* feat: optimize permission checking and caching mechanisms

* test: componentService strapi mock

* fix: permission-checker tests types

* fix: remove redundant permission check in collection-types controller

* chore: remove performance benchmarking files and related configurations

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-22 15:49:27 +00:00
Marco A. e343fe10e7 chore: remove all occurances of aiLicenseKey (#24908) 2026-01-16 13:14:45 +02:00
Jamie Howard 16559ac3c8 fix(users-permissions): implement session revocation on password changes (#25168) 2026-01-13 09:41:45 +01:00
Bassel Kanso a767343b1e fix(types): adding missing config types (#24905) 2025-12-19 16:28:12 +02:00
markkaylor 4310e958c5 chore(admin): isolate ai apis to ee folder (#24834) 2025-11-20 11:01:48 +01:00
markkaylor ef9fb10a18 fix(admin): ai admin config can be set to true for non growth license (#24835) 2025-11-13 11:39:49 +01:00
Bassel Kanso 80ec2ee668 fix: prevent admins from deleting themselves (#24739) 2025-11-03 12:27:36 +02:00
Rémi de Juvigny c337ee9b99 enhancement: set up ai token in memory cache (#24720) 2025-10-29 04:44:02 -04:00
Bassel Kanso d85a0f0ebf Fix/ctb reload (#24551)
* fix(admin): prevent MIME type conflicts during CTB server restarts

* fix: remove unecessary changes
2025-10-17 14:22:53 +02:00
Jamie Howard 163598782b fix: pass context to cookie options in authentication and session-auth utilities (#24602)
* fix: pass context to cookie options in authentication and session-auth utilities

* fix: update cookie options to use secure request context in authentication and session-auth utilities

* refactor: formatting
2025-10-17 12:04:24 +01:00
Jamie Howard 91f3ae970f enhancement: cookie security configuration (#24524) 2025-10-14 09:15:09 +02:00
Rémi de Juvigny 5e751dbf11 feat: ai generated image metadata (#24422)
* 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>
2025-10-07 06:14:34 -04:00
Ben Irvin 8b11c0eca0 feat(ai): AI Chat for Schema Creation (#23730) 2025-10-02 13:13:47 +02:00
Ben Irvin ca055bd025 fix: support auth.options config in sessions (#24460)
* fix: support auth.options config in sessions

* chore: fix lint

* feat(users-permissions): add jwt algorithm configuration

* refactor: remove deprecated admin.auth.options warnings

* test(token): add TypeScript error suppression for mock config in token tests

* feat(bootstrap): re-add warning for deprecated expiresIn option in session settings

---------

Co-authored-by: Jamie Howard <jhoward1994@gmail.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2025-09-29 14:53:29 +01:00
Araksya Gevorgyan 281b331dc7 feat(homepage): add endpoints for widget move and resize actions (#24358)
* feat(homepage): add endpoints for widget move and resize actions
2025-09-24 16:57:09 +02:00
Jamie Howard d23f1485e5 feat: Advanced Session Configuration (#24346) 2025-09-23 12:04:29 +02:00
markkaylor 09f7c11cb1 chore(guided-tour): remove dead code (#24327) 2025-09-08 15:31:42 +02:00
markkaylor e4700a5963 enhancement: improve guided tour (#24094) 2025-08-18 09:54:58 +02:00
Adrien L 6d264f56ba feat: key statistics homepage widget (#23938) 2025-07-31 09:36:25 +02:00
akash-dabhi-qed ffc36acb30 Resolved error thrown when trying to filter users by email (#23977)
* fix(admin): Resolved error thrown when trying to filter users by email

* fix(admin): add isActive to allowed fields

---------

Co-authored-by: Ziyi Yuan <daydreamnation@live.com>
2025-07-28 16:54:35 +02:00
Bassel Kanso 725a3c5254 fix(api-tokens): update lastUsedAt if it's null (#23870) 2025-07-07 09:50:18 +03:00
markkaylor 74fd566f2a future: add content-type builder tour (#23844) 2025-07-02 17:00:52 +02:00
markkaylor ed7c7c54ff future: add admin endpoint to get guided tour meta data (#23786) 2025-06-26 16:21:02 +02:00
Arthur Moreau 4ac7f54e67 feat(cli): Introduce the Growth Trial prompt (#23498) 2025-06-03 19:58:02 +02:00
Jamie Howard 83775a7d2a fix(content-type): improve field validation logic in permission settings (#23581)
* fix(content-type): improve field validation logic in permission settings

* fix(content-manager): enhance validation for required fields based on user permissions

* fix(content-manager): update error handling for unreadable required fields and improve validation messaging

* test(content-manager): add e2e test for publishing with insufficient permissions on required fields

* fix(admin): refine permission field validation logic and update tests for accuracy
2025-05-29 11:23:21 +01:00
Ben Irvin 063fe6b9a4 fix: use text for encrypted key of viewable api token (#23477) 2025-05-06 16:16:59 +02:00
Bassel Kanso 5989d3c7be enhancement: make api tokens viewable (#23439) 2025-05-05 11:06:33 +03: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
markkaylor 51ac3e3622 future(homepage): refactor internal widgets to use api (#23352) 2025-04-14 17:08:21 +02:00
dhoko e61eff51f9 fix: types for custom http response APIs (#21614)
* fix: types for custom http response APIs

* fix: remove deprecated ignore error

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Bassel Kanso <basselkanso82@gmail.com>
2025-02-26 19:51:34 +02:00
Rémi de Juvigny 37494b34d1 fix: apply advanced permissions in content manager home widgets (#22921)
* fix: apply permission conditions in content manager home widgets

* chore: extract getPermissionChecker
2025-02-18 11:18:52 -05:00
DMehaffy 4e3c397615 fix: add new email ratelimit middleware and apply to admin pass reset (#22813)
* fix: add new email ratelimit middleware and apply to admin pass reset

* fix: resolve proper middleware name

* fix: prettier fix for middleware export

* fix: config loading and dependency lint

* fix: build error on type unknown

* fix: pr feedback on setting default config

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* fix: remove unused has from lodash

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
2025-02-18 04:31:50 -05:00
Ben Irvin 082492f357 Merge branch 'develop' into advisory-fix-1 2025-02-14 10:59:05 +01:00
Ben Irvin c99d5d32b6 Merge remote-tracking branch 'upstream/develop' into develop 2025-02-14 10:40:43 +01:00
dhoko 4656e5d415 enhancement: better log informations about the errors for yup validations messages (#22001) 2025-02-06 15:42:10 +02:00
Alexandre Bodin 3be592e7ed Merge branch 'develop' into chore/rollup 2025-01-29 17:47:50 +01:00
Ben Irvin e07a466901 fix: validation message shape 2025-01-29 16:54:15 +01:00
Convly 5bd5447232 enhancement: add default api token on app creation 2025-01-27 17:04:10 +01: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
Ben Irvin 195eaa367f fix: use path in error message 2025-01-23 15:29:39 +01:00
Ben Irvin 9efe8c85f4 fix: do not validate byte length on empty values 2025-01-23 14:46:28 +01:00
Ben Irvin 41f8cdf116 fix: 72 byte maximum for creating and updating passwords 2025-01-23 12:44:25 +01:00
Rémi de Juvigny 110b429be2 feat: new admin homepage (#22346)
* 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 77ad0efc79.

* 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>
2025-01-06 10:03:49 -05:00
Muhammed Sinan 5d90c4b9e4 Validation with min length and byte validation in reset added 2024-12-13 18:36:28 +05:30
Sinan ce4de38921 Added validation of 70 by bytwise 2024-12-11 18:41:27 +05:30
Derrick Mehaffy 6e4ffcae2c chore: change all internal cron tasks to named tasks 2024-09-20 21:06:51 -07:00