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 - @core/[email protected]

Published by github-actions[bot] 2 months ago

Patch Changes

  • b629d22: First publish to Docker Hub.
electric - @core/[email protected]

Published by github-actions[bot] 2 months ago

Patch Changes

  • d24993b: Fix error that occurs when a /shape response stream is closed before it is complete,
    for example when curl --head is used to call the endpoint.
electric - [email protected]

Published by github-actions[bot] 6 months ago

Patch Changes

  • b7faf724: Fixed GC on the client after a server-requested reset if nested shapes are used
electric - [email protected]

Published by github-actions[bot] 6 months ago

Minor Changes

  • 4b535171: Added expo and react-native as starter templates.
electric - @core/[email protected]

Published by github-actions[bot] 6 months ago

Patch Changes

  • c8eec867: Fix handling NULL values when filtering replication stream
electric - @core/[email protected]

Published by github-actions[bot] 6 months ago

Minor Changes

  • 284d987d: Introduce shapes with relation following on server and client

Patch Changes

  • f200734d: Fix the issue where the sync service would not sync any rows that had been present in a table before it was electrified.
  • 419e7b28: Fix unbounded disk usage growth caused by the WAL records retained by Electric's replication slot.
  • b7e99c88: Added support for BYTEA/BLOB column type across the sync service, TS client, and client generator
  • 378b1af1: fix: make sure the client is gracefully disconnected if PG is too slow on connection
  • 2394ec93: Include all publishable tables in the publication that Electric creates at startup.
electric - @electric-sql/[email protected]

Published by github-actions[bot] 6 months ago

Patch Changes

  • d8ee5f0e: Do not import Relation class if data model does not have any relations - fixes unused import TS errors.
  • a48bcdc3: [BREAKING] Use {Table}UncheckedCreateInputSchema as type for table model to avoid nested types and recursions.
  • b7e99c88: Added support for BYTEA/BLOB column type across the sync service, TS client, and client generator
electric - [email protected]

Published by github-actions[bot] 6 months ago

Minor Changes

  • 64c8f87e: Introduce shapes with relation following on server and client

Patch Changes

  • 494aebd9: Don't receive notifications when no table has changed
  • 6adfe2e2: Fix queries trying to retrieve relations using null foreign keys.
  • da1b6f6d: Fixed incorrect field transformation for queries with included relations
  • a48bcdc3: Implement setReplicationTransform API on tables that allows transforming row fields at the replication boundary.
  • 179e9945: Fix op-sqlite driver integration using HostObjects and failing to return results
  • b7e99c88: Added support for BYTEA/BLOB column type across the sync service, TS client, and client generator
  • Updated dependencies [d8ee5f0e]
  • Updated dependencies [a48bcdc3]
  • Updated dependencies [b7e99c88]
electric - [email protected]

Published by github-actions[bot] 7 months ago

Patch Changes

  • a395ca62: Remove react-native-get-random-values as included dependency - waring fired instead and polyfill left to library user
  • 0614254a: Fix clear tags not being set correctly resulting in wrong conflict resolution
electric - @core/[email protected]

Published by github-actions[bot] 7 months ago

Patch Changes

  • 452361d5: Limit client connections when the sync service's Postgres connection is down.
  • 209192a3: [VAX-1664] Fix for prisma database introspection
  • 90735031: Create a publication in Postgres on startup. This would restore the replication stream from Postgres to Electric if the publication got deleted by accident.
electric - [email protected]

Published by github-actions[bot] 7 months ago

Patch Changes

  • 85daa6ed: CLI support for Docker compose version 2.24.6 by removing inheritance from docker-compose files.
  • eebd03cf: Fix bug in generic DB adapter that could lead to transaction lock not being released.
  • 3d160018: Remove db field from DatabaseAdapter and export it to aid in external database adapter creation.
  • 95dbb6b3: Fix Capacitor driver issue where BEGIN statements failed to run on Android by using driver's execute API.
  • 758173c9: New adapter for supporting op-sqlite
  • eae8a049: - Fix react-native-sqlite-storage implementation to use correct dbname attribtue
    • Refactor react-native-sqlite-storage implementation to use SerialDatabaseAdapter
  • 595e8f99: Fix upsert causing double-serialization of JSON fields
  • f058ffc4: Remove react-native-get-random-values as included dependency - waring fired instead and polyfill left to library user
  • 55a0bf11: Export websocket implementations to enable use in custom drivers
  • b65f3edf: Add useConnectivityState API to Vue.js bindings
  • 5d95ce66: Fix TextEncoder and TextDecoder polyfills to work cross-platform
  • ece1f126: Reverted CLI to use Prisma v4 instead of v5 because Prisma v5 introduces breaking type changes in the generated client which caused type errors in the generated Electric client.
  • 95629057: Provide targeted polyfills for web API dependencies for compatibility with other runtimes
  • b0b863bf: Fix race condition in performSnapshot. Changes can only be sent to remote when the outbound replication status is active
  • a269b7cd: Fixes bug that would cause deleted rows to re-appear under specific conditions.
  • 31384af1: Remove unused React hook and clean up useLiveQuery hook
  • c30516ef: Fix issue with duplicate rows when including several relations.
  • 8bfacdbb: Remove comments from client SQLite trigger migrations for better compatibility with drivers (e.g. see this driver issue).
  • a4d914ff: Remove cordova-sqlite-storage driver support
  • d995920b: Remove react-native-sqlite-storage driver support
  • 02ebef80: Bump minimum required version for @capacitor-community/sqlite driver to include fix to the executeSet API issue
