electric

Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

APACHE-2.0 License

Downloads
9.6K
Stars
4.7K
Committers
21

Bot releases are visible (Hide)

electric - [email protected]

Published by github-actions[bot] 12 months ago

Minor Changes

  • d109a1e7: Major new release that introduces Electric Postgres Proxy, affecting all Electric components.

Patch Changes

  • 23d84eb6: Update the db:psql script to connect to the database using psql running inside of the postgres container.

    This lifts the requirement of having a Postgres client installed on the host OS.

  • e5fb598a: Expose port 65432 used by the proxy and make it configurable. Modify the migration machinery to go through the proxy. Modify the starter template to use the new ALTER TABLE ... ENABLE ELECTRIC syntax.

  • cfded697: Modify CLI to introspect Postgres database through Electric's proxy.

  • dc1c576e: The starter app can now have multiple migrations and applying them with yarn db:migrate is now idempotent.

  • 0d879a88: Improved starter such that several (independent) Electric projects can run concurrently.
    The starter now has 2 modes: fast mode and interactive mode.
    In fast mode, you can provide the app name and optional ports for Electric and the webserver as arguments.
    In interactive mode, the script will prompt for an app name and ports (suggesting defaults).
    Port clashes are now detected and reported to the user.
    The user can change the ports the app uses by invoking 'yarn ports:configure'.
    Also fixes the bug where all Electric applications would forward requests to the esbuild server that is running on port 8000 instead of their own esbuild server.

electric - [email protected]

Published by github-actions[bot] 12 months ago

Minor Changes

  • d109a1e7: Major new release that introduces Electric Postgres Proxy, affecting all Electric components.

Patch Changes

  • 0e24343d: [VAX-1078] Fix the issue where the client was unable to sync local writes of whole numbers to float columns.
  • d60e9ce5: handle exceptions properly in _performSnapshot
  • 226c0048: Fix bug for table named "model"
  • d5ed97fc: prevent reconnect loop of doom on fatal errors
  • 449e7fef: Improve type-safety of the client
  • 318b26d6: Adds client-side support for booleans.
  • 00eb469d: Adds client-side support for float8 data type.
  • b5ba4823: Fix error that table already exists when re-generating client after having previously received a migration over the replication stream.
  • 3d98c1f6: New DB driver for capacitor-sqlite.
  • c1d637e3: Bump minimum capacitor-community/sqlite version to enable Android support
  • 88a53756: Adds client-side support for int2 and int4 types.
  • 3ae3f30a: Adds client-side support for timestamps, times, and dates.
  • 3fdb2890: Cleanup startingPromise in registry when the Satellite process fails to start
  • cfded697: Modify CLI to introspect Postgres database through Electric's proxy.
  • 9e9faf8b: Fixes bug with DB driver for expo-sqlite on Android.
  • 88a53756: Add client-side validations for UUIDs.
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • f045ec8: [VAX-1062] Fix column name quoting in a trigger function.
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • a42ee2c: Pull latest Electric and TS dependencies in starter and freeze them.
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 5a0f922: Fix the bug where the client would crash/stop working/stop syncing if it received a migration containing a new index creation.
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • ce30518: Correctly detect cases where the clients are ahead of WAL window, which may happen in case of a DB reset, like in development
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 704b237: Make sure the database name in the slot is escaped to match PG requirements (a-z, 0-9, _ and less then 64 chars)
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 3c0a4ca: Relax the client-side migration version validation to allow an arbitrary suffix to follow the version itself.
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 5f44c1a: Suffix electric-created slot with db name to be able to run Electric per database on a single PostgreSQL instance
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 406089d: Publically expose the version module.
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • a658123: Remove node debugging detection because it broke Webpack builds
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Minor Changes

  • 2662251: Add protocol version negotiation to websocket connection step
  • e5936a6: feat: changed the protocol to have a proper RPC implementation for ease of extension and maintanence

Patch Changes

  • cf4ee7c: Implement support for the BOOLEAN column type in electrified tables
  • 75b2fcf: Implement support for the DATE column type in electrified tables.
  • da9a718: Rewrite the type-validating part of electify function to expand allowed types when Electric instance is upgraded
  • 4bd9ea2: Fix the problem where Postgres was failing to re-establish a replication connection to Electric after a restart
  • 1dd9500: Remove int8 from the list of supported types supported in electrified tables.
  • 3c47193: Implement support for electrifying and syncing tables that have columns types timestamp and timestamptz
  • de1c571: VAX-911 - store client lsn position in postgres
  • a4c5ce6: VAX-1036 - fixes bugs reported by @hugodutka by preventing insertion of duplicate ddl commands in migration history
  • 33ed7e8: Implement support for the TIME column type in electrified tables.
  • 76b15a6: Implement support for the UUID column type in electrified tables.
  • 4bbe283: Adds opt-out telemetry about Electric usage stats, configurable with ELECTRIC_TELEMETRY.
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • bec4399: Remove NodeJS --no-warnings flag
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Minor Changes

  • 2662251: Add protocol version negotiation to websocket connection step
  • e5936a6: feat: changed the protocol to have a proper RPC implementation for ease of extension and maintanence

Patch Changes

  • 3603703: Use parametrized SQL queries.
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 30d7c38: Unified HTTP_API_PORT and WEBSOCKET_PORT into HTTP_PORT to serve both /api and /ws requests
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 8f901a2: Enable foreign_keys pragma on startup.
electric - @core/[email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 73c703f: Fixed an issue with transactions not propagating to PG after Electric restart
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 3ba6c5d: Fixed conflict resolution issue leading to a wrong state on the client
  • 7f3d691: Make client try to reconnect to server when connection is lost
  • 34af0ec: Fixed incorrect snapshotting issue which led to weird behaviours
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • a05c04d: Add missing typescript devDependency to fix package build.
electric - [email protected]

Published by github-actions[bot] about 1 year ago

Patch Changes

  • 6a7c6be: Increase max listener limit on shared global event emitter instance to avoid unnecessary warnings.