Skip to main content

Release notes

ElectricSQL is in public alpha phase.

APIs are not guaranteed to be stable. Backwards incompatible changes may (and will) be introduced in patch, minor and major version releases.

This page provides an overview of major releases as well as minor- and patch-level releases that may cause compatibility issues for user apps. Such potentially problematic changes are highlighted in Compatibility notes sections for every release that includes those.

To learn more about the major feature releases of Electric, see release announcement posts on our blog.

To see the complete change log for each new release, see the Releases page on GitHub or the CHANGELOG.md file of each individual component:

2024-10-14 - v0.10

Announcement post.

The first release to support where-clause and include-tree filtering with Shape-based sync. It also adds data type support for byte arrays / blobs.

Updated components

ComponentVersion
Sync service0.10.0
TypeScript client0.10.0
@electric-sql/prisma-generator1.1.4

Compatibility notes

This release does not introduce any noteable breaking changes.

2024-03-14 - patch release

Updated components

ComponentVersion
Sync service0.9.4
TypeScript client0.9.5

Compatibility notes

TypeScript client

  • The react-native-get-random-values package is no longer included as a dependency of the client. It is up to the developer to add it as a dependency to their app to use a better random number generator for UUIDs generated on the client.
  • The cordova-sqlite-storage driver support has been removed.
  • The react-native-sqlite-storage driver support has been removed, replaced by the op-sqlite driver which is a better tested and more mature option for using SQLite with React Native.
  • The minimum required version for the @capacitor-community/sqlite driver has been bumped.

2024-02-22 - patch release

Updated components

ComponentVersion
Sync service0.9.3
TypeScript client0.9.4
create-electric-app0.2.8

Compatibility notes

Sync service

  • A change in the internal representation of electrified tables with columns of enum types may cause issues with SQL schemas that have such tables. Reset the database to resolve these issues.
  • Electric now refuses to start if any of the secure auth settings are used with AUTH_MODE=insecure.
  • Electrification of tables outside of the public schema is now rejected.
  • Electric now performs SSL certificate validation for database connections with DATABASE_REQUIRE_SSL=true (the default).
  • When AUTH_MODE=secure and one of the HS* signature validation algorithms is configured, Electric will now try to detect if the value of AUTH_JWT_KEY is base64-encoded and will decode it automatically.

TypeScript client

  • Connecting to the sync service has been detached from the electrification of a database connection. You now have to call electric.connect() as a separate step. See API -> Typescript client for details.
  • The connectivityState of the client is now read-only. A separate disconnect() method has been introduced to disconnect the client from the sync service.

2024-01-24 - v0.9

Announcement post.

This release introduces a whole new client CLI, experimental support for enum types, configuration improvements for the sync service and more.

Updated components

ComponentVersion
Sync service0.9.1
TypeScript client0.9.1
create-electric-app0.2.5
@electric-sql/prisma-generator1.1.3

Compatibility notes

Sync service

  • Electrification of tables that have no PRIMARY KEY or include unsupported constraints is now rejected.
  • Table column types and constraints for new columns that are added to electrified tables with ALTER TABLE ... ADD COLUMN are now validated in the same way as when electrifying a table.
  • Attempt to add a new foreign key to an electrified table with ALTER TABLE ... ADD COLUMN statements are now rejected.
  • By default, Electric now enforces the use of SSL for database connections. If the database does not have SSL enabled, Electric can be started with DATABASE_REQUIRE_SSL=false as a workaround.

TypeScript client

  • The raw API now throws for unsafe queries, i.e. anything other than read-only queries. This matches the behaviour of liveRaw.
  • New unsafeExec API has been added to allow modifying the database, side-stepping the type-safe client checks.
  • The raw and liveRaw query APIs have been deprecated in favour of rawQuery, liveRawQuery and unsafeExec.

create-electric-app

  • Apps created with create-electric-app now use Vite as the dev server and build tool.

2023-12-13 - v0.8

Announcement post.

This release improves data model and deployment compatibility, including support for JSON and running on popular managed Postgres and application hosts, such as Supabase and DigitalOcean.

Updated components

ComponentVersion
Sync service0.8.1
TypeScript client0.8.2
create-electric-app0.2.2
@electric-sql/prisma-generator1.1.2

Compatibility notes

Sync service

  • Attempts to update primary key columns in electrified tables are now rejected.

TypeScript client

  • Table names are preserved in the generated type-safe client, i.e. snake_cased table names are no longer transformed to PascalCased model names. However, there's still a minor caveat to be aware of.
  • Prisma and the electric client generator are now dependencies of the TypeScript client. You no longer have to include them as dependencies of your web app. As a consequence, projects can use a different version of Prisma as a direct dependency.

2023-11-02 - v0.7

Announcement post.

Major highlights of this release are the introduction of the Migrations proxy and support for additional column types in electrified tables.

Updated components

ComponentVersion
Sync service0.7.0
TypeScript client0.7.0
create-electric-app0.2.0
@electric-sql/prisma-generator1.1.0

Compatibility notes

Sync service

  • Migrations proxy ia a new component running as part of the sync service. Its introduction affects the DATABASE_URL used when applying database migrations that contain DDLX statements.

TypeScript client

  • The minimum supported version of capacitor-community/sqlite has been increated to 5.4.1 to enable Android support.

create-electric-app

  • Apps created with create-electric-app now also listen on port 65432 which is used by the Migrations proxy.

2023-09-20 - v0.6

Announcement post.

The first public release of ElectricSQL as a self-hosted sync layer on top of PostgreSQL.