Releases: man8/easylimit
Releases · man8/easylimit
v0.3.4
[0.3.4] - 2025-11-07
Added
- PEP 561
py.typedmarker file for full type hint support in downstream projects using mypy
Fixed
- Fixed call tracking bug where
try_acquire()andasync_try_acquire()did not incrementcall_countwhentrack_calls=True - Fixed call tracking bug where
acquire()did not incrementcall_countwhen called directly (outside context manager) withtrack_calls=True - Fixed inefficient double-locking in
_record_call()implementation - All acquisition methods now consistently track calls when tracking is enabled
Changed
- Refactored call tracking to be implemented at the internal method level (
_try_consume_one_token_sync,_try_acquire_sync) for cleaner architecture - Context managers (
__enter__,__aenter__) now delegate tracking to underlying acquisition methods
What's Changed
Full Changelog: v0.3.3...v0.3.4
v0.3.3
[0.3.3] - 2025-11-07
Added
- Comprehensive community health documentation
- CONTRIBUTING.md with development guidelines and Conventional Commits spec
- CODE_OF_CONDUCT.md (Contributor Covenant v2.1)
- SECURITY.md with vulnerability reporting process
- GitHub issue templates (bug report, feature request)
- GitHub pull request template
- Development infrastructure
- Pre-commit hooks for secret scanning, linting, and formatting
- Conventional Commits validation
- SECURITY_SETUP.md guide for GitHub security features
- Repository discoverability improvements
- Added 8 topics for better GitHub search visibility
- License and Downloads badges in README
Changed
- CI/CD workflow optimized: removed redundant integration job
- Branch protection configured with standard rules for open source projects
- Test markers simplified: removed misleading "integration" markers
- Documentation improvements across README, CONTRIBUTING, and CLAUDE.md
Fixed
- GitHub Actions workflow permissions set explicitly (CodeQL compliance)
Infrastructure
- First release to PyPI using automated GitHub Actions with Trusted Publishing
- Python 3.13 classifier added to package metadata
- Dynamic versioning configured (single source in init.py)
What's Changed
- Add tests for Python 3.13 by @man8 in #1
- Add call tracking capabilities to RateLimiter (MAN8-4758) by @devin-ai-integration[bot] in #3
- Add RateLimiter.unlimited() static method for MAN8-4794 by @man8 in #5
- docs: add local lint/type-check instructions by @man8 in #7
- feat: implement proper token bucket with burst support and period-based API by @man8 in #8
- Support float for limit parameter by @man8 in #9
- Add initial_tokens parameter to RateLimiter constructor by @man8 in #14
- Add async context manager support by @man8 in #13
- Fix easylimit async_acquire call count bug by @man8 in #16
New Contributors
- @man8 made their first contribution in #1
- @devin-ai-integration[bot] made their first contribution in #3
Full Changelog: https://github.com/man8/easylimit/commits/v0.3.3