Skip to content

Releases: lupko/etcd3-client

Release 0.103.0

06 Feb 16:06

Choose a tag to compare

  • Fixed error handling for paged queries
    • Error translation was not done for these so errors flew through without
      conversion to client-specific ones

Release 0.102.0

14 Dec 16:24

Choose a tag to compare

  • Fixed bad range_end computation logic
    • This was not ready for keys whose last byte is 0xFF
    • It only implemented the happy path which worked fine when the keys / prefixes
      were strings (0xFF is not a 'normal' character). There is solid change for
      breakage when keys provided by caller are binary

Release 0.101.0

09 Dec 16:45

Choose a tag to compare

  • No functional changes
  • Project sanity
    • Dropped support for Python 3.9 as it is now EOL
    • Added support for Python 3.14; moved to dev environment to 3.14
  • Move to protobuf >=6.33.1, including gencode bump
    • Gencode used in buf.build locked on 6.33.1
    • Runtime code >= 6.33.1
    • Runtime code now allows bump to the future 7.x which supports protobufs generated by 6.x
  • Move to grpcio >= 1.75.1
    • First version to support Python 3.14

Release 0.100.0

12 Nov 09:43

Choose a tag to compare

  • Enhance WatchResponse with max_mod_revision property
    • This should be used for purposes of tracking revision high watermark; using WatchResponse's header
      revision is unsafe for this purpose.

Release 0.99.0

15 Jul 14:47

Choose a tag to compare

  • Expanded status() call to include all available information
    • Also includes cluster_id and member_id from status response's header

Release 0.98.0

07 Jun 11:23

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

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

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

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

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