electric - [email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • ecf1025c: Add contents of template folders to package
electric - [email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • dace3fc1: Restore support for both sub and user_id claim in auth JWTs
electric - [email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • 6bb8a2c1: Include template folders in starter app CLI distribution
electric - @core/[email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • 11069a90: Handle JWT expiration on the TS client, and support reconnecting after JWT expires.
  • 8f9bcb53: Deduplicate enum type definitions in the electrified schema.
  • 65aaeee5: Electric will now fail to start when a secure auth setting is used with AUTH_MODE=insecure.
  • 21a3a8c4: Pass the SSL options used for the main database connection to upstream connections established by the migrations proxy.
  • 0deba4d7: Validate public signing keys at startup. This allows for catching invalid key configuration early as opposed to getting an "invalid token signature" error when a client tries to authenticate.
  • b320bc16: Changed how the DDL statements for electrified enum columns are stored internally. This change requires resetting the database if it has at least one electrified enum column.
  • 0deba4d7: Accept base64-encoded symmetric signing keys. Electric will detect and decode such keys automatically. Binary keys are also accepted as before.
  • 9ed7b728: Reject electrification of tables outside of the public schema. This is a documented limitation that is now also enforced in the code.
  • c037fdd9: Enable SSL certificate validation for database connections when DATABASE_REQUIRE_SSL=true.
electric - [email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • 57bb9510: Add a .gitignore file to newly created apps such that running git init in them will ignore the node_modules/ and other ephemeral directories/files by default.
  • 52e9e511: Added --template flag to create-electric-app CLI tool to choose between React and Vue templates
electric - [email protected]

Published by github-actions[bot] 8 months ago

Patch Changes

  • d0bc48c2: Add basic Vue.js bindings for using live queries
  • 223319ea: Add expo-sqlite/next driver to client
  • 4d193eb1: Make --debug flag in CLI generate command always retain temporary migrations folders
  • 5143a99c: Detach database electrification from connecting to the Electric sync service.
  • 11069a90: Handle JWT expiration on the TS client, and support reconnecting after JWT expires.
  • a968a636: Made connectivityState read-only and introduced a disconnect method.
  • 0ebd3e2d: Added support for Tauri SQLite driver.
  • 162d6e6e: Add row primary key infomation to the ActuallyChanged notification.
electric - @core/[email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • 3a78a767: Removes unnecessary comma in conflict resolution PG trigger shadow table update query
  • 6fc36865: Upgrade the build environment to use Erlang (25.3.2.8) and Elixir (1.16.1).
  • 6fc36865: Include the Server Name Indication (SNI) SSL option when connecting to the database. This makes it possible for Electric to connect to Neon (neon.tech).
  • 210b9e36: Support JWTs without a trailing dot in the Insecure auth mode. (#900)
electric - [email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • 5fa4eebd: Modified the CLI's generate command to fix issues with the generator when user projects include Prisma v5.
  • 6fc36865: Use SIGINT as the default stop signal for the Electric service started with npx electric-sql start. This results in faster shutdown after pressing Ctrl-C or stopping all services with docker compose stop/down.
  • a5a54fb3: - Add ELECTRIC_WRITE_TO_PG_MODE as option to CLI
    • Fix CLI option defaults to match Electric defaults
  • 39fc2ac7: Fix clearing local state to avoid FK violations.
electric - @core/[email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • 30179e87: [VAX-1553] Add support for AuthenticationMD5Password upstream auth method in the Migrations proxy. This fixes a connectivity issue between Electric and DigitalOcean Managed PostgreSQL.
  • dd27d6a1: [VAX-1543] Add support for the sslmode query option in DATABASE_URL.