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
Unreleased
0-5-0-2022-08-20
[0.5.0] - 2022-08-20
added
Added
EdgeDB.Client
module that is acceptable by allEdgeDB
API.:max_concurrency
option to start pool to control max connections count inEdgeDB.Pool
.
changed
Changed
- default pool from
DBConnection.Pool
toEdgeDB.Pool
. EdgeDB.Pool
to be "real" lazy and dynamic: all idle connections that EdgeDB wants to drop will be disconnected from the pool, new connections will be created only on user queries depending on EdgeDB concurrency suggest as soft limit and:max_concurrency
option as hard limit of connections count.- first parameter accepted by callbacks in
EdgeDB.transaction/3
,EdgeDB.subtransaction/2
andEdgeDB.subtransaction!/2
fromDBConnection.t/0
toEdgeDB.Client.t/0
. EdgeDB.connection/0
toEdgeDB.client/0
.EdgeDB.edgedb_transaction_option/0
toEdgeDB.Client.transaction_option/0
.EdgeDB.retry_option/0
toEdgeDB.Client.retry_option/0
.EdgeDB.retry_rule/0
toEdgeDB.Client.retry_rule/0
.
fixed
Fixed
- concurrent transactions when client was unintentionally marked as borrowed for transaction instead of connection.
removed
Removed
EdgeDB.WrappedConnection
module in favor ofEdgeDB.Client
.
0-4-0-2022-08-04
[0.4.0] - 2022-08-04
added-1
Added
- support for
EdgeDB 2.0
with new binary protocol. - support for EdgeQL state via
EdgeDB.State
. - new
EdgeDB.Range
type to represent ranges fromEdgeDB 2.0
. - support for multiple EdgeQL statements execution via
EdgeDB.execute/4
andEdgeDB.execute!/4
.
changed-1
Changed
io_format
option tooutput_format
.
fixed-1
Fixed
- the ability to pass maps or keyword lists in a query that requires positional arguments.
0-3-0-2022-05-29
[0.3.0] - 2022-05-29
added-2
Added
- maps as a valid type for query arguments.
EdgeDB.Object.to_map/1
andEdgeDB.NamedTuple.to_map/1
functions.- optional support for
std::datetime
EdgeDB type viaTimex.Duration
structure. - custom modules for each EdgeDB exception with the
new/2
function, that will return theEdgeDB.Error
exception. - documentation for
EdgeDB.Error
functions that create new exceptions.
removed-1
Removed
- legacy arguments encoding.
changed-2
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
[0.2.1] - 2022-05-19
removed-2
Removed
- mention of
:repeatable_read
option for transaction isolation mode fromt:EdgeDB.edgedb_transaction_option/0
.
fixed-2
Fixed
- codec name returned by codec for
std::str
fromstd::uuid
tostr::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
[0.2.0] - 2022-05-03
added-3
Added
EdgeDB.Object.fields/2
,EdgeDB.Object.properties/2
,EdgeDB.Object.links/1
andEdgeDB.Object.link_properties/1
functions to inspect the fields of the object.EdgeDB.Error.inheritor?/2
function to check if the exception is an inheritor of another EdgeDB error.EdgeDB.Sandbox
module for use in tests involving database modifications.EdgeDB.Pool
to support dynamic resizing of the connection pool via messages from EdgeDB server.
fixed-3
Fixed
- creation of
EdgeDB.Object
properties equal to an emptyEdgeDB.Set
. - access to TLS certificate from connection options.
- isolation configuration by dropping
REPEATABLE READ
mode, because onlySERIALIZABLE
is supported byEdgeDB 1.0
(REPEATABLE READ
was dropped inEdgeDB 1.3
). - preserving the order of the values returned when working with
EdgeDB.NamedTuple
(EdgeDB.NamedTuple.to_tuple/1
,EdgeDB.NamedTuple.keys/1
), includingEnumerable
protocol implementation.
changed-3
Changed
- parsing of binary data from EdgeDB by completely reworking the protocol implementation.
- internal implementation of the
Access
behaviour forEdgeDB.Object
to improve fields access performance.
0-1-0-2022-02-10
[0.1.0] - 2022-02-10
added-4
Added
- First release.