Skip to content

Releases: animir/node-rate-limiter-flexible

Set method + types fixes

14 Jan 11:43
Compare
Choose a tag to compare
  • New set method implemented for all limiters.
  • RateLimiterRes constructor types is fixed. Thanks @raelcun
  • IRateLimiterResOptions is deprecated in favour of IRateLimiterRes interface.
  • RLWrapperBlackAndWhite options isWhite and isBlack are deprecated. Use isBlackListed and isWhiteListed instead.

Never expiring keys + fixes

14 Dec 05:08
Compare
Choose a tag to compare
  • All limiters support Never Expiring keys now. If limiter option duration is 0 or block method called with 0 duration, key is never expiring. Note: if you want to start using never expiring keys with already created MySQL or Postgres limiters, make sure database table is re-created or alter db table to allow expire column to be NULL.
  • Added IRateLimiterResOptions interface. Thank you Eladio Mora.
  • Tests configured to be checked by eslint now. Thanks @mkxml (issue #28)
  • Fixed typing for rateLimiterInstance.get(). Thanks @ephemer.
  • Fixed ExpressBruteFlexible reset works with ignoreIP option.
  • Added ExpressBruteFlexible prefix option for keys.

RateLimiterQueue TypeScript bindings + MySQL fix + Cluster fix

21 Sep 06:46
Compare
Choose a tag to compare
  • Fix #36 to allow dashes in MySQL database name.
  • RateLimiterQueue TypeScript bindings.
  • Fix Cluster limiter: it should respect all possible options to make difference between several limiters.

RateLimiterQueue

14 Jul 05:52
Compare
Choose a tag to compare

Features:

  • RateLimiterQueue limiter with FIFO queue support on single server or distributed environment.

Bug-fixes:

  • Use Mongo limiter with mongoose even if connection is not established yet. Thanks to @tero (issue #26)
  • Maximum call stack size exceeded on unavailable memcached. Thanks to @OndroNR (issue #33)
  • Wiki Login endpoint protection example bug. Thanks to @hburrows (issue #35)

blockDuration with inmemoryBlock superpower

20 Apr 07:15
Compare
Choose a tag to compare

Features:

  • add ExpressBrute analog middleware
  • use blockDuration with inmemoryBlock

Consume, penalty and reward with customDuration options

04 Apr 06:02
Compare
Choose a tag to compare

Features:

  • use consume(key, points, {customDuration: 1}) to dynamically change a duration of a current call for a key fixed by global duration

Bug fixes:

  • postgres limiter: create table (thank you @jdgriffith )
  • memory limiter: block method duration
  • memcache limiter: fix possible race condition

MongoDB compound index sharding support

08 Mar 10:32
Compare
Choose a tag to compare

Features:

  • MongoDB limiter supports compound unique index sharding with indexKeyPrefix option now.
  • disable prefixing keys with empty keyPrefix option.
  • mongodb: specify collection name with tableName option.

Bug fixes:

  • postgresql: fix bug storing limits on different tables.
  • implement toString, symbol inspect and toJSON for RateLimiterRes.
  • fix RateLimiterUnion's consume TS response type (thanks @zephraph )
  • add type signatures for toString and toJSON methods of RateLimiterRes (thanks @michaeldzjap )

Add delete method and fix MySQL Sequelize delete expired

29 Jan 13:12
Compare
Choose a tag to compare

Fix TS bindings

24 Dec 07:30
Compare
Choose a tag to compare
v0.21.0

0.21.0

Add RateLimiterMemcache

23 Dec 06:58
Compare
Choose a tag to compare
  • fix skipped black and white wrapper import