Skip to content

v0.3.0: cluster!, better async and more

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 03 Aug 02:55
2340bbb

New

  • official support for cluster servers!!!
  • now all operations support omitting exceptions
  • make_key, make_pattern, encode and decode are now functions, so they can be used outside the backend (e.g: when using the raw client)
  • django_valkey.get_valkey_connection now works with shard client as well
  • replace django's close_caches receiver with close_async_caches

bug fix

  • fixed bug of omit_exception not handling generator and async generators
  • fixed bug of async get_valkey_connection checking if the client is async.

internal change

  • make_key and make_pattern return None if key/pattern is None
  • moved all operations from django_valkey.cache and django_valkey.async_cache.cache to django_valkey.base.
  • cluster client now uses the same methods as normal client, unless it has to have a specific method.
  • prefixing async methods with a is done dynamically now; (so no more aset = set), it's all handled in __getattr__.
  • moved async client methods to django_valkey.base_client.AsyncClientCommands.
  • moved sync client methods to django_valkey.base_client.ClientCommands.
  • make_key, make_pattern, encode, decode, _decode_iterable_result are now all sync methods and moved to django_valkey.base_client.BaseClient.
  • AsyncHerdClient._pack and AsyncHerdClient._unpack are now sync methods.
  • common parts of herd clients now live in django_valkey.base_client
  • shard client now has get_client instead of get_server
  • all tests now use pytest tools
  • use anyio for async tests instead of pytest-asyncio
  • add editorconfig file