DATE:
AUTHOR:
PowerSync Product Team
PowerSync Service

PowerSync Service: v1.3.12

DATE:
AUTHOR: PowerSync Product Team

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 and json_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 to Table 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 WebSocket sync/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() and request.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.

Powered by LaunchNotes