Skip to content

Releases: express-rate-limit/express-rate-limit

v7.1.1

09 Oct 10:53
v7.1.1
8e2a93e
Compare
Choose a tag to compare

Misc


You can view the full changelog here.

v7.1.0

04 Oct 14:20
Compare
Choose a tag to compare

Changed

  • The getKey method is now always defined. If the store does not have the
    required get method, getKey will throw an error explaining this.

You can view the full changelog here.

v7.0.2

26 Sep 19:50
Compare
Choose a tag to compare

Added

  • Added cluster-memory-store to the readme and made a couple of other minor
    clarifications.

You can view the full changelog here.

v7.0.1

16 Sep 07:50
v7.0.1
e641a54
Compare
Choose a tag to compare

Added

  • Added rate-limit-postgresql to the stores list in the readme.

You can view the full changelog here.

v7.0.0

12 Sep 16:25
v7.0.0
1b6c5ef
Compare
Choose a tag to compare

Breaking

  • Changed behavior when max is set to 0:
    • Previously, max: 0 was treated as a 'disable' flag and would allow all requests through.
    • Starting with v7, all requests will be blocked when max is set to 0.
    • To replicate the old behavior, use the skip function instead.
  • Renamed req.rateLimit.current to req.rateLimit.used.
    • current is now a hidden getter that will return the used value, but it will not appear when iterating over the keys or calling JSON.stringify().
  • Changed the minimum required Node version from v14 to v16.
    • express-rate-limit now targets es2022 in TypeScript/ESBuild.
  • Bumped TypeScript from v4 to v5 and dts-bundle-generator from v7 to v8.

Deprecated

  • Removed the draft_polli_ratelimit_headers option (it was deprecated in v6).
    • Use standardHeaders: 'draft-6' instead.
  • Removed the onLimitReached option (it was deprecated in v6).
    • This is an example of how to replicate it's behavior with a custom handler option.

Changed

  • The MemoryStore now uses precise, per-user reset times rather than a global window that resets all users at once.
  • The limit configuration option is now prefered to max.
    • It still shows the same behavior, and max is still supported. The change was made to better align with terminology used in the IETF standard drafts.

Added

  • The validate config option can now be an object with keys to enable or disable specific validation checks. For more information, see this.

v6.11.2

12 Sep 02:02
Compare
Choose a tag to compare

Fixed

  • Restored IncrementResponse TypeScript type (See #397)

v6.11.1

10 Sep 17:10
08f936d
Compare
Choose a tag to compare

Fixed

  • Check for prefixed keys when validating that the stores have single counted keys (See #395).

v6.11.0

06 Sep 13:55
625ce86
Compare
Choose a tag to compare

Added

  • Support for retrieving the current hit count and reset time for a given key from a store (See #390).

v6.10.0

30 Aug 23:32
Compare
Choose a tag to compare

Added

  • Support for combined RateLimit header from the RateLimit header fields for HTTP standardization draft adopted by the IETF. Enable by setting standardHeaders: 'draft-7'
  • New standardHeaders: 'draft-6' option, treated equivalent to standardHeaders: true from previous releases. (true and false are still supported.)
  • New RateLimit-Policy header added when standardHeaders is set to 'draft-6', 'draft-7', or true
  • Warning when using deprecated draft_polli_ratelimit_headers option
  • Warning when using deprecated onLimitReached option
  • Warning when totalHits value returned from Store is invalid

v6.9.0

06 Aug 03:36
Compare
Choose a tag to compare

Added

  • New validaion check for double-counted requests
  • Added help link to each ValidationError, directing users to the appropriate wiki page for more info

Changed

  • Miscaleanous documenation improvements

You can view the full changelog here.