Changelog

v3.10.1

Release Date: 2024-03-17

  • Compatibility

    • Relax dependency constraint on packaging

v3.10.0

Release Date: 2024-03-08

  • Bug Fix

    • Fix incorrect mapping of coredis exceptions

    • Fix calculation of reset_time

v3.9.0

Release Date: 2024-02-17

  • Bug Fix

    • Remove excessively low defaults for mongodb storage and instead delegate to the underlying dependency (pymongo, motor)

v3.8.0

Release Date: 2024-02-14

  • Features

    • Add option to wrap storage errors with a StorageError exception

v3.7.0

Release Date: 2023-11-24

  • Features

    • Ensure rate limit keys in redis use are prefixed with a LIMITS prefix. This allows for resetting all keys generated by the library without implicit knowledge of the key structure.

v3.6.0

Release Date: 2023-08-31

  • Bug Fix

    • Remove default socket timeout from mongo storage

    • Ensure _version.py has stable content when generated using git archive from a tag regardless of when it is run.

  • Compatibility

    • Remove references to python 3.7

    • Remove unnecessary setuptools dependency

v3.5.0

Release Date: 2023-05-16

  • Bug Fix

    • Handle cost > 8000 when using redis

    • Remove arbitrary default timeout for redis+sentinel

v3.4.0

Release Date: 2023-04-17

  • Bug Fix

    • Remove use of weakreferences to storages in strategy classes as this was not documented or required and led to usability issues.

  • Chores

    • Update documentation dependencies

    • Remove unused gcra lua script

v3.3.1

Release Date: 2023-03-22

  • Compatibility

    • Block incompatible versions of redis-py

  • Chores

    • Force error on warnings in tests

v3.3.0

Release Date: 2023-03-20

  • Compatibility

    • Remove deprecated use of pkg_resources and switch to importlib_resource

  • Chores

    • Update documentation dependencies

    • Update github actions versions

v3.2.0

Release Date: 2023-01-24

  • Bug Fix

    • Fix handling of authentication details in storage url of redis cluster

  • Chores

    • Add test coverage for redis cluster with auth required

v3.1.6

Release Date: 2023-01-16

  • Bug Fix

    • Disallow acquiring amounts > limit in moving window

  • Usability

    • Use a named tuple for the response from RateLimiter.get_window_stats

v3.1.5

Release Date: 2023-01-12

  • Performance

    • Reduce rpc calls to etcd for counter increment

  • Compatibility

    • Relax version requirements for packaging dependency

  • Chores

    • Improve benchmark outputs

    • Improve documentation for etcd

v3.1.4

Release Date: 2023-01-06

  • Chores

    • Fix benchmark result artifact capture

v3.1.3

Release Date: 2023-01-06

  • Chores

    • Fix benchmark result artifact capture

v3.1.2

Release Date: 2023-01-06

  • Chores

    • Collapse benchmark & ci workflows

v3.1.1

Release Date: 2023-01-06

  • Chores

    • Fix compatibility tests for etcd in CI

    • Improve visual identifiers of tests

    • Add benchmark tests in CI

v3.1.0

Release Date: 2023-01-05

  • Compatibility

    • Increase minimum version of pymongo to 4.1

  • Chores

    • Refactor storage tests

    • Improve test coverage across python versions in CI

v3.0.0

Release Date: 2023-01-04

  • Features

    • Added etcd storage support for fixed window strategies

  • Compatibility

    • Removed deprecated GAE Memcached storage

    • Updated minimum dependencies for mongodb

    • Updated dependency for async memcached on python 3.11

v2.8.0

Release Date: 2022-12-23

  • Chores

    • Make rate limit items hashable

    • Update test certificates

v2.7.2

Release Date: 2022-12-11

  • Compatibility Updates

    • Update documentation dependencies

    • Relax version constraint for packaging dependency

    • Bump CI to use python 3.11 final

v2.7.1

Release Date: 2022-10-20

  • Compatibility Updates

    • Increase pymemcached dependency range to in include 4.x

    • Add python 3.11 rc2 to CI

v2.7.0

Release Date: 2022-07-16

  • Compatibility Updates

    • Update coredis requirements to include 4.x versions

    • Remove CI / support for redis < 6.0

    • Remove python 3.7 from CI

    • Add redis 7.0 in CI

v2.6.3

Release Date: 2022-06-05

  • Chores

    • Update development dependencies

    • Add CI for python 3.11

    • Increase test coverage for redis sentinel

v2.6.2

Release Date: 2022-05-12

  • Compatibility Updates

    • Update motor requirements to include 3.x version

    • Update async redis sentinel implementation to remove use of deprecated methods.

    • Fix compatibility issue with asyncio redis reset method in cluster mode when used with coredis versions >= 3.5.0

v2.6.1

Release Date: 2022-04-25

  • Bug Fix

    • Fix typing regression with strategy constructors Issue 88

v2.6.0

Release Date: 2022-04-25

v2.5.4

Release Date: 2022-04-25

  • Bug Fix

    • Fix typing regression with strategy constructors Issue 88

v2.5.3

Release Date: 2022-04-22

  • Chore

    • Automate Github releases

v2.5.2

Release Date: 2022-04-17

  • Chore

    • Increase strictness of type checking and annotations

    • Ensure installations from source distributions are PEP-561 compliant

v2.5.1

Release Date: 2022-04-15

  • Chore

    • Ensure storage reset methods have consistent signature

v2.5.0

Release Date: 2022-04-13

  • Feature

    • Add support for using redis cluster via the official redis client

    • Update coredis dependency to use 3.x

  • Deprecations

    • Deprecate using redis-py-cluster

  • Chores

    • Remove beta tags for async support

    • Update code base to remove legacy syntax

    • Tighten up CI test dependencies

v2.4.0

Release Date: 2022-03-10

  • Feature

    • Allow passing an explicit connection pool to redis storage. Addresses Issue 77

v2.3.3

Release Date: 2022-02-03

  • Feature

    • Add support for dns seed list when using mongodb

v2.3.2

Release Date: 2022-01-30

  • Chores

    • Improve authentication tests for redis

    • Update documentation theme

    • Pin pip version for CI

v2.3.1

Release Date: 2022-01-21

  • Bug fix

    • Fix backward incompatible change that separated sentinel and connection args for redis sentinel (introduced in 2.1.0). Addresses Issue 97

v2.3.0

Release Date: 2022-01-15

  • Feature

    • Add support for custom cost per hit

  • Bug fix

    • Fix installation issues with missing setuptools

v2.2.0

Release Date: 2022-01-05

  • Feature

    • Enable async redis for python 3.10 via coredis

  • Chore

    • Fix typing issue with strategy constructors

v2.1.1

Release Date: 2022-01-02

  • Feature

    • Enable async memcache for python 3.10

  • Bug fix

    • Ensure window expiry is reported in local time for mongodb

    • Fix inconsistent expiry for fixed window with memcached

  • Chore

    • Improve strategy tests

v2.1.0

Release Date: 2021-12-22

  • Feature

    • Add beta asyncio support

    • Add beta mongodb support

    • Add option to install with extras for different storages

  • Bug fix

  • Deprecation

  • Chore

    • Documentation theme upgrades

    • Code linting

    • Add compatibility CI workflow

v2.0.3

Release Date: 2021-11-28

  • Chore

    • Ensure package is marked PEP-561 compliant

v2.0.1

Release Date: 2021-11-28

  • Chore

    • Added type annotations

v2.0.0

Release Date: 2021-11-27

  • Chore

    • Drop support for python < 3.7

v1.6

Release Date: 2021-11-27

  • Chore

    • Final release for python < 3.7

v1.5.1

Release Date: 2020-02-25

  • Bug fix

    • Remove duplicate call to ttl in RedisStorage

    • Initialize master/slave connections for RedisSentinel once

v1.5

Release Date: 2020-01-23

  • Bug fix for handling TTL response from Redis when key doesn’t exist

  • Support Memcache over unix domain socket

  • Support Memcache cluster

  • Pass through constructor keyword arguments to underlying storage constructor(s)

  • CI & test improvements

v1.4.1

Release Date: 2019-12-15

  • Bug fix for implementation of clear in MemoryStorage not working with MovingWindow

v1.4

Release Date: 2019-12-14

  • Expose API for clearing individual limits

  • Support for redis over unix domain socket

  • Support extra arguments to redis storage

v1.3

Release Date: 2018-01-28

  • Remove pinging redis on initialization

v1.2.1

Release Date: 2017-01-02

  • Fix regression with csv as multiple limits

v1.2.0

Release Date: 2016-09-21

  • Support reset for RedisStorage

  • Improved rate limit string parsing

v1.1.1

Release Date: 2016-03-14

  • Support reset for MemoryStorage

  • Support for rediss:// storage scheme to connect to redis over ssl

v1.1

Release Date: 2015-12-20

  • Redis Cluster support

  • Authentiation for Redis Sentinel

  • Bug fix for locking failures with redis.

v1.0.9

Release Date: 2015-10-08

  • Redis Sentinel storage support

  • Drop support for python 2.6

  • Documentation improvements

v1.0.7

Release Date: 2015-06-07

  • No functional change

v1.0.6

Release Date: 2015-05-13

  • Bug fixes for .test() logic

v1.0.5

Release Date: 2015-05-12

  • Add support for testing a rate limit before hitting it.

v1.0.3

Release Date: 2015-03-20

  • Add support for passing options to storage backend

v1.0.2

Release Date: 2015-01-10

  • Improved documentation

  • Improved usability of API. Renamed RateLimitItem subclasses.

v1.0.1

Release Date: 2015-01-08

  • Example usage in docs.

v1.0.0

Release Date: 2015-01-08