## 0.5.0 (2024-12-21)

* 0.5.0 ([7549a6e](https://github.com/Semesse/flowp/commit/7549a6e))
* fix: async iterator does not throw on finish anymore ([30926a3](https://github.com/Semesse/flowp/commit/30926a3))
* chore: bump dev dependencies & update tests ([55ba736](https://github.com/Semesse/flowp/commit/55ba736))
* doc: better future example ([5e6837f](https://github.com/Semesse/flowp/commit/5e6837f))



## <small>0.4.4 (2023-12-24)</small>

* 0.4.4 ([40c2270](https://github.com/Semesse/flowp/commit/40c2270))
* fix: publish missing esm & dts ([b2fb794](https://github.com/Semesse/flowp/commit/b2fb794))



## <small>0.4.2 (2023-10-24)</small>

* 0.4.2 ([5dfb649](https://github.com/Semesse/flowp/commit/5dfb649))
* chore: auto deps dependencies ([4b12fec](https://github.com/Semesse/flowp/commit/4b12fec))
* chore: bump deps & fix esm import resolution ([d7b5ffa](https://github.com/Semesse/flowp/commit/d7b5ffa))
* chore: update logo ([98ce2e9](https://github.com/Semesse/flowp/commit/98ce2e9))



## <small>0.4.1 (2023-07-11)</small>

* 0.4.1 ([d93096b](https://github.com/Semesse/flowp/commit/d93096b))
* chore: auto deps dependencies ([05ed938](https://github.com/Semesse/flowp/commit/05ed938))
* chore: auto deps dependencies ([c138e42](https://github.com/Semesse/flowp/commit/c138e42))
* chore: auto deps dependencies ([4b64e9d](https://github.com/Semesse/flowp/commit/4b64e9d))
* chore: bump deps and fix tests ([03f7c8e](https://github.com/Semesse/flowp/commit/03f7c8e))
* chore: fix eslint ([4175cb6](https://github.com/Semesse/flowp/commit/4175cb6))
* chore: use node20 ([a8f78a6](https://github.com/Semesse/flowp/commit/a8f78a6))
* feat: add barrier ([6009c7f](https://github.com/Semesse/flowp/commit/6009c7f))
* feat: export barrier ([2836aef](https://github.com/Semesse/flowp/commit/2836aef))
* style: fix eslint error ([f68e321](https://github.com/Semesse/flowp/commit/f68e321))



## 0.4.0 (2023-01-17)

* 0.4.0 ([5e4771d](https://github.com/Semesse/flowp/commit/5e4771d))
* feat!: now ChannelHub.close closes itself and disallow creating new channels ([bf86649](https://github.com/Semesse/flowp/commit/bf86649))
* fix: exports types ([46a617b](https://github.com/Semesse/flowp/commit/46a617b))
* chore: auto deps dependencies ([3692230](https://github.com/Semesse/flowp/commit/3692230))
* chore: auto deps dependencies ([a0b9ae6](https://github.com/Semesse/flowp/commit/a0b9ae6))
* docs: fix docs site build failed ([7632eed](https://github.com/Semesse/flowp/commit/7632eed))
* docs: update ChannelHub docs ([a9d741d](https://github.com/Semesse/flowp/commit/a9d741d))
* ci: auto bump deps ([8a787e9](https://github.com/Semesse/flowp/commit/8a787e9))



## <small>0.3.9 (2022-11-27)</small>

* 0.3.9 ([852c5e0](https://github.com/Semesse/flowp/commit/852c5e0))
* chore: add versioning script ([9db7fc9](https://github.com/Semesse/flowp/commit/9db7fc9))
* docs: update docs & site ([a6d5e97](https://github.com/Semesse/flowp/commit/a6d5e97))
* feat: mutex can now wrap an object ([bfa8e15](https://github.com/Semesse/flowp/commit/bfa8e15))



## <small>0.3.8 (2022-11-16)</small>

* 0.3.8 ([c5a8fe6](https://github.com/Semesse/flowp/commit/c5a8fe6))
* docs: update badges ([579daa9](https://github.com/Semesse/flowp/commit/579daa9))
* chore: bump deps version ([7c56869](https://github.com/Semesse/flowp/commit/7c56869))
* feat: channel can be disconnected from ChannelHub ([ce9e64e](https://github.com/Semesse/flowp/commit/ce9e64e))



## <small>0.3.7 (2022-10-10)</small>

* 0.3.7 ([1dfd32e](https://github.com/Semesse/flowp/commit/1dfd32e))
* chore: bump deps version ([94571de](https://github.com/Semesse/flowp/commit/94571de))
* chore: conditional export esm apis ([e24f247](https://github.com/Semesse/flowp/commit/e24f247))
* chore: no bundle for esm ([029c907](https://github.com/Semesse/flowp/commit/029c907))
* docs: update examples for future ([aecc659](https://github.com/Semesse/flowp/commit/aecc659))



## <small>0.3.6 (2022-09-20)</small>

* 0.3.6 ([04646b0](https://github.com/Semesse/flowp/commit/04646b0))
* fix: semaphore schedule tasks which throw / reject ([dbf3efd](https://github.com/Semesse/flowp/commit/dbf3efd))
* fix: semaphore with zero permits ([4ade684](https://github.com/Semesse/flowp/commit/4ade684))
* test: recursive delegate test case ([e465501](https://github.com/Semesse/flowp/commit/e465501))
* feat: optional sleep param, remove timeout error wrap ([9d534b7](https://github.com/Semesse/flowp/commit/9d534b7))
* docs: add semaphore examples and playground ([bae3f48](https://github.com/Semesse/flowp/commit/bae3f48))
* docs: automatically handle rejection ([5c8851c](https://github.com/Semesse/flowp/commit/5c8851c))



## <small>0.3.5 (2022-09-15)</small>

* 0.3.5 ([1b6fad4](https://github.com/Semesse/flowp/commit/1b6fad4))
* feat: mutex.frozen ([e149453](https://github.com/Semesse/flowp/commit/e149453))



## <small>0.3.4 (2022-09-06)</small>

* 0.3.4 ([09b472a](https://github.com/Semesse/flowp/commit/09b472a))
* fix: semaphore schedule async task ([6e181a4](https://github.com/Semesse/flowp/commit/6e181a4))



## <small>0.3.3 (2022-09-04)</small>

* 0.3.3 ([f655722](https://github.com/Semesse/flowp/commit/f655722))
* docs: add CHANGELOG ([c0dd16e](https://github.com/Semesse/flowp/commit/c0dd16e))
* docs: add progress section ([93a3a77](https://github.com/Semesse/flowp/commit/93a3a77))
* test: add exports test ([a727970](https://github.com/Semesse/flowp/commit/a727970))
* feat: improve future inspection ([7adb986](https://github.com/Semesse/flowp/commit/7adb986))
* feat: move channel errors into static fields of channel ([6a310d4](https://github.com/Semesse/flowp/commit/6a310d4))
* feat: progress impl ([05737d3](https://github.com/Semesse/flowp/commit/05737d3))
* fix: remove redundant type in Delegated<T> ([60dcab9](https://github.com/Semesse/flowp/commit/60dcab9))


### BREAKING CHANGE

* access channel errors from Channel.XXXError


## <small>0.3.2 (2022-09-02)</small>

* 0.3.2 ([33286f1](https://github.com/Semesse/flowp/commit/33286f1))
* chore: fix misssing typing ([9929f0e](https://github.com/Semesse/flowp/commit/9929f0e))
* chore: update npmignore & README ([f372712](https://github.com/Semesse/flowp/commit/f372712))



## <small>0.3.1 (2022-09-01)</small>

* 0.3.1 ([17cccbc](https://github.com/Semesse/flowp/commit/17cccbc))
* chore: fix ci ([138d5bd](https://github.com/Semesse/flowp/commit/138d5bd))



## 0.3.0 (2022-09-01)

* 0.3.0 ([a530823](https://github.com/Semesse/flowp/commit/a530823))
* chore: fix cf pages deploy ([34775f8](https://github.com/Semesse/flowp/commit/34775f8))
* chore: introduce api extractor ([08caeac](https://github.com/Semesse/flowp/commit/08caeac))
* chore: mark progress as alpha ([2704e33](https://github.com/Semesse/flowp/commit/2704e33))
* docs: create docs site ([125dffd](https://github.com/Semesse/flowp/commit/125dffd))
* docs: fix site icon ([a7da0da](https://github.com/Semesse/flowp/commit/a7da0da))
* docs: generate docs site ([1872916](https://github.com/Semesse/flowp/commit/1872916))
* docs: move docs to standalone site ([744d13d](https://github.com/Semesse/flowp/commit/744d13d))
* test: improve mutex tests ([7d90359](https://github.com/Semesse/flowp/commit/7d90359))
* test: semaphore freeze ([7afaaeb](https://github.com/Semesse/flowp/commit/7afaaeb))
* refactor: add docs, rename timer -> timers, PipeAdapter -> Transform ([e8ade13](https://github.com/Semesse/flowp/commit/e8ade13))
* refactor: rename lateinit -> delegate ([e0720b9](https://github.com/Semesse/flowp/commit/e0720b9))
* feat: future state inspection, semaphore.schedule, mutex api ([acaff90](https://github.com/Semesse/flowp/commit/acaff90))
* ci: fix coverage ([d317b03](https://github.com/Semesse/flowp/commit/d317b03))


### BREAKING CHANGE

* exports renaming
test: add more test cases
docs: compilant with tsdoc
* update mutex api with semaphore
test: improve test coverage


## <small>0.2.5 (2022-08-26)</small>

* 0.2.5 ([1be7350](https://github.com/Semesse/flowp/commit/1be7350))
* test: add Channel.pause tests ([89b259c](https://github.com/Semesse/flowp/commit/89b259c))
* test: fix timer tests in CI ([664e7d4](https://github.com/Semesse/flowp/commit/664e7d4))
* test: improve channel tests ([fdc0fc5](https://github.com/Semesse/flowp/commit/fdc0fc5))
* chore: add missing vitest config ([b2ea0ac](https://github.com/Semesse/flowp/commit/b2ea0ac))
* chore: migrate to vitest ([287669e](https://github.com/Semesse/flowp/commit/287669e))
* chore: remove unused dependencies and bump deps version ([1bb6caf](https://github.com/Semesse/flowp/commit/1bb6caf))
* chore: update docs and imports ([9f1425a](https://github.com/Semesse/flowp/commit/9f1425a))
* feat: add Channel.pause ([5c4a79e](https://github.com/Semesse/flowp/commit/5c4a79e))
* feat: add Semaphore.freeze ([3393016](https://github.com/Semesse/flowp/commit/3393016))
* feat: add timer utils ([13392c2](https://github.com/Semesse/flowp/commit/13392c2))
* fix: test assertion failed ([38f02da](https://github.com/Semesse/flowp/commit/38f02da))
* fix: ut failed ([57d926d](https://github.com/Semesse/flowp/commit/57d926d))



## <small>0.2.4 (2022-08-23)</small>

* 0.2.4 ([10d28c8](https://github.com/Semesse/flowp/commit/10d28c8))
* fix: clear channel queue after setting pipe ([9d40d6e](https://github.com/Semesse/flowp/commit/9d40d6e))



## <small>0.2.3 (2022-08-22)</small>

* 0.2.3 ([a449bc5](https://github.com/Semesse/flowp/commit/a449bc5))
* fix: receive on empty unbounded channel ([4f6d0ac](https://github.com/Semesse/flowp/commit/4f6d0ac))



## <small>0.2.2 (2022-08-21)</small>

* 0.2.2 ([544030e](https://github.com/Semesse/flowp/commit/544030e))
* fix: set Future default generic param to unknown ([b4986c1](https://github.com/Semesse/flowp/commit/b4986c1))
* feat: add Progress ([d98e907](https://github.com/Semesse/flowp/commit/d98e907))



## <small>0.2.1 (2022-08-17)</small>

* 0.2.1 ([e643791](https://github.com/Semesse/flowp/commit/e643791))
* feat: add Channel.closed ([1b5a7c7](https://github.com/Semesse/flowp/commit/1b5a7c7))
* test: fix mutex tests for breaking change ([17c442f](https://github.com/Semesse/flowp/commit/17c442f))
* docs: update jsdoc ([f92b046](https://github.com/Semesse/flowp/commit/f92b046))


### BREAKING CHANGE

* remove isFull and isEmpty from Mutex, add canLock


## 0.2.0 (2022-08-06)

* 0.2.0 ([cc596eb](https://github.com/Semesse/flowp/commit/cc596eb))
* docs: update channel docs ([d75ca21](https://github.com/Semesse/flowp/commit/d75ca21))
* docs: update docs ([095db85](https://github.com/Semesse/flowp/commit/095db85))
* chore: move future into promise ([242138c](https://github.com/Semesse/flowp/commit/242138c))
* fix: pipes export ([9576f54](https://github.com/Semesse/flowp/commit/9576f54))
* fix: remove unexpectedly uploaded examples ([b30edd5](https://github.com/Semesse/flowp/commit/b30edd5))



## <small>0.1.2 (2022-07-30)</small>

* 0.1.2 ([6271280](https://github.com/Semesse/flowp/commit/6271280))
* chore: update pnpm lock ([d88b497](https://github.com/Semesse/flowp/commit/d88b497))
* docs: update docs ([6cfd8f2](https://github.com/Semesse/flowp/commit/6cfd8f2))



## <small>0.1.1 (2022-07-30)</small>

* 0.1.1 ([588de37](https://github.com/Semesse/flowp/commit/588de37))
* chore: add keywords ([b866197](https://github.com/Semesse/flowp/commit/b866197))
* refactor: src folder structure ([d1a52e9](https://github.com/Semesse/flowp/commit/d1a52e9))
* fix: bound channel & closed channel behaviors ([b55fd74](https://github.com/Semesse/flowp/commit/b55fd74))



## 0.1.0 (2022-07-29)

* 0.1.0 ([4824dec](https://github.com/Semesse/flowp/commit/4824dec))
* chore: ignore config files in tarball ([758f2f5](https://github.com/Semesse/flowp/commit/758f2f5))
* chore: remove engines restriction for projects using a transpiler ([908472e](https://github.com/Semesse/flowp/commit/908472e))
* chore: tsup target es2020 ([3de6faa](https://github.com/Semesse/flowp/commit/3de6faa))
* docs: update docs ([9dea359](https://github.com/Semesse/flowp/commit/9dea359))
* fix: pipe typing ([165e59c](https://github.com/Semesse/flowp/commit/165e59c))



## <small>0.0.7 (2022-07-26)</small>

* 0.0.7 ([9fd04d0](https://github.com/Semesse/flowp/commit/9fd04d0))
* chore: update npmignore ([adc74a5](https://github.com/Semesse/flowp/commit/adc74a5))
* chore: upgrade dependencies ([d8dd541](https://github.com/Semesse/flowp/commit/d8dd541))
* fix: build failed ([8c062a0](https://github.com/Semesse/flowp/commit/8c062a0))
* feat: mark Future as stable ([d87033a](https://github.com/Semesse/flowp/commit/d87033a))
* feat: redesign channel hub ([c5a2354](https://github.com/Semesse/flowp/commit/c5a2354))
* docs: add bun as supported runtime ([2ea5de7](https://github.com/Semesse/flowp/commit/2ea5de7))



## <small>0.0.7-beta.2 (2022-07-20)</small>

* 0.0.7-beta.2 ([e1206b7](https://github.com/Semesse/flowp/commit/e1206b7))
* fix: publish token ([57627b3](https://github.com/Semesse/flowp/commit/57627b3))



## <small>0.0.7-beta.1 (2022-07-20)</small>

* 0.0.7-beta.1 ([73d7df9](https://github.com/Semesse/flowp/commit/73d7df9))



## <small>0.0.7-beta.0 (2022-07-19)</small>

* 0.0.7-beta.0 ([5f63723](https://github.com/Semesse/flowp/commit/5f63723))
* feat: export pipeables ([5d455e6](https://github.com/Semesse/flowp/commit/5d455e6))
* chore: fix target to es2020 ([f4bd24c](https://github.com/Semesse/flowp/commit/f4bd24c))
* chore: target to es2020 ([da49e9b](https://github.com/Semesse/flowp/commit/da49e9b))
* ci: publish tag ([9e8026f](https://github.com/Semesse/flowp/commit/9e8026f))



## <small>0.0.7-0 (2022-07-12)</small>

* 0.0.7-0 ([3b735e0](https://github.com/Semesse/flowp/commit/3b735e0))
* perf: improve channel performance when capacity is unlimited ([beca3f8](https://github.com/Semesse/flowp/commit/beca3f8))
* feat: add source option to pipe protocol ([7a825c3](https://github.com/Semesse/flowp/commit/7a825c3))
* feat: expose channel hub & splitter ([412a241](https://github.com/Semesse/flowp/commit/412a241))
* chore: switch to swc ([746e273](https://github.com/Semesse/flowp/commit/746e273))



## <small>0.0.6 (2022-07-06)</small>

* 0.0.6 ([9829274](https://github.com/Semesse/flowp/commit/9829274))
* docs: gen docs ([7075785](https://github.com/Semesse/flowp/commit/7075785))
* docs: update README ([2fd91f2](https://github.com/Semesse/flowp/commit/2fd91f2))
* feat: add channel splitter ([11ff669](https://github.com/Semesse/flowp/commit/11ff669))
* test: add more tests for lateinit ([5192047](https://github.com/Semesse/flowp/commit/5192047))
* test: fix lateinit test failure ([321d7b0](https://github.com/Semesse/flowp/commit/321d7b0))
* chore: smaller package size ([849b2b7](https://github.com/Semesse/flowp/commit/849b2b7))



## <small>0.0.5 (2022-05-25)</small>

* 0.0.5 ([a3deb62](https://github.com/Semesse/flowp/commit/a3deb62))
* feat: future.resolve/reject auto bind this ([f2dea46](https://github.com/Semesse/flowp/commit/f2dea46))
* style: fix eslint ([ddfd660](https://github.com/Semesse/flowp/commit/ddfd660))



## <small>0.0.4 (2022-05-11)</small>

* 0.0.4 ([b3f5d60](https://github.com/Semesse/flowp/commit/b3f5d60))
* chore: mark as side effect free ([2dabb95](https://github.com/Semesse/flowp/commit/2dabb95))
* chore: update badge ([183791b](https://github.com/Semesse/flowp/commit/183791b))
* fix: lateinit this binding ([bb51018](https://github.com/Semesse/flowp/commit/bb51018))



## <small>0.0.3 (2022-05-10)</small>

* 0.0.3 ([b4c5287](https://github.com/Semesse/flowp/commit/b4c5287))
* chore: add gen-docs script ([76b116c](https://github.com/Semesse/flowp/commit/76b116c))
* chore: missing script ([10eab02](https://github.com/Semesse/flowp/commit/10eab02))
* chore: update docs ([666efd0](https://github.com/Semesse/flowp/commit/666efd0))
* chore: update README ([d536b99](https://github.com/Semesse/flowp/commit/d536b99))
* ci: fix ci again ([578107b](https://github.com/Semesse/flowp/commit/578107b))
* ci: fix ci again and again ([2c443b3](https://github.com/Semesse/flowp/commit/2c443b3))
* ci: fix coverage ([58bee79](https://github.com/Semesse/flowp/commit/58bee79))
* ci: fix lint & coverage ([ac14b29](https://github.com/Semesse/flowp/commit/ac14b29))
* ci: fix publish ([7d3ba23](https://github.com/Semesse/flowp/commit/7d3ba23))
* ci: fix publish ([0d0aebb](https://github.com/Semesse/flowp/commit/0d0aebb))
* build: support cjs ([0131ead](https://github.com/Semesse/flowp/commit/0131ead))



## <small>0.0.2 (2022-05-10)</small>

* 0.0.2 ([3d5833b](https://github.com/Semesse/flowp/commit/3d5833b))
* Create LICENSE ([7c4b8f3](https://github.com/Semesse/flowp/commit/7c4b8f3))
* ci: add ci lint stage ([da0484c](https://github.com/Semesse/flowp/commit/da0484c))
* ci: fix publish ([3a87a9e](https://github.com/Semesse/flowp/commit/3a87a9e))
* ci: publish on push version tag ([13bb6a1](https://github.com/Semesse/flowp/commit/13bb6a1))
* style: fix codestyle ([764b82b](https://github.com/Semesse/flowp/commit/764b82b))
* style: fix codestyle ([68e59d7](https://github.com/Semesse/flowp/commit/68e59d7))
* chore: add npmignore ([9646604](https://github.com/Semesse/flowp/commit/9646604))
* chore: exclude src from package ([86cd4d2](https://github.com/Semesse/flowp/commit/86cd4d2))
* chore: fix emitting d.ts ([4a4ca7b](https://github.com/Semesse/flowp/commit/4a4ca7b))
* chore: fix eslint ([d530b3a](https://github.com/Semesse/flowp/commit/d530b3a))
* chore: move d.ts to ts ([4f78996](https://github.com/Semesse/flowp/commit/4f78996))
* test: lateinit ut ([a9f2200](https://github.com/Semesse/flowp/commit/a9f2200))



## <small>0.0.1 (2022-05-09)</small>

* docs: add codeclimate badge ([452011a](https://github.com/Semesse/flowp/commit/452011a))
* docs: add README ([2f09eec](https://github.com/Semesse/flowp/commit/2f09eec))
* docs: add some tsdoc ([422d87e](https://github.com/Semesse/flowp/commit/422d87e))
* docs: fix CI badge ([2f30662](https://github.com/Semesse/flowp/commit/2f30662))
* docs: init docs ([bf958cd](https://github.com/Semesse/flowp/commit/bf958cd))
* ci: add publish ([ace7f8a](https://github.com/Semesse/flowp/commit/ace7f8a))
* ci: add tests ([dee7418](https://github.com/Semesse/flowp/commit/dee7418))
* ci: refine tests ([80e6e1e](https://github.com/Semesse/flowp/commit/80e6e1e))
* fix: package export ([4e08c04](https://github.com/Semesse/flowp/commit/4e08c04))
* fix: semaphore revoke behavior ([006a274](https://github.com/Semesse/flowp/commit/006a274))
* chore: add husky, commitlint & typedoc ([4f61493](https://github.com/Semesse/flowp/commit/4f61493))
* chore: add npmrc to lock registry ([1cd454d](https://github.com/Semesse/flowp/commit/1cd454d))
* chore: configure jest & misc settings ([ed89825](https://github.com/Semesse/flowp/commit/ed89825))
* chore: fix commitlint config ([c10f91f](https://github.com/Semesse/flowp/commit/c10f91f))
* chore: typedoc config ([03ba7b2](https://github.com/Semesse/flowp/commit/03ba7b2))
* chore: update eslint & prettier ([9110083](https://github.com/Semesse/flowp/commit/9110083))
* chore: update lock registry ([5067796](https://github.com/Semesse/flowp/commit/5067796))
* refactor: move functools into utils ([8e2fec8](https://github.com/Semesse/flowp/commit/8e2fec8))
* feat: add channel hub ([c46a4e8](https://github.com/Semesse/flowp/commit/c46a4e8))
* feat: add entrypoint ([1750d0a](https://github.com/Semesse/flowp/commit/1750d0a))
* feat: add future ([5885a9e](https://github.com/Semesse/flowp/commit/5885a9e))
* feat: add lateinit ([f83bbb0](https://github.com/Semesse/flowp/commit/f83bbb0))
* feat: add semaphore & mutex ([eb91b62](https://github.com/Semesse/flowp/commit/eb91b62))
* feat: channel ([99f2f51](https://github.com/Semesse/flowp/commit/99f2f51))
* feat: channel can pipe to another channel ([836a550](https://github.com/Semesse/flowp/commit/836a550))
* feat: functool once ([888d4d9](https://github.com/Semesse/flowp/commit/888d4d9))
* feat: grant and revoke permits of semaphore ([f769a10](https://github.com/Semesse/flowp/commit/f769a10))
* feat: hide unnecessary mutex impl ([74f949d](https://github.com/Semesse/flowp/commit/74f949d))
* feat: pipeable ([e922c3e](https://github.com/Semesse/flowp/commit/e922c3e))
* feat: utility types ([32a3c7a](https://github.com/Semesse/flowp/commit/32a3c7a))
* init workspace ([e056344](https://github.com/Semesse/flowp/commit/e056344))



