Skip to content

v1.0.0-rc2: Introduction of Leaky Bucket and Concurrency Limiters with Enhanced Test Coverage

Pre-release
Pre-release
Compare
Choose a tag to compare
@neelp03 neelp03 released this 23 Nov 22:04
· 1 commit to main since this release
0b84caa

Release Notes for v1.0.0-rc2

What's New

  • Leaky Bucket Rate Limiter Implemented

    • New Policy Added: Introduced the Leaky Bucket rate limiting policy (LeakyBucketLimiter), providing a smooth and controlled request flow.
    • Fully Functional Implementation: The leaky bucket algorithm is now fully integrated and functional within the library.
    • Concurrency Limit Integration: Added concurrency limit capabilities to the leaky bucket limiter, allowing control over simultaneous requests.
  • Concurrency Rate Limiter Introduced

    • New Policy Added: Implemented the Concurrency rate limiting policy (ConcurrencyLimiter), enabling limitation on the number of concurrent requests.
    • Integration with Existing Limiters: Works seamlessly with other rate limiting policies for comprehensive control.
  • Enhanced Test Coverage and Stability

    • Extensive Test Cases Added:
      • Memory Store (memory.go): Added additional test cases to improve coverage and ensure reliability.
      • Redis Store (redis.go): Improved test coverage with new test cases and fixed previous test errors.
      • Rate Limiter Core (ratelimiter.go): Included tests covering various policies and their integrations.
      • Sliding Window Limiter: Added more test cases to achieve better coverage and identify edge cases.
    • Fixed Test Errors:
      • Memory Goroutine Issues: Resolved test errors related to goroutines in the memory store.
    • Integration Tests Updated:
      • Ensured all limiters work together smoothly through updated integration tests.
  • Documentation and Changelog Updates

    • Changelog Added:
      • Created a CHANGELOG.md file to document all changes, features, and fixes in this release and previous ones.
    • README Updated:
      • Revised README.md to reflect new features, including usage instructions for the Leaky Bucket and Concurrency limiters.
      • Improved documentation for better clarity and ease of understanding.

Bug Fixes

  • Test Fixes and Stability Improvements

    • Addressed and fixed various test errors to ensure all tests pass reliably.
    • Improved the stability of tests across different environments.
  • Integration Fixes

    • Fixed issues in integration tests to ensure seamless operation of all rate limiting policies when used together.

Notes

  • Backward Compatibility

    • Maintained compatibility with existing implementations; no breaking changes introduced.
    • Existing users can upgrade without modifying their current integrations.
  • Testing and Validation

    • Comprehensive tests included for all new features and changes.
    • Users are encouraged to run tests in their environments to validate functionality.

Next Steps:

  • Feedback Requested

    • Please test this release candidate thoroughly.
    • Report any issues or provide feedback on GitHub to help us prepare for the final v1.0.0 release.
  • Future Plans

    • Focus on performance optimizations and additional features in upcoming releases.
    • Continued improvement of test coverage and documentation.

Summary:

This release candidate marks a significant milestone with the introduction of the Leaky Bucket and Concurrency rate limiters, offering more flexibility and control over request management. Enhanced test coverage and documentation ensure that the library is reliable, and user-friendly.