Commit Graph

1008 Commits

Author SHA1 Message Date
Rijk van Zanten
7d2310badd Finish dependency move (#25583)
* Dangerously update API deps

* Dangerously move app dependencies to pnpm-workspace

* Move all dependencies to catalog

* Sort catalog

* Pnpm update

* Use pnpm 10.14

* Update for zod breaking change

* Fix unhead breaking change

* Downgrade major api upgrades

* Downgrade app major upgrades

* Fix app tests

* Downgrade isolated-vm

* Add changeset

* Fix template in head

* Resolve unhead lang signature

* Downgrade unhead

* Downgrade keyv/redis

It uses a different redis lib under the hood which is incompatible

* Resolve import in test

* Update and move workspace root dependencies

* Update CSS for updated linter rules

* Oops

* Run formatter

* Update rule name

* Run prettier

* Move utils peer to catalog

* Add focus-trap dependency
2025-08-04 18:13:12 -04:00
daedalus
2836948dab Update dependency form-data (#25579)
* update form-data

* update subdep form-data

* add changeset

* add form-data to catalog
2025-08-01 19:26:36 +02:00
Rijk van Zanten
3491af9de4 Make tests deterministic, remove @directus/random (#25575)
* Make tests deterministic by dropping random

* Remove random dep

* Drop random package

* Update pnpm lock

* Update app/src/composables/use-permissions/collection/lib/is-action-allowed.test.ts

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-07-31 17:16:40 -04:00
Alex Gaillard
e109a6f2d6 Release 11.10.0 (#25557) 2025-07-30 17:12:15 +00:00
Nitwel
217520ffde Add support for bundling with Rolldown and improve app extensions loading by streaming from disk (#25317)
* stream app extensions from the filesystem instead of storing them in the heap

* cleanup

* temp commit

* fmt and cleanup

* rename import and remove rollup

* fix lock file

* add EXTENSIONS_ROLLDOWN to switch between roll-up/down

* add comment

* fmt

* Update .changeset/violet-sloths-shine.md

Co-authored-by: ian <licitdev@gmail.com>

* Update api/package.json

Co-authored-by: ian <licitdev@gmail.com>

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-07-23 13:20:24 -04:00
Rijk van Zanten
e72483fb76 Add Codecov upload on test CI (#25470)
* Add consistent test:coverage scripts

* Add missing coverage deps

* Submit to codecov

* Update .github/workflows/check.yml

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Add codecov config

* Run formatter, remove branches

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-07-17 16:29:02 -04:00
Rijk van Zanten
2edbea9386 Move common dependencies to catalog (#25467)
* Update pnpm to v10

* Update package.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Allow builds

* Move common dependencies to catalog

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-15 14:40:28 -04:00
ian
46564d7a00 Release 11.9.3 (#25426) 2025-07-09 11:11:46 +00:00
Alex Gaillard
7532b2b8fc Release 11.9.2 (#25388) 2025-07-01 15:16:35 +00:00
Alex Gaillard
3f4e6df99c Release 11.9.1 (#25382) 2025-06-30 16:32:50 +00:00
Alex Gaillard
b8a47c621a Release 11.9.0 (#25358) 2025-06-25 17:58:44 +00:00
Rijk van Zanten
556f36fb42 Add anonymous project id to telemetry (#25300)
* Install uuid

* Add project id on migrate/install

* Include project id in telemetry

* Add changeset

* Fix snapshot

* Use migration timestamp for project_id UUID generation

Updated the migration to use the timestamp from 'directus_migrations' as the msecs value when generating the project_id UUID.

* Fix formatting

* Add into types and sdk

* update changeset

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Connor Winston <connor@winston.guru>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-19 14:48:59 -04:00
Alex Gaillard
ccf2f3d38f Release v11.8.0 (#25252) 2025-05-28 13:29:21 -04:00
Brainslug
283e9ee9c2 Bump samlify to v2.10.0 (#25251)
* Bump samlify to v2.10.0

* Create early-fans-heal.md
2025-05-28 16:06:32 +00:00
daedalus
376d279fd6 Add ip, userAgent and origin for ws activity (#25114)
* add `getIpFromReq` for `IncomingMessage`

* support `ip`,`userAgent` and `origin` for ws connection

* add changeset

* rename `getIPFromReq` to `getIPFromWSReq`

* utilize getIPFromReq

* improve `accountabilityOverrides` typing

* remove additional type defs

* simplify getIPFromReq to work with IncomingMessage always

* add tests

* update tests

* remove unnecessary ip property on req

* construct req in tests uniformly

* add express supported trust values

* improve testing to cover all `IP_PROXY_TRUST` values

* Update api/src/utils/get-ip-from-req.ts

* Enforce types instead of reassign to ensure type

* Update api/src/utils/get-ip-from-req.ts

* Add feature parity with express note

* Add more notes

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Remove accountability type change

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-21 13:48:06 +02:00
ian
097a3d6395 Fix seeding on blackbox tests for existing db (#25129)
* Fix seeding on blackbox tests for existing db

* add rimraf

* Run formatter

* Add changeset

* Try trigger workflow

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-14 16:00:57 +08:00
ian
10bab7eb93 Release 11.7.2 (#25146) 2025-04-29 17:29:18 -04:00
Alex Gaillard
374c01ae6d Release 11.7.1 (#25142) 2025-04-29 20:02:20 +00:00
Alex Gaillard
76d7c4f504 Release 11.7.0 (#25137) 2025-04-29 11:46:37 -04:00
ian
7f69b51184 Update axios to 1.8.4 (#25110)
* Update axios to 1.8.4

* Add changeset
2025-04-23 11:21:32 -04:00
Nitwel
a39730d208 Improved testing for applyQuery (#25022)
* restructure

* add changeset

* add schema builder for primary fields

* fmt

* add relational generation

* add more tests and clean schema.ts

* fmt

* add changeset

* add more tests and tidy up existing ones

* add more tests and clean code

* add standalone a2o relation

* add tests and clean up even more logic

* continue working on tests

* update more tests

* update tests and reorganize files

* more tests and take appart applyFilter

* update test for get-filter-type

* update export

* fmt

* fmt

* fix import

* fmt

* fix middeware change

* remove leftover files

* Update api/src/database/run-ast/lib/apply-query/get-filter-path.ts

* fix pnpm lock

* remove unused imports

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-21 11:53:32 -04:00
Nitwel
9ec345c83f Update tests to use SchemaBuilder (#25046)
* restructure

* add changeset

* add schema builder for primary fields

* fmt

* add relational generation

* add more tests and clean schema.ts

* fmt

* add changeset

* add standalone a2o relation

* update export

* update tests to use SchemaBuilder

* update tests

* update schema builder

* fix tests and spelling

* update more tests

* fmt

* add changeset

* fmt

* Update schema.ts

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-04-16 12:46:48 -04:00
Brainslug
f39e30499c Update samlify to v2.9.1 (#25008)
* Updated samlify to v2.9.1

* Create hungry-sloths-act.md
2025-04-11 11:11:38 -04:00
ian
b792144609 Release 11.6.1 (#25007) 2025-04-01 21:44:45 +08:00
Alex Gaillard
9fed080c8a Release 11.6.0 (#24964) 2025-03-25 13:05:10 -04:00
renovate[bot]
9d54e0b662 Update dependency typescript to v5.8.2 (#24749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-03-02 13:53:03 +01:00
renovate[bot]
de2a9b10f8 Update all non-major dependencies (#24722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-03-02 11:49:52 +00:00
ian
c6039b7d5f Release 11.5.1 (#24739)f 2025-02-28 09:50:38 -05:00
ian
f854746ef0 Release 11.5.0 (#24717) 2025-02-26 18:23:18 +00:00
renovate[bot]
4bf955dfe7 Update dependency @types/ms to v2 (#24705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-02-26 12:45:44 +01:00
ian
d9f3970a25 Add semaphore to GraphQL schema generation (#24667)
* freeze schema and yeeted key-v for local schema cache

* prettier

* renamed utility

* check for already frozen schemas

* fixed sanitizeSchema editing by referenc

* fixed broken test

* removed unused async

* await columninfo cache compression

* Create friendly-beers-reply.md

* Clear memorySchemaCache in clearSystemCache()

* Rename memory schema cache methods

* Add CACHE_SCHEMA_FREEZE_ENABLED to allow schema mutations

* Prevent breaking change

* Improve description clarity

* Add mutex to GraphQL schema generation

* Add changeset

* Check cache after acquiring lock

* Use a configurable semaphore

* Update .changeset/great-apes-look.md

* Use TS number casting

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2025-02-25 17:51:23 +08:00
Brainslug
73bcffc22e Dependabot: Update Vitest 🧹 (#24643) 2025-02-19 16:36:19 +00:00
daedalus
5fc2a8c0ff Add Prometheus support (#24233)
* initial metrics implementation

* secure endpoint

* move metric generation to cron

* update directus env var list

* remove additional space in output

* prefer histogram over gauge

* add defaults

* add tests

* metric generation should be done on a per instance basis

* add docs

* simplify docs

* add changeset

* add proper capitalization

* do not attempt to access redis cache if redis is not available

* Update api/src/schedules/metrics.test.ts

Co-authored-by: ian <licitdev@gmail.com>

* metric lock should not be synchronized

* utilize prometheus client

* update typing

* check db metrics enabled before observe

* refactor get/track metric calls

* add cluster support

* add pm2 aggregation support

* rework pm2 aggregation

* Update api/src/schedules/metrics.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* ensure errors are caught

* add metrics bearer type to be inline with auth spec

* utilize early returns in access check

* at sensible default histogram bucket timeframe

* Update docs/self-hosted/config-options.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update docs/reference/system/metrics.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* do not initialize metrics when it isnt enabled

Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com>

* fix api build

* return null for disabled metrics to be inline with other services

* prefere single service metric list env

Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com>

* Update api/src/metrics/lib/create-metrics.test.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* update METRIC_TOKENS description

* update create metrics test wording

* reorg metric types

* Update create-metrics.ts

* Enable all metrics services by default

* Add full metrics output example

* Move enabled check to useMetrics & save results

* Adjust types in changeset

* metrics is REST API only

* update default cron to every minute

* update documented metric default schedule

* update metric schedule desc to be inline with default

* clarify metrics are returned from generated values and not at runtime

* add aggregation within pm2 context warning

* fix spellcheck

* Small grammar fixes for metrics aggregation notice

* Add `directus` minor bump

Co-authored-by: ian <licitdev@gmail.com>

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Pascal Jufer <5363448+paescuj@users.noreply.github.com>
2025-02-19 19:31:56 +08:00
Alex Gaillard
3acbdfc519 Release 11.4.1 (#24530) 2025-02-04 14:34:14 -05:00
Hannes Küttner
d80e30d480 Revert PapaParse version bump (#24441) 2025-01-21 20:51:49 +01:00
Alex Gaillard
a799fcb863 Release 11.4.0 (#24420) 2025-01-16 15:58:19 +00:00
Pascal Jufer
9279cf228d Remove/replace obsoelete dependencies (#24374)
* Remove/replace obsoelete dependencies

* Add changeset
2025-01-09 13:56:12 -05:00
renovate[bot]
b4db97474c fix(deps): update all non-major dependencies (#24377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-01-09 18:05:06 +00:00
renovate[bot]
56f6bef62a fix(deps): update dependency marked to v15 (#24375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 17:32:34 +00:00
renovate[bot]
20a4ad3191 fix(deps): update dependency minimatch to v10 (#24359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 17:26:37 +00:00
renovate[bot]
a5e970442c fix(deps): update dependency pino-pretty to v13 (#24360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-08 18:21:21 +01:00
Rijk van Zanten
b8cc796f4c Upgrade Node.js runtime version to 22 (#24140)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-01-08 13:26:14 +01:00
renovate[bot]
f31d2fb850 fix(deps): update all non-major dependencies (#24341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2025-01-08 00:44:29 +00:00
renovate[bot]
4149059668 chore(deps): update dependency typescript to v5.7.2 (#24297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-27 23:39:02 +00:00
renovate[bot]
087b1c7e7a fix(deps): update dependency cookie to v1 (#24294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-12-27 21:32:34 +01:00
ian
99cd15f3a0 Release 11.3.5 (#24253) 2024-12-18 16:16:28 +00:00
ian
5eb8097cf2 Release 11.3.4 (#24240) 2024-12-18 00:25:54 +08:00
Brainslug
f3d8a4bdea Release 11.3.3 (#24229) 2024-12-16 16:34:21 +00:00
Brainslug
ba69d5591d Release 11.3.2 (#24135) 2024-12-03 17:42:36 +00:00
Rijk van Zanten
401c565205 v11.3.1 2024-12-02 17:51:07 -05:00