Skip to content

feat: SDK update for version 29.0.0 - #137

Merged
ChiragAgg5k merged 16 commits into
mainfrom
dev
Oct 4, 2026
Merged

ChiragAgg5k merged 16 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 29.0.0.

What's Changed

  • Breaking: minimum Android SDK raised from 23 to 24 (Android 7.0)
  • Added: Push service for MQTT push messages without FCM, plus PushReceiver for background handling
  • Added: Topic builder for push topics
  • Added: endpointPush and pushClientId on Client, with setPushEndpoint and setPushClientId
  • Added: Apps service for managing OAuth2 apps, keys, secrets and installations
  • Added: Oauth2 service for using Appwrite as an OAuth2/OIDC provider
  • Added: Avatars.updatePhoto and Avatars.deletePhoto
  • Added: duration parameter to Account.createEmailPasswordSession
  • Added: current parameter to Account.deleteSessions
  • Added: total parameter to Account.listSessions, Locale list methods and listTransactions
  • Added: WEBFLOW value to OAuthProvider
  • Added: toMap() and toJson() on Query and Operator
  • Updated: SDK manifest merges Push permissions, a foreground service and a boot receiver into apps
  • Updated: narrower Netty keep rules, raising the R8 obfuscation and optimization scores Google Play reads
  • Updated: added the shaded hivemq-mqtt-client dependency for Push, with consumer R8 rules
  • Fixed: Query and Operator serialize correctly under R8 instead of producing {}
  • Fixed: Realtime delivers events and error messages under R8
  • Fixed: session cookies saved under R8 stay readable after an app update
  • Fixed: ID.unique() and InputFile.fromFile no longer crash on Android 7.x
  • Fixed: Kotlin and Java examples now compile
  • Fixed: unsubscribing one of several subscriptions on a topic stops its callback

@hansi-codes

hansi-codes Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

🟢 Tier S · Ready to merge

Updates the Android SDK to 29.0.0, raises the minimum API level to 24, and adds MQTT push delivery, topic builders, Apps/OAuth2 APIs, and avatar photo management. It refreshes API parameters and examples and replaces reflection-based parsing for cookies, queries, and realtime messages. The follow-up switches to shaded HiveMQ, updates its R8 rules, corrects example syntax, and prevents removed push subscriptions from receiving callbacks.

Latest changes: The newest commits switch HiveMQ to its shaded artifact and relocate R8 rules, remove packaging-exclusion setup, fix Kotlin OAuth2 arguments and example escaping, and look up push callbacks by live subscription ID.

Verdict New comments Fixed Still open
✅ Approved 0 0 0
📂 Walkthrough · 14
File Change
CHANGELOG.md, README.md Document 29.0.0, shrinking and background push delivery; remove the packaging-exclusion requirement.
docs/examples/java/**, docs/examples/kotlin/** Add Apps, OAuth2 and avatar examples, refresh API parameters, and fix named arguments and string escaping.
example/build.gradle.kts Keep the example compatible with the updated SDK without MQTT metadata exclusions.
library/build.gradle.kts, library/consumer-rules.pro Raise minSdk to 24 and add shaded HiveMQ with consumer rules for relocated dependencies.
library/src/main/AndroidManifest.xml Declare push permissions, services and wake-up receivers.
library/src/main/java/io/appwrite/Client.kt Add push configuration and extend multipart and upload handling.
library/src/main/java/io/appwrite/ID.kt, library/src/main/java/io/appwrite/models/InputFile.kt Replace APIs unavailable on Android 7.x.
library/src/main/java/io/appwrite/{Query,Operator,Topic}.kt Add explicit serialization and MQTT topic builders.
library/src/main/java/io/appwrite/cookies/** Persist and restore cookies using explicit maps.
library/src/main/java/io/appwrite/enums/OAuthProvider.kt Add the Webflow OAuth provider.
library/src/main/java/io/appwrite/models/** Add account, application and OAuth2 response models and explicit realtime parsing.
library/src/main/java/io/appwrite/services/Push*.kt Implement MQTT subscriptions, background persistence, notifications and wake-ups; suppress callbacks for removed subscriptions.
library/src/main/java/io/appwrite/services/{Account,Apps,Avatars,Oauth2,Realtime}.kt and other changed services Extend generated endpoints and parameters and replace reflective realtime parsing.
library/src/test/java/io/appwrite/{ClientJavaInteropTest.java,TopicTest.kt} Cover Java client construction and setters and topic building and validation.

Reviewed the commits since 3837af7 · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Tier B · See the inline comments. Summary

Comment thread docs/examples/kotlin/oauth2/approve.md Outdated
Comment thread docs/examples/java/graphql/mutation.md Outdated
Comment thread docs/examples/kotlin/documentsdb/create-documents.md Outdated
Comment thread README.md Outdated
@ChiragAgg5k ChiragAgg5k changed the title feat: SDK update for version 29.0.0 feat: Android SDK update for version 29.0.0 Oct 3, 2026
@ChiragAgg5k ChiragAgg5k changed the title feat: Android SDK update for version 29.0.0 feat: SDK update for version 29.0.0 Oct 3, 2026

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Tier S · Looks good to merge. Summary

@ChiragAgg5k
ChiragAgg5k merged commit e96fcfc into main Oct 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant