What's changing: The Kotlin SDK adds opt-in, experimental support for the new checkpoint-request protocol. Setting SyncOptions.checkpointMode to CheckpointMode.Requests() switches the sync client to request-based checkpoint reconciliation, and a new CustomCheckpointRequestConnector abstract class (with postCheckpointRequest()) lets backends that process uploads asynchronously participate. Both are gated behind @ExperimentalCheckpointRequestsApi. This PR does not add a client-facing requestCheckpoint()/waitForSync() API to the Kotlin SDK itself, only the protocol-level plumbing.
High priority — existing docs are now inaccurate or incomplete
None identified.
For reviewer consideration — worth documenting
- Kotlin SDK support for the checkpoint-request protocol. Sync Catch-Up (Checkpoint Requests) (
client-sdks/advanced/checkpoint-requests.mdx → https://docs.powersync.com/client-sdks/advanced/checkpoint-requests) currently opens with a Warning stating "Client support is currently available for Swift and requires PowerSync Service version 1.24.0 or later. Support for the JavaScript SDKs is in progress, and other SDKs will follow." Kotlin now has protocol-level (experimental) support that the page doesn't mention. The page's "Prerequisites" and "Swift Connector" sections are Swift-specific; a "Kotlin Connector" section documenting CustomCheckpointRequestConnector.postCheckpointRequest() and setting checkpointMode = CheckpointMode.Requests() would be the Kotlin analog, once the feature is considered stable enough to document (it remains experimental as of this PR).
Related: #569 covers the JS SDK's adoption of the same protocol groundwork (a different source PR, powersync-js#1072). This issue is the Kotlin SDK's rollout of that same underlying feature, not a duplicate.
Source PR: powersync-ja/powersync-kotlin#371. Merged 2026-08-21.
Filed automatically by Claude Code (claude-sonnet-5). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.
What's changing: The Kotlin SDK adds opt-in, experimental support for the new checkpoint-request protocol. Setting
SyncOptions.checkpointModetoCheckpointMode.Requests()switches the sync client to request-based checkpoint reconciliation, and a newCustomCheckpointRequestConnectorabstract class (withpostCheckpointRequest()) lets backends that process uploads asynchronously participate. Both are gated behind@ExperimentalCheckpointRequestsApi. This PR does not add a client-facingrequestCheckpoint()/waitForSync()API to the Kotlin SDK itself, only the protocol-level plumbing.High priority — existing docs are now inaccurate or incomplete
None identified.
For reviewer consideration — worth documenting
client-sdks/advanced/checkpoint-requests.mdx→ https://docs.powersync.com/client-sdks/advanced/checkpoint-requests) currently opens with a Warning stating "Client support is currently available for Swift and requires PowerSync Service version 1.24.0 or later. Support for the JavaScript SDKs is in progress, and other SDKs will follow." Kotlin now has protocol-level (experimental) support that the page doesn't mention. The page's "Prerequisites" and "Swift Connector" sections are Swift-specific; a "Kotlin Connector" section documentingCustomCheckpointRequestConnector.postCheckpointRequest()and settingcheckpointMode = CheckpointMode.Requests()would be the Kotlin analog, once the feature is considered stable enough to document (it remains experimental as of this PR).Related: #569 covers the JS SDK's adoption of the same protocol groundwork (a different source PR, powersync-js#1072). This issue is the Kotlin SDK's rollout of that same underlying feature, not a duplicate.
Source PR: powersync-ja/powersync-kotlin#371. Merged 2026-08-21.
Filed automatically by Claude Code (
claude-sonnet-5). A human must verify the scope, prepare the docs PR, and publish it only once this update has been released.