DATE:
AUTHOR:
PowerSync Product Team
PowerSync Service

PowerSync Service: v1.3.1

DATE:
AUTHOR: PowerSync Product Team

We are pleased to announce the release of version 1.3.1 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.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