Skip to content

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

v6.2.1

10 Feb 15:17
v6.2.1
49294c8
Compare
Choose a tag to compare

Fixed

  • Use the default value for an option when undefined is passed to the rate
    limiter.

v6.2.0

22 Jan 13:49
v6.2.0
a8dc1f7
Compare
Choose a tag to compare

Added

  • Export the MemoryStore, so it can now be imported as a named import
    (import { MemoryStore } from 'express-rate-limit').

Fixed

  • Deprecate the onLimitReached option (this was supposed to be deprecated in
    v6.0.0 itself); developers should use a custom handler function that checks if
    the rate limit has been exceeded instead.

v6.1.0

12 Jan 04:22
v6.1.0
7adc756
Compare
Choose a tag to compare

Added

  • Added a named export rateLimit in case the default import does not work.

Fixed

  • Added a named export default, so Typescript CommonJS developers can default-import the library (import rateLimit from 'express-rate-limit').

v6.0.5

06 Jan 13:26
v6.0.5
2fdc2ff
Compare
Choose a tag to compare

Fixed

  • Use named imports for ExpressJS types so users do not need to enable the esModuleInterop flag in their Typescript compiler configuration.

v6.0.4

02 Jan 13:53
Compare
Choose a tag to compare

Fixed

  • Upload the built package as a .tgz to GitHub releases.

Changed

  • Add main and module fields to package.json. This helps tools such as ESLint that do not yet support the exports field.
  • Bumped the minimum node.js version in package-lock.json to match package.json

v6.0.3

30 Dec 17:00
Compare
Choose a tag to compare

Changed

v6.0.2

30 Dec 06:38
0944443
Compare
Choose a tag to compare

Fixed

  • Ensure CommonJS projects can import the module.

Added

  • Add additional tests that test:
    • importing the library in js-cjs, js-esm, ts-cjs, ts-esm environments.
    • usage of the library with external stores (redis, mongo, memcached, precise).

Changed

  • Use esbuild to generate ESM and CJS output. This reduces the size of the built package from 138 kb to 13kb and build time to 4 ms! 🚀
  • Use dts-bundle-generator to generate a single Typescript declaration file.

v6.0.1

25 Dec 10:03
b160f00
Compare
Choose a tag to compare

Fixed

  • Ensure CommonJS projects can import the module.

v6.0.0

24 Dec 17:28
Compare
Choose a tag to compare

Added

  • express 4.x as a peer dependency.
  • Better Typescript support (the library was rewritten in Typescript).
  • Export the package as both ESM and CJS.
  • Publish the built package (.tgz file) on GitHub releases as well as the npm registry.
  • Issue and PR templates.
  • A contributing guide.
  • A changelog.

Changed

  • Rename the draft_polli_ratelimit_headers option to standardHeaders.
  • Rename the headers option to legacyHeaders.
  • Retry-After header is now sent if either legacyHeaders or standardHeaders is set.
  • Allow keyGenerator to be an async function/return a promise.
  • Change the way custom stores are defined.
    • Add the init method for stores to set themselves up using options passed to the middleware.
    • Rename the incr method to increment.
    • Allow the increment, decrement, resetKey and resetAll methods to return a promise.
    • Old stores will automatically be promisified and used.
  • The package can now only be used with NodeJS version 12.9.0 or greater.
  • The onLimitReached configuration option is now deprecated. Replace it with a custom handler that checks the number of hits.

Removed

  • Remove the deprecated limiter.resetIp method (use the limiter.resetKey method instead).
  • Remove the deprecated options delayMs, delayAfter (the delay functionality was moved to the express-slow-down package) and global (use a key generator that returns a constant value).