- DATE:
- AUTHOR:
- PowerSync Product Team
PowerSync Service: v1.3.12
We are pleased to announce the release of version 1.3.12 of the PowerSync Service. The PowerSync Service is published to Docker Hub as journeyapps/powersync-service
for use in self-hosted setups. PowerSync Cloud instances receive Service updates automatically.
See the full changelog below.
Have any questions or feedback? Chat with us and the PowerSync community on Discord.
Changelog
v1.3.12
[ADDED] Utilities for Postgres server and database identification.
v1.3.11
[ADDED] The ability to use the same Postgres server for the replication source and sync bucket storage. This is only supported on Postgres versions newer than 14.0.
[ADDED] The ability to skip creating empty sync checkpoints if no changes were present in a batch.
[FIXED] A bug where listening to active checkpoint notifications on an ended connection could cause a crash.
v1.3.10
[ADDED] Schema generator for FlutterFlow.
v1.3.9
[ADDED] Introduced standard error codes. Also see the PR.
[ADDED] A "test-connection" CLI command which performs the same connection validation as on PowerSync Cloud. PR.
[ADDED] Support IPv6 for the JWKS URI. PR.
[ADDED] Support for limiting IP ranges of outgoing connections. PR.
[IMPROVED] A clearer error message for "null" bucket definitions.
v1.3.8
[ADDED] Postgres support for sync bucket storage. See the Release Notes.
v1.3.7
[IMPROVED] Implemented a shared MongoDB dependency between modules. This should help avoid potential multiple versions of MongoDB being present in a project.
v1.3.6
[FIXED] MongoDB replication of
undefined
values causing missing documents.[FIXED] Excessive memory consumption during MySQL initial replication.
[IMPROVED] Added a heartbeat mechanism to the MySQL binlog listener replication connection to detect connection timeouts.
[IMPROVED] Moved the MongoDB sync bucket storage implementation to the MongoDB module.
[IMPROVED] Updated
ts-codec
to version 1.3.0 for better decode error responses.
v1.3.5
[ADDED] ECDSA signing algorithm support for JWTs.
[ADDED]
iif(X,Y,Z)
Sync Rules function, which returns the value Y if X is true, and Z otherwise.[FIXED] Timestamp replication issues for MySQL connections.
[FIXED] Resuming MySQL replication after a restart.
v1.3.4
[FIXED] An issue caused by incorrect bucket parameters grouping. See more details in this PR.
[FIXED] Replication slot recovery for Postgres instances. See more details in this PR.
[IMPROVED] Reduce noise in log output.
v1.3.3
[FIXED] Revert Postgres snapshot strategy.
v1.3.2
[IMPROVED] Use shorter timeout for testing MongoDB connections to ensure we get a proper error when failing to connect.
v1.3.1
[FIXED] "BSONObj size is invalid" error during replication.
v1.3.0
[ADDED] EdDSA signing algorithm support for JWTs as requested in this issue.
[IMPROVED] Optimized connection timeouts, and switched to fetching data in batches to reduce connection hanging risks for Postgres initial replication.
v1.2.0
[ADDED]
uuid_blob
Sync Rules function to convert a UUID string to bytes.[ADDED] Support resuming initial replication for Postgres, for cases where initial replication was interrupted. See more details in the PR.
[IMPROVED] For Supabase Auth, when a JWT secret is explicitly configured, disable using
current_setting('app.settings.jwt_secret')
.[IMPROVED] Implemented a workaround for a write checkpoint bug on Aurora Postgres.
[FIXED] Replication lag diagnostics for Postgres, which resulted in the error:
Unable to get replication lag Could not determine replication lag for slot [object Object]
v1.1.1
[FIXED] A regression for missing HTTP probes. Reported in issue.
v1.1.0
[ADDED] A "supabase_jwt_secret" config option to simplify static Supabase auth. Reference.
v1.0.0
[IMPROVED] Major refactor of the PowerSync Service to support modular replication.
[ADDED] Initial alpha support for MongoDB and MySQL source databases.
[ADDED]
json_each
function for parameter queries: Expand a JSON array or object from a request or token parameter into multiple parameter rows.[IMPROVED] Optionally include original types in generated client-side schemas as a comment.
v0.5.7
[IMPROVED] Postgres connection port restrictions. Connections are now supported on ports >= 1024.
v0.5.6
[ADDED] Support in Sync Rules for
substring
andjson_keys
functions.
v0.5.5
[IMPROVED] Sync Rules:
The Dashboard editor now warns when identifiers are automatically converted to lower-case.
The supported combinations of the IN operator have been expanded slightly - see the PR for examples.
[FIXED] An edge case with the checksum cache when compacting (when compacting resulted in a CLEAR operation that is later than the last checksum cache). See the PR for more information.
[FIXED] "JavaScript heap out of memory" error on startup.
v0.5.4
[IMPROVED] Update
TableV2
toTable
in the JavaScript/TypeScript schema generator (the two definitions have been merged).
v0.5.3
[FIXED] A rare race condition with WebSocket handling that could cause the route handler to "hang" indefinitely, after the underlying connection is closed.
v0.5.2
[FIXED] The error:
WebSocket is not open: readyState 2 (CLOSING)
v0.5.1
[ADDED]
client_id
parameter to the WebSocketsync/stream
endpoint logs.
v0.5.0
[ADDED]
client_id
parameter and User-Agent headers. This forms part of the work to support custom write checkpoints.The
client_id
parameter specifically affects write checkpoints (limits write checkpoints to a specific client, rather than just an user).It also makes it easier to notice issues such as multiple concurrent connections for the same client.
User-Agent headers allow us to identify which client is used.
[IMPROVED] Logging for troubleshooting:
Log on sync lock when reaching concurrency limit.
Log the current count of connected WebSocket connections.
v0.4.4
[ADDED] Support for TableV2 / TypeScript schema generator.
v0.4.3
[INTERNAL] Removed unused development routes.
v0.4.2
[INTERNAL] Added utility functions for registering routes.
v0.4.1
[FIXED] Missing route error logs.
Updated dependencies:
[FIXED] Concurrent connection limiting for WebSockets, to resolve the error " [429] Maximum active concurrent connections limit has been reached".
v0.4.0
[ADDED] Support for
request.parameters()
,request.jwt()
andrequest.user_id()
. Documentation will we published soon.[ADDED] Warn on potentially dangerous queries using client parameters.
v0.3.0
[IMPROVED] Removed dependency for restricted packages, allowing this repository to be used without any NPM credentials.
[FIXED] A replication issue with REPLICA IDENTITY FULL.
v0.2.2
[FIXED] Teardown command not terminating after some errors. Also adds better logging to the teardown job.
[FIXED] Date parsing in replication for dates further back than 100 AD.
v0.2.1
[IMPROVED] Use a LRU cache for checksum computations, improving performance and reducing MongoDB database load. Learn more here.
[IMPROVED] Return zero checksums to the client instead of omitting these, to help with debugging sync issues.
v0.2.0
[ADDED] Support for client parameters. This functionality is gradually being added to client SDKs.
v0.1.3
[FIXED] Some performance issues, detailed here.
[IMPROVED] Logging for initial snapshot replication.
v0.1.2
[FIXED] Missing authentication errors for WebSocket sync stream requests.
v0.1.1
[IMPROVED] Updated
lru-cache
dependency minimum version to prevent downstream consumers of package using a broken version.
v0.1.0
[ADDED] The ability to capture anonymous usage metrics (learn more here).
v0.0.2
Initial public release.