Skip to content

Commit 1d28b78

Browse files
committed
Add changelog entry
1 parent 11d4226 commit 1d28b78

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

CHANGELOG.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
## 1.1.1 (unreleased)
3+
## 1.2.0
44

55
* Improved `CrudBatch` and `CrudTransaction` `complete` function extensions. Developers no longer need to specify `nil` as an argument for `writeCheckpoint` when calling `CrudBatch.complete`. The base `complete` functions still accept an optional `writeCheckpoint` argument if developers use custom write checkpoints.
66
``` diff
@@ -12,6 +12,31 @@ guard let finalBatch = try await powersync.getCrudBatch(limit: 100) else {
1212
```
1313
* Fix reported progress around compactions / defrags on the sync service.
1414
* Use version `0.4.0` of the PowerSync core extension, which improves sync performance.
15+
* Add a new sync client implementation written in Rust instead of Kotlin. While this client is still
16+
experimental, we intend to make it the default in the future. The main benefit of this client is
17+
faster sync performance, but upcoming features will also require this client. We encourage
18+
interested users to try it out by opting in to experimental APIs and passing options when
19+
connecting:
20+
```Swift
21+
@_spi(PowerSyncExperimental) import PowerSync
22+
23+
try await db.connect(connector: connector, options: ConnectOptions(
24+
newClientImplementation: true,
25+
))
26+
```
27+
Switching between the clients can be done at any time without compatibility issues. If you run
28+
into issues with the new client, please reach out to us!
29+
* In addition to HTTP streams, the Swift SDK also supports fetching sync instructions from the
30+
PowerSync service in a binary format. This requires the new sync client, and can then be enabled
31+
on the sync options:
32+
```Swift
33+
@_spi(PowerSyncExperimental) import PowerSync
34+
35+
try await db.connect(connector: connector, options: ConnectOptions(
36+
newClientImplementation: true,
37+
connectionMethod: .webSocket,
38+
))
39+
```
1540

1641
## 1.1.0
1742

0 commit comments

Comments
 (0)