Skip to content

Releases: lupko/etcd3-client

Release 0.98.0

07 Jun 11:23
Compare
Choose a tag to compare
  • No functional changes
  • Move to protobuf 5.27.1
    • Gencode used in buf.build locked on 5.27.1
    • Runtime code >= 5.27.1
  • Move to grpcio >= 1.59
    • First grpcio version to support Python 3.12
    • Gencode used in buf.build locked on 1.59
    • Runtime code >= 1.59

Release 0.97.0

19 Jul 06:48
Compare
Choose a tag to compare
  • Enhance WatchResponse with method to count events by type
    • Done without materialization of event classes
    • Useful especially for clients which analyze possibly large incoming event batches and
      look for those that only describe DELETEs.

Release 0.96.0

18 Jul 17:00
Compare
Choose a tag to compare
  • Enhance WatchResponse to allow lazy event materialization
    • Old implementation read and created instances of Event for all events in the response
    • With large watch responses, this can contribute to memory usage spikes
    • The response now allows iterating events via generator, accessing events by index and determining
      number of events without the eager materialization
  • Refactored Event and KVMetadata classes to not eagerly access fields from etcd response

0.95.1

13 Jul 11:47
Compare
Choose a tag to compare
  • Fix for paged gets: do not send any sorting parameters as the default is already key-ascending order

0.95.0

12 Jul 21:08
Compare
Choose a tag to compare
  • Allow limit argument on get_* calls
    • The value specified in limit is passed to etcd server; limiting happens server side
  • Add support for paged gets of range of keys and keys starting with a prefix
    • This can be useful for clients that do stream processing on large number of key-value pairs
    • Without paging, the response from etcd can be quite large and lead to memory spikes in the client
    • With paging, results are obtained in smaller pages, so these memory spikes are not so significant.
    • The paged results are still presented as a single, continuous stream of key-value pairs

0.94.0

18 May 06:21
Compare
Choose a tag to compare
  • Reduce memory usage for watches and events
    • Watch internals now use classes with slots for objects with high cardinality
    • Switched to lazy get of value / prev_kv value in events

0.93.0

04 May 10:41
Compare
Choose a tag to compare
  • Allow timeout_override on all calls
    • The timeout specified when client is created is used by default for all calls
    • On per-call basis, it is possible to override this and use different value
    • You may find this useful if you normally keep the timeouts low and aggressive but then have
      a few outlier calls that are expected to take longer.

0.92.0

25 Apr 08:22
Compare
Choose a tag to compare
  • Allow get calls on particular revision
    • This is enabled on all get calls including get done in transactions using TransactionBuilder
    • Compaction errors are propagated as-is without additional wrapping

0.91.0

08 Mar 06:15
Compare
Choose a tag to compare

Adds a more convenient way to start transactions and process their responses:

  • client.txn() method added
  • TransactionBuilder added; fluent API to build transaction request
  • TransactionResponse facade added; type-safe API to work with transaction response

0.90

07 Mar 16:36
Compare
Choose a tag to compare
0.90.0

Add wheel to project dependencies