futurestudio/hapi-rate-limitor
### [`v2.13.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2130-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2120v2130---2020-06-01)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.12.0...v2.13.0)
##### Updated
- refined route-specific rate limit handling
##### Possible Breaking Changes
This release introduces an updated handling route-level max attempts.
**Previously**, the default (server-wide) rate limit affected route-level rate limits.
**Now**, the route-level rate limits are independend and not affected by the default rate limit.
Example: you have a `/login` route with `{ max: 10 }` configuration and your default configuration is `{ max: 60 }`. In the previous version, any request to other pages than `/login` would affect the max limit of 10 requests for the `/login` route. This behavior may have eaten all 10 requests already before even visiting the `/login` route. This new version handles the `/login` route independently from other pages because it has its own `max` configuration.
This changed handling may introduce a breaking change for your app if you previously worked around that issue. Sorry, if I’m causing you trouble. I’m releasing this version as a minor release in the `2.x` and `3.x` release lines. In case you’re using tilde (`~`) in your `package.json` file, you’re not directly updated to this version when running `npm install`.
### [`v2.12.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2120-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2110v2120---2019-11-22)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.11.0...v2.12.0)
##### Added
- Travis testing for Node v13
- TypeScript definitions for the rate limit request decoration and plugin options: this allows autocompletion in your editor (at least in VS Code :))
##### Updated
- bump dependencies
- internal refactorings: move event emitter to a dedicated class
- internal refactorings: move rate limit data to a dedicated class
##### Removed
- `lodash` as a dependency
- `@hapi/hoek` as a devDependency
### [`v2.11.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2110-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2100v2110---2019-10-17)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.10.0...v2.11.0)
##### Added
- basic TypeScript declarations in `lib/index.d.ts`
### [`v2.10.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2100-httpsgithubcomfuturestudiohapi-rate-limitorcomparev290v2100---2019-10-10)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.9.0...v2.10.0)
##### Added
- `getIp` option allowing you to manually determine the IP address from the request.
- Example:
```js
await server.register({
plugin: require('hapi-rate-limitor'),
options: {
getIp: async (request) => {
const ips = request.headers['x-forwarded-for'].split(',')
return ips[ips.length - 1]
}
}
}
```
- `emitter` option to pass in your custom event emitter
- dispatch rate limiting events: `rate-limit:attempt`, `rate-limit:in-quota`, `rate-limit:exceeded`
- every event listener receives the request as the only argument
### [`v2.9.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#290-httpsgithubcomfuturestudiohapi-rate-limitorcomparev280v290---2019-08-13)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.8.0...v2.9.0)
##### Added
- add `ipWhitelist` option representing an array of IP addresses that will skip rate limiting
##### Updated
- bump dependencies
- update NPM scripts
- minor code refinements
##### Removed
- Travis testing for Node.js version 11
### [`v2.8.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#280-httpsgithubcomfuturestudiohapi-rate-limitorcomparev271v280---2019-06-25)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.7.1...v2.8.0)
##### Added
- support for Redis connection string, like `redis: 'redis://user:pass@dokku-redis-lolipop:6379'` (Thank you Rob! [PR #37](https://togithub.com/futurestudio/hapi-rate-limitor/pull/37))
##### Updated
- minor code refinements
- bump dependencies
### [`v2.7.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#271-httpsgithubcomfuturestudiohapi-rate-limitorcomparev270v271---2019-05-10)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.7.0...v2.7.1)
##### Updated
- update to `@hapi/boom` from `boom`
- test Node.js v12
- bump dependencies
### [`v2.7.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#270-httpsgithubcomfuturestudiohapi-rate-limitorcomparev261v270---2019-05-04)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.6.1...v2.7.0)
##### Added
- ensure a user-defined view exists on server start, otherwise throw an error
##### Updated
- bump dependencies
- minor internal refactorings
### [`v2.6.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#261-httpsgithubcomfuturestudiohapi-rate-limitorcomparev260v261---2019-04-27)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.6.0...v2.6.1)
##### Updated
- bump dependencis
- update to hapi scoped dependencies
### [`v2.6.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#260-httpsgithubcomfuturestudiohapi-rate-limitorcomparev253v260---2019-02-28)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.3...v2.6.0)
##### Added
- wait for Redis connection `onPreStart`
- close Redis connection `onPostStop`
### [`v2.5.3`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#253-httpsgithubcomfuturestudiohapi-rate-limitorcomparev252v253---2019-02-18)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.2...v2.5.3)
##### Updated
- bump dependencies
- fix badges in Readme
- Changelog: rename GitHub references `fs-opensource -> futurestudio`
### [`v2.5.2`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#252-httpsgithubcomfuturestudiohapi-rate-limitorcomparev251v252---2019-01-26)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.1...v2.5.2)
##### Updated
- Readme: rename GitHub references `fs-opensource -> futurestudio`
### [`v2.5.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#251-httpsgithubcomfuturestudiohapi-rate-limitorcomparev250v251---2019-01-22)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.0...v2.5.1)
##### Updated
- update tests for hapi 18
- bump dependencies
### [`v2.5.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#250-httpsgithubcomfuturestudiohapi-rate-limitorcomparev240v250---2019-01-16)
[Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.4.0...v2.5.0)
##### Added
- plugin option `skip`: a function that determines whether to skip rate limiting for a request
##### Updated
- bump dependencies
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
2.4.0
->2.13.0
Release Notes
futurestudio/hapi-rate-limitor
### [`v2.13.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2130-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2120v2130---2020-06-01) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.12.0...v2.13.0) ##### Updated - refined route-specific rate limit handling ##### Possible Breaking Changes This release introduces an updated handling route-level max attempts. **Previously**, the default (server-wide) rate limit affected route-level rate limits. **Now**, the route-level rate limits are independend and not affected by the default rate limit. Example: you have a `/login` route with `{ max: 10 }` configuration and your default configuration is `{ max: 60 }`. In the previous version, any request to other pages than `/login` would affect the max limit of 10 requests for the `/login` route. This behavior may have eaten all 10 requests already before even visiting the `/login` route. This new version handles the `/login` route independently from other pages because it has its own `max` configuration. This changed handling may introduce a breaking change for your app if you previously worked around that issue. Sorry, if I’m causing you trouble. I’m releasing this version as a minor release in the `2.x` and `3.x` release lines. In case you’re using tilde (`~`) in your `package.json` file, you’re not directly updated to this version when running `npm install`. ### [`v2.12.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2120-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2110v2120---2019-11-22) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.11.0...v2.12.0) ##### Added - Travis testing for Node v13 - TypeScript definitions for the rate limit request decoration and plugin options: this allows autocompletion in your editor (at least in VS Code :)) ##### Updated - bump dependencies - internal refactorings: move event emitter to a dedicated class - internal refactorings: move rate limit data to a dedicated class ##### Removed - `lodash` as a dependency - `@hapi/hoek` as a devDependency ### [`v2.11.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2110-httpsgithubcomfuturestudiohapi-rate-limitorcomparev2100v2110---2019-10-17) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.10.0...v2.11.0) ##### Added - basic TypeScript declarations in `lib/index.d.ts` ### [`v2.10.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#2100-httpsgithubcomfuturestudiohapi-rate-limitorcomparev290v2100---2019-10-10) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.9.0...v2.10.0) ##### Added - `getIp` option allowing you to manually determine the IP address from the request. - Example: ```js await server.register({ plugin: require('hapi-rate-limitor'), options: { getIp: async (request) => { const ips = request.headers['x-forwarded-for'].split(',') return ips[ips.length - 1] } } } ``` - `emitter` option to pass in your custom event emitter - dispatch rate limiting events: `rate-limit:attempt`, `rate-limit:in-quota`, `rate-limit:exceeded` - every event listener receives the request as the only argument ### [`v2.9.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#290-httpsgithubcomfuturestudiohapi-rate-limitorcomparev280v290---2019-08-13) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.8.0...v2.9.0) ##### Added - add `ipWhitelist` option representing an array of IP addresses that will skip rate limiting ##### Updated - bump dependencies - update NPM scripts - minor code refinements ##### Removed - Travis testing for Node.js version 11 ### [`v2.8.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#280-httpsgithubcomfuturestudiohapi-rate-limitorcomparev271v280---2019-06-25) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.7.1...v2.8.0) ##### Added - support for Redis connection string, like `redis: 'redis://user:pass@dokku-redis-lolipop:6379'` (Thank you Rob! [PR #37](https://togithub.com/futurestudio/hapi-rate-limitor/pull/37)) ##### Updated - minor code refinements - bump dependencies ### [`v2.7.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#271-httpsgithubcomfuturestudiohapi-rate-limitorcomparev270v271---2019-05-10) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.7.0...v2.7.1) ##### Updated - update to `@hapi/boom` from `boom` - test Node.js v12 - bump dependencies ### [`v2.7.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#270-httpsgithubcomfuturestudiohapi-rate-limitorcomparev261v270---2019-05-04) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.6.1...v2.7.0) ##### Added - ensure a user-defined view exists on server start, otherwise throw an error ##### Updated - bump dependencies - minor internal refactorings ### [`v2.6.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#261-httpsgithubcomfuturestudiohapi-rate-limitorcomparev260v261---2019-04-27) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.6.0...v2.6.1) ##### Updated - bump dependencis - update to hapi scoped dependencies ### [`v2.6.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#260-httpsgithubcomfuturestudiohapi-rate-limitorcomparev253v260---2019-02-28) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.3...v2.6.0) ##### Added - wait for Redis connection `onPreStart` - close Redis connection `onPostStop` ### [`v2.5.3`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#253-httpsgithubcomfuturestudiohapi-rate-limitorcomparev252v253---2019-02-18) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.2...v2.5.3) ##### Updated - bump dependencies - fix badges in Readme - Changelog: rename GitHub references `fs-opensource -> futurestudio` ### [`v2.5.2`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#252-httpsgithubcomfuturestudiohapi-rate-limitorcomparev251v252---2019-01-26) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.1...v2.5.2) ##### Updated - Readme: rename GitHub references `fs-opensource -> futurestudio` ### [`v2.5.1`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#251-httpsgithubcomfuturestudiohapi-rate-limitorcomparev250v251---2019-01-22) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.5.0...v2.5.1) ##### Updated - update tests for hapi 18 - bump dependencies ### [`v2.5.0`](https://togithub.com/futurestudio/hapi-rate-limitor/blob/master/CHANGELOG.md#250-httpsgithubcomfuturestudiohapi-rate-limitorcomparev240v250---2019-01-16) [Compare Source](https://togithub.com/futurestudio/hapi-rate-limitor/compare/v2.4.0...v2.5.0) ##### Added - plugin option `skip`: a function that determines whether to skip rate limiting for a request ##### Updated - bump dependenciesRenovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.