diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md
new file mode 100755
index 0000000..5683d03
--- /dev/null
+++ b/.chglog/CHANGELOG.tpl.md
@@ -0,0 +1,56 @@
+{{ if .Versions -}}
+
+## [Unreleased]
+
+{{ if .Unreleased.CommitGroups -}}
+{{ range .Unreleased.CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{ range .Versions }}
+
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
+{{ range .CommitGroups -}}
+### {{ .Title }}
+{{ range .Commits -}}
+- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
+### Reverts
+{{ range .RevertCommits -}}
+- {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
+### Pull Requests
+{{ range .MergeCommits -}}
+- {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+### {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
\ No newline at end of file
diff --git a/.chglog/config.yml b/.chglog/config.yml
new file mode 100755
index 0000000..89caaab
--- /dev/null
+++ b/.chglog/config.yml
@@ -0,0 +1,28 @@
+style: github
+template: CHANGELOG.tpl.md
+info:
+ title: CHANGELOG
+ repository_url: https://github.com/txpipe/pallas
+options:
+ commits:
+ # filters:
+ # Type:
+ # - feat
+ # - fix
+ # - perf
+ # - refactor
+ commit_groups:
+ # title_maps:
+ # feat: Features
+ # fix: Bug Fixes
+ # perf: Performance Improvements
+ # refactor: Code Refactoring
+ header:
+ pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$"
+ pattern_maps:
+ - Type
+ - Scope
+ - Subject
+ notes:
+ keywords:
+ - BREAKING CHANGE
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..1fcfce4
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,381 @@
+
+## [Unreleased]
+
+
+
+## [v0.9.0-alpha.1] - 2022-04-29
+### Chore
+- Add unit test for native script hash ([#98](https://github.com/txpipe/pallas/issues/98))
+- Move miniprotocol examples to custom crate ([#97](https://github.com/txpipe/pallas/issues/97))
+
+### Feat
+- Implement Plutus Data hashing / JSON ([#100](https://github.com/txpipe/pallas/issues/100))
+
+### Fix
+- Use correct struct for metadatum labels ([#96](https://github.com/txpipe/pallas/issues/96))
+- Update failing native script json test ([#95](https://github.com/txpipe/pallas/issues/95))
+- **primitives:** Fix native scripts policy id (add missing tag) ([#94](https://github.com/txpipe/pallas/issues/94))
+- **primitives:** Fix native scripts before/after type serialization ([#93](https://github.com/txpipe/pallas/issues/93))
+
+
+
+## [v0.9.0-alpha.0] - 2022-04-26
+### Feat
+- **primitives:** Implement length-preserving uints ([#92](https://github.com/txpipe/pallas/issues/92))
+- **primitives:** Implement canonical JSON serialization ([#90](https://github.com/txpipe/pallas/issues/90))
+
+
+
+## [v0.8.0] - 2022-04-11
+
+
+## [v0.8.0-alpha.1] - 2022-04-11
+### Feat
+- Improve alonzo address ergonomics ([#87](https://github.com/txpipe/pallas/issues/87))
+- Make blockfetch observer mutable ([#86](https://github.com/txpipe/pallas/issues/86))
+- **miniprotocols:** Allow step-by-step agents ([#85](https://github.com/txpipe/pallas/issues/85))
+
+
+
+## [v0.8.0-alpha.0] - 2022-03-22
+### Chore
+- Fix rogue clippy warnings ([#79](https://github.com/txpipe/pallas/issues/79))
+- Add block-decoding example ([#78](https://github.com/txpipe/pallas/issues/78))
+- Update README with new crates ([#77](https://github.com/txpipe/pallas/issues/77))
+
+### Docs
+- Split miniprotocol status into initiator vs responder ([#82](https://github.com/txpipe/pallas/issues/82))
+- Fix README links ([#81](https://github.com/txpipe/pallas/issues/81))
+- Add miniprotocols crate README ([#80](https://github.com/txpipe/pallas/issues/80))
+
+### Feat
+- **miniprotocols:** Allow graceful exit on chainsync and blockfetch ([#83](https://github.com/txpipe/pallas/issues/83))
+
+### Refactor
+- **miniprotocols:** Use pure functions for state machines ([#84](https://github.com/txpipe/pallas/issues/84))
+
+
+
+## [pallas-miniprotocols@0.7.1] - 2022-03-16
+
+
+## [pallas-codec@0.7.1] - 2022-03-16
+### Fix
+- **miniprotocols:** Handle regression related to multi-msg payloads ([#76](https://github.com/txpipe/pallas/issues/76))
+
+
+
+## [v0.7.0] - 2022-03-16
+
+
+## [v0.7.0-alpha.1] - 2022-03-16
+### Build
+- **deps:** update minicbor requirement from 0.14 to 0.15 ([#72](https://github.com/txpipe/pallas/issues/72))
+
+### Feat
+- Use DecodeOwned for improved ergonomic ([#74](https://github.com/txpipe/pallas/issues/74))
+- Introduce shared codec lib ([#71](https://github.com/txpipe/pallas/issues/71))
+
+### Fix
+- Use minicbor int to represent metadatum ints ([#73](https://github.com/txpipe/pallas/issues/73))
+- **primitives:** Handle very BigInt in plutus data ([#75](https://github.com/txpipe/pallas/issues/75))
+
+
+
+## [v0.7.0-alpha.0] - 2022-03-13
+
+
+## [pallas-primitives@0.6.4] - 2022-03-08
+### Fix
+- **primitives:** Handle map-indef variant for aux data ([#70](https://github.com/txpipe/pallas/issues/70))
+
+
+
+## [pallas-primitives@0.6.3] - 2022-03-08
+### Fix
+- **primitives:** Add missing variant (not in CDDL) to AddrAttr enum ([#69](https://github.com/txpipe/pallas/issues/69))
+
+
+
+## [pallas-primitives@0.6.2] - 2022-03-01
+### Fix
+- **primitives:** Fix decoding of empty Nonce hash ([#67](https://github.com/txpipe/pallas/issues/67))
+
+
+
+## [pallas-primitives@0.6.1] - 2022-02-28
+### Fix
+- **primitives:** Fix round-trip decoding of Alonzo update struct ([#66](https://github.com/txpipe/pallas/issues/66))
+
+
+
+## [v0.6.0] - 2022-02-28
+
+
+## [v0.5.4] - 2022-02-28
+### Build
+- **deps:** minicbor-0.14, minicbor-derive-0.9.0, fix build ([#63](https://github.com/txpipe/pallas/issues/63))
+
+### Fix
+- **miniprotocols:** Decode BlockContent correctly ([#60](https://github.com/txpipe/pallas/issues/60))
+- **primitives:** Fix round-trip decoding of move_instantaneous_reward struct ([#64](https://github.com/txpipe/pallas/issues/64))
+- **primitives:** Fix ssc struct codec ([#62](https://github.com/txpipe/pallas/issues/62))
+- **primitives:** Fix Byron 'Up' struct decoding ([#61](https://github.com/txpipe/pallas/issues/61))
+
+
+
+## [v0.5.0] - 2022-02-24
+### Chore
+- Fix clippy warnings
+
+
+
+## [v0.5.0-beta.0] - 2022-02-24
+### Chore
+- Tidy up examples
+
+### Feat
+- Handle correct probing of genesis block ([#57](https://github.com/txpipe/pallas/issues/57))
+
+### Fix
+- **primitives:** Fix round-trip decoding of genesis block ([#58](https://github.com/txpipe/pallas/issues/58))
+
+
+
+## [v0.5.0-alpha.5] - 2022-02-23
+### Feat
+- Allow chainsync to start from origin ([#56](https://github.com/txpipe/pallas/issues/56))
+
+
+
+## [v0.5.0-alpha.4] - 2022-02-18
+### Feat
+- add Eq & Ord to Era ([#53](https://github.com/txpipe/pallas/issues/53))
+
+
+
+## [v0.5.0-alpha.3] - 2022-02-17
+### Feat
+- Make chainsync protocol era-agnostic ([#52](https://github.com/txpipe/pallas/issues/52))
+- Include cbor probing for all known eras ([#51](https://github.com/txpipe/pallas/issues/51))
+
+
+
+## [v0.5.0-alpha.2] - 2022-02-16
+### Feat
+- Implement rollback buffer ([#49](https://github.com/txpipe/pallas/issues/49))
+
+### Fix
+- Add mutability to chainsync observer ([#50](https://github.com/txpipe/pallas/issues/50))
+
+
+
+## [v0.5.0-alpha.1] - 2022-02-14
+### Chore
+- Simplify ChainSync agent logic ([#48](https://github.com/txpipe/pallas/issues/48))
+
+### Feat
+- Add Byron header hashing ([#45](https://github.com/txpipe/pallas/issues/45))
+- Implement block cbor probing ([#44](https://github.com/txpipe/pallas/issues/44))
+- **primitives:** Improve ergonomics for Byron primitives ([#47](https://github.com/txpipe/pallas/issues/47))
+
+### Fix
+- **primitives:** Probe old shelley blocks correctly ([#46](https://github.com/txpipe/pallas/issues/46))
+
+
+
+## [v0.5.0-alpha.0] - 2022-02-09
+### Chore
+- Merge Byron / Alonzo into single crate ([#43](https://github.com/txpipe/pallas/issues/43))
+- Add logo to README ([#42](https://github.com/txpipe/pallas/issues/42))
+- Add logo assets
+- Merge mini-protocols into single crate ([#40](https://github.com/txpipe/pallas/issues/40))
+
+### Feat
+- Introduce Byron library ([#39](https://github.com/txpipe/pallas/issues/39))
+
+### Test
+- Overflow error in ExUnits ([#38](https://github.com/txpipe/pallas/issues/38))
+
+
+
+## [v0.4.0] - 2022-01-31
+### Build
+- Enable dependabot
+- **deps:** update minicbor requirement from 0.12 to 0.13 ([#37](https://github.com/txpipe/pallas/issues/37))
+- **deps:** update cryptoxide requirement from 0.3.6 to 0.4.1 ([#36](https://github.com/txpipe/pallas/issues/36))
+- **deps:** update minicbor-derive requirement from 0.7.2 to 0.8.0
+
+### Docs
+- Add block download example ([#24](https://github.com/txpipe/pallas/issues/24))
+
+### Feat
+- make use of the `pallas_crypto::Hash` type ([#25](https://github.com/txpipe/pallas/issues/25))
+
+### Fix
+- **alonzo:** ExUnits steps overflow ([#35](https://github.com/txpipe/pallas/issues/35))
+
+### Pull Requests
+- Merge pull request [#27](https://github.com/txpipe/pallas/issues/27) from txpipe/nicolasdp/ed25519-plus
+- Merge pull request [#23](https://github.com/txpipe/pallas/issues/23) from txpipe/nicolasdp/pallas-crypto-faster-hash-computation
+- Merge pull request [#21](https://github.com/txpipe/pallas/issues/21) from txpipe/dependabot/cargo/minicbor-derive-0.8.0
+
+
+
+## [v0.3.9] - 2022-01-09
+### Fix
+- **alonzo:** Apply valid cbor codec for Nonce values ([#20](https://github.com/txpipe/pallas/issues/20))
+
+
+
+## [v0.3.8] - 2022-01-08
+### Fix
+- **alonzo:** Contemplate aux data with multiple plutus scripts ([#19](https://github.com/txpipe/pallas/issues/19))
+
+
+
+## [v0.3.7] - 2022-01-07
+### Fix
+- **alonzo:** Apply correct codec for protocol param updates ([#18](https://github.com/txpipe/pallas/issues/18))
+
+
+
+## [v0.3.6] - 2022-01-06
+### Fix
+- **alonzo:** Make 'invalid txs' field optional for old block compatibility ([#17](https://github.com/txpipe/pallas/issues/17))
+
+
+
+## [v0.3.5] - 2022-01-03
+### Chore
+- Fix formatting / linting issues
+
+### Ci
+- Ignore clippy needless_range_loop
+- **multiplexer:** Fix connection refused error in integration tests ([#13](https://github.com/txpipe/pallas/issues/13))
+
+### Fix
+- **chainsync:** Stop the consumer machine when intersect is not found ([#14](https://github.com/txpipe/pallas/issues/14))
+- **machines:** Don't warn on expected end-of-input errors ([#15](https://github.com/txpipe/pallas/issues/15))
+- **multiplexer:** Remove disconnected protocols from muxer loop ([#16](https://github.com/txpipe/pallas/issues/16))
+
+### Pull Requests
+- Merge pull request [#9](https://github.com/txpipe/pallas/issues/9) from 2nd-Layer/main
+
+
+
+## [v0.3.4] - 2021-12-19
+### Ci
+- add validation workflow on push
+
+### Feat
+- Disable Unix socket on non-unix platforms
+- **multiplexer:** Add error messages to potential panics
+
+### Style
+- **multiplexer:** format code
+
+### Test
+- **multiplexer:** Add basic integration tests
+
+### Pull Requests
+- Merge pull request [#8](https://github.com/txpipe/pallas/issues/8) from 2nd-Layer/disable_unix_socket_on_non-unix_system
+
+
+
+## [v0.3.3] - 2021-12-14
+### Chore
+- improve gitignore
+
+### Docs
+- **multiplexer:** tidy up examples
+- **multiplexer:** add introduction to readme
+
+### Fix
+- **alonzo:** avoid indef arrays isomorphic codec issues
+- **alonzo:** deal with transaction body ordering
+- **alonzo:** use correct codec for plutus data
+- **multiplexer:** resolve lint issues
+
+### Refactor
+- make chainsync machine agnostic of content
+
+
+
+## [v0.3.2] - 2021-12-10
+### Feat
+- **blockfetch:** add more observer events
+
+
+
+## [v0.3.1] - 2021-12-10
+### Feat
+- **alonzo:** add instantaneous reward model
+
+### Fix
+- intra dev dependencies for example code
+- update incompatible doc link versions
+- **alonzo:** bad epoch data type
+- **alonzo:** visibility of struct members
+
+
+
+## v0.3.0 - 2021-12-09
+### Chore
+- bump version numbers
+- bump versions
+- **alonzo:** ensure isomorphic decoding / encoding
+
+### Feat
+- **alonzo:** small ergonomic improvements to lib api
+- **alonzo:** add mechanism to compute hashes of common structs
+- **blockfetch:** add on-demand block-fetch client
+- **chainsync:** add cursor to observer args
+- **chainsync:** add tip finder specialized client
+
+### Fix
+- update incompatible doc link versions
+- **handshake:** make client struct data public
+
+### Refactor
+- **multiplexer:** allow multiplexer channels to be sequantially shared
+
+### Style
+- apply fmt to entire workspace
+
+
+[Unreleased]: https://github.com/txpipe/pallas/compare/v0.9.0-alpha.1...HEAD
+[v0.9.0-alpha.1]: https://github.com/txpipe/pallas/compare/v0.9.0-alpha.0...v0.9.0-alpha.1
+[v0.9.0-alpha.0]: https://github.com/txpipe/pallas/compare/v0.8.0...v0.9.0-alpha.0
+[v0.8.0]: https://github.com/txpipe/pallas/compare/v0.8.0-alpha.1...v0.8.0
+[v0.8.0-alpha.1]: https://github.com/txpipe/pallas/compare/v0.8.0-alpha.0...v0.8.0-alpha.1
+[v0.8.0-alpha.0]: https://github.com/txpipe/pallas/compare/pallas-miniprotocols@0.7.1...v0.8.0-alpha.0
+[pallas-miniprotocols@0.7.1]: https://github.com/txpipe/pallas/compare/pallas-codec@0.7.1...pallas-miniprotocols@0.7.1
+[pallas-codec@0.7.1]: https://github.com/txpipe/pallas/compare/v0.7.0...pallas-codec@0.7.1
+[v0.7.0]: https://github.com/txpipe/pallas/compare/v0.7.0-alpha.1...v0.7.0
+[v0.7.0-alpha.1]: https://github.com/txpipe/pallas/compare/v0.7.0-alpha.0...v0.7.0-alpha.1
+[v0.7.0-alpha.0]: https://github.com/txpipe/pallas/compare/pallas-primitives@0.6.4...v0.7.0-alpha.0
+[pallas-primitives@0.6.4]: https://github.com/txpipe/pallas/compare/pallas-primitives@0.6.3...pallas-primitives@0.6.4
+[pallas-primitives@0.6.3]: https://github.com/txpipe/pallas/compare/pallas-primitives@0.6.2...pallas-primitives@0.6.3
+[pallas-primitives@0.6.2]: https://github.com/txpipe/pallas/compare/pallas-primitives@0.6.1...pallas-primitives@0.6.2
+[pallas-primitives@0.6.1]: https://github.com/txpipe/pallas/compare/v0.6.0...pallas-primitives@0.6.1
+[v0.6.0]: https://github.com/txpipe/pallas/compare/v0.5.4...v0.6.0
+[v0.5.4]: https://github.com/txpipe/pallas/compare/v0.5.0...v0.5.4
+[v0.5.0]: https://github.com/txpipe/pallas/compare/v0.5.0-beta.0...v0.5.0
+[v0.5.0-beta.0]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.5...v0.5.0-beta.0
+[v0.5.0-alpha.5]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.4...v0.5.0-alpha.5
+[v0.5.0-alpha.4]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.3...v0.5.0-alpha.4
+[v0.5.0-alpha.3]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.2...v0.5.0-alpha.3
+[v0.5.0-alpha.2]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.1...v0.5.0-alpha.2
+[v0.5.0-alpha.1]: https://github.com/txpipe/pallas/compare/v0.5.0-alpha.0...v0.5.0-alpha.1
+[v0.5.0-alpha.0]: https://github.com/txpipe/pallas/compare/v0.4.0...v0.5.0-alpha.0
+[v0.4.0]: https://github.com/txpipe/pallas/compare/v0.3.9...v0.4.0
+[v0.3.9]: https://github.com/txpipe/pallas/compare/v0.3.8...v0.3.9
+[v0.3.8]: https://github.com/txpipe/pallas/compare/v0.3.7...v0.3.8
+[v0.3.7]: https://github.com/txpipe/pallas/compare/v0.3.6...v0.3.7
+[v0.3.6]: https://github.com/txpipe/pallas/compare/v0.3.5...v0.3.6
+[v0.3.5]: https://github.com/txpipe/pallas/compare/v0.3.4...v0.3.5
+[v0.3.4]: https://github.com/txpipe/pallas/compare/v0.3.3...v0.3.4
+[v0.3.3]: https://github.com/txpipe/pallas/compare/v0.3.2...v0.3.3
+[v0.3.2]: https://github.com/txpipe/pallas/compare/v0.3.1...v0.3.2
+[v0.3.1]: https://github.com/txpipe/pallas/compare/v0.3.0...v0.3.1