1.9.5-rc.1Pre-release
Added 8
- Add support for blocking disposable email addresses
- Add public platform API
- Add public keys API
- Add X OAuth 2.0 provider
- Add cache purge parameter and improved ttl semantics to databases
- Distinguish user types in audit logs
- Extract session alert email into Mails listener
- Add tracing spans for storage file preview timing and cache state
Changed 2
- Change Usage class from final to non-final
- Migrate from static Http::setResource() to DI Container
Fixed 10
- Update Yahoo OAuth scopes from deprecated scopes
- Add CORS headers to error responses
- Persist session before purging user cache in email/password login
- Ensure realtime event payload is populated for atomic operations
- Use cURL cookie engine for RFC 6265 compliant cookie handling in e2e client
- Add backwards-compat origin validation for deprecated platform types
- Map deprecated platform types in project response
- Fix deletion of partially-uploaded pending files
- Add missing worker-executions service to compose template
- Fix storage preview cache misses and stale cache eviction
What's Changed
- Change Usage class from final to non-final by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11735
- Update installation commands in readme for 1.9.0 to include self-hosted wizard by @adityaoberai in https://github.com/appwrite/appwrite/pull/11739
- Speed up PHPStan analysis with result caching by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11740
- [codex] Fix PHPStan baseline cleanup issues (part 2) by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11737
- Fix PHPStan baseline and code quality issues by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11754
- Fix flaky vectordb migration test by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11757
- chore: remove phpstan baseline by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11751
- Replace PHPMailer with utopia-php/messaging SMTP adapter by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11748
- feat: add support for blocking disposable email addresses by @eldadfux in https://github.com/appwrite/appwrite/pull/10643
- fix(oauth): update Yahoo OAuth scopes from deprecated scopes by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/11745
- [codex] Fail specs when referenced docs are missing by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11789
- [codex] Fix flaky VectorsDB metadata bootstrap in migrations by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11772
- Improve schedule function logic by @shimonewman in https://github.com/appwrite/appwrite/pull/11790
- fix: add CORS headers to error responses by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11797
- Remove request and response static state by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11798
- Use request-scoped cookie domain resource by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11799
- revert ScheduleFunctions.php updates by @shimonewman in https://github.com/appwrite/appwrite/pull/11805
- feat: migrate from static Http::setResource() to DI Container by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11564
- [codex] Handle null console routes in API middleware by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11809
- [codex] Fix post-merge e2e test regressions by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11810
- Chore: Migrat elabels API by @Meldiron in https://github.com/appwrite/appwrite/pull/11812
- [codex] Bump utopia-php/framework to 0.34.18 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11814
- fix: reset SDK dev branch to base branch before pushing by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11808
- fix appwrite auth broken link in readme by @blueberry-adii in https://github.com/appwrite/appwrite/pull/11794
- fix: persist session before purging user cache in email/password login by @loks0n in https://github.com/appwrite/appwrite/pull/11816
- fix: throw RuntimeException for unresolved response models in spec generation by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11817
- bump utopia-php/database to 5.3.19 and fix shared-mode CI failures by @premtsd-code in https://github.com/appwrite/appwrite/pull/11750
- Feat: public platform API by @Meldiron in https://github.com/appwrite/appwrite/pull/11615
- fix: ensure realtime event payload is populated for atomic operations by @bhardwajparth51 in https://github.com/appwrite/appwrite/pull/11762
- Feat: Public keys API by @Meldiron in https://github.com/appwrite/appwrite/pull/11650
- Chore: Mark project response format sub-formats as public by @Meldiron in https://github.com/appwrite/appwrite/pull/11821
- feat: Add X OAuth 2.0 provider by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11611
- fix: use cURL cookie engine for RFC 6265 compliant cookie handling in e2e client by @loks0n in https://github.com/appwrite/appwrite/pull/11826
- feat(databases): cache purge parameter and improved ttl semantics by @abnegate in https://github.com/appwrite/appwrite/pull/11820
- feat: distinguish user types in audit logs by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11580
- fix: make variableId optional in createProjectVariable endpoint by @rathi-yash in https://github.com/appwrite/appwrite/pull/11795
- remove HTTP server bootstrap from specs task by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11830
- fix: Add backwards-compat origin validation for deprecated platform types by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11833
- fix: map deprecated platform types in project response by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11835
- Revert "fix: make variableId optional in createProjectVariable endpoint" by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11837
- Fix deletion of partially-uploaded (pending) files by @Meldiron with @Copilot in https://github.com/appwrite/appwrite/pull/11655
- fix(installer): add missing worker-executions service to compose template by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11838
- feat: extract session alert email into Mails listener by @loks0n in https://github.com/appwrite/appwrite/pull/11642
- fix: storage preview cache misses and stale cache eviction by @loks0n in https://github.com/appwrite/appwrite/pull/11842
- fix: set project on mail queue in session mails listener by @loks0n in https://github.com/appwrite/appwrite/pull/11843
- Realtime query message payload by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11767
- Use dedicated connection resources in realtime by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11831
- feat: add tracing spans for storage file preview timing and cache state by @loks0n in https://github.com/appwrite/appwrite/pull/11844
- Migrate executions, migrations, and stats resources to publishers by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11850
- feat: remove error logs by @loks0n in https://github.com/appwrite/appwrite/pull/11854
- Bump phpseclib to 3.0.51 for CVE-2026-40194 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11858
- Make rule deploymentResourceType optional for non-deployment rules by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11861
- fix(installer): align self-hosted compose execution stack by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11874
- fix: pass response to Http::execute() in GraphQL resolver by @abnegate in https://github.com/appwrite/appwrite/pull/11876
- Fix project SDK spec for web platform hostname and platform type enum by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11848
- (fix): cache fallback by @abnegate in https://github.com/appwrite/appwrite/pull/11860
- fix: reset response sent state between batched GraphQL queries by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11879
- Feat: services protocols public apis by @Meldiron in https://github.com/appwrite/appwrite/pull/11839
- added reset in db worker for queue for realtime by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11749
- fix: trim execution queue payload to project ID only by @loks0n in https://github.com/appwrite/appwrite/pull/11883
- Fix: Webhook API secret rotation and security by @Meldiron in https://github.com/appwrite/appwrite/pull/11884
- Safe delete shared tables v1 by @fogelito in https://github.com/appwrite/appwrite/pull/11691
- feat: increase default build timeout to 45 minutes by @loks0n in https://github.com/appwrite/appwrite/pull/11881
- Upgrade graphql-php to v15.31.5 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11887
- Schedule functions debug by @shimonewman in https://github.com/appwrite/appwrite/pull/11892
- (fix): reset route to avoid clobbering otel by @abnegate in https://github.com/appwrite/appwrite/pull/11885
- [codex] ci: disable functional GraphQL e2e by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11893
- fix: replace force-push with regular push in SDK release task by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11904
- Docsdb fixes by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11852
- fix(graphql): isolate coroutine resolver state and sent responses by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11880
- fix: stabilize flaky CI tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11903
- Refactor audits, certificates, and screenshots queues to publishers by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11851
- added backward compat by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11907
- Fix: protocol & service exception by @Meldiron in https://github.com/appwrite/appwrite/pull/11909
- Allow deleting user account with active memberships by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11787
- Add discriminators to polymorphic API spec unions by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11921
- feat(specs): add discriminator for provider repository list union by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11924
- Self hosted installer compose fixes by @atharvadeosthale in https://github.com/appwrite/appwrite/pull/11925
- Added delay metric by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11927
- Feat: Fallback email custom template by @Meldiron in https://github.com/appwrite/appwrite/pull/11912
- Realtime time metric by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11936
- Remove /status from project endpoint paths; upgrade to platform 0.13 by @Meldiron in https://github.com/appwrite/appwrite/pull/11932
- feat: use buildTimeout from message payload in build worker by @loks0n in https://github.com/appwrite/appwrite/pull/11934
- Update React Admin template metadata by @adityaoberai in https://github.com/appwrite/appwrite/pull/11926
- fix: do not cache error responses for storage preview, bump utopia-php/image to 0.8.5 by @loks0n in https://github.com/appwrite/appwrite/pull/11940
- fix: include project ID in storage preview cache key by @loks0n in https://github.com/appwrite/appwrite/pull/11941
- refactor: Remove shared tables V1/V2 versioning by @abnegate in https://github.com/appwrite/appwrite/pull/11894
- Revert "Safe delete shared tables v1" by @abnegate in https://github.com/appwrite/appwrite/pull/11889
- add claude plugin to static sdk by @atharvadeosthale in https://github.com/appwrite/appwrite/pull/11950
- Realtime add new messages by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11957
- added project region by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11946
- Realtime time metric by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11954
- feat(sites): add telemetry to ss rates by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11905
- fix: honor _APP_WORKERS_NUM in realtime by @loks0n in https://github.com/appwrite/appwrite/pull/11965
- feat: add afterQuery hook to listRows (tablesdb) action by @lohanidamodar in https://github.com/appwrite/appwrite/pull/11953
- fix: cast cached total to int in listDocuments/listRows by @abnegate in https://github.com/appwrite/appwrite/pull/11967
- chore: bump PHPStan to level 4 and fix all new errors by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11949
- Feat: Public API for project SMTP endpoints by @Meldiron in https://github.com/appwrite/appwrite/pull/11900
- Feat: public project policies by @Meldiron in https://github.com/appwrite/appwrite/pull/11964
- Add spec enum service overlap validation by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11969
- [codex] Fix deployment single chunk content range by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11972
- Skip preview rule when no deployment exists on function create by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11974
- [codex] Stabilize database e2e CI retries by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11975
- Structured Logging by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11971
- Improve HTTP benchmark coverage by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/11963
- perf: memoize request filter chain and V20 schema lookups by @loks0n in https://github.com/appwrite/appwrite/pull/11977
- Feat: Auth methods public API by @Meldiron in https://github.com/appwrite/appwrite/pull/11976
- Feat: Public mock phone APIs by @Meldiron in https://github.com/appwrite/appwrite/pull/11970
- Fix: membership privacy bug on production by @Meldiron in https://github.com/appwrite/appwrite/pull/11979
- Feat: Project public list endpoints by @Meldiron in https://github.com/appwrite/appwrite/pull/11981
- added missing include for exporter in the realtime by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11992
- fix: guard DOMDocument::loadHTML against empty body in favicon endpoint by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12166
- fix: coerce non-string header values in Request::getHeader by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12165
- Feat: Public project OAuth2 configuration API by @Meldiron in https://github.com/appwrite/appwrite/pull/11993
- feat: add query param fallback for impersonation headers by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12167
- Realtime action channels by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12070
- Feat: create dynamic keys by @Meldiron in https://github.com/appwrite/appwrite/pull/12170
- added a guard to skip double import by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12134
- Feat: Console key scopes endpoint by @Meldiron in https://github.com/appwrite/appwrite/pull/12175
- Refactor migrations API to module style by @premtsd-code in https://github.com/appwrite/appwrite/pull/12171
- ci: share docker image via GHCR instead of upload-artifact by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12176
- chore: bump docker-base to 1.2.0 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12174
- Fix 1.9.x CI code scanning and retry image cleanup by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12177
- Fix: Developer experiene with recent chagnes by @Meldiron in https://github.com/appwrite/appwrite/pull/12178
- feat: support out-of-order chunked uploads by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12138
- Fix project delete platform cleanup ordering by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12179
- fix(locale): add Spanish session alert translations by @FerRubioMorales in https://github.com/appwrite/appwrite/pull/12189
- Fix: oauth order; Fix apple secreting too much by @Meldiron in https://github.com/appwrite/appwrite/pull/12191
- Set global collection by @fogelito in https://github.com/appwrite/appwrite/pull/12181
- Fix: OAuth UX with required params by @Meldiron in https://github.com/appwrite/appwrite/pull/12192
- Update appwrite runtimes to 0.20 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12196
- Add Rust starter function template runtime by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12198
- chore: bump base image to 1.3.1 by @loks0n in https://github.com/appwrite/appwrite/pull/12201
- Fix: Add deprecated function scopes by @Meldiron in https://github.com/appwrite/appwrite/pull/12203
- chore: bump base image to 1.4.1 by @loks0n in https://github.com/appwrite/appwrite/pull/12204
- chore: bump utopia-php/audit to 2.2.2 by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12207
- fix: resolve query syntax errors and improve error handling in Reques… by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12206
- Update GraphQL PHP dependency by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12216
- Add backup policy migration support by @premtsd-code in https://github.com/appwrite/appwrite/pull/11632
- feat(specs): unify auth securityDefinitions across platforms by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12211
- Chore: Rename policies scope by @Meldiron in https://github.com/appwrite/appwrite/pull/12218
- Feat: queries & total params for list oauth providers by @Meldiron in https://github.com/appwrite/appwrite/pull/12213
- feat(indexes): add 4 missing indexes (supersedes #9629) by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12222
- Fix endpoint consistency (oauth get) by @Meldiron in https://github.com/appwrite/appwrite/pull/12212
- Feat: Public Proxy API by @Meldiron in https://github.com/appwrite/appwrite/pull/12208
- Big int by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11673
- Feat: Variables API feature parity by @Meldiron in https://github.com/appwrite/appwrite/pull/12221
- Fix: OAuth OIDC param consistency by @Meldiron in https://github.com/appwrite/appwrite/pull/12224
- Fix: Refreshing non-oauth sessions by @Meldiron in https://github.com/appwrite/appwrite/pull/12228
- Chore/builds by @loks0n in https://github.com/appwrite/appwrite/pull/12229
- Realtime messsage dispatchers (presence api) by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12210
- feat(migrations): add onDuplicate option to CSV/JSON/Appwrite imports by @premtsd-code in https://github.com/appwrite/appwrite/pull/11910
- Chore: Improve project GET tests by @Meldiron in https://github.com/appwrite/appwrite/pull/12234
- updated methods by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12235
- updated by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12238
- Fix: Email policies for console project by @Meldiron in https://github.com/appwrite/appwrite/pull/12239
- refactor: migrate queueForBuilds to publisherForBuilds pattern by @loks0n in https://github.com/appwrite/appwrite/pull/12236
- chore: pin github actions to sha and bump to latest by @abnegate in https://github.com/appwrite/appwrite/pull/12237
- Add cached response cache-control callback by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12240
- Stop user-data errors leaking to Sentry from migrations worker (isPublishable) by @premtsd-code in https://github.com/appwrite/appwrite/pull/12226
- refactor: migrate to different ci runners by @levivannoort in https://github.com/appwrite/appwrite/pull/12241
- Enhance URL parameter handling in OpenAPI3 and Swagger2 formats to su… by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12244
- feat: Add search and pagination for repository branches by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12243
- Bump logger dependency by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12248
- perf(storage): skip no-op imagick transforms and add transform value spans by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12249
- fix: pass platform env vars to function schedulers by @abhay-dev2901 in https://github.com/appwrite/appwrite/pull/12219
- Fix GraphQL preview test assertions by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12251
- fix: Support branch query validators in SDK generation by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12252
- Add codex plugin to SDKs by @adityaoberai in https://github.com/appwrite/appwrite/pull/12182
- Chore: Dual read for google oauth secret by @Meldiron in https://github.com/appwrite/appwrite/pull/12256
- Fix: Stateless git hints by @Meldiron in https://github.com/appwrite/appwrite/pull/12254
- Feat: Google OAuth2 "prompt" param by @Meldiron in https://github.com/appwrite/appwrite/pull/12263
- feat: bump utopia-php/abuse and utopia-php/migration to feat/sdk-23 branches by @premtsd-code in https://github.com/appwrite/appwrite/pull/12245
- refactor: enhance execution log checks in SitesCustomServerTest by @levivannoort in https://github.com/appwrite/appwrite/pull/12274
- Migrate mails and messaging queues to publishers by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12246
- Fix: remove invalid event label from project delete action by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12282
- fix(migrations): write _APP_MIGRATION_HOST in the installer-generated .env by @premtsd-code in https://github.com/appwrite/appwrite/pull/12280
- fix codex plugin by @atharvadeosthale in https://github.com/appwrite/appwrite/pull/12279
- Fix: scheduler doc missing for functions by @Meldiron in https://github.com/appwrite/appwrite/pull/12285
- Feat: Rework project response model by @Meldiron in https://github.com/appwrite/appwrite/pull/12276
- chore: pin TablesDB e2e to 8cpu runner by @abnegate in https://github.com/appwrite/appwrite/pull/12289
- Fix: Project SDK enum names by @Meldiron in https://github.com/appwrite/appwrite/pull/12290
- fix(messaging): remove redundant user fetch by @abnegate in https://github.com/appwrite/appwrite/pull/12273
- Fix: avatars tests by @Meldiron in https://github.com/appwrite/appwrite/pull/12292
- Migrate to utopia-php/http resources/context API by @loks0n in https://github.com/appwrite/appwrite/pull/12220
- Update SDK generator cover image config by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12295
- feat(insights): add insights module with CTA framework by @abnegate in https://github.com/appwrite/appwrite/pull/12194
- Bump Utopia cache to 2.1 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12297
- chore: normalize Span keys and centralize span lifecycle by @loks0n in https://github.com/appwrite/appwrite/pull/12298
- refactor: Migrate queueForFunctions to FunctionPublisher and FunctionMessage by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12299
- chore: bump utopia-php/audit to 2.3.x by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12303
- Fail open on abuse timelimit failures by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12284
- fix: match transactions collection name in deletes worker by @abnegate in https://github.com/appwrite/appwrite/pull/12302
- Fix: project specs navigation order by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12304
- Add platform migration support by @premtsd-code in https://github.com/appwrite/appwrite/pull/11439
- [codex] Delete orphaned proxy rules on create by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12307
- refactor: Migrate queueForDeletes to DeletePublisher and DeleteMessage by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12305
- Fix text response schemas in API specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12312
- Feat/skip deployment commit patterns by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12278
- Update Utopia platform to rc2 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12315
- Refactor database queue publisher by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12316
- Feat: Org scopes Console API by @Meldiron in https://github.com/appwrite/appwrite/pull/12317
- feat: add email template reset and get-default endpoints by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12318
- Fix parallel chunked uploads with pooled locks by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12209
- chore: bump utopia-php/cache to ^3.0 by @loks0n in https://github.com/appwrite/appwrite/pull/12326
- Add Unity SDK getting started docs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12330
- Delete executions order by by @fogelito in https://github.com/appwrite/appwrite/pull/12335
- Presence api by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/11886
- feat(sites): allow bun and deno as build runtimes for JS frameworks by @atharvadeosthale in https://github.com/appwrite/appwrite/pull/12337
- Consolidate shared DI resources by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12332
- fix(health): use injected cache resource for healthcheck by @loks0n in https://github.com/appwrite/appwrite/pull/12341
- Remove router deployment fallback by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12339
- added category to the presences scopes by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12343
- feat(storage): expose sizeActual in File response model by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12344
- fix: restrict advisor auth types by @abnegate in https://github.com/appwrite/appwrite/pull/12345
- feat: dedicated database by @abnegate in https://github.com/appwrite/appwrite/pull/12233
- Fix: subspan ending main request span by @Meldiron in https://github.com/appwrite/appwrite/pull/12353
- Fix account server specs auth by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12356
- Fix generated spec endpoint and enum defaults by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12357
- fix: allow empty string to clear optional SMTP and email template fields by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12348
- Fix SMTP empty sender regressions by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12361
- Feat: Public organization API by @Meldiron in https://github.com/appwrite/appwrite/pull/12309
- Feat: custom triggers for VCS builds by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/11955
- chore: migrate to utopia-php/http feat-safe-wildcards by @loks0n in https://github.com/appwrite/appwrite/pull/12338
- Expose providerBranches and providerPaths in Function and Site response by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12373
- fix(project): cast smtpPort to int in response model by @premtsd-code in https://github.com/appwrite/appwrite/pull/12371
- Fix missing platform variables in SMTP test email template by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12374
- Fix: organization project API headers and queries by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12375
- chore: bump appwrite/php-runtimes to 0.20.1 by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12378
- feat!: rename ACTIVITY_TYPE_, ROLE_APPS, isApp() to ACTOR_TYPE_, ROLE_KEYS, isKey() + bump utopia-php/audit to ^2.4 by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12329
- Replace builds worker logs with span attributes by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12376
- fix(uploads): reset queueForEvents on idempotent chunked-upload retry by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12384
- skip subQueryTargets in users route by @fogelito in https://github.com/appwrite/appwrite/pull/12293
- Use platform enum metadata for SDK specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12358
- Update SDK spec metadata generation by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12392
- Usage test one attempt by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12362
- Add presenceLogs collection to common configuration and update Presen… by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12393
- Fix OAuth2 provider list ordering by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12398
- Refactor shared database resources by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12349
- Fix Swagger enum keys metadata by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12402
- fix(migrations): validate source URL host before DB fast path by @premtsd-code in https://github.com/appwrite/appwrite/pull/12382
- Tag migrations-worker Sentry events with source projectId and endpoint by @premtsd-code in https://github.com/appwrite/appwrite/pull/12390
- Update processing status migrations by @fogelito in https://github.com/appwrite/appwrite/pull/12352
- Update presence methods to clarify SDK authentication requirements by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12397
- redded auth type jwt in the server specs by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12408
- Refactor Presence to typed metadata property; drop additionalPropertiesKey hack + Swagger2 PHPStan unblock by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12403
- fix: skip 4xx typed exceptions in VCS deployments instead of 500ing by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12391
- Add console presence upsert and update test with real-time broadcast … by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12412
- refactor: tighten internal validation paths by @abnegate in https://github.com/appwrite/appwrite/pull/12413
- disable array index create with schema by @fogelito in https://github.com/appwrite/appwrite/pull/12410
- fix(avatars): block redirect by @abnegate in https://github.com/appwrite/appwrite/pull/12411
- Wait for benchmark health check by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12425
- Fix impossible function cron schedules by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12416
- updated presence update method name by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12426
- Update domains dependency to 2.2 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12428
- Removing execution logs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12421
- Fix public hostname DNS resolution in Swoole by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12431
- Revert execution log removal by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12433
- fix: correct prefixed SDK enum names introduced in PR #12358 by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12429
- Chore: Easy-to-override policies endpoints by @Meldiron in https://github.com/appwrite/appwrite/pull/12437
- Chore: Improve extensibility of policies tests by @Meldiron in https://github.com/appwrite/appwrite/pull/12438
- Revert template root directory path-stripping changes by @loks0n in https://github.com/appwrite/appwrite/pull/12450
- chore: trace database worker with Span::add instead of Console logging by @loks0n in https://github.com/appwrite/appwrite/pull/12452
- refactor: decompose the shared API shutdown hook + drop deprecated Route::getParamsValues() by @loks0n in https://github.com/appwrite/appwrite/pull/12455
- fix: reset queued event on non-final chunk in createFile by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12456
- Update telemetry dependency stack by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12459
- refactor: update embedding model and endpoint to use 'nomic' and 'app… by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12427
- feat(messaging): add Amazon SES email provider by @abnegate in https://github.com/appwrite/appwrite/pull/12464
- Fix chunked upload resume without file read permission by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12466
- Add coroutine concurrency to queue workers by @loks0n in https://github.com/appwrite/appwrite/pull/12468
- perf(messaging): stream large-topic sends and bound fan-out concurrency by @abnegate in https://github.com/appwrite/appwrite/pull/12465
- Enable RunsOn OTEL for E2E jobs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12472
- Upgrade DB-IP Country Lite database to 2026-06 by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12473
- Update Composer dependencies by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12474
- Publish cloud tags to appwrite/ce image by @loks0n in https://github.com/appwrite/appwrite/pull/12480
- Add query project auth scheme to specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12481
- Add project password policy settings by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/11825
- (feat): add Unity SDK by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12482
- Add API key migration support by @premtsd-code in https://github.com/appwrite/appwrite/pull/12308
- Add project variable migration support by @premtsd-code in https://github.com/appwrite/appwrite/pull/12313
- Add webhook migration support by @premtsd-code in https://github.com/appwrite/appwrite/pull/12314
- Pin to migration add-policies-migration (5 settings resources) by @premtsd-code in https://github.com/appwrite/appwrite/pull/12363
- Pin to migration add-smtp-migration by @premtsd-code in https://github.com/appwrite/appwrite/pull/12364
- Add Custom Domains migration by @premtsd-code in https://github.com/appwrite/appwrite/pull/12368
- Add Email Templates migration by @premtsd-code in https://github.com/appwrite/appwrite/pull/12415
- Tune PostgreSQL CI Flakeness by @premtsd-code in https://github.com/appwrite/appwrite/pull/12469
- Add OAuth providers migration by @premtsd-code in https://github.com/appwrite/appwrite/pull/12417
- Remove duplicate VectorsDB e2e tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12491
- Remove php-retry from CI workflows by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12493
- Revert "Remove php-retry from CI workflows" by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12494
- Initialize Rector for PHPUnit tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12495
- Upgrade utopia-php/queue to 0.20.0 by @loks0n in https://github.com/appwrite/appwrite/pull/12497
- Fix build log stream parsing warning by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12498
- Fix flaky storage preview cache hit test by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12501
- feat: expose userAccessedAt in membership responses by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12461
- Refactor OAuth2 provider tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12502
- Feat: email metadata response model by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12504
- refactor(databases): extract createMetadataCollection helper by @abnegate in https://github.com/appwrite/appwrite/pull/12513
- feat: embed impersonateUserId in location-type SDK method URLs by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12492
- chore(span): upgrade utopia-php/span to 3.0 by @loks0n in https://github.com/appwrite/appwrite/pull/12514
- ci: drive e2e_service matrix from generated service config by @loks0n in https://github.com/appwrite/appwrite/pull/12515
- Bump appwrite/base to 1.4.2 by @loks0n in https://github.com/appwrite/appwrite/pull/12516
- Revert "feat: embed impersonateUserId in location-type SDK method URLs" by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12521
- Refactor Projects permission test coverage by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12530
- Refactor Sites deployment test coverage by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12531
- Fix create execution request content type by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12533
- Fix create execution request type metadata by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12534
- Fix function execution lint by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12536
- Clean up expired OAuth2 grants by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12538
- Fix flaky realtime tests by adjusting websocket connection parameters… by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12540
- Revert "Revert "feat: embed impersonateUserId in location-type SDK method URLs"" by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12532
- Fix API spec metadata and summaries by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12544
- fix: resolve code-scanning dependency CVEs (astro fixtures + appwrite/base 1.4.3) by @abnegate in https://github.com/appwrite/appwrite/pull/12546
- Fix project service config for PHP SDK services by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12547
- Fix flaky site duplicate deployments by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12539
- Clean scheduler orphan resourceId by @fogelito in https://github.com/appwrite/appwrite/pull/12512
- Fix flaky webhook and site deployment tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12550
- Replace unstructured logging in screenshots worker with Span by @loks0n in https://github.com/appwrite/appwrite/pull/12551
- Add project path auth scheme to specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12554
- Make webhooks worker coroutine-safe by @loks0n in https://github.com/appwrite/appwrite/pull/12552
- Fix MFA authenticator selection and add flow tests by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12485
- Fix generated spec lint warnings by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12553
- feat: use server-side branch search via vcs by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12557
- chore(http): upgrade utopia-php/http to 2.0.0-rc5 by @loks0n in https://github.com/appwrite/appwrite/pull/12519
- feat: distributed locking for platform-database writes by @premtsd-code in https://github.com/appwrite/appwrite/pull/12062
- Fix lock unit test Redis connection by @premtsd-code in https://github.com/appwrite/appwrite/pull/12559
- Feat/corporate email policy by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12503
- Fix OpenAPI 3 spec generation parity with Swagger 2 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12564
- Generate SDKs and specs from OpenAPI 3 only by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12565
- Fix builds worker overwriting canceled deployment status by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12569
- Update Utopia platform and HTTP RCs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12570
- Fix parallel deployment chunk uploads on S3 devices by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12574
- Fix race between rule creation and async orphaned rule cleanup by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12571
- Accept multipart ETag signatures for chunked uploads on S3 devices by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12585
- Update utopia-php/dns to ^1.8 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12586
- added null checks for projectIds by @ArnabChatterjee20k in https://github.com/appwrite/appwrite/pull/12567
- fix: preserve VCS repository record when providerRepositoryId is omitted in updateFunction/updateSite by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12589
- Update utopia-php/database to 5.9.2 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12587
- Add node modules cache key for builds by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12555
- Resolve data-plane database before writing collection metadata by @abnegate in https://github.com/appwrite/appwrite/pull/12593
- fix: disable build cache by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12602
- Add mails and messaging telemetry: send counters and span attributes by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12590
- Expose ping in SDK specs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12604
- Run CI on merged PRs by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12606
- fix: validate installation ownership on VCS attach by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12605
- chore: bump utopia-php/vcs to 4.2.3 by @HarshMN2345 in https://github.com/appwrite/appwrite/pull/12608
- fix: refine impersonation security scheme definitions by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12610
- Add batch execution upserts by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12611
- Fix legacy database SDK deprecation metadata by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12615
- Revert disable build cache by @TorstenDittmann in https://github.com/appwrite/appwrite/pull/12612
- refactor(database): drop Swoole PDOProxy, construct Utopia\Database\PDO directly by @abnegate in https://github.com/appwrite/appwrite/pull/12616
- Handle missing resource token collection by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12625
- fix(databases): return 404 for a wrong-type database id on product-DB APIs by @abnegate in https://github.com/appwrite/appwrite/pull/12626
- Fix local installer dev flow by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12627
- Improve CI image handoff and merged-run behavior by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12629
- fix(audits): use span attributes instead of per-message Console logging by @loks0n in https://github.com/appwrite/appwrite/pull/12631
- fix(deletes): run execution-limit cleanup sequentially to avoid shared-connection crash by @loks0n in https://github.com/appwrite/appwrite/pull/12639
- (test): report true per-test duration and de-duplicate variable build tests by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12637
- chore(deps): allow utopia-php/audit 2.6.* by @lohanidamodar in https://github.com/appwrite/appwrite/pull/12641
- Bump utopia auth to 0.6 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12642
- Fix project OAuth provider sparse update by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12646
- Update php-retry action to v4 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12647
- Bump utopia-php/auth to ^0.7 by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12651
- feat(messaging): attach project ID to internal SMS for provider attribution by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12653
- fix: purge project cache after config updates by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12654
- 1.9.5 release updates by @ChiragAgg5k in https://github.com/appwrite/appwrite/pull/12666
New Contributors
- @blueberry-adii made their first contribution in https://github.com/appwrite/appwrite/pull/11794
- @bhardwajparth51 made their first contribution in https://github.com/appwrite/appwrite/pull/11762
- @rathi-yash made their first contribution in https://github.com/appwrite/appwrite/pull/11795
- @FerRubioMorales made their first contribution in https://github.com/appwrite/appwrite/pull/12189
- @abhay-dev2901 made their first contribution in https://github.com/appwrite/appwrite/pull/12219
Full Changelog: https://github.com/appwrite/appwrite/compare/1.9.0...1.9.5-rc.1