Chirag Aggarwal
4d1f229ec7
Merge branch '1.9.x' into bump-docker-base-1.2.0
2026-04-29 15:32:32 +05:30
Chirag Aggarwal
4f733f5984
Merge pull request #12176 from appwrite/ci-ghcr-image-share
2026-04-29 15:32:22 +05:30
Chirag Aggarwal
701f557755
ci: clean up GHCR CI image after pipeline finishes
...
Every CI run pushes ghcr.io/<repo>/appwrite-dev:<sha> and nothing
removes it. On an active repo with many PRs the GHCR storage grows
without bound. Add a cleanup job that runs after all consumer jobs
complete (always, even if some fail) and deletes the SHA-tagged
package version via the Packages API.
Addresses Greptile feedback on appwrite/appwrite#12176 .
2026-04-29 15:23:05 +05:30
Jake Barnby
8ab26aab44
Merge pull request #12171 from appwrite/migration-refractor
...
Refactor migrations API to module style
2026-04-29 21:44:19 +12:00
Chirag Aggarwal
ec3aa2b54f
ci: share docker image via GHCR instead of upload-artifact
...
The build job uploads the appwrite-dev image as an actions artifact
(~hundreds of MB), and 30+ E2E test jobs all pull it concurrently with
actions/download-artifact. GitHub Actions' artifact storage struggles
with that many parallel downloads and intermittently fails with
BlobNotFound or 'Artifact download failed after 5 retries'.
Push the built image to ghcr.io/<repo>/appwrite-dev:<sha> in the build
job and pull from GHCR in each test job. GHCR handles parallel image
fetches without throttling.
Mirrors appwrite-labs/cloud#3906 .
2026-04-29 15:09:39 +05:30
Chirag Aggarwal
2d636ff7ec
Merge branch '1.9.x' into bump-docker-base-1.2.0
2026-04-29 15:06:03 +05:30
Matej Bačo
fd42b8fa64
Merge pull request #12175 from appwrite/feat-console-key-scopes-endpoint
...
Feat: Console key scopes endpoint
2026-04-29 11:17:49 +02:00
Chirag Aggarwal
9d7df34590
fix: clean up php 8.5 runtime deprecations
2026-04-29 14:47:05 +05:30
Matej Bačo
e75fc5b859
Add list scopes endpoint for Console
2026-04-29 10:08:31 +02:00
Jake Barnby
57b8305144
Merge pull request #12134 from appwrite/fix-realtime-span-exporter
...
added a guard to skip double import
2026-04-29 20:02:04 +12:00
Chirag Aggarwal
a429fb5860
Merge branch '1.9.x' into bump-docker-base-1.2.0
2026-04-29 13:30:50 +05:30
Matej Bačo
aca11ed073
Merge pull request #12170 from appwrite/feat-create-dynamic-keys
...
Feat: create dynamic keys
2026-04-29 09:58:22 +02:00
Chirag Aggarwal
86123c9e93
fix: update PHP extension path for xdebug cleanup in production
2026-04-29 13:27:04 +05:30
Chirag Aggarwal
a58ea1123b
chore: bump docker-base to 1.2.0
2026-04-29 13:21:17 +05:30
ArnabChatterjee20k
dae9cbcf45
Merge pull request #12070 from appwrite/realtime-action-channels
...
Realtime action channels
2026-04-29 10:49:13 +05:30
Matej Bačo
05f2d2b9cf
Fix tests
2026-04-28 19:29:37 +02:00
Matej Bačo
c1f61b22aa
Merge branch '1.9.x' into feat-create-dynamic-keys
2026-04-28 17:18:36 +02:00
Matej Bačo
980762fc3e
Rename from dynamic key to ephemeral key (api keys)
2026-04-28 17:18:06 +02:00
Matej Bačo
c96836b1c0
Improve code quality of folder decoding project ID
2026-04-28 17:10:58 +02:00
Matej Bačo
15917ac7ba
Fix failing tests
2026-04-28 17:05:30 +02:00
premtsd-code
cd851bff24
Merge branch '1.9.x' into migration-refractor
2026-04-28 20:32:54 +05:30
Prem Palanisamy
3f5dcc81fd
Refactor migrations API to module style
2026-04-28 15:57:41 +01:00
Matej Bačo
f5a732d231
Add dynami key integration test
2026-04-28 16:47:39 +02:00
Matej Bačo
72dfd8a7bc
Add E2E tests for dynamic keys
2026-04-28 16:45:00 +02:00
Matej Bačo
11f80fc2ed
Solve key projectId backwards compatibility
2026-04-28 16:35:40 +02:00
Harsh Mahajan
547709a1d8
Merge pull request #12167 from appwrite/feat/impersonation-query-params
...
feat: add query param fallback for impersonation headers
2026-04-28 19:51:23 +05:30
Matej Bačo
ccb0ddd578
Bug&test fixing
2026-04-28 16:18:36 +02:00
Matej Bačo
b2ce95a0cd
Dynamic key backwards compatibility
2026-04-28 16:14:10 +02:00
Matej Bačo
ed9b47f6ce
Migrate project jwt to dynamic api key
2026-04-28 15:57:37 +02:00
harsh mahajan
2a357511ea
fix: use unique emails and phone in query param impersonation test
2026-04-28 19:17:25 +05:30
Harsh Mahajan
67d24d3ef1
Merge branch '1.9.x' into feat/impersonation-query-params
2026-04-28 19:11:14 +05:30
harsh mahajan
87ed7c3817
feat: add query param fallback for all impersonation params and simplify tests
2026-04-28 19:10:55 +05:30
Matej Bačo
8f176166c9
Re-introduce project JWT endpoint
2026-04-28 15:31:10 +02:00
Matej Bačo
3d3f5934c6
Merge pull request #11993 from appwrite/feat-public-oauth2-endpoints
...
Feat: Public project OAuth2 configuration API
2026-04-28 12:41:50 +02:00
harsh mahajan
f0cbfbbbe4
fix: use assertEmpty for impersonatorUserId to match response model
2026-04-28 14:31:49 +05:30
Matej Bačo
cb4cff120b
Add Keycloak oauth support
2026-04-28 10:54:13 +02:00
Matej Bačo
49e6a38e7f
Add fusionauth oauth
2026-04-28 10:43:16 +02:00
Matej Bačo
dfa3ae5274
Fix tests
2026-04-28 10:19:36 +02:00
Matej Bačo
543765a22a
Improve copy
2026-04-28 10:15:45 +02:00
Matej Bačo
e2bb9a9161
Simplify oauth endpoints
2026-04-28 10:08:39 +02:00
harsh mahajan
bda823ac0e
chore: format
2026-04-28 13:38:00 +05:30
harsh mahajan
3dd5a51ba4
style: fix method argument spacing (Pint PSR-12)
2026-04-28 13:34:01 +05:30
harsh mahajan
5afc8f462d
fix: allow same-site in CSRF guard to support Console on subdomains
2026-04-28 13:26:13 +05:30
harsh mahajan
ed0c7b4e12
test: add CSRF attack prevention test for impersonateUserId query param
2026-04-28 13:24:15 +05:30
Matej Bačo
d25707346f
Add console oauth endpoint
2026-04-28 09:47:27 +02:00
harsh mahajan
a3f6cf4645
fix: restrict CSRF guard to same-origin only, drop same-site
2026-04-28 13:00:18 +05:30
harsh mahajan
9a175c5098
test: add E2E tests for impersonateUserId query param and CSRF guards
2026-04-28 12:56:17 +05:30
harsh mahajan
5465be6301
fix: make CSRF guard fail-closed by requiring explicit same-origin Sec-Fetch-Site
2026-04-28 12:27:57 +05:30
harsh mahajan
46a457bfa3
fix: block impersonateUserId query param on cross-site requests to prevent CSRF
2026-04-28 12:10:51 +05:30
harsh mahajan
4c989f99c3
fix: cast impersonateUserId query param to string to prevent array injection
2026-04-28 12:05:02 +05:30