Release Date: 2024-06-22
- Feature
- Add
cost
parameter totest
methods in strategies.
- Add
Release Date: 2024-05-12
- Enhancements
- Lazily initialize pymongo client
- Documentation
- Add django-ratelimiter in docs
- Chores
- Update development dependencies
- Update github actions to latest
Release Date: 2024-04-20
- Compatibility
- Add support for python 3.12
Release Date: 2024-03-17
- Compatibility
- Relax dependency constraint on packaging
Release Date: 2024-03-08
- Bug Fix
- Fix incorrect mapping of coredis exceptions
- Fix calculation of reset_time
Release Date: 2024-02-17
- Bug Fix
- Remove excessively low defaults for mongodb storage and instead delegate to the underlying dependency (pymongo, motor)
Release Date: 2024-02-14
- Features
- Add option to wrap storage errors with a
StorageError
exception
- Add option to wrap storage errors with a
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.
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
Release Date: 2023-05-16
- Bug Fix
- Handle
cost
> 8000 when using redis - Remove arbitrary default timeout for redis+sentinel
- Handle
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
Release Date: 2023-03-22
- Compatibility
- Block incompatible versions of redis-py
- Chores
- Force error on warnings in tests
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
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
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
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
Release Date: 2023-01-06
- Chores
- Fix benchmark result artifact capture
Release Date: 2023-01-06
- Chores
- Fix benchmark result artifact capture
Release Date: 2023-01-06
- Chores
- Collapse benchmark & ci workflows
Release Date: 2023-01-06
- Chores
- Fix compatibility tests for etcd in CI
- Improve visual identifiers of tests
- Add benchmark tests in CI
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
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
Release Date: 2022-12-23
- Chores
- Make rate limit items hashable
- Update test certificates
Release Date: 2022-12-11
- Compatibility Updates
- Update documentation dependencies
- Relax version constraint for packaging dependency
- Bump CI to use python 3.11 final
Release Date: 2022-10-20
- Compatibility Updates
- Increase pymemcached dependency range to in include 4.x
- Add python 3.11 rc2 to CI
Release Date: 2022-07-16
- Compatibility Updates
- Update :pypi:`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
Release Date: 2022-06-05
- Chores
- Update development dependencies
- Add CI for python 3.11
- Increase test coverage for redis sentinel
Release Date: 2022-05-12
- Compatibility Updates
- Update :pypi:`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 :pypi:`coredis` versions >= 3.5.0
Release Date: 2022-04-25
- Bug Fix
- Fix typing regression with strategy constructors Issue 88
Release Date: 2022-04-25
- Deprecation
- Removed tests for rediscluster using the :pypi:`redis-py-cluster` library
- Bug Fix
- Fix incorrect
__slots__
declaration in :class:`limits.RateLimitItem` and it's subclasses (Issue #121)
- Fix incorrect
Release Date: 2022-04-25
- Bug Fix
- Fix typing regression with strategy constructors Issue 88
Release Date: 2022-04-22
- Chore
- Automate Github releases
Release Date: 2022-04-17
- Chore
- Increase strictness of type checking and annotations
- Ensure installations from source distributions are PEP-561 compliant
Release Date: 2022-04-15
- Chore
- Ensure storage reset methods have consistent signature
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
Release Date: 2022-03-10
- Feature
- Allow passing an explicit connection pool to redis storage. Addresses Issue 77
Release Date: 2022-02-03
- Feature
- Add support for dns seed list when using mongodb
Release Date: 2022-01-30
- Chores
- Improve authentication tests for redis
- Update documentation theme
- Pin pip version for CI
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
Release Date: 2022-01-15
- Feature
- Add support for custom cost per hit
- Bug fix
- Fix installation issues with missing setuptools
Release Date: 2022-01-05
- Feature
- Enable async redis for python 3.10 via coredis
- Chore
- Fix typing issue with strategy constructors
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
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
- Fix custom option for cluster client in memcached
- Fix separation of sentinel & connection args in :class:`limits.storage.RedisSentinelStorage`
- Deprecation
- Deprecate GAEMemcached support
- Remove use of unused no_add argument in :meth:`limits.storage.MovingWindowSupport.acquire_entry`
- Chore
- Documentation theme upgrades
- Code linting
- Add compatibility CI workflow
Release Date: 2021-11-28
- Chore
- Ensure package is marked PEP-561 compliant
Release Date: 2021-11-28
- Chore
- Added type annotations
Release Date: 2021-11-27
- Chore
- Drop support for python < 3.7
Release Date: 2021-11-27
- Chore
- Final release for python < 3.7
Release Date: 2020-02-25
- Bug fix
- Remove duplicate call to ttl in RedisStorage
- Initialize master/slave connections for RedisSentinel once
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
Release Date: 2019-12-15
- Bug fix for implementation of clear in MemoryStorage not working with MovingWindow
Release Date: 2019-12-14
- Expose API for clearing individual limits
- Support for redis over unix domain socket
- Support extra arguments to redis storage
Release Date: 2018-01-28
- Remove pinging redis on initialization
Release Date: 2017-01-02
- Fix regression with csv as multiple limits
Release Date: 2016-09-21
- Support reset for RedisStorage
- Improved rate limit string parsing
Release Date: 2016-03-14
- Support reset for MemoryStorage
- Support for rediss:// storage scheme to connect to redis over ssl
Release Date: 2015-12-20
- Redis Cluster support
- Authentiation for Redis Sentinel
- Bug fix for locking failures with redis.
Release Date: 2015-10-08
- Redis Sentinel storage support
- Drop support for python 2.6
- Documentation improvements
Release Date: 2015-06-07
- No functional change
Release Date: 2015-05-13
- Bug fixes for .test() logic
Release Date: 2015-05-12
- Add support for testing a rate limit before hitting it.
Release Date: 2015-03-20
- Add support for passing options to storage backend
Release Date: 2015-01-10
- Improved documentation
- Improved usability of API. Renamed RateLimitItem subclasses.
Release Date: 2015-01-08
- Example usage in docs.
Release Date: 2015-01-08
- Initial import of common rate limiting code from Flask-Limiter