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.

Unreleased

Compare with 0.7.0

[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.