View Source Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.8.0] - 2025-02-26

Compare with 0.7.0

NOTE

This is the last release of this client under the name edgedb as the product name changes to gel. The next release of this client (0.9.0) will not add any new functionality, but will rename all modules and references from EdgeDB to Gel.

Added

  • support for Gel connection options.
  • support for Elixir v1.17.
  • support for Elixir v1.18.

[0.7.0] - 2024-05-05

Compare with 0.6.1

Added

Changed

  • EdgeDB.Object.t/0 to be opaque.
  • the behavior of injecting an implicit :id field into objects so that this no longer happens.

Fixed

[0.6.1] - 2023-07-07

Compare with 0.6.0

Added

  • support for Elixir v1.15 and Erlang/OTP 26.

Fixed

[0.6.0] - 2023-06-22

Compare with 0.5.1

Added

  • support for cal::date_duration EdgeDB type via EdgeDB.DateDuration structure.
  • support for EdgeDB Cloud.
  • support for tuples and named tuples as query arguments.
  • support for EdgeDB 3.0.
  • support for ext::pgvector::vector type.

Changed

Fixed

  • crash after updating db_connection to 2.5.
  • decoding a single propery for EdgeDB.Object that equals to an empty set.
  • not catching an EdgeDB.Error exception during parameters encoding, which caused throwing an exception for non-! functions.
  • silent error for calling EdgeDB API with wrong module names.

Removed

  • EdgeDB.subtransaction/2, EdgeDB.subtransaction!/2 functions and other mentions of subtransactions support in the client.
  • support for custom pool configuration.
  • :raw option from EdgeDB.query* functions as well as access to EdgeDB.Query and EdgeDB.Result.
  • API for constructing an EdgeDB.Error.

[0.5.1] - 2022-08-25

Compare with 0.5.0

Removed

  • unintentional ping log for the connection.

[0.5.0] - 2022-08-20

Compare with 0.4.0

Added

  • EdgeDB.Client module that is acceptable by all EdgeDB API.
  • :max_concurrency option to start pool to control max connections count in EdgeDB.Pool.

Changed

Fixed

  • concurrent transactions when client was unintentionally marked as borrowed for transaction instead of connection.

Removed

[0.4.0] - 2022-08-04

Compare with 0.3.0

Added

  • support for EdgeDB 2.0 with new binary protocol.
  • support for EdgeQL state via EdgeDB.State.
  • new EdgeDB.Range type to represent ranges from EdgeDB 2.0.
  • support for multiple EdgeQL statements execution via EdgeDB.execute/4 and EdgeDB.execute!/4.

Changed

  • io_format option to output_format.

Fixed

  • the ability to pass maps or keyword lists in a query that requires positional arguments.

[0.3.0] - 2022-05-29

Compare with 0.2.1

Added

Removed

  • legacy arguments encoding.

Changed

  • EdgeQL queries to be lowercase.
  • EdgeDB.Error.inheritor?/2 to work with generated module names for EdgeDB exceptions instead of atoms.

[0.2.1] - 2022-05-19

Compare with 0.2.0

Removed

  • mention of :repeatable_read option for transaction isolation mode from t:EdgeDB.edgedb_transaction_option/0.

Fixed

  • codec name returned by codec for std::str from std::uuid to str::str.
  • documentation for the custom codec example, which did not have a EdgeDB.Protocol.Codec.decode/3 implementation and used the wrong protocol.

[0.2.0] - 2022-05-03

Compare with 0.1.0

Added

Fixed

Changed

  • parsing of binary data from EdgeDB by completely reworking the protocol implementation.
  • internal implementation of the Access behaviour for EdgeDB.Object to improve fields access performance.

[0.1.0] - 2022-02-10

Compare with first commit

Added

  • First release.