Chirag Aggarwal
b236e2546b
lock file
2026-04-05 20:10:00 +05:30
Chirag Aggarwal
412d09b801
remove unrelated changes
2026-04-05 20:06:13 +05:30
Chirag Aggarwal
f3b9121a14
Merge branch '1.9.x' into feat/migrate-di-container
2026-04-04 15:57:12 +05:30
Eldad A. Fux
cf8519bfa5
Revise Appwrite description and product details
...
Updated the description of Appwrite to emphasize its open-source nature and capabilities. Added detailed product descriptions for Appwrite services.
2026-04-04 08:41:23 +02:00
Eldad A. Fux
860cf8cd57
Revise README content and structure
...
Updated the README to enhance clarity and remove outdated information.
2026-04-04 08:32:46 +02:00
Torsten Dittmann
c08e5f706c
Merge pull request #11745 from appwrite/fix-yahoo-oauth-scopes
2026-04-02 19:44:10 +04:00
Chirag Aggarwal
3018b478ba
Fix database transaction and vectors migration flakiness
2026-04-02 17:25:13 +05:30
Chirag Aggarwal
094fe90499
Merge remote-tracking branch 'origin/1.9.x' into feat/migrate-di-container
...
# Conflicts:
# app/worker.php
2026-04-02 16:37:58 +05:30
Matej Bačo
58a90cca4a
Merge pull request #10643 from appwrite/feat-disposable-emails
...
feat: add support for blocking disposable email addresses
2026-04-02 13:03:32 +02:00
Matej Bačo
90e705f8c5
Improve docs
2026-04-02 12:26:03 +02:00
Matej Bačo
17076e4a00
Fix formatting
2026-04-02 11:55:32 +02:00
Matej Bačo
7c50bbc500
Merge branch '1.9.x' into feat-disposable-emails
2026-04-02 11:05:19 +02:00
Chirag Aggarwal
4df5f4a18f
fix: scope composer lock to intended package updates
2026-04-02 14:06:45 +05:30
Chirag Aggarwal
e8bcc94187
fix: keep composer lock scoped to intended updates
2026-04-02 13:59:52 +05:30
Chirag Aggarwal
e576cd5082
Merge branch '1.9.x' into feat/migrate-di-container
2026-04-02 13:32:31 +05:30
Chirag Aggarwal
387668bb47
Merge pull request #11748 from appwrite/feat-smtp-messaging-adapter
...
Replace PHPMailer with utopia-php/messaging SMTP adapter
2026-04-02 12:11:58 +05:30
Chirag Aggarwal
30befc6a60
fix: remove strict pool size exception
2026-04-02 11:41:35 +05:30
Chirag Aggarwal
d13644a47a
fix: make pool sizing runtime-aware
2026-04-02 11:38:19 +05:30
Chirag Aggarwal
4a905a6ac9
Merge branch '1.9.x' into feat/migrate-di-container
...
Resolve conflicts keeping DI container migration (container->set pattern)
while incorporating 1.9.x fixes: PHPStan unused variable cleanup in
GraphQL Resolvers, (int) casts in Builds.php, and phpstan-baseline removal.
2026-04-02 11:17:32 +05:30
Chirag Aggarwal
b6e95f4502
test: remove redundant headers empty-key case
2026-04-02 11:05:03 +05:30
Chirag Aggarwal
1900492aad
Merge branch '1.9.x' into feat-smtp-messaging-adapter
2026-04-02 10:58:09 +05:30
Chirag Aggarwal
96f4ef7d22
Merge pull request #11751 from appwrite/chore/remove-phpstan-baseline
...
chore: remove phpstan baseline
2026-04-02 10:22:21 +05:30
Chirag Aggarwal
8e02a5a227
Merge pull request #11757 from appwrite/air/fix-flaky-migration-test-580aa1bc-d
...
Fix flaky vectordb migration test
2026-04-02 10:19:15 +05:30
Chirag Aggarwal
c2dd8aceda
use stable
2026-04-02 09:42:59 +05:30
Chirag Aggarwal
24fcf4247c
Fix flaky vectordb migration test
2026-04-02 09:41:20 +05:30
Chirag Aggarwal
2dc20ef0eb
Update utopia-php/messaging lock to latest
2026-04-02 09:31:48 +05:30
Chirag Aggarwal
04943b6313
Pass recipient display name in EmailMessage to field
...
Use associative array format ['email' => ..., 'name' => ...] for
the to field so the recipient display name appears in the To header.
2026-04-02 09:29:57 +05:30
Chirag Aggarwal
eb366cf94b
fix: preserve cors max age type
2026-04-02 08:25:59 +05:30
Chirag Aggarwal
77b4f8b7a0
style: apply formatter
2026-04-02 08:23:51 +05:30
Chirag Aggarwal
24bd4c3d7b
fix: preserve migration resource stats
2026-04-02 08:11:57 +05:30
Chirag Aggarwal
33f8e35b62
chore: remove phpstan baseline
2026-04-01 23:01:11 +05:30
Chirag Aggarwal
2c1060f57a
Fix null array key in HeadersTest
...
Cast null to string to avoid invalid array key type error
while preserving the test's intent of validating empty keys.
2026-04-01 21:31:08 +05:30
Chirag Aggarwal
30e0ca81bd
Fix Usage::fromArray() to use static return type with new static()
...
Keep covariant return type with parent Base::fromArray(). The
new static() is safe here because the cloud subclass constructor
is backwards-compatible via optional params.
2026-04-01 21:30:36 +05:30
Chirag Aggarwal
92cc382a6b
Change Usage::fromArray() return type from static to self
...
The cloud subclass has a different constructor signature so
new static() is unsafe. Use self since subclasses that need
deserialization should override fromArray() themselves.
2026-04-01 21:25:22 +05:30
Chirag Aggarwal
7d428ffe83
trigger ci
2026-04-01 21:03:07 +05:30
Chirag Aggarwal
fb96aecbef
Use new static() in Usage::fromArray() for late static binding
...
Required since the class is no longer final and the return type
is static, so subclasses get the correct type.
2026-04-01 19:52:16 +05:30
Matej Bačo
80d5d4716a
Remove base errors
2026-04-01 15:54:26 +02:00
Matej Bačo
c1dde09070
Merge branch '1.9.x' into feat-disposable-emails
2026-04-01 15:14:10 +02:00
Chirag Aggarwal
d531c29fc8
Remove final from Usage class to allow cloud override
2026-04-01 17:20:34 +05:30
Chirag Aggarwal
7044601603
lock file
2026-04-01 17:05:14 +05:30
Chirag Aggarwal
53bc126015
Remove stale PHPMailer baseline entry from PHPStan
...
The PHPMailer $Port type error no longer occurs since registers.php
now uses the SMTP adapter instead of PHPMailer directly.
2026-04-01 17:01:15 +05:30
Chirag Aggarwal
f1dc468e50
Restore replyTo elseif logic to preserve old behavior
...
customMailOptions replyTo and smtp replyTo are mutually exclusive,
matching the original PHPMailer implementation.
2026-04-01 16:37:08 +05:30
Chirag Aggarwal
15b2ab321e
fix: restore pool size validation to prevent silent connection exhaustion
...
The old guard that threw when workerCount > instanceConnections was
removed during the DI migration, causing pool size to silently floor
to 1. This can lead to connection exhaustion on multi-core hosts.
2026-04-01 16:34:58 +05:30
Chirag Aggarwal
ce63b00cf4
lock file
2026-04-01 16:29:06 +05:30
Chirag Aggarwal
b9aaecba25
Replace PHPMailer with utopia-php/messaging SMTP adapter
...
Use Utopia\Messaging\Adapter\Email\SMTP instead of raw PHPMailer
for the smtp register, Mails worker, and Doctor task. This enables
swapping email adapters (e.g. Resend) via DI override in downstream
repos by type-hinting against the EmailAdapter base class.
2026-04-01 16:25:33 +05:30
Chirag Aggarwal
789870b545
fix: preserve multi-value headers like Set-Cookie instead of comma-joining
...
addHeader() already accumulates multiple values for the same key into an
array internally, so calling it once per value is the correct approach.
Comma-joining violates RFC 6265 for Set-Cookie headers.
2026-04-01 15:43:14 +05:30
Chirag Aggarwal
c9f7b7f0d9
fix: address PR review findings from code review
...
- Add Console::error() fallback in Bus::dispatch() so listener failures
are visible even without telemetry (C1/M7)
- Remove duplicate $max/$sleep assignments in createDatabase (M1)
- Remove duplicate @param in Event::generateEvents docblock (M2)
- Remove unused $plan parameter from plan resource factory (M3)
- Fix inconsistent indentation in certificate init block (L2)
- Add explicit return null in session resource factory (M6)
2026-04-01 15:42:15 +05:30
Chirag Aggarwal
cba7e53898
chore: fix composer
2026-04-01 15:37:34 +05:30
Chirag Aggarwal
fb26da5df1
analyze fixes
2026-04-01 15:15:48 +05:30
Torsten Dittmann
d9c606a1c2
fix(oauth): update Yahoo OAuth scopes from deprecated Social Directory API to OIDC
...
The Yahoo OAuth provider was using deprecated Social Directory API scopes
('sdct-r' and 'sdpp-w') which are no longer valid and causing authentication
failures with the error: invalid_scope
Changes:
- Replace deprecated scopes 'sdct-r' (Social Directory Contacts Read) and
'sdpp-w' (Social Directory Profile Write) with standard OIDC scopes
- Add 'openid' scope for OpenID Connect authentication
- Add 'profile' scope for basic profile information
- Add 'email' scope for email address access
These new scopes align with Yahoo's OpenID Connect implementation and are
listed in their discovery document at:
https://api.login.yahoo.com/.well-known/openid-configuration
The Yahoo adapter already uses the OIDC userinfo endpoint
(https://api.login.yahoo.com/openid/v1/userinfo ), so these scopes are the
correct choice for authentication.
Custom scopes passed via the API are still supported and will be merged
with these defaults via the base OAuth2 class constructor.
Fixes: Yahoo OAuth authentication returning 'invalid_scope' error
2026-04-01 13:15:22 +04:00