Skip to content

Releases: man8/easylimit

v0.3.4

07 Nov 17:20
bac4af5

Choose a tag to compare

[0.3.4] - 2025-11-07

Added

  • PEP 561 py.typed marker file for full type hint support in downstream projects using mypy

Fixed

  • Fixed call tracking bug where try_acquire() and async_try_acquire() did not increment call_count when track_calls=True
  • Fixed call tracking bug where acquire() did not increment call_count when called directly (outside context manager) with track_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

  • Fix call tracking for all acquisition methods by @man8 in #15

Full Changelog: v0.3.3...v0.3.4

v0.3.3

07 Nov 16:07
f516bac

Choose a tag to compare

[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

Full Changelog: https://github.com/man8/easylimit/commits/v0.3.3