New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lifion-kinesis

Package Overview
Dependencies
Maintainers
4
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lifion-kinesis - npm Package Compare versions

Comparing version 1.0.10 to 1.0.11

552

CHANGELOG.md

@@ -1,336 +0,266 @@

## Changelog
### Changelog
All notable changes to this project will be documented in this file.
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
### v1.0.10 (2019-08-02)
#### [v1.0.11](https://github.com/lifion/lifion-kinesis/compare/v1.0.10...v1.0.11)
- [`#199`](https://github.com/lifion/lifion-kinesis/pull/199): Recreate the shard iterator if it expired in between polling reads
- [`#197`](https://github.com/lifion/lifion-kinesis/pull/197): Update dependency husky to ^3.0.2
- [`#198`](https://github.com/lifion/lifion-kinesis/pull/198): Update dependency aws-sdk to ^2.503.0
- [`#196`](https://github.com/lifion/lifion-kinesis/pull/196): Update dependency aws-sdk to ^2.501.0
- [`#194`](https://github.com/lifion/lifion-kinesis/pull/194): Update dependency lint-staged to ^9.2.1
- [`#195`](https://github.com/lifion/lifion-kinesis/pull/195): Update dependency aws-sdk to ^2.500.0
- [`#193`](https://github.com/lifion/lifion-kinesis/pull/193): Update dependency aws-sdk to ^2.499.0
- [`#191`](https://github.com/lifion/lifion-kinesis/pull/191): Update dependency aws-sdk to ^2.498.0
- [`#192`](https://github.com/lifion/lifion-kinesis/pull/192): Update dependency semver to ^6.3.0
- [`#190`](https://github.com/lifion/lifion-kinesis/pull/190): Update dependency aws-sdk to ^2.497.0
- [`#189`](https://github.com/lifion/lifion-kinesis/pull/189): Update dependency aws-sdk to ^2.496.0
- [`#188`](https://github.com/lifion/lifion-kinesis/pull/188): Update dependency husky to ^3.0.1
- [`#187`](https://github.com/lifion/lifion-kinesis/pull/187): Update dependency aws-sdk to ^2.495.0
- [`#186`](https://github.com/lifion/lifion-kinesis/pull/186): Update dependency aws-sdk to ^2.494.0
- [`25e92c5`](https://github.com/lifion/lifion-kinesis/commit/25e92c53da9809aa4ef1cd3249d4bf7d178dc05b): Recreate the shard iterator if it is expired
- [`62a37b0`](https://github.com/lifion/lifion-kinesis/commit/62a37b02c8c59c0e3eed1df20b7a059671c0260f): Recreate lock file
- [`2ca7572`](https://github.com/lifion/lifion-kinesis/commit/2ca7572039f1bdf67a1180672180c6254a61b8c3): Upgrade dependencies
> 21 August 2019
### v1.0.9 (2019-07-09)
- Bugfix/enhanced consumers assign conflict [`#208`](https://github.com/lifion/lifion-kinesis/pull/208)
- Update dependency aws-sdk to ^2.505.0 [`#201`](https://github.com/lifion/lifion-kinesis/pull/201)
- Update dependency aws-sdk to ^2.504.0 [`#200`](https://github.com/lifion/lifion-kinesis/pull/200)
- Adopt the latest core commons [`87890c8`](https://github.com/lifion/lifion-kinesis/commit/87890c862efa75c180d2ea7ccb601acb32d983d9)
- Recover 100% test coverage [`774af91`](https://github.com/lifion/lifion-kinesis/commit/774af912f4e08968b4b2cd95582b2f3f89eec5a4)
- Fix failing tests [`644e9a6`](https://github.com/lifion/lifion-kinesis/commit/644e9a62115bb915d63637933d51b63abd498ca5)
- [`#177`](https://github.com/lifion/lifion-kinesis/pull/177): Bugfix/await reconciliation
- [`#176`](https://github.com/lifion/lifion-kinesis/pull/176): Update dependency eslint-config-lifion to ^1.2.4
- [`#167`](https://github.com/lifion/lifion-kinesis/pull/167): Update dependency aws-sdk to ^2.486.0
- [`#168`](https://github.com/lifion/lifion-kinesis/pull/168): Update dependency semver to ^6.1.3
- [`#169`](https://github.com/lifion/lifion-kinesis/pull/169): Update dependency lint-staged to v9
- [`#170`](https://github.com/lifion/lifion-kinesis/pull/170): Update dependency husky to v3
- [`#165`](https://github.com/lifion/lifion-kinesis/pull/165): Update dependency aws-sdk to ^2.484.0
- [`#166`](https://github.com/lifion/lifion-kinesis/pull/166): Update dependency husky to ^2.7.0
- [`#164`](https://github.com/lifion/lifion-kinesis/pull/164): Update dependency eslint to ^6.0.1
- [`#163`](https://github.com/lifion/lifion-kinesis/pull/163): Update dependency aws-sdk to ^2.481.0
- [`#159`](https://github.com/lifion/lifion-kinesis/pull/159): Update dependency aws-sdk to ^2.480.0
- [`#160`](https://github.com/lifion/lifion-kinesis/pull/160): Update dependency eslint to v6
- [`#161`](https://github.com/lifion/lifion-kinesis/pull/161): Update dependency semver to ^6.1.2
- [`#162`](https://github.com/lifion/lifion-kinesis/pull/162): Update dependency husky to ^2.5.0
- [`#158`](https://github.com/lifion/lifion-kinesis/pull/158): Update dependency aws-sdk to ^2.479.0
- [`#157`](https://github.com/lifion/lifion-kinesis/pull/157): Adopt GitHub Actions
- [`#156`](https://github.com/lifion/lifion-kinesis/pull/156): Update dependency eslint-config-lifion to ^1.2.3
- [`#151`](https://github.com/lifion/lifion-kinesis/pull/151): Update dependency prettier to ^1.18.2
- [`#152`](https://github.com/lifion/lifion-kinesis/pull/152): Update dependency aws-sdk to ^2.478.0
- [`#154`](https://github.com/lifion/lifion-kinesis/pull/154): Update dependency husky to ^2.4.1
- [`#155`](https://github.com/lifion/lifion-kinesis/pull/155): Update dependency lint-staged to ^8.2.1
- [`#150`](https://github.com/lifion/lifion-kinesis/pull/150): Update dependency aws-sdk to ^2.470.0
- [`#148`](https://github.com/lifion/lifion-kinesis/pull/148): Update dependency aws-sdk to ^2.469.0
- [`#149`](https://github.com/lifion/lifion-kinesis/pull/149): Update dependency lint-staged to ^8.2.0
- [`6f8d45f`](https://github.com/lifion/lifion-kinesis/commit/6f8d45fdfbb2ea062935fe218b3b1dd87091c9e6): Adopt the latest linter
- [`b330f4e`](https://github.com/lifion/lifion-kinesis/commit/b330f4e7a3878552e051ff4c5fb7f35fac4c81a2): Correct ESLint integration
- [`14d49d7`](https://github.com/lifion/lifion-kinesis/commit/14d49d7c238dc6d5e0d8323b6e3c5c4b333b1df8): Update main.workflow
- [`e772433`](https://github.com/lifion/lifion-kinesis/commit/e77243331c4a6454b4bb46def8d8efa9766b5b6e): Update main.workflow
- [`a764481`](https://github.com/lifion/lifion-kinesis/commit/a764481469065fd6b6c07390c7a2e277e9f80567): Correct the maintainers
- [`311823b`](https://github.com/lifion/lifion-kinesis/commit/311823b6fa214bf7b5869db3b25f391fe5379eae): Update contributors
- [`62e21f6`](https://github.com/lifion/lifion-kinesis/commit/62e21f6a9aa908c4451b10b60852594ae2313ceb): Add a missing await in acquireLeases
- [`fb8bf08`](https://github.com/lifion/lifion-kinesis/commit/fb8bf0897f0651e3c4e288afa86c1c7f9263a503): Update main.workflow
- [`8705869`](https://github.com/lifion/lifion-kinesis/commit/8705869855ea4adbf76461cd640ee8444604b78f): Avoid formatting coverage files
#### [v1.0.10](https://github.com/lifion/lifion-kinesis/compare/v1.0.9...v1.0.10)
### v1.0.8 (2019-06-05)
> 2 August 2019
- [`#127`](https://github.com/lifion/lifion-kinesis/pull/127): Feature/unit tests and updated docs
- [`#147`](https://github.com/lifion/lifion-kinesis/pull/147): Update dependency husky to ^2.4.0
- [`#146`](https://github.com/lifion/lifion-kinesis/pull/146): Update dependency aws-sdk to ^2.468.0
- [`#145`](https://github.com/lifion/lifion-kinesis/pull/145): Update dependency aws-sdk to ^2.464.0
- [`#144`](https://github.com/lifion/lifion-kinesis/pull/144): Update dependency semver to ^6.1.1
- [`#143`](https://github.com/lifion/lifion-kinesis/pull/143): Update dependency aws-sdk to ^2.463.0
- [`#142`](https://github.com/lifion/lifion-kinesis/pull/142): Update dependency aws-sdk to ^2.462.0
- [`#141`](https://github.com/lifion/lifion-kinesis/pull/141): Update dependency semver to ^6.1.0
- [`#140`](https://github.com/lifion/lifion-kinesis/pull/140): Update dependency aws-sdk to ^2.461.0
- [`54662a1`](https://github.com/lifion/lifion-kinesis/commit/54662a1bcc6af9735e37e4acb89bf72f938fb3a4): Add tests for lib/state-store
- [`8af3763`](https://github.com/lifion/lifion-kinesis/commit/8af3763dd21a784eb062ccdf929d6d52b0bfd744): Add tests for lib/fan-out-consumer
- [`cb9c34f`](https://github.com/lifion/lifion-kinesis/commit/cb9c34f39db6a75bef7afda301a365d5d9b8a5d9): Add tests for lib/index
- [`254b525`](https://github.com/lifion/lifion-kinesis/commit/254b525a4856bca6d0767569f9da71ecd06b17bf): Add tests for lib/kinesis-client
- [`5d10b17`](https://github.com/lifion/lifion-kinesis/commit/5d10b1780ba0352da2b6a37e0e62a41519283dc1): Document the rest of the modules
- [`c86066b`](https://github.com/lifion/lifion-kinesis/commit/c86066b044a48e31ad58660102fdcedaa37b3741): Refactor put record(s) results
- [`efcf145`](https://github.com/lifion/lifion-kinesis/commit/efcf145ea511973a224022bcbf91df15073e40e1): Add tests for lib/stream
- [`2cc0e0d`](https://github.com/lifion/lifion-kinesis/commit/2cc0e0d651f1525119a75ddfc688c3e041ea9275): Upgrade dependencies
- [`e9759ad`](https://github.com/lifion/lifion-kinesis/commit/e9759ada8858091ffaf5c1a1b21f4e6fb92fb72d): Recover test-coverage in lib/comsumers-manager
- [`bc09da7`](https://github.com/lifion/lifion-kinesis/commit/bc09da7cc0b7747b70cbfa68719eb1b520178a32): Integrate branch with latest release
- [`eebdb34`](https://github.com/lifion/lifion-kinesis/commit/eebdb3400796ab186f4caf67b8e2258edc46ec8d): Upgrade aws-sdk
- [`182d6f5`](https://github.com/lifion/lifion-kinesis/commit/182d6f51cac27da72029114a2bc86da4de7a0115): Upgrade aws-sdk
- [`ef4e970`](https://github.com/lifion/lifion-kinesis/commit/ef4e9707581c96abb0b3528ecfa5d413324d0bc5): Upgrade aws-sdk
- [`c3f30a8`](https://github.com/lifion/lifion-kinesis/commit/c3f30a85319e544df7f7e258ca472b15141676e2): Upgrade aws-sdk
- Recreate the shard iterator if it expired in between polling reads [`#199`](https://github.com/lifion/lifion-kinesis/pull/199)
- Update dependency husky to ^3.0.2 [`#197`](https://github.com/lifion/lifion-kinesis/pull/197)
- Update dependency aws-sdk to ^2.503.0 [`#198`](https://github.com/lifion/lifion-kinesis/pull/198)
- Update dependency aws-sdk to ^2.501.0 [`#196`](https://github.com/lifion/lifion-kinesis/pull/196)
- Update dependency lint-staged to ^9.2.1 [`#194`](https://github.com/lifion/lifion-kinesis/pull/194)
- Update dependency aws-sdk to ^2.500.0 [`#195`](https://github.com/lifion/lifion-kinesis/pull/195)
- Update dependency aws-sdk to ^2.499.0 [`#193`](https://github.com/lifion/lifion-kinesis/pull/193)
- Update dependency aws-sdk to ^2.498.0 [`#191`](https://github.com/lifion/lifion-kinesis/pull/191)
- Update dependency semver to ^6.3.0 [`#192`](https://github.com/lifion/lifion-kinesis/pull/192)
- Update dependency aws-sdk to ^2.497.0 [`#190`](https://github.com/lifion/lifion-kinesis/pull/190)
- Update dependency aws-sdk to ^2.496.0 [`#189`](https://github.com/lifion/lifion-kinesis/pull/189)
- Update dependency husky to ^3.0.1 [`#188`](https://github.com/lifion/lifion-kinesis/pull/188)
- Update dependency aws-sdk to ^2.495.0 [`#187`](https://github.com/lifion/lifion-kinesis/pull/187)
- Update dependency aws-sdk to ^2.494.0 [`#186`](https://github.com/lifion/lifion-kinesis/pull/186)
- Recreate the shard iterator if it is expired [`25e92c5`](https://github.com/lifion/lifion-kinesis/commit/25e92c53da9809aa4ef1cd3249d4bf7d178dc05b)
- Recreate lock file [`62a37b0`](https://github.com/lifion/lifion-kinesis/commit/62a37b02c8c59c0e3eed1df20b7a059671c0260f)
- Upgrade dependencies [`2ca7572`](https://github.com/lifion/lifion-kinesis/commit/2ca7572039f1bdf67a1180672180c6254a61b8c3)
### v1.0.7 (2019-05-22)
#### [v1.0.9](https://github.com/lifion/lifion-kinesis/compare/v1.0.8...v1.0.9)
- [`#138`](https://github.com/lifion/lifion-kinesis/pull/138): Update dependency aws-sdk to ^2.460.0
- [`#139`](https://github.com/lifion/lifion-kinesis/pull/139): Refactor stream creation on put record(s)
- [`#137`](https://github.com/lifion/lifion-kinesis/pull/137): Update dependency aws-sdk to ^2.458.0
- [`#134`](https://github.com/lifion/lifion-kinesis/pull/134): Update dependency codecov to ^3.5.0
- [`#135`](https://github.com/lifion/lifion-kinesis/pull/135): Update dependency lint-staged to ^8.1.7
- [`#133`](https://github.com/lifion/lifion-kinesis/pull/133): Update dependency aws-sdk to ^2.455.0
- [`#132`](https://github.com/lifion/lifion-kinesis/pull/132): Update dependency husky to ^2.3.0
- [`#131`](https://github.com/lifion/lifion-kinesis/pull/131): Update dependency aws-sdk to ^2.454.0
- [`#130`](https://github.com/lifion/lifion-kinesis/pull/130): Update dependency prettier to ^1.17.1
- [`#129`](https://github.com/lifion/lifion-kinesis/pull/129): Update dependency jsdoc-to-markdown to v5
- [`#128`](https://github.com/lifion/lifion-kinesis/pull/128): Update dependency aws-sdk to ^2.453.0
- [`#125`](https://github.com/lifion/lifion-kinesis/pull/125): Update dependency aws-sdk to ^2.452.0
- [`#126`](https://github.com/lifion/lifion-kinesis/pull/126): Update dependency codecov to ^3.4.0
- [`#124`](https://github.com/lifion/lifion-kinesis/pull/124): Update dependency jest to ^24.8.0
- [`#123`](https://github.com/lifion/lifion-kinesis/pull/123): Update dependency lint-staged to ^8.1.6
- [`#122`](https://github.com/lifion/lifion-kinesis/pull/122): Update dependency aws-sdk to ^2.451.0
- [`#121`](https://github.com/lifion/lifion-kinesis/pull/121): Update dependency jest-junit to ^6.4.0
- [`#120`](https://github.com/lifion/lifion-kinesis/pull/120): Update dependency husky to ^2.2.0
- [`#118`](https://github.com/lifion/lifion-kinesis/pull/118): Update dependency aws-sdk to ^2.447.0
- [`#119`](https://github.com/lifion/lifion-kinesis/pull/119): Update dependency short-uuid to ^3.1.1
- [`4a9e7b4`](https://github.com/lifion/lifion-kinesis/commit/4a9e7b457297def09ace2853bc0e501b3b80dfb8): Add tests for lib/dynamodb-client
- [`0669488`](https://github.com/lifion/lifion-kinesis/commit/066948819aece6d4c7a27279b73a029cfccff0b2): Add tests for lib/lease-manager
- [`ce8a742`](https://github.com/lifion/lifion-kinesis/commit/ce8a74288118aa7574c420b2b0eb902ce74aa32e): Add tests for lib/polling-consumer
- [`b12d83b`](https://github.com/lifion/lifion-kinesis/commit/b12d83b09137789d84f1270511c15a8ed915e22f): Upgrade dependencies
- [`dd845d6`](https://github.com/lifion/lifion-kinesis/commit/dd845d657dc224d6c3546cc0a1afc454e7c21904): Partial tests for lib/stream
- [`4cb343e`](https://github.com/lifion/lifion-kinesis/commit/4cb343ed085754006124f9a7a45b25041d3c45d9): Refactor the tests for lib/dynamodb-client
- [`3671145`](https://github.com/lifion/lifion-kinesis/commit/36711459161cff9aef5bccb13f9e4286fe6e52d1): Add tests for lib/records
- [`7efc497`](https://github.com/lifion/lifion-kinesis/commit/7efc497507e5582ae15361e28c5097481271c408): Add tests for lib/utils
- [`edaf114`](https://github.com/lifion/lifion-kinesis/commit/edaf1145a5f2b7a3cfac94f6c6e759fb4414a77b): Add tests for lib/table
- [`126e455`](https://github.com/lifion/lifion-kinesis/commit/126e45513e1521ec6078dddf78450faf6a8e7c29): Add tests for lib/stats
- [`3316550`](https://github.com/lifion/lifion-kinesis/commit/331655005561d436880cbe3364bb0bc5b8ba5891): Adopt the latest eslint-config-lifion
- [`2d05ec4`](https://github.com/lifion/lifion-kinesis/commit/2d05ec4cb692d7463327bdd463ebeb0c4a867879): Improve resilience of the fan-out consumer
- [`462916c`](https://github.com/lifion/lifion-kinesis/commit/462916c0fd3a8b855112045adf2869fb96a77806): Add tests for lib/heartbeat-manager
- [`32a89e1`](https://github.com/lifion/lifion-kinesis/commit/32a89e14b9a8ee9586dfc54362bd3925c7217934): Upgrade aws-sdk and codecov
- [`6ccc463`](https://github.com/lifion/lifion-kinesis/commit/6ccc46302fe345d8fb400f2267d19d344d45de75): Remove extra linting rules
- [`6fc42b3`](https://github.com/lifion/lifion-kinesis/commit/6fc42b3f8d19e49d9a5796b100e1a0558847dc4e): Recover 100% test coverage in lib/utils
- [`8304786`](https://github.com/lifion/lifion-kinesis/commit/8304786aec8cb4a7183b98e957791b9f4f4b8dcc): Include network errors
- [`ae4ba4b`](https://github.com/lifion/lifion-kinesis/commit/ae4ba4b331de88465e2d4a3eaba8047dc72ace34): Adjust test thresholds
- [`eaf7c2b`](https://github.com/lifion/lifion-kinesis/commit/eaf7c2bcceafca43c3761e2e0d53206833083621): Tweak intervals
> 9 July 2019
### v1.0.6 (2019-04-29)
- Bugfix/await reconciliation [`#177`](https://github.com/lifion/lifion-kinesis/pull/177)
- Update dependency eslint-config-lifion to ^1.2.4 [`#176`](https://github.com/lifion/lifion-kinesis/pull/176)
- Update dependency aws-sdk to ^2.486.0 [`#167`](https://github.com/lifion/lifion-kinesis/pull/167)
- Update dependency semver to ^6.1.3 [`#168`](https://github.com/lifion/lifion-kinesis/pull/168)
- Update dependency lint-staged to v9 [`#169`](https://github.com/lifion/lifion-kinesis/pull/169)
- Update dependency husky to v3 [`#170`](https://github.com/lifion/lifion-kinesis/pull/170)
- Update dependency aws-sdk to ^2.484.0 [`#165`](https://github.com/lifion/lifion-kinesis/pull/165)
- Update dependency husky to ^2.7.0 [`#166`](https://github.com/lifion/lifion-kinesis/pull/166)
- Update dependency eslint to ^6.0.1 [`#164`](https://github.com/lifion/lifion-kinesis/pull/164)
- Update dependency aws-sdk to ^2.481.0 [`#163`](https://github.com/lifion/lifion-kinesis/pull/163)
- Update dependency aws-sdk to ^2.480.0 [`#159`](https://github.com/lifion/lifion-kinesis/pull/159)
- Update dependency eslint to v6 [`#160`](https://github.com/lifion/lifion-kinesis/pull/160)
- Update dependency semver to ^6.1.2 [`#161`](https://github.com/lifion/lifion-kinesis/pull/161)
- Update dependency husky to ^2.5.0 [`#162`](https://github.com/lifion/lifion-kinesis/pull/162)
- Update dependency aws-sdk to ^2.479.0 [`#158`](https://github.com/lifion/lifion-kinesis/pull/158)
- Adopt GitHub Actions [`#157`](https://github.com/lifion/lifion-kinesis/pull/157)
- Update dependency eslint-config-lifion to ^1.2.3 [`#156`](https://github.com/lifion/lifion-kinesis/pull/156)
- Update dependency prettier to ^1.18.2 [`#151`](https://github.com/lifion/lifion-kinesis/pull/151)
- Update dependency aws-sdk to ^2.478.0 [`#152`](https://github.com/lifion/lifion-kinesis/pull/152)
- Update dependency husky to ^2.4.1 [`#154`](https://github.com/lifion/lifion-kinesis/pull/154)
- Update dependency lint-staged to ^8.2.1 [`#155`](https://github.com/lifion/lifion-kinesis/pull/155)
- Update dependency aws-sdk to ^2.470.0 [`#150`](https://github.com/lifion/lifion-kinesis/pull/150)
- Update dependency aws-sdk to ^2.469.0 [`#148`](https://github.com/lifion/lifion-kinesis/pull/148)
- Update dependency lint-staged to ^8.2.0 [`#149`](https://github.com/lifion/lifion-kinesis/pull/149)
- Adopt the latest linter [`6f8d45f`](https://github.com/lifion/lifion-kinesis/commit/6f8d45fdfbb2ea062935fe218b3b1dd87091c9e6)
- Correct ESLint integration [`b330f4e`](https://github.com/lifion/lifion-kinesis/commit/b330f4e7a3878552e051ff4c5fb7f35fac4c81a2)
- Update main.workflow [`14d49d7`](https://github.com/lifion/lifion-kinesis/commit/14d49d7c238dc6d5e0d8323b6e3c5c4b333b1df8)
- [`#117`](https://github.com/lifion/lifion-kinesis/pull/117): Add shards on update
#### [v1.0.8](https://github.com/lifion/lifion-kinesis/compare/v1.0.7...v1.0.8)
### v1.0.5 (2019-04-29)
> 5 June 2019
- [`72eaa66`](https://github.com/lifion/lifion-kinesis/commit/72eaa66b70356e8795bee0dcaa20025a45d25ab8): Fix bug in "getRecords"
- Feature/unit tests and updated docs [`#127`](https://github.com/lifion/lifion-kinesis/pull/127)
- Update dependency husky to ^2.4.0 [`#147`](https://github.com/lifion/lifion-kinesis/pull/147)
- Update dependency aws-sdk to ^2.468.0 [`#146`](https://github.com/lifion/lifion-kinesis/pull/146)
- Update dependency aws-sdk to ^2.464.0 [`#145`](https://github.com/lifion/lifion-kinesis/pull/145)
- Update dependency semver to ^6.1.1 [`#144`](https://github.com/lifion/lifion-kinesis/pull/144)
- Update dependency aws-sdk to ^2.463.0 [`#143`](https://github.com/lifion/lifion-kinesis/pull/143)
- Update dependency aws-sdk to ^2.462.0 [`#142`](https://github.com/lifion/lifion-kinesis/pull/142)
- Update dependency semver to ^6.1.0 [`#141`](https://github.com/lifion/lifion-kinesis/pull/141)
- Update dependency aws-sdk to ^2.461.0 [`#140`](https://github.com/lifion/lifion-kinesis/pull/140)
- Add tests for lib/state-store [`54662a1`](https://github.com/lifion/lifion-kinesis/commit/54662a1bcc6af9735e37e4acb89bf72f938fb3a4)
- Add tests for lib/fan-out-consumer [`8af3763`](https://github.com/lifion/lifion-kinesis/commit/8af3763dd21a784eb062ccdf929d6d52b0bfd744)
- Add tests for lib/index [`cb9c34f`](https://github.com/lifion/lifion-kinesis/commit/cb9c34f39db6a75bef7afda301a365d5d9b8a5d9)
### v1.0.4 (2019-04-29)
#### [v1.0.7](https://github.com/lifion/lifion-kinesis/compare/v1.0.6...v1.0.7)
- [`83c8b5f`](https://github.com/lifion/lifion-kinesis/commit/83c8b5f13edcd2d4f628ca8a8308a5093d99c1a4): Tweak timeouts for leasing and heartbeats
> 22 May 2019
### v1.0.3 (2019-04-29)
- Update dependency aws-sdk to ^2.460.0 [`#138`](https://github.com/lifion/lifion-kinesis/pull/138)
- Refactor stream creation on put record(s) [`#139`](https://github.com/lifion/lifion-kinesis/pull/139)
- Update dependency aws-sdk to ^2.458.0 [`#137`](https://github.com/lifion/lifion-kinesis/pull/137)
- Update dependency codecov to ^3.5.0 [`#134`](https://github.com/lifion/lifion-kinesis/pull/134)
- Update dependency lint-staged to ^8.1.7 [`#135`](https://github.com/lifion/lifion-kinesis/pull/135)
- Update dependency aws-sdk to ^2.455.0 [`#133`](https://github.com/lifion/lifion-kinesis/pull/133)
- Update dependency husky to ^2.3.0 [`#132`](https://github.com/lifion/lifion-kinesis/pull/132)
- Update dependency aws-sdk to ^2.454.0 [`#131`](https://github.com/lifion/lifion-kinesis/pull/131)
- Update dependency prettier to ^1.17.1 [`#130`](https://github.com/lifion/lifion-kinesis/pull/130)
- Update dependency jsdoc-to-markdown to v5 [`#129`](https://github.com/lifion/lifion-kinesis/pull/129)
- Update dependency aws-sdk to ^2.453.0 [`#128`](https://github.com/lifion/lifion-kinesis/pull/128)
- Update dependency aws-sdk to ^2.452.0 [`#125`](https://github.com/lifion/lifion-kinesis/pull/125)
- Update dependency codecov to ^3.4.0 [`#126`](https://github.com/lifion/lifion-kinesis/pull/126)
- Update dependency jest to ^24.8.0 [`#124`](https://github.com/lifion/lifion-kinesis/pull/124)
- Update dependency lint-staged to ^8.1.6 [`#123`](https://github.com/lifion/lifion-kinesis/pull/123)
- Update dependency aws-sdk to ^2.451.0 [`#122`](https://github.com/lifion/lifion-kinesis/pull/122)
- Update dependency jest-junit to ^6.4.0 [`#121`](https://github.com/lifion/lifion-kinesis/pull/121)
- Update dependency husky to ^2.2.0 [`#120`](https://github.com/lifion/lifion-kinesis/pull/120)
- Update dependency aws-sdk to ^2.447.0 [`#118`](https://github.com/lifion/lifion-kinesis/pull/118)
- Update dependency short-uuid to ^3.1.1 [`#119`](https://github.com/lifion/lifion-kinesis/pull/119)
- Add tests for lib/dynamodb-client [`4a9e7b4`](https://github.com/lifion/lifion-kinesis/commit/4a9e7b457297def09ace2853bc0e501b3b80dfb8)
- Add tests for lib/lease-manager [`0669488`](https://github.com/lifion/lifion-kinesis/commit/066948819aece6d4c7a27279b73a029cfccff0b2)
- Add tests for lib/polling-consumer [`ce8a742`](https://github.com/lifion/lifion-kinesis/commit/ce8a74288118aa7574c420b2b0eb902ce74aa32e)
- [`ab83203`](https://github.com/lifion/lifion-kinesis/commit/ab832032dbd6b863415db846a6e3b3a2912708d7): Upgrade aws-sdk
- [`8524eee`](https://github.com/lifion/lifion-kinesis/commit/8524eeec4e3e7424d57da36c5fd197cb17ddb5ba): Minor stats refactor
- [`91c2ebf`](https://github.com/lifion/lifion-kinesis/commit/91c2ebfa392471d160e462321433ec47e0b79ee4): Allow to override the default pay-per-request billing mode
- [`83e5d1f`](https://github.com/lifion/lifion-kinesis/commit/83e5d1f512a8dc17e7d8ba611d1fa6fef94fa851): Correct check for asigned enhanced consumer on the lease manager
#### [v1.0.6](https://github.com/lifion/lifion-kinesis/compare/v1.0.5...v1.0.6)
### v1.0.2 (2019-04-29)
> 29 April 2019
- [`#115`](https://github.com/lifion/lifion-kinesis/pull/115): Feature/add stats and health
- [`#110`](https://github.com/lifion/lifion-kinesis/pull/110): Assign enhanced fan-out consumers to instances of the client
- [`#114`](https://github.com/lifion/lifion-kinesis/pull/114): Update dependency aws-sdk to ^2.444.0
- [`#111`](https://github.com/lifion/lifion-kinesis/pull/111): Update dependency husky to ^2.1.0
- [`#109`](https://github.com/lifion/lifion-kinesis/pull/109): Add retry to putRecord(s)
- [`302fd9f`](https://github.com/lifion/lifion-kinesis/commit/302fd9f6c2dd6ef24aa59249d8b416f0533fc885): Pipe records from enhanced consumers back to the client
- [`328cd80`](https://github.com/lifion/lifion-kinesis/commit/328cd802cec53cada0e89ff0c27098fe7d86ca5f): Add stats support
- [`29fd0cb`](https://github.com/lifion/lifion-kinesis/commit/29fd0cbf934b9cef6dcec31838008c0bca5804df): Allow fan-out consumers to use regular checkpoints
- [`ab57e5d`](https://github.com/lifion/lifion-kinesis/commit/ab57e5d3a2a2333658701a7d89cb2ad026c4e8bd): Fix failing tests
- [`9ebcd84`](https://github.com/lifion/lifion-kinesis/commit/9ebcd843698800d4829dc52f4f86697972052469): Refactor of enhanced fan-out code to make it easier to follow
- [`40f22f6`](https://github.com/lifion/lifion-kinesis/commit/40f22f6fe73f5540a93dc723029f52c9a473e9ca): Implement use all shards in fan-out consumer mode
- [`bad779e`](https://github.com/lifion/lifion-kinesis/commit/bad779e1388d79d70ab71d917c5d0789ef677790): Re-factor records encoding
- [`400959c`](https://github.com/lifion/lifion-kinesis/commit/400959c4324dad240a3150cea2b293e6a45a017c): Add tests for lib/consumers-manager
- [`59a23d3`](https://github.com/lifion/lifion-kinesis/commit/59a23d376239e60e1db76d0fea5a7d5c8416dd65): Implement shard expiration in fan-out consumers
- [`03247fe`](https://github.com/lifion/lifion-kinesis/commit/03247fe3adb8a4f4c83acc5bb421cd8956f208fe): Remove the utils module
- [`272c9f3`](https://github.com/lifion/lifion-kinesis/commit/272c9f39becbac8216272b10cfa7957f9369a7bd): Refactor “setUpEnhancedConsumers” so it’s easier to follow
- [`4841494`](https://github.com/lifion/lifion-kinesis/commit/4841494ae26d0fc848b3dff47bb42267664079cb): Add initial test files
- [`5e1109b`](https://github.com/lifion/lifion-kinesis/commit/5e1109b6b14c7811c7a0698b40f5da6f0dd6bb40): Fix re-assignment of enhanced consumers when there are more consumers than enhanced consumers
- [`93a29e2`](https://github.com/lifion/lifion-kinesis/commit/93a29e204d74ea73fac0c97a51b14ecf38de555b): Add more initial test files
- [`6866d9d`](https://github.com/lifion/lifion-kinesis/commit/6866d9d6016acb9ce85a91d3146830228eacabfe): Confirm parent depletion works with fan-out consumers
- [`7505973`](https://github.com/lifion/lifion-kinesis/commit/75059737b2edd806e04d0beca886c03232db5dfb): Detect parent shard depletion in fan-out mode
- [`4978a32`](https://github.com/lifion/lifion-kinesis/commit/4978a328dffe754ba6689478ce6cb6b23ce4d5eb): Add unit tests for lib/compression
- [`cd352fb`](https://github.com/lifion/lifion-kinesis/commit/cd352fb07d8a51057dd403b93d81bf7e3448d6d5): Remove “setUpEnhancedConsumers” from the documentation
- [`eadb90b`](https://github.com/lifion/lifion-kinesis/commit/eadb90b5b6914552ec2d39394f710f8bd1c48480): Simplify the polling consumer set checkpoint calls
- [`0a92f99`](https://github.com/lifion/lifion-kinesis/commit/0a92f99dcfe531760a6ddb53f7ed9f354c019452): Retry only on throughput
- [`a1eeafb`](https://github.com/lifion/lifion-kinesis/commit/a1eeafb70e7c86ca7ee72f9f95ce936aba54958b): Remove GET request debug message
- [`a46f0e8`](https://github.com/lifion/lifion-kinesis/commit/a46f0e84171aa86755f8007580a64abfe8263cb9): Re-create lock file
- Add shards on update [`#117`](https://github.com/lifion/lifion-kinesis/pull/117)
### v1.0.1 (2019-04-22)
#### [v1.0.5](https://github.com/lifion/lifion-kinesis/compare/v1.0.4...v1.0.5)
- [`#102`](https://github.com/lifion/lifion-kinesis/pull/102): Feature/polling support
- [`#106`](https://github.com/lifion/lifion-kinesis/pull/106): Update dependency aws-sdk to ^2.440.0
- [`#105`](https://github.com/lifion/lifion-kinesis/pull/105): Update dependency auto-changelog to ^1.13.0
- [`#107`](https://github.com/lifion/lifion-kinesis/pull/107): Add putRecord and putRecords
- [`#104`](https://github.com/lifion/lifion-kinesis/pull/104): Update dependency prettier to ^1.17.0
- [`#103`](https://github.com/lifion/lifion-kinesis/pull/103): Update dependency auto-changelog to ^1.12.1
- [`#100`](https://github.com/lifion/lifion-kinesis/pull/100): Update dependency jest to ^24.7.1
- [`#99`](https://github.com/lifion/lifion-kinesis/pull/99): Update dependency eslint to ^5.16.0
- [`#98`](https://github.com/lifion/lifion-kinesis/pull/98): Update dependency aws-sdk to ^2.437.0
- [`#97`](https://github.com/lifion/lifion-kinesis/pull/97): Update dependency semver to v6
- [`#96`](https://github.com/lifion/lifion-kinesis/pull/96): Update dependency semver to ^5.7.0
- [`#95`](https://github.com/lifion/lifion-kinesis/pull/95): Update dependency aws-sdk to ^2.429.0
- [`#94`](https://github.com/lifion/lifion-kinesis/pull/94): Update dependency aws-sdk to ^2.428.0
- [`#88`](https://github.com/lifion/lifion-kinesis/pull/88): Update dependency jest to ^24.4.0
- [`#86`](https://github.com/lifion/lifion-kinesis/pull/86): Update dependency aws-sdk to ^2.418.0
- [`#85`](https://github.com/lifion/lifion-kinesis/pull/85): Update dependency jest to ^24.3.1
- [`#84`](https://github.com/lifion/lifion-kinesis/pull/84): Update dependency eslint to ^5.15.1
- [`#83`](https://github.com/lifion/lifion-kinesis/pull/83): Update dependency lint-staged to ^8.1.5
- [`#82`](https://github.com/lifion/lifion-kinesis/pull/82): Update dependency aws-sdk to ^2.417.0
- [`#81`](https://github.com/lifion/lifion-kinesis/pull/81): Update dependency lifion-aws-event-stream to ^1.0.2
- [`#80`](https://github.com/lifion/lifion-kinesis/pull/80): Update dependency eslint-config-lifion to ^1.1.0
- [`#79`](https://github.com/lifion/lifion-kinesis/pull/79): Update dependency aws-sdk to ^2.411.0
- [`#78`](https://github.com/lifion/lifion-kinesis/pull/78): Update dependency eslint to ^5.14.1
- [`#77`](https://github.com/lifion/lifion-kinesis/pull/77): Update dependency aws-sdk to ^2.404.0
- [`#76`](https://github.com/lifion/lifion-kinesis/pull/76): Update dependency jest-junit to ^6.3.0
- [`#73`](https://github.com/lifion/lifion-kinesis/pull/73): Update dependency aws-sdk to ^2.403.0
- [`#74`](https://github.com/lifion/lifion-kinesis/pull/74): Update dependency codecov to ^3.2.0
- [`#75`](https://github.com/lifion/lifion-kinesis/pull/75): Update dependency lint-staged to ^8.1.4
- [`#72`](https://github.com/lifion/lifion-kinesis/pull/72): Update dependency jest to ^24.1.0
- [`#71`](https://github.com/lifion/lifion-kinesis/pull/71): Update dependency aws-sdk to ^2.397.0
- [`#70`](https://github.com/lifion/lifion-kinesis/pull/70): Update dependency lint-staged to ^8.1.3
- [`#69`](https://github.com/lifion/lifion-kinesis/pull/69): Update dependency eslint to ^5.13.0
- [`#68`](https://github.com/lifion/lifion-kinesis/pull/68): Update dependency prettier to ^1.16.4
- [`#67`](https://github.com/lifion/lifion-kinesis/pull/67): Update dependency jest-junit to ^6.2.1
- [`#66`](https://github.com/lifion/lifion-kinesis/pull/66): Update dependency lint-staged to ^8.1.1
- [`#65`](https://github.com/lifion/lifion-kinesis/pull/65): Update dependency aws-sdk to ^2.395.0
- [`#64`](https://github.com/lifion/lifion-kinesis/pull/64): Update dependency jest to v24
- [`#63`](https://github.com/lifion/lifion-kinesis/pull/63): Update dependency aws-sdk to ^2.394.0
- [`#60`](https://github.com/lifion/lifion-kinesis/pull/60): Update dependency npm-watch to ^0.6.0
- [`#62`](https://github.com/lifion/lifion-kinesis/pull/62): Update dependency jest-junit to ^6.1.0
- [`#61`](https://github.com/lifion/lifion-kinesis/pull/61): Update dependency aws-sdk to ^2.393.0
- [`#58`](https://github.com/lifion/lifion-kinesis/pull/58): Update dependency prettier to ^1.16.1
- [`#59`](https://github.com/lifion/lifion-kinesis/pull/59): Update dependency aws-sdk to ^2.392.0
- [`#57`](https://github.com/lifion/lifion-kinesis/pull/57): Update dependency eslint to ^5.12.1
- [`#55`](https://github.com/lifion/lifion-kinesis/pull/55): Update dependency aws-sdk to ^2.391.0
- [`#56`](https://github.com/lifion/lifion-kinesis/pull/56): Update dependency got to ^9.6.0
- [`#54`](https://github.com/lifion/lifion-kinesis/pull/54): Update dependency aws-sdk to ^2.388.0
- [`#50`](https://github.com/lifion/lifion-kinesis/pull/50): Update dependency aws-sdk to ^2.387.0
- [`#51`](https://github.com/lifion/lifion-kinesis/pull/51): Update dependency jest-junit to v6
- [`#52`](https://github.com/lifion/lifion-kinesis/pull/52): Update dependency got to ^9.5.1
- [`#53`](https://github.com/lifion/lifion-kinesis/pull/53): Update dependency auto-changelog to ^1.11.0
- [`#45`](https://github.com/lifion/lifion-kinesis/pull/45): Update dependency aws-sdk to ^2.384.0
- [`#49`](https://github.com/lifion/lifion-kinesis/pull/49): Update dependency chalk to ^2.4.2
- [`#46`](https://github.com/lifion/lifion-kinesis/pull/46): Update dependency eslint to ^5.12.0
- [`#47`](https://github.com/lifion/lifion-kinesis/pull/47): Update dependency husky to ^1.3.1
- [`#48`](https://github.com/lifion/lifion-kinesis/pull/48): Update dependency auto-changelog to ^1.10.3
- [`#41`](https://github.com/lifion/lifion-kinesis/pull/41): Update dependency aws-sdk to ^2.378.0
- [`#42`](https://github.com/lifion/lifion-kinesis/pull/42): Update dependency husky to ^1.2.1
- [`#43`](https://github.com/lifion/lifion-kinesis/pull/43): Update dependency got to ^9.5.0
- [`#40`](https://github.com/lifion/lifion-kinesis/pull/40): Update dependency got to ^9.4.0
- [`#37`](https://github.com/lifion/lifion-kinesis/pull/37): Update dependency aws-sdk to ^2.373.0
- [`#39`](https://github.com/lifion/lifion-kinesis/pull/39): Update dependency eslint to ^5.10.0
- [`#38`](https://github.com/lifion/lifion-kinesis/pull/38): Update dependency prettier to ^1.15.3
- [`bd4f9ff`](https://github.com/lifion/lifion-kinesis/commit/bd4f9ffbed53307849068ce343f6e118934e03dc): Upgrade NPM modules
- [`41d2b9f`](https://github.com/lifion/lifion-kinesis/commit/41d2b9f06697a29711fd9bf74f5e58c5568bff09): Upgrade NPN dependencies
- [`576f166`](https://github.com/lifion/lifion-kinesis/commit/576f166bd37a58149086f41dccdbc7eb840d6b77): Make sure the state table is tagged as expected
- [`8906c14`](https://github.com/lifion/lifion-kinesis/commit/8906c14a2b401db33040329fdd0c7433d04e69fe): Initial leasing algorithm implementation
- [`3400bcd`](https://github.com/lifion/lifion-kinesis/commit/3400bcd65ca378f9501353b1bed63f62474461ca): Normalize the stream and table modules
- [`cf182c3`](https://github.com/lifion/lifion-kinesis/commit/cf182c3cbbbd95dec0f10f0d8d08d6832c57d409): Fix continuous polling on a shard split
- [`e92c4ac`](https://github.com/lifion/lifion-kinesis/commit/e92c4ace0912d2ec57e8406aba7c64044dbd7e5e): Correct lock file, optimize renovate
- [`9c76b02`](https://github.com/lifion/lifion-kinesis/commit/9c76b02aa29b362e27b68b260346ac96dd8b72d6): Make sure the client recovers to any error
- [`ddb50fe`](https://github.com/lifion/lifion-kinesis/commit/ddb50fe7880034620adf1cfc82f6a516817edf0f): Upgrade aws-sdk
- [`7e4ece3`](https://github.com/lifion/lifion-kinesis/commit/7e4ece356f5584de8f205a91b1c90dd63f685a66): Implement roll call for consumers
- [`26675f8`](https://github.com/lifion/lifion-kinesis/commit/26675f8b95e4288a5f1303406cb2b3eab9de70eb): Allow reading from all shards
- [`9fcec2f`](https://github.com/lifion/lifion-kinesis/commit/9fcec2f6a65ce459746a80f09fd6b782fad74ef4): Document the state-store
- [`db13161`](https://github.com/lifion/lifion-kinesis/commit/db131615dd54c0bcede0ebf444ff6cddb5375ba6): Adopt the concept of consumer group
- [`69a2b28`](https://github.com/lifion/lifion-kinesis/commit/69a2b281d85638c76ca67086e1fbf0ea2a1ad270): Re-create lock file
- [`e64136d`](https://github.com/lifion/lifion-kinesis/commit/e64136dbc06558e331f0a2b254c3eb0892075a88): Correct the proxies, prepare for shard reader timers
- [`7c707f3`](https://github.com/lifion/lifion-kinesis/commit/7c707f3a02ce2a351f64bef6cbed920a00f291a3): Improve debug messages
- [`84e9129`](https://github.com/lifion/lifion-kinesis/commit/84e91291c14f2c4f1859b4166e794007cd02c6e8): Fix shard distrution and stop consumers after lease expiration
- [`d610f8a`](https://github.com/lifion/lifion-kinesis/commit/d610f8ad25761c0e9958a7dd00af600bbab38f17): Upgrade AWS-SDK
- [`fa2be93`](https://github.com/lifion/lifion-kinesis/commit/fa2be938e3fad6993d7cf38eed94c5d4626dee23): Add support to manually set checkpoints
- [`65b8470`](https://github.com/lifion/lifion-kinesis/commit/65b8470a30d8d438bd1c121749f0bc57ec121953): Remove the coordinated timeout in roll calls
- [`08c2834`](https://github.com/lifion/lifion-kinesis/commit/08c2834f6b785d681d6baf308c18e354f5869771): Correct the README with the correct encryption documentation
- [`8fed106`](https://github.com/lifion/lifion-kinesis/commit/8fed10652c389a8681d2e21508c81ec60d753b99): Try to acquire leases for shards by sorted shard ID
- [`3b5d6c7`](https://github.com/lifion/lifion-kinesis/commit/3b5d6c7511d05b054dab4c286fe413eb8b565e0c): Fix missing initialization of the dynamoDb option
- [`d949dc6`](https://github.com/lifion/lifion-kinesis/commit/d949dc67a049a63a65fa65b231d6c1aea75483ca): Correct copyright in the license
> 29 April 2019
### v1.0.0 (2018-11-29)
- Fix bug in "getRecords" [`72eaa66`](https://github.com/lifion/lifion-kinesis/commit/72eaa66b70356e8795bee0dcaa20025a45d25ab8)
- [`#36`](https://github.com/lifion/lifion-kinesis/pull/36): Update dependency aws-sdk to ^2.366.0
- [`#33`](https://github.com/lifion/lifion-kinesis/pull/33): Update dependency lint-staged to ^8.1.0
- [`#32`](https://github.com/lifion/lifion-kinesis/pull/32): Update dependency husky to ^1.2.0
- [`#34`](https://github.com/lifion/lifion-kinesis/pull/34): Update dependency npm-watch to ^0.5.0
- [`#35`](https://github.com/lifion/lifion-kinesis/pull/35): Update dependency aws-sdk to ^2.363.0
- [`#1`](https://github.com/lifion/lifion-kinesis/pull/1): Enhanced Fan-Out Support
- [`#31`](https://github.com/lifion/lifion-kinesis/pull/31): Update dependency eslint-config-lifion to ^1.0.3
- [`#29`](https://github.com/lifion/lifion-kinesis/pull/29): Update dependency lint-staged to ^8.0.5
- [`#30`](https://github.com/lifion/lifion-kinesis/pull/30): Update dependency auto-changelog to ^1.10.2
- [`#23`](https://github.com/lifion/lifion-kinesis/pull/23): Update dependency prettier to ^1.15.2
- [`#28`](https://github.com/lifion/lifion-kinesis/pull/28): Update dependency auto-changelog to ^1.10.1
- [`#25`](https://github.com/lifion/lifion-kinesis/pull/25): Update dependency eslint to ^5.9.0
- [`#26`](https://github.com/lifion/lifion-kinesis/pull/26): Update dependency auto-changelog to ^1.10.0
- [`#27`](https://github.com/lifion/lifion-kinesis/pull/27): Update dependency husky to ^1.1.4
- [`#24`](https://github.com/lifion/lifion-kinesis/pull/24): Update dependency auto-changelog to ^1.9.0
- [`#20`](https://github.com/lifion/lifion-kinesis/pull/20): Update dependency eslint to ^5.8.0
- [`#21`](https://github.com/lifion/lifion-kinesis/pull/21): Update dependency lint-staged to v8
- [`#22`](https://github.com/lifion/lifion-kinesis/pull/22): Update dependency husky to ^1.1.3
- [`#19`](https://github.com/lifion/lifion-kinesis/pull/19): Update dependency eslint to ^5.7.0
- [`#18`](https://github.com/lifion/lifion-kinesis/pull/18): Update dependency husky to ^1.1.2
- [`#17`](https://github.com/lifion/lifion-kinesis/pull/17): Update dependency semver to ^5.6.0
- [`#16`](https://github.com/lifion/lifion-kinesis/pull/16): Update dependency eslint-config-lifion to ^1.0.2
- [`#15`](https://github.com/lifion/lifion-kinesis/pull/15): Feature/enable npm publish ci
- [`#13`](https://github.com/lifion/lifion-kinesis/pull/13): Update dependency auto-changelog to ^1.8.1
- [`#12`](https://github.com/lifion/lifion-kinesis/pull/12): Update dependency eslint-config-lifion to ^1.0.1
- [`#11`](https://github.com/lifion/lifion-kinesis/pull/11): Update dependency husky to ^1.1.1
- [`#10`](https://github.com/lifion/lifion-kinesis/pull/10): Update dependency eslint to ^5.6.1
- [`#9`](https://github.com/lifion/lifion-kinesis/pull/9): Update dependency husky to ^1.0.1
- [`#7`](https://github.com/lifion/lifion-kinesis/pull/7): Update dependency eslint-config-lifion to v1
- [`#6`](https://github.com/lifion/lifion-kinesis/pull/6): Update dependency eslint to v5
- [`#8`](https://github.com/lifion/lifion-kinesis/pull/8): Update dependency husky to v1
- [`#5`](https://github.com/lifion/lifion-kinesis/pull/5): Update dependency npm-watch to ^0.4.0
- [`#2`](https://github.com/lifion/lifion-kinesis/pull/2): Configure Renovate
- [`1be561c`](https://github.com/lifion/lifion-kinesis/commit/1be561ca8ed67539c6bae1a3d20310639d664be4): Initial commit
- [`9894deb`](https://github.com/lifion/lifion-kinesis/commit/9894debffbae98b885c6bdb2f8cb73074e8edbc0): Add basic CircleCI integration
- [`27a7d4f`](https://github.com/lifion/lifion-kinesis/commit/27a7d4f4d76028f2a0dc252281f26173b6264635): Re-create package-lock.json
- [`5823729`](https://github.com/lifion/lifion-kinesis/commit/582372932105d96124226726193a7fb22068de27): Add integration with CircleCI
- [`b5b9ce1`](https://github.com/lifion/lifion-kinesis/commit/b5b9ce137f29008f9ba68a9366ba43a959b683f3): Set NVM to use the current LTS
- [`3ce84f9`](https://github.com/lifion/lifion-kinesis/commit/3ce84f9258a722e6ed5feb7a5990703615fdadfa): Add management of stream consumers, refactor stream management
- [`562bea1`](https://github.com/lifion/lifion-kinesis/commit/562bea1e0b9c31baacbe1c013e81b3dbde692cae): Add test coverage
- [`e5588a6`](https://github.com/lifion/lifion-kinesis/commit/e5588a6d012938a9237e783c75cf3469dfc5cc55): Add enhanced-fanout shard subscriber and initial parser
- [`a9765f1`](https://github.com/lifion/lifion-kinesis/commit/a9765f1223fc80ea4286ab98a361c7ec2596f9bb): Upgrade aws-sdk, eslint-config-lifion, and eslint
- [`38b435f`](https://github.com/lifion/lifion-kinesis/commit/38b435f9d2a2e1dc32cbba15c90e47600cead3ef): Update documentation
- [`4faac4d`](https://github.com/lifion/lifion-kinesis/commit/4faac4db09d8e7e48f0ffe3456550745371f16a3): Ensure streams are created, encrypted, and tagged
- [`c695f98`](https://github.com/lifion/lifion-kinesis/commit/c695f98a576ce580c41dc18f0374b2ae4160f207): Add a Kinesis records decoder
- [`0dd328a`](https://github.com/lifion/lifion-kinesis/commit/0dd328a336b8554993dd4b28b1f39bdf6fa7b757): Recreate the shard subscription stream when expiring
- [`972c7f6`](https://github.com/lifion/lifion-kinesis/commit/972c7f6b3c95c3780330ad3bc44d117d9a610561): Adopt lifion-aws-event-stream
- [`40f156f`](https://github.com/lifion/lifion-kinesis/commit/40f156f259460b5801c5ecf0d221fc4b5c510138): Remove the check-dependencies script in favor of Renovate
- [`1bb389b`](https://github.com/lifion/lifion-kinesis/commit/1bb389bafca25f6239365f08dec3f08c9b727e0c): Include the shard ID in the piped records
- [`cd5d904`](https://github.com/lifion/lifion-kinesis/commit/cd5d904c888679e679793394c3360ee352a10ad0): Connect the parsed records into the client
- [`c591875`](https://github.com/lifion/lifion-kinesis/commit/c591875ff7a767da074231b67e4a87c182f1a39d): Fix the utils tests
- [`4f9fad8`](https://github.com/lifion/lifion-kinesis/commit/4f9fad8343a21803185627378b5aedd7cb93598d): Add test coverage for lib/utils
- [`197f2c4`](https://github.com/lifion/lifion-kinesis/commit/197f2c4da24289dcbf00a3bb319dbc2e3625d6d9): Add deploy and publish to circleci
- [`30c0a3b`](https://github.com/lifion/lifion-kinesis/commit/30c0a3b6efa73d1aa31920a0b9cb6ef87cd4164d): Replace toBeCalledWith calls with its canonical version
- [`5ad427a`](https://github.com/lifion/lifion-kinesis/commit/5ad427a1c775f524d2cff53eca007b57f2de596f): Fix directory for .npmrc and add reports
- [`0ffdc6a`](https://github.com/lifion/lifion-kinesis/commit/0ffdc6a628e02c453b0eaf2d049ae4b12371599d): Rename project to lifion-kinesis
- [`39f098d`](https://github.com/lifion/lifion-kinesis/commit/39f098de613494f6eea0c5d055b5025451e73d49): Make the tag test cases more specific
- [`ce26fc3`](https://github.com/lifion/lifion-kinesis/commit/ce26fc3a54fbce7e507fbc5b5a047ab0fa5ae11e): Change the Renovate configuration
- [`c8d578e`](https://github.com/lifion/lifion-kinesis/commit/c8d578efbd09d2434e4d4f480167818cc3945423): Add renovate.json
- [`07fd3aa`](https://github.com/lifion/lifion-kinesis/commit/07fd3aa183fd4f593d8fb73b773e9e618adb6740): Delete renovate.json
- [`23ac7b7`](https://github.com/lifion/lifion-kinesis/commit/23ac7b709c44d5e9a5c6f45ce469447fe62b8daf): Correct the package-lock.json file
- [`a641c0d`](https://github.com/lifion/lifion-kinesis/commit/a641c0d7d7b7e443c4c05991031666e7a7f2a159): Make sure the CI stops if the tests fail
#### [v1.0.4](https://github.com/lifion/lifion-kinesis/compare/v1.0.3...v1.0.4)
> 29 April 2019
- Tweak timeouts for leasing and heartbeats [`83c8b5f`](https://github.com/lifion/lifion-kinesis/commit/83c8b5f13edcd2d4f628ca8a8308a5093d99c1a4)
#### [v1.0.3](https://github.com/lifion/lifion-kinesis/compare/v1.0.2...v1.0.3)
> 29 April 2019
- Upgrade aws-sdk [`ab83203`](https://github.com/lifion/lifion-kinesis/commit/ab832032dbd6b863415db846a6e3b3a2912708d7)
- Minor stats refactor [`8524eee`](https://github.com/lifion/lifion-kinesis/commit/8524eeec4e3e7424d57da36c5fd197cb17ddb5ba)
- Allow to override the default pay-per-request billing mode [`91c2ebf`](https://github.com/lifion/lifion-kinesis/commit/91c2ebfa392471d160e462321433ec47e0b79ee4)
#### [v1.0.2](https://github.com/lifion/lifion-kinesis/compare/v1.0.1...v1.0.2)
> 29 April 2019
- Feature/add stats and health [`#115`](https://github.com/lifion/lifion-kinesis/pull/115)
- Assign enhanced fan-out consumers to instances of the client [`#110`](https://github.com/lifion/lifion-kinesis/pull/110)
- Update dependency aws-sdk to ^2.444.0 [`#114`](https://github.com/lifion/lifion-kinesis/pull/114)
- Update dependency husky to ^2.1.0 [`#111`](https://github.com/lifion/lifion-kinesis/pull/111)
- Add retry to putRecord(s) [`#109`](https://github.com/lifion/lifion-kinesis/pull/109)
- Pipe records from enhanced consumers back to the client [`302fd9f`](https://github.com/lifion/lifion-kinesis/commit/302fd9f6c2dd6ef24aa59249d8b416f0533fc885)
- Add stats support [`328cd80`](https://github.com/lifion/lifion-kinesis/commit/328cd802cec53cada0e89ff0c27098fe7d86ca5f)
- Allow fan-out consumers to use regular checkpoints [`29fd0cb`](https://github.com/lifion/lifion-kinesis/commit/29fd0cbf934b9cef6dcec31838008c0bca5804df)
#### [v1.0.1](https://github.com/lifion/lifion-kinesis/compare/v1.0.0...v1.0.1)
> 22 April 2019
- Feature/polling support [`#102`](https://github.com/lifion/lifion-kinesis/pull/102)
- Update dependency aws-sdk to ^2.440.0 [`#106`](https://github.com/lifion/lifion-kinesis/pull/106)
- Update dependency auto-changelog to ^1.13.0 [`#105`](https://github.com/lifion/lifion-kinesis/pull/105)
- Add putRecord and putRecords [`#107`](https://github.com/lifion/lifion-kinesis/pull/107)
- Update dependency prettier to ^1.17.0 [`#104`](https://github.com/lifion/lifion-kinesis/pull/104)
- Update dependency auto-changelog to ^1.12.1 [`#103`](https://github.com/lifion/lifion-kinesis/pull/103)
- Update dependency jest to ^24.7.1 [`#100`](https://github.com/lifion/lifion-kinesis/pull/100)
- Update dependency eslint to ^5.16.0 [`#99`](https://github.com/lifion/lifion-kinesis/pull/99)
- Update dependency aws-sdk to ^2.437.0 [`#98`](https://github.com/lifion/lifion-kinesis/pull/98)
- Update dependency semver to v6 [`#97`](https://github.com/lifion/lifion-kinesis/pull/97)
- Update dependency semver to ^5.7.0 [`#96`](https://github.com/lifion/lifion-kinesis/pull/96)
- Update dependency aws-sdk to ^2.429.0 [`#95`](https://github.com/lifion/lifion-kinesis/pull/95)
- Update dependency aws-sdk to ^2.428.0 [`#94`](https://github.com/lifion/lifion-kinesis/pull/94)
- Update dependency jest to ^24.4.0 [`#88`](https://github.com/lifion/lifion-kinesis/pull/88)
- Update dependency aws-sdk to ^2.418.0 [`#86`](https://github.com/lifion/lifion-kinesis/pull/86)
- Update dependency jest to ^24.3.1 [`#85`](https://github.com/lifion/lifion-kinesis/pull/85)
- Update dependency eslint to ^5.15.1 [`#84`](https://github.com/lifion/lifion-kinesis/pull/84)
- Update dependency lint-staged to ^8.1.5 [`#83`](https://github.com/lifion/lifion-kinesis/pull/83)
- Update dependency aws-sdk to ^2.417.0 [`#82`](https://github.com/lifion/lifion-kinesis/pull/82)
- Update dependency lifion-aws-event-stream to ^1.0.2 [`#81`](https://github.com/lifion/lifion-kinesis/pull/81)
- Update dependency eslint-config-lifion to ^1.1.0 [`#80`](https://github.com/lifion/lifion-kinesis/pull/80)
- Update dependency aws-sdk to ^2.411.0 [`#79`](https://github.com/lifion/lifion-kinesis/pull/79)
- Update dependency eslint to ^5.14.1 [`#78`](https://github.com/lifion/lifion-kinesis/pull/78)
- Update dependency aws-sdk to ^2.404.0 [`#77`](https://github.com/lifion/lifion-kinesis/pull/77)
- Update dependency jest-junit to ^6.3.0 [`#76`](https://github.com/lifion/lifion-kinesis/pull/76)
- Update dependency aws-sdk to ^2.403.0 [`#73`](https://github.com/lifion/lifion-kinesis/pull/73)
- Update dependency codecov to ^3.2.0 [`#74`](https://github.com/lifion/lifion-kinesis/pull/74)
- Update dependency lint-staged to ^8.1.4 [`#75`](https://github.com/lifion/lifion-kinesis/pull/75)
- Update dependency jest to ^24.1.0 [`#72`](https://github.com/lifion/lifion-kinesis/pull/72)
- Update dependency aws-sdk to ^2.397.0 [`#71`](https://github.com/lifion/lifion-kinesis/pull/71)
- Update dependency lint-staged to ^8.1.3 [`#70`](https://github.com/lifion/lifion-kinesis/pull/70)
- Update dependency eslint to ^5.13.0 [`#69`](https://github.com/lifion/lifion-kinesis/pull/69)
- Update dependency prettier to ^1.16.4 [`#68`](https://github.com/lifion/lifion-kinesis/pull/68)
- Update dependency jest-junit to ^6.2.1 [`#67`](https://github.com/lifion/lifion-kinesis/pull/67)
- Update dependency lint-staged to ^8.1.1 [`#66`](https://github.com/lifion/lifion-kinesis/pull/66)
- Update dependency aws-sdk to ^2.395.0 [`#65`](https://github.com/lifion/lifion-kinesis/pull/65)
- Update dependency jest to v24 [`#64`](https://github.com/lifion/lifion-kinesis/pull/64)
- Update dependency aws-sdk to ^2.394.0 [`#63`](https://github.com/lifion/lifion-kinesis/pull/63)
- Update dependency npm-watch to ^0.6.0 [`#60`](https://github.com/lifion/lifion-kinesis/pull/60)
- Update dependency jest-junit to ^6.1.0 [`#62`](https://github.com/lifion/lifion-kinesis/pull/62)
- Update dependency aws-sdk to ^2.393.0 [`#61`](https://github.com/lifion/lifion-kinesis/pull/61)
- Update dependency prettier to ^1.16.1 [`#58`](https://github.com/lifion/lifion-kinesis/pull/58)
- Update dependency aws-sdk to ^2.392.0 [`#59`](https://github.com/lifion/lifion-kinesis/pull/59)
- Update dependency eslint to ^5.12.1 [`#57`](https://github.com/lifion/lifion-kinesis/pull/57)
- Update dependency aws-sdk to ^2.391.0 [`#55`](https://github.com/lifion/lifion-kinesis/pull/55)
- Update dependency got to ^9.6.0 [`#56`](https://github.com/lifion/lifion-kinesis/pull/56)
- Update dependency aws-sdk to ^2.388.0 [`#54`](https://github.com/lifion/lifion-kinesis/pull/54)
- Update dependency aws-sdk to ^2.387.0 [`#50`](https://github.com/lifion/lifion-kinesis/pull/50)
- Update dependency jest-junit to v6 [`#51`](https://github.com/lifion/lifion-kinesis/pull/51)
- Update dependency got to ^9.5.1 [`#52`](https://github.com/lifion/lifion-kinesis/pull/52)
- Update dependency auto-changelog to ^1.11.0 [`#53`](https://github.com/lifion/lifion-kinesis/pull/53)
- Update dependency aws-sdk to ^2.384.0 [`#45`](https://github.com/lifion/lifion-kinesis/pull/45)
- Update dependency chalk to ^2.4.2 [`#49`](https://github.com/lifion/lifion-kinesis/pull/49)
- Update dependency eslint to ^5.12.0 [`#46`](https://github.com/lifion/lifion-kinesis/pull/46)
- Update dependency husky to ^1.3.1 [`#47`](https://github.com/lifion/lifion-kinesis/pull/47)
- Update dependency auto-changelog to ^1.10.3 [`#48`](https://github.com/lifion/lifion-kinesis/pull/48)
- Update dependency aws-sdk to ^2.378.0 [`#41`](https://github.com/lifion/lifion-kinesis/pull/41)
- Update dependency husky to ^1.2.1 [`#42`](https://github.com/lifion/lifion-kinesis/pull/42)
- Update dependency got to ^9.5.0 [`#43`](https://github.com/lifion/lifion-kinesis/pull/43)
- Update dependency got to ^9.4.0 [`#40`](https://github.com/lifion/lifion-kinesis/pull/40)
- Update dependency aws-sdk to ^2.373.0 [`#37`](https://github.com/lifion/lifion-kinesis/pull/37)
- Update dependency eslint to ^5.10.0 [`#39`](https://github.com/lifion/lifion-kinesis/pull/39)
- Update dependency prettier to ^1.15.3 [`#38`](https://github.com/lifion/lifion-kinesis/pull/38)
- Upgrade NPM modules [`bd4f9ff`](https://github.com/lifion/lifion-kinesis/commit/bd4f9ffbed53307849068ce343f6e118934e03dc)
- Upgrade NPN dependencies [`41d2b9f`](https://github.com/lifion/lifion-kinesis/commit/41d2b9f06697a29711fd9bf74f5e58c5568bff09)
- Make sure the state table is tagged as expected [`576f166`](https://github.com/lifion/lifion-kinesis/commit/576f166bd37a58149086f41dccdbc7eb840d6b77)
#### v1.0.0
> 29 November 2018
- Update dependency aws-sdk to ^2.366.0 [`#36`](https://github.com/lifion/lifion-kinesis/pull/36)
- Update dependency lint-staged to ^8.1.0 [`#33`](https://github.com/lifion/lifion-kinesis/pull/33)
- Update dependency husky to ^1.2.0 [`#32`](https://github.com/lifion/lifion-kinesis/pull/32)
- Update dependency npm-watch to ^0.5.0 [`#34`](https://github.com/lifion/lifion-kinesis/pull/34)
- Update dependency aws-sdk to ^2.363.0 [`#35`](https://github.com/lifion/lifion-kinesis/pull/35)
- Enhanced Fan-Out Support [`#1`](https://github.com/lifion/lifion-kinesis/pull/1)
- Update dependency eslint-config-lifion to ^1.0.3 [`#31`](https://github.com/lifion/lifion-kinesis/pull/31)
- Update dependency lint-staged to ^8.0.5 [`#29`](https://github.com/lifion/lifion-kinesis/pull/29)
- Update dependency auto-changelog to ^1.10.2 [`#30`](https://github.com/lifion/lifion-kinesis/pull/30)
- Update dependency prettier to ^1.15.2 [`#23`](https://github.com/lifion/lifion-kinesis/pull/23)
- Update dependency auto-changelog to ^1.10.1 [`#28`](https://github.com/lifion/lifion-kinesis/pull/28)
- Update dependency eslint to ^5.9.0 [`#25`](https://github.com/lifion/lifion-kinesis/pull/25)
- Update dependency auto-changelog to ^1.10.0 [`#26`](https://github.com/lifion/lifion-kinesis/pull/26)
- Update dependency husky to ^1.1.4 [`#27`](https://github.com/lifion/lifion-kinesis/pull/27)
- Update dependency auto-changelog to ^1.9.0 [`#24`](https://github.com/lifion/lifion-kinesis/pull/24)
- Update dependency eslint to ^5.8.0 [`#20`](https://github.com/lifion/lifion-kinesis/pull/20)
- Update dependency lint-staged to v8 [`#21`](https://github.com/lifion/lifion-kinesis/pull/21)
- Update dependency husky to ^1.1.3 [`#22`](https://github.com/lifion/lifion-kinesis/pull/22)
- Update dependency eslint to ^5.7.0 [`#19`](https://github.com/lifion/lifion-kinesis/pull/19)
- Update dependency husky to ^1.1.2 [`#18`](https://github.com/lifion/lifion-kinesis/pull/18)
- Update dependency semver to ^5.6.0 [`#17`](https://github.com/lifion/lifion-kinesis/pull/17)
- Update dependency eslint-config-lifion to ^1.0.2 [`#16`](https://github.com/lifion/lifion-kinesis/pull/16)
- Feature/enable npm publish ci [`#15`](https://github.com/lifion/lifion-kinesis/pull/15)
- Update dependency auto-changelog to ^1.8.1 [`#13`](https://github.com/lifion/lifion-kinesis/pull/13)
- Update dependency eslint-config-lifion to ^1.0.1 [`#12`](https://github.com/lifion/lifion-kinesis/pull/12)
- Update dependency husky to ^1.1.1 [`#11`](https://github.com/lifion/lifion-kinesis/pull/11)
- Update dependency eslint to ^5.6.1 [`#10`](https://github.com/lifion/lifion-kinesis/pull/10)
- Update dependency husky to ^1.0.1 [`#9`](https://github.com/lifion/lifion-kinesis/pull/9)
- Update dependency eslint-config-lifion to v1 [`#7`](https://github.com/lifion/lifion-kinesis/pull/7)
- Update dependency eslint to v5 [`#6`](https://github.com/lifion/lifion-kinesis/pull/6)
- Update dependency husky to v1 [`#8`](https://github.com/lifion/lifion-kinesis/pull/8)
- Update dependency npm-watch to ^0.4.0 [`#5`](https://github.com/lifion/lifion-kinesis/pull/5)
- Configure Renovate [`#2`](https://github.com/lifion/lifion-kinesis/pull/2)
- Initial commit [`1be561c`](https://github.com/lifion/lifion-kinesis/commit/1be561ca8ed67539c6bae1a3d20310639d664be4)
- Add basic CircleCI integration [`9894deb`](https://github.com/lifion/lifion-kinesis/commit/9894debffbae98b885c6bdb2f8cb73074e8edbc0)
- Re-create package-lock.json [`27a7d4f`](https://github.com/lifion/lifion-kinesis/commit/27a7d4f4d76028f2a0dc252281f26173b6264635)

@@ -122,4 +122,8 @@ /**

if (consumer) {
logger.debug(`Stopping the consumer for "${shardId}"…`);
consumer.stop();
try {
logger.debug(`Stopping the consumer for "${shardId}"…`);
consumer.stop();
} catch (err) {
logger.error('Unexpected recoverable failure when trying to stop a consumer:', err);
}
consumers[shardId] = undefined;

@@ -143,43 +147,52 @@ }

// Start consumers for the shards the consumer owns.
ownedShardIds.forEach(shardId => {
const runningConsumer = consumers[shardId];
const shard = ownedShards[shardId];
if (!runningConsumer) {
logger.debug(`Starting a consumer for "${shardId}"…`);
const consumer = !useEnhancedFanOut
? new PollingConsumer({
client,
compression,
limit,
logger,
noRecordsPollDelay,
pollDelay,
pushToStream,
shardId,
stateStore,
stopConsumer,
streamName,
useAutoCheckpoints,
usePausedPolling,
...shard
})
: new FanOutConsumer({
awsOptions,
client,
compression,
consumerArn,
logger,
pushToStream,
shardId,
stateStore,
stopConsumer,
streamName,
...shard
});
consumers[shardId] = consumer;
consumer.start();
} else {
runningConsumer.updateLeaseExpiration(shard.leaseExpiration);
}
});
await Promise.all(
ownedShardIds.map(async shardId => {
const runningConsumer = consumers[shardId];
const shard = ownedShards[shardId];
if (!runningConsumer) {
try {
logger.debug(`Starting a consumer for "${shardId}"…`);
const consumer = !useEnhancedFanOut
? new PollingConsumer({
client,
compression,
limit,
logger,
noRecordsPollDelay,
pollDelay,
pushToStream,
shardId,
stateStore,
stopConsumer,
streamName,
useAutoCheckpoints,
usePausedPolling,
...shard
})
: new FanOutConsumer({
awsOptions,
client,
compression,
consumerArn,
logger,
pushToStream,
shardId,
stateStore,
stopConsumer,
streamName,
...shard
});
consumers[shardId] = consumer;
await consumer.start();
} catch (err) {
logger.error('Unexpected recoverable error when trying to start a consumer:', err);
consumers[shardId].stop();
consumers[shardId] = undefined;
throw err;
}
} else {
runningConsumer.updateLeaseExpiration(shard.leaseExpiration);
}
})
);

@@ -186,0 +199,0 @@ // Stop the consumers whose leases were lost.

@@ -323,6 +323,6 @@ /**

ShardId: shardId,
StartingPosition: Object.assign(
{ Type: checkpoint ? 'AFTER_SEQUENCE_NUMBER' : 'LATEST' },
checkpoint && { SequenceNumber: checkpoint }
)
StartingPosition: {
...(checkpoint && { SequenceNumber: checkpoint }),
Type: checkpoint ? 'AFTER_SEQUENCE_NUMBER' : 'LATEST'
}
}),

@@ -329,0 +329,0 @@ headers: { 'X-Amz-Target': AWS_API_TARGET },

@@ -62,5 +62,9 @@ /**

const heartbeat = async () => {
await stateStore.registerConsumer();
await stateStore.clearOldConsumers(HEARTBEAT_FAILURE_TIMEOUT);
logger.debug('Heartbeat sent.');
try {
await stateStore.registerConsumer();
await stateStore.clearOldConsumers(HEARTBEAT_FAILURE_TIMEOUT);
logger.debug('Heartbeat sent.');
} catch (err) {
logger.error('Unexpected recoverable failure when trying to send a hearbeat:', err);
}
privateProps.timeoutId = setTimeout(heartbeat, HEARTBEAT_INTERVAL);

@@ -67,0 +71,0 @@ };

@@ -20,2 +20,3 @@ /**

const ACQUIRE_LEASES_INTERVAL = 20 * 1000;
const ACQUIRE_LEASES_RECOVERY_INTERVAL = 5 * 1000;
const LEASE_TERM_TIMEOUT = 5 * 60 * 1000;

@@ -205,30 +206,50 @@ const LEASE_RENEWAL_OFFSET = Math.round(LEASE_TERM_TIMEOUT * 0.25);

let shouldReconcile = false;
const acquireLeases = async () => {
logger.debug('Trying to acquire leases…');
let nextDelay = ACQUIRE_LEASES_INTERVAL;
const { streamArn } = await checkIfStreamExists(privateProps);
if (!streamArn) {
logger.debug("Can't acquire leases as the stream is gone.");
consumersManager.stop();
this.stop();
return;
}
try {
logger.debug('Trying to acquire leases…');
if (useEnhancedFanOut) {
const consumerArn = await stateStore.getAssignedEnhancedConsumer();
if (!consumerArn) {
logger.debug("Can't acquire leases now as there's no assigned enhanced consumer.");
privateProps.timeoutId = setTimeout(acquireLeases, ACQUIRE_LEASES_INTERVAL);
const { streamArn } = await checkIfStreamExists(privateProps);
if (!streamArn) {
logger.debug("Can't acquire leases as the stream is gone.");
consumersManager.stop();
this.stop();
return;
}
}
const shards = await getStreamShards(privateProps);
if (useEnhancedFanOut) {
const consumerArn = await stateStore.getAssignedEnhancedConsumer();
if (!consumerArn) {
privateProps.timeoutId = setTimeout(acquireLeases, ACQUIRE_LEASES_RECOVERY_INTERVAL);
return;
}
}
const changesDetected = (await Object.keys(shards).reduce(async (result, id) => {
return (await result).concat(await acquireLease(this, id, shards));
}, [])).some(Boolean);
if (changesDetected) await consumersManager.reconcile();
const shards = await getStreamShards(privateProps);
privateProps.timeoutId = setTimeout(acquireLeases, ACQUIRE_LEASES_INTERVAL);
const changesDetected = (await Object.keys(shards).reduce(async (result, id) => {
const acc = await result;
try {
return acc.concat(await acquireLease(this, id, shards));
} catch (err) {
logger.error('Unexpected recoverable failure when trying to acquire a lease:', err);
nextDelay = ACQUIRE_LEASES_RECOVERY_INTERVAL;
return acc.concat(true);
}
}, [])).some(Boolean);
if (changesDetected || shouldReconcile) {
await consumersManager.reconcile();
shouldReconcile = false;
}
} catch (err) {
logger.error('Unexpected recoverable failure when trying to acquire leases:', err);
nextDelay = ACQUIRE_LEASES_RECOVERY_INTERVAL;
shouldReconcile = true;
}
privateProps.timeoutId = setTimeout(acquireLeases, nextDelay);
};

@@ -235,0 +256,0 @@

@@ -151,7 +151,10 @@ /**

const propsToPush = Object.assign(
{ millisBehindLatest: msBehind, records, shardId, streamName },
!useAutoCheckpoints && { setCheckpoint },
usePausedPolling && { continuePolling }
);
const propsToPush = {
millisBehindLatest: msBehind,
records,
shardId,
streamName,
...(!useAutoCheckpoints && { setCheckpoint }),
...(usePausedPolling && { continuePolling })
};

@@ -158,0 +161,0 @@ pushToStream(null, propsToPush);

@@ -103,7 +103,8 @@ /**

if (compressionLib) normData = await compressionLib.compress(normData, outputEncoding);
return Object.assign(
{ Data: normData, PartitionKey: partitionKey || hash(normData) },
explicitHashKey && { ExplicitHashKey: explicitHashKey },
sequenceNumberForOrdering && { SequenceNumberForOrdering: sequenceNumberForOrdering }
);
return {
Data: normData,
PartitionKey: partitionKey || hash(normData),
...(explicitHashKey && { ExplicitHashKey: explicitHashKey }),
...(sequenceNumberForOrdering && { SequenceNumberForOrdering: sequenceNumberForOrdering })
};
};

@@ -110,0 +111,0 @@ }

@@ -143,20 +143,17 @@ /**

await client.update({
ConditionExpression: `#a.#b.#d = :z`,
ExpressionAttributeNames: Object.assign(
{
'#a': 'enhancedConsumers',
'#b': consumerName,
'#c': 'isUsedBy',
'#d': 'version'
},
!useAutoShardAssignment && { '#e': 'shards' }
),
ExpressionAttributeValues: Object.assign(
{
':x': consumerId,
':y': generate(),
':z': version
},
!useAutoShardAssignment && { ':w': {} }
),
ConditionExpression: `#a.#b.#d = :z AND #a.#b.#c = :v`,
ExpressionAttributeNames: {
'#a': 'enhancedConsumers',
'#b': consumerName,
'#c': 'isUsedBy',
'#d': 'version',
...(!useAutoShardAssignment && { '#e': 'shards' })
},
ExpressionAttributeValues: {
':v': null,
':x': consumerId,
':y': generate(),
':z': version,
...(!useAutoShardAssignment && { ':w': {} })
},
Key: { consumerGroup, streamName },

@@ -287,29 +284,44 @@ UpdateExpression: `SET #a.#b.#c = :x, #a.#b.#d = :y${

const { isUsedBy } = enhancedConsumers[consumerName];
return oldConsumers.includes(isUsedBy) || !consumerIds.includes(isUsedBy);
if (oldConsumers.includes(isUsedBy)) {
logger.debug(`Enhanced consumer "${consumerName}" can be released, missed heartbeat.`);
return true;
}
if (!consumerIds.includes(isUsedBy)) {
logger.debug(`Enhanced consumer "${consumerName}" can be released, unknown owner.`);
return true;
}
return false;
});
if (usagesToClear.length > 0) {
try {
await client.update({
ExpressionAttributeNames: {
'#a': 'enhancedConsumers',
'#b': 'isUsedBy',
'#c': 'version',
...usagesToClear.reduce((obj, id, index) => ({ ...obj, [`#${index}`]: id }), {})
},
ExpressionAttributeValues: {
':z': null,
...usagesToClear.reduce((obj, id, index) => ({ ...obj, [`:${index}`]: generate() }), {})
},
Key: { consumerGroup, streamName },
UpdateExpression: `SET ${usagesToClear
.map((id, index) => `#a.#${index}.#b = :z, #a.#${index}.#c = :${index}`)
.join(', ')}`
});
logger.debug(`Released usage of ${usagesToClear.length} enhanced consumer(s).`);
} catch (err) {
logger.error(err);
throw err;
}
}
await Promise.all(
usagesToClear.map(async consumerName => {
const { isUsedBy, version: ver } = enhancedConsumers[consumerName];
try {
await client.update({
ConditionExpression: '#a.#b.#c = :w AND #a.#b.#d = :x',
ExpressionAttributeNames: {
'#a': 'enhancedConsumers',
'#b': consumerName,
'#c': 'isUsedBy',
'#d': 'version'
},
ExpressionAttributeValues: {
':w': isUsedBy,
':x': ver,
':y': null,
':z': generate()
},
Key: { consumerGroup, streamName },
UpdateExpression: 'SET #a.#b.#c = :y, #a.#b.#d = :z'
});
logger.debug(`Enhanced consumer "${consumerName}" has been released.`);
} catch (err) {
if (err.code !== 'ConditionalCheckFailedException') {
logger.error(err);
throw err;
}
logger.debug(`Enhanced consumer "${consumerName}" can't be released.`);
}
})
);
}

@@ -428,3 +440,3 @@

if (!consumerArn) {
logger.warn(`Couldn't lock an enhanced fan-out consumer.`);
logger.warn(`All enhanced fan-out consumers are assigned. Waiting until one is available…`);
await updateConsumerIsActive(this, false);

@@ -520,5 +532,9 @@ return null;

if (useEnhancedFanOut) {
const [consumerName, { shards }] = Object.entries(enhancedConsumers).find(
const enhancedConsumerState = Object.entries(enhancedConsumers).find(
([, value]) => value.isUsedBy === consumerId
);
if (!enhancedConsumerState) {
throw new Error('The enhanced consumer state is not where expected.');
}
const [consumerName, { shards }] = enhancedConsumerState;
return {

@@ -636,15 +652,13 @@ shards,

await client.update({
ExpressionAttributeNames: Object.assign(
{
...shardsPathNames,
'#b': parentShardId,
'#c': 'depleted',
'#d': 'version'
},
childrenShards.length > 0 && { '#e': 'checkpoint' },
childrenShards.reduce(
ExpressionAttributeNames: {
...shardsPathNames,
'#b': parentShardId,
'#c': 'depleted',
'#d': 'version',
...(childrenShards.length > 0 && { '#e': 'checkpoint' }),
...childrenShards.reduce(
(obj, childShard, index) => ({ ...obj, [`#${index}`]: childShard.shardId }),
{}
)
),
},
ExpressionAttributeValues: {

@@ -702,14 +716,12 @@ ':x': true,

ExpressionAttributeValues: {
':x': Object.assign(
{
appName,
heartbeat: new Date().toISOString(),
host,
isActive: true,
isStandalone: !useAutoShardAssignment,
pid,
startedOn: new Date(Date.now() - uptime() * 1000).toISOString()
},
!useAutoShardAssignment && !useEnhancedFanOut && { shards: {} }
)
':x': {
appName,
heartbeat: new Date().toISOString(),
host,
isActive: true,
isStandalone: !useAutoShardAssignment,
pid,
startedOn: new Date(Date.now() - uptime() * 1000).toISOString(),
...(!useAutoShardAssignment && !useEnhancedFanOut && { shards: {} })
}
},

@@ -764,11 +776,9 @@ Key: { consumerGroup, streamName },

ExpressionAttributeValues: {
':x': Object.assign(
{
arn,
isStandalone: !useAutoShardAssignment,
isUsedBy: null,
version: generate()
},
!useAutoShardAssignment && { shards: {} }
)
':x': {
arn,
isStandalone: !useAutoShardAssignment,
isUsedBy: null,
version: generate(),
...(!useAutoShardAssignment && { shards: {} })
}
},

@@ -775,0 +785,0 @@ Key: { consumerGroup, streamName },

@@ -69,10 +69,9 @@ /**

const { code, message, requestId, statusCode } = err;
exceptions.push(
Object.assign(
{ message, timestamp },
code && { code },
requestId && { requestId },
statusCode && { statusCode }
)
);
exceptions.push({
message,
timestamp,
...(code && { code }),
...(requestId && { requestId }),
...(statusCode && { statusCode })
});
});

@@ -96,5 +95,3 @@ return { count, exceptions };

} else if (recentExceptions) {
formattedValue = Object.assign({}, value, {
recentExceptions: formatExceptions(recentExceptions)
});
formattedValue = { ...value, recentExceptions: formatExceptions(recentExceptions) };
}

@@ -101,0 +98,0 @@ return Object.assign(results, { [key]: formattedValue });

{
"name": "lifion-kinesis",
"version": "1.0.10",
"version": "1.0.11",
"description": "Lifion client for Amazon Kinesis Data streams",

@@ -20,3 +20,5 @@ "keywords": [

"Edgardo Avilés <Edgardo.Aviles@ADP.com>",
"Mackenzie Turner <turner.mackenzie.m@gmail.com>"
"Jenny Eckstein <Jenny.Eckstein@ADP.com>",
"Mackenzie Turner <turner.mackenzie.m@gmail.com>",
"Zaid Masud <Zaid.Masud@ADP.com>"
],

@@ -27,2 +29,10 @@ "contributors": [

"license": "MIT",
"repository": {
"type": "git",
"url": "https://stash.es.ad.adp.com/src/core/lifion-kinesis.git"
},
"bugs": {
"url": "https://github.com/lifion/lifion-kinesis/issues"
},
"homepage": "https://github.com/lifion/lifion-kinesis#readme",
"main": "lib/index.js",

@@ -37,5 +47,6 @@ "engines": {

"format": "prettier --write '**/*.{md,js,json}' '!coverage/**/*.{js,json}'",
"jest": "jest -c ./.jest.json",
"jest-watch": "npm run jest -- --watchAll --coverageReporters=html",
"prepare": "check-engines",
"test": "jest --ci --runInBand && codecov",
"test-watch": "jest --watchAll --coverageReporters=html",
"test": "npm run jest -- --ci --runInBand && codecov",
"version": "auto-changelog -p && git add CHANGELOG.md"

@@ -45,3 +56,3 @@ },

"async-retry": "^1.2.3",
"aws-sdk": "^2.503.0",
"aws-sdk": "^2.514.0",
"aws4": "^1.8.0",

@@ -58,12 +69,12 @@ "fast-deep-equal": "^2.0.1",

"devDependencies": {
"auto-changelog": "^1.14.1",
"auto-changelog": "^1.15.0",
"chalk": "^2.4.2",
"check-engines": "^1.5.0",
"codecov": "^3.5.0",
"eslint": "^5.16.0",
"eslint-config-lifion": "^1.2.6",
"husky": "^3.0.2",
"jest": "^24.8.0",
"eslint": "^6.2.1",
"eslint-config-lifion": "^1.3.0",
"husky": "^3.0.4",
"jest": "^24.9.0",
"jsdoc-to-markdown": "^5.0.0",
"lint-staged": "^9.2.1",
"lint-staged": "^9.2.3",
"npm-watch": "^0.6.0",

@@ -73,87 +84,8 @@ "prettier": "^1.18.2",

},
"auto-changelog": {
"commitLimit": false,
"template": "./templates/CHANGELOG.hbs"
},
"eslintConfig": {
"extends": "lifion",
"overrides": [
{
"files": [
"lib/records.js",
"lib/fan-out-consumer.js"
],
"rules": {
"no-underscore-dangle": [
"warn",
{
"allow": [
"_transform",
"_write"
],
"allowAfterSuper": false,
"allowAfterThis": false,
"enforceInMethodNames": true
}
]
}
}
]
},
"husky": {
"hooks": {
"pre-commit": "npm run build-docs && lint-staged"
"pre-commit": "npm run build-docs && lint-staged",
"pre-push": "npm run eslint && npm run jest"
}
},
"jest": {
"collectCoverage": true,
"collectCoverageFrom": [
"**/*.js"
],
"coverageDirectory": "../coverage",
"coverageThreshold": {
"global": {
"statements": 100,
"branches": 100,
"functions": 100,
"lines": 100
}
},
"rootDir": "lib",
"testEnvironment": "node"
},
"lint-staged": {
"*.js": [
"eslint --fix",
"git add"
],
"*.{json,md}": [
"prettier --write",
"git add"
]
},
"prettier": {
"printWidth": 100,
"singleQuote": true
},
"renovate": {
"assignees": [
"eaviles",
"kenzable"
],
"automerge": true,
"branchPrefix": "feature/renovate-",
"engines": {
"node": {
"enabled": false
}
},
"extends": [
"config:base"
],
"major": {
"automerge": false
},
"rangeStrategy": "bump"
},
"watch": {

@@ -165,3 +97,8 @@ "build-docs": {

}
},
"@lifion/core-commons": {
"template": "public",
"updated": "2019-08-20T20:54:06.146Z",
"version": "2.2.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc