Releases: igorcoding/asynctnt
Releases · igorcoding/asynctnt
v1.0b
Breaking changes: * Removed method `body2yaml` from Response. * Option `tuple_as_dict` is removed from `Connection` and all the methods. New features: * Making Response objects contain TarantoolTuple objects if format information is available either in space or in response from Tarantool (closes #3). * TarantoolTuple objects are index-agnostic, meaning one can access tuple value either by numeric index or by a key from `space:format()` specification. * You can directly access Response using indices (`resp[0]` instead of `resp.body[0]`). * Added supported for receiving `box.session.push()` messages from Tarantool by introducing new parameter `push_subscribe` to api methods in `Connection` and the PushIterator class to iterate over the push messages of a specific request. Changes: * Iteration over TarantoolTuple results in iterating over a raw tuple by indices. * TarantoolTuple has `.keys()`, `.values()` and `.items()` from the dict protocol. All these methods return iterators making it possible to iterate over keys, values or key-value pairs accordingly. `keys` and `items` methods ignore any extra fields if space format contains less fields than there are in the tuple. One can acces those extra fields by index numbers. * `Connection`'s default `connect_timeout` changed from `60` to `3` seconds. * Added `Connection.sql` method to execute SQL statements for Tarantool 2 (see asynctnt docs for details). * `select`: changed default iterator type to `ALL` if no key provided (fixes #2) * `Response` new function `done()` indicates if Response is actually finished. * `schema_id` is not being sent to Tarantool to check against current schema version. Instead schema is only checked and refetched if needed only _after_ the request. This ensures that request is executed in a "constant" time rather than unpredicted with possible schema changes. * Improved `Connection.refetch_schema()` method to ensure there is only one currently running refetch process. Other changes: * `asynctnt` now ships with precompiled wheel packages. * Changed version numbering. * Updated `Cython` to version `0.29` * Updated `msgpuck` version * Improved speed of asynctnt method calls a bit more
v0.2.0
Changes: * Improved and simplified connect/reconnect process * Added ContextManager async with protocol for Connection * Added `is_fully_connected` property to Connection * Added disconnect Lock Bugs Fixed: * Auto reconnect misbehaved on double on_connection_lost trigger (#11)
v0.1.13: Changes:
Changes:
- Now
connect()
method call ofConnection
class blocks until connected
even if anotherconnect()
is happening in parallel. This resolves issue
of cancelled coroutines if one tries to connect in parallel coroutines.
Bugs fixed:
v0.1.12
Fix compatibility with Python 3.7
v0.1.11: Several fixes
* Fixed parsing binary data which is represented in Tarantool as MP_STR. Now returning bytes object when this situation occurs - no unicode decoding happens (fixes #4). * Propagating any parsing errors to waiter. * Changed log level of "field not in format" from WARNING to DEBUG (fixes #5).
v0.1.10
Fix schema parsing with new Tarantool 1.7.5 _index parts
v0.1.9
Added Tarantool 1.8 to travis build for ubuntu
v0.1.8
Removed async/await around protocol methods in Connection class
v0.1.7
update gitignore
v0.1.6
Schema autorefetch bugfix