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] 9 months ago

Patch Changes

  • af32de9a: Expose ELECTRIC_ prefixed env vars to Vite build - Fix VAX-1549
electric - [email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • 6ad33249: Hide proxy password in generate command output Fixes VAX-1548
  • 3605f291: Correctly pass the CONTAINER_NAME to the cli "status" command
  • 356359a2: CLI - Split inferred values from default values (VAX-1569)
  • e5d7a6dc: Validate that the --with-migrations command successfully ran before generating client
  • 4f19a086: [VAX-1544] Map http(s) scheme in service URL to ws(s) when starting a proxy tunnel.
  • bac15160: CLI - Silent dot-env warning when there are no .env files
  • fb2eba1c: Fix redundant query calls in React live query hook implementation
  • 8a97cc9f: Updated docstring for generic database adapter.
  • 3a617982: Upgrade Prisma dependency to 5.2 in the client, Fixes VAX-1524
electric - [email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • 208dc52a: Update the create-electric-app starter to use Vite and our new CLI
electric - @core/[email protected]

Published by github-actions[bot] 9 months ago

Minor Changes

  • df56221b: Reject electrification of tables that have no PRIMARY KEY or include unsupported constraints. Only PRIMARY KEY and FOREIGN KEY constraints are currently supported.
  • 3a7fb38b: Validate table column types and constraints for new columns that are added to electrified tables with ALTER TABLE ... ADD COLUMN.
  • afa4f839: Reject ALTER TABLE ... ADD COLUMN statements that try to add a new foreign key to an already electrified table.

Patch Changes

  • 07499d3e: Format some known errors in an easy-to-read way, including more context and information about resolution in the error messages.
  • 4fe5c7f6: [VAX-1040][VAX-1041] [VAX-1042] Add support for user-defined enum types in electrified tables.
  • 2ac82759: Validate config values and print all missing or invalid config options at Electirc startup.
  • d386fd98: Try connecting to the database over IPv6 and IPv4, in that order, and use the first option that works. This obviates the need for the DATABASE_USE_IPV6 configuration setting in most cases.
  • e8bb9a8f: Enforce the use of SSL for database connections by default.
  • 82202278: [VAX-1449] Add the notion of "clock drift" to Electric and use it when validating timestamps in auth tokens. Among other things, this fixes the issue where an auth token is used to authenticate with Electric before even a second passes after it was generated.
  • 743c5d07: Configure the sync service using dev.env and test.env files in development and testing.
electric - @electric-sql/[email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • d3cf7043: Revert change to generator to add .js extension to imports for nodenext compatibility as it broke for some bundlers.
  • 4fe5c7f6: Adds client-side support for enumerations.
electric - [email protected]

Published by github-actions[bot] 9 months ago

Patch Changes

  • e11501d8: - Fix generator not cleaning up temporary migrations folder on error.
    • Add --debug flag to generator for option to retain migrations folder on error for inspection.
    • Add temporary migration folder to gitignore in starter template
electric - [email protected]

Published by github-actions[bot] 9 months ago

Minor Changes

  • 2e233c01: Redesigned command-line interface featuring a new suite of commands, support for .env configuration, local-only-first mode and streamlined development experience.

Patch Changes

  • bc0d91d5: Ensure migrations CLI failure test always fails
  • de1c848b: - Fixed SQLite table name parsing for windowed queries and removed deprecated sqlite parser dependency
    • Made the raw API throw for unsafe queries, i.e. anything other than read-only queries, to match liveRaw's behaviour
    • Added an unsafeExec API to allow modifying the store directly via the client
  • 9f38fa44: Change build tooling for the client to tsup, enable source maps in our distribution, and improve typescript nodenext project support.
  • b840606a: Fix default socket for capacitor driver.
  • ff343753: Fix bug with foreign keys in generate script.
  • e11501d8: - Fix generator not cleaning up temporary migrations folder on error.
    • Add --debug flag to generator for option to retain migrations folder on error for inspection.
    • Add temporary migration folder to gitignore in starter template
  • 4fe5c7f6: Adds client-side support for enumerations.
  • ff3ba0cb: Make the locateSqliteDist argument ElectricDatabase.init optional, this allows bundlers to find and bundle the wa-sqlite wasm file.
  • 4ae19469: Modified interface of the generic database adapter and modified the drivers accordingly.
  • 587899f7: Added new names for raw query APIs (rawQuery, liveRawQuery, and unsafeExec) and deprecated old ones (raw and liveRaw)
  • Updated dependencies [d3cf7043]
  • Updated dependencies [4fe5c7f6]
electric - @core/[email protected]

Published by github-actions[bot] 10 months ago

Patch Changes

  • 0dfb35d8: [VAX-1324] Prevent updates to table PKs
  • a3d4bfe2: Electric now opens all its ports to listen both on IPv4- and IPv6-capable interfaces. This obviates the need for the ELECTRIC_USE_IPV6 configuration setting in most cases.
  • 34a89b4a: Automatically publish electricsql/electric:canary images to Docker Hub on every push to main.
  • b57ec927: [VAX-1417] Add the option to tunnel TCP connections to the migrations proxy over regular WebSocket connections.
  • 34a89b4a: Log the version of the Electric sync service on startup.
  • 11878e74: Log a descriptive error message when Electric fails to open a replication connection to Postgres.
  • ddb70c97: [VAX-1374] Add a new write-to-pg mode that applies client updates as DML statements as opposed to streaming them to Postgres over a logical replication connection.
electric - @electric-sql/[email protected]

Published by github-actions[bot] 10 months ago

Patch Changes

  • 22652fb3: Change generator to add .js extention to imports for nodenext compatibility
  • 38e1e44b: Fix type issue in generated client for DB schemas containing relations.
electric - [email protected]

Published by github-actions[bot] 10 months ago

Patch Changes

  • 071175d4: Improve Windows support
electric - [email protected]

Published by github-actions[bot] 10 months ago

Patch Changes

  • 0dfb35d8: [VAX-1324] Prevent updates to table PKs
  • 9ffb11aa: Modify Satellite client to use async event emitter.
  • 9676b4d0: New "npx electric-sql proxy-tunnel" command that tunnels a Postgres TCP connection over a websocket for the Postgres Proxy.
  • 4fc11d3a: Capacitor sqlite DB driver re-implemented to extend the new generic BatchDatabaseAdapter.
  • 071175d4: Improve Windows support
  • d5cdbf10: Prisma and the electric client generator are now dependencies of the client, you no longer have to include them as dependencies of a project using Electric. Projects can also depend on a different version of Prisma to the one used by Electric.
  • 9a32ea9f: Fix bug with BigInt primary keys.
  • Updated dependencies [22652fb3]
  • Updated dependencies [38e1e44b]
electric - [email protected]

Published by github-actions[bot] 11 months ago

Patch Changes

  • fab106c4: Properly escape path for Windows in the generator.
electric - @electric-sql/[email protected]

Published by github-actions[bot] 11 months ago

Patch Changes

  • 4ad7df4d: [VAX-825] Add client-side support for JSON type.
  • 65f10d69: Import types using import type in generated Electric client.
electric - @core/[email protected]

Published by github-actions[bot] 11 months ago

Minor Changes

  • eb722c9b: [VAX-1335] Create new protocol op to represent a compensation

Patch Changes

  • 0dc61662: [VAX-820, VAX-1325] Add support for the BIGINT / INT8 column type in electrified tables.
  • d9efe923: [VAX-1264, VAX-1265] Fix some edge cases in the parsing of DATABASE_URL.
  • 4ad7df4d: [VAX-825] Add support for the JSONB column type in electrified tables.
  • b6e589d3: [VAX-846, VAX-849] Add support for the REAL / FLOAT4 column type in electrified tables.
electric - [email protected]

Published by github-actions[bot] 11 months ago

Patch Changes

  • a9bb17ca: Upgrade wa-sqlite version because of a critical bug fix in wa-sqlite.
electric - [email protected]

Published by github-actions[bot] 11 months ago

Minor Changes

  • eb722c9b: [VAX-1335] Create new protocol op to represent a compensation

Patch Changes

  • fb773fbb: Dispose listeners when Electric client is closed.
  • 863f9f37: Fix critical section of wa-sqlite DB adapter to avoid bad interleavings.
  • 5c4a85d4: Generic implementation of serial and batched database adapters.
  • a9bb17ca: Upgrade wa-sqlite version because of a critical bug fix in wa-sqlite.
  • 0ad1867b: Fix assertions in unit tests.
  • 3ed54698: Fix race condition in process.subscribe that made the client crash.
  • 4ad7df4d: [VAX-825] Add client-side support for JSON type.
  • 1fe8c7d6: Rely on Prisma's conversion of PG table names to Prisma model names. No longer turn snake_cased table names into PascalCased model names.
  • cf0f0963: Add comment about possibly receiving empty subsData when handling SubscriptionData message on Satellite
  • e2da540c: Windows support for the generator.
  • e091bbfb: Refactorings to the event notifier.
electric - @core/[email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

  • d5a6eb3d: [VAX-1333] Fix introspection of tables with > 1 fk
  • a7007589: [VAX-1319] Fix CaseClauseError in Proxy.Prisma.parse_bind_array()
  • 1aa98bfe: [VAX-1321] Proxy crashes when GSSAPI session encryption is requested
electric - [email protected]

Published by github-actions[bot] 12 months ago

Patch Changes

  • dae6e7b2: Improved client events type safety
  • 1016d4b3: Use localhost instead of 127.0.0.1 as default address for Electric.
    Update documentation of command-line options for the CLI's generate command.
  • 5da426d8: Fix bug where data types provided in input structures could not be bound to SQLite types.
  • fe39c002: Fix #627, incorrect peer dependency for Capacitor SQLite
  • 6c87d8f6: Fix bug where SQL complains about syntax error near "from" due to table names and column names not being quoted in the generated triggers.
electric - @core/[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

  • ede28076: [VAX-1190] Electric crashes on too-big migrations
  • 37f3ee4c: Add ELECTRIC_USE_IPV6 configuration option to enable listening on IPv6 interfaces. Add DATABASE_USE_IPV6 configuration option to support connections to Postgres over IPv6.
  • 0ef13aa8: [VAX-907] Add a proxy for migration introspection and capture
  • cc35c12d: [VAX-1245] New extension migrations fail to apply on top of Electric v0.6.4 schema
  • 00eb469d: Adds client-side support for float8 data type.
  • ff27bc7d: [VAX-1172] Re-write DDLX parsing for improved compatibility and resiliency
  • 2a480884: [VAX-1195] Allow for user-set migration version to override automatically assigned version
  • 4092a9d3: [VAX-1212] add feature flag to temporarily disable DDLX commands
  • aa7c2650: Reject tables that have columns with DEFAULT expressions.
electric - @electric-sql/[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

  • 318b26d6: Adds client-side support for booleans.
  • 00eb469d: Adds client-side support for float8 data type.
  • 88a53756: Adds client-side support for int2 and int4 types.
  • 3ae3f30a: Adds client-side support for timestamps, times, and dates.
  • 88a53756: Add client-side validations for UUIDs.