Skip to content

Latest commit

 

History

History
877 lines (662 loc) · 38.3 KB

CHANGELOG.md

File metadata and controls

877 lines (662 loc) · 38.3 KB

v0.19.0-alpha.0 - 2023-04-13

Chore

  • Use gasket dep from crates.io (#249)
  • Fix lint warnings for all targets (#240)
  • Improve network tracing messages (#237)
  • traverse: Improve API ergonomics (#233)

Docs

  • Small crate readme tweaks

Feat

  • Migrate to asynchronous I/O (#241)
  • Allow creation of secret key from bytes (#224)
  • Add client/server use_channel variants (#228)
  • Add constants for known miniprotocols
  • Introduce Upstream crate (#230)
  • Make the underlying TxBody type generic
  • addresses: Derive Hash on Address (#235)
  • traverse: Expose aux data scripts (#232)
  • traverse: Introduce time helpers (#234)
  • upstream: Make output generic by adapter (#236)

Fix

  • Handle bearer I/O errors (#247)
  • Make upstream worker easy to connect (#246)
  • upstream: Use sync read for chunk dequeue (#239)

Refactor

  • Improve network module naming (#245)
  • Merge multiplexer & miniprotocols into single crate (#244)
  • traverse: Unify mint and output asset artifacts (#231)

BREAKING CHANGE

The signature for Bearer.accept_tcp now returns the bearer, and the address that connected.

This can, for example, be used to implement allow and deny lists for accepting or rejecting incoming connections.

  • Return the remote address from accept_unix

  • cargo fmt

  • Fix comment formatting

v0.18.0 - 2023-02-04

Build

  • deps: update env_logger requirement from 0.9.0 to 0.10.0 (#209)
  • deps: update minicbor requirement from 0.18 to 0.19 (#213)

Chore

  • Fix lint issues (#222)
  • Fix README badge (#217)

Feat

  • Derive Debug for Bearer (#219)
  • miniprotocols: Implement tx submission client (#220)

Fix

  • Provide original hash for inline datum (#221)

v0.17.0 - 2023-01-26

Fix

  • use PlutusBytes to encode BigUInt/BigNInt (#216)

v0.16.0 - 2023-01-06

Chore

  • Remove lagging pre-release ref (#206)
  • Fix lint warnings (#205)
  • Remove pre-release ref from deps (#204)
  • Fix address lint issue (#201)
  • miniprotocols: Fix integration tests after preview respin (#203)
  • miniprotocols: Add chain-sync tip test (#199)

Feat

  • Migrate to dumb agents (#198)
  • addresses: Add helper for shelley into stake address (#208)
  • miniprotocols: Introduce tracing (#214)
  • multiplexer: Introduce sync multiplexer option (#210)
  • traverse: produces_at method for MultiEraTx (#200)

Fix

  • Match CBOR encoding of plutus data with the haskell implementation. (#212)
  • addresses: Remove bad todo in bech32 logic (#207)
  • primitives: Handle generic int in Plutus data (#202)

BREAKING CHANGE

handshake, chainsync, localstate and blockfetch mini-protocols changed the API surface

v0.14.2 - 2022-11-14

Build

  • deps: update minicbor requirement from 0.17 to 0.18 (#134)
  • deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)

Chore

  • Fix linter warnings (#194)
  • Fix lint warnings (#190)
  • Move fee logic out of primitives (#174)
  • Move time logic out of primitives (#173)
  • Move hash logic out of primitives (#172)
  • primitives: Remove redundant address logic (#171)

Feat

  • return indexes along with outputs returned by produces() (#193)
  • Provide access to all assets at a tx out (#180)
  • Add magic constants for preview and preprod environments (#179)
  • Introduce Bech32 crate (#176)
  • addresses: Add hex and bech32 for Shelley parts (#181)
  • primitives: Preserve order of map structures (#192)
  • primitives: Enable serde of ledger structs (#169)
  • traverse: Add helper methods to Asset data (#195)
  • traverse: Provide access to original Datum hash (#189)
  • traverse: Introduce new MultiEraTx helpers (#184)

Fix

  • Stop double CBOR encoding of Plutus script used for hashing (#188)
  • use correct prefix when hashing plutus v2 script (#182)
  • codec: Make Int struct copy (#170)
  • primitives: Handle generic int in Plutus data (#202)
  • primitives: Add missing PartialOrd and Ord to TransactionInput (#191)
  • traverse: Make ToHash trait public outside crate (#186)

v0.13.4 - 2022-11-14

Fix

  • primitives: Handle generic int in Plutus data (#202)

v0.15.0 - 2022-11-13

Chore

  • Remove lagging pre-release ref (#206)
  • Fix lint warnings (#205)
  • Remove pre-release ref from deps (#204)
  • Fix address lint issue (#201)
  • miniprotocols: Fix integration tests after preview respin (#203)
  • miniprotocols: Add chain-sync tip test (#199)

Feat

  • Migrate to dumb agents (#198)
  • traverse: produces_at method for MultiEraTx (#200)

Fix

  • primitives: Handle generic int in Plutus data (#202)

BREAKING CHANGE

handshake, chainsync, localstate and blockfetch mini-protocols changed the API surface

v0.14.0 - 2022-10-13

v0.14.0-alpha.6 - 2022-10-13

Build

  • deps: update minicbor requirement from 0.17 to 0.18 (#134)
  • deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)

Chore

  • Fix linter warnings (#194)
  • Fix lint warnings (#190)
  • Move fee logic out of primitives (#174)
  • Move time logic out of primitives (#173)
  • Move hash logic out of primitives (#172)
  • primitives: Remove redundant address logic (#171)

Feat

  • return indexes along with outputs returned by produces() (#193)
  • Provide access to all assets at a tx out (#180)
  • Add magic constants for preview and preprod environments (#179)
  • Introduce Bech32 crate (#176)
  • addresses: Add hex and bech32 for Shelley parts (#181)
  • primitives: Preserve order of map structures (#192)
  • primitives: Enable serde of ledger structs (#169)
  • traverse: Add helper methods to Asset data (#195)
  • traverse: Provide access to original Datum hash (#189)
  • traverse: Introduce new MultiEraTx helpers (#184)

Fix

  • Stop double CBOR encoding of Plutus script used for hashing (#188)
  • use correct prefix when hashing plutus v2 script (#182)
  • codec: Make Int struct copy (#170)
  • primitives: Add missing PartialOrd and Ord to TransactionInput (#191)
  • traverse: Make ToHash trait public outside crate (#186)

v0.13.3 - 2022-10-13

Fix

  • Handle undefined CBOR maps in Plutus data (#196)

v0.14.0-alpha.5 - 2022-09-28

Feat

  • traverse: Add helper methods to Asset data (#195)

v0.14.0-alpha.4 - 2022-09-21

Chore

  • Fix linter warnings (#194)

Feat

  • return indexes along with outputs returned by produces() (#193)
  • Provide access to all assets at a tx out (#180)

v0.14.0-alpha.3 - 2022-09-15

Feat

  • primitives: Preserve order of map structures (#192)

Fix

  • primitives: Add missing PartialOrd and Ord to TransactionInput (#191)

v0.14.0-alpha.2 - 2022-09-13

Chore

  • Fix lint warnings (#190)

Feat

  • traverse: Provide access to original Datum hash (#189)

Fix

  • Stop double CBOR encoding of Plutus script used for hashing (#188)

v0.14.0-alpha.1 - 2022-09-11

Fix

  • traverse: Make ToHash trait public outside crate (#186)

v0.14.0-alpha.0 - 2022-09-11

Build

  • deps: update minicbor requirement from 0.17 to 0.18 (#134)
  • deps: update bech32 requirement from 0.8.1 to 0.9.1 (#177)

Chore

  • Move fee logic out of primitives (#174)
  • Move time logic out of primitives (#173)
  • Move hash logic out of primitives (#172)
  • primitives: Remove redundant address logic (#171)

Feat

  • Add magic constants for preview and preprod environments (#179)
  • Introduce Bech32 crate (#176)
  • addresses: Add hex and bech32 for Shelley parts (#181)
  • primitives: Enable serde of ledger structs (#169)
  • traverse: Introduce new MultiEraTx helpers (#184)

Fix

  • use correct prefix when hashing plutus v2 script (#182)
  • codec: Make Int struct copy (#170)

v0.13.2 - 2022-08-19

Fix

  • addresses: Skip error on pointer address overflow (#178)

v0.13.1 - 2022-08-08

Fix

  • primitives: Fix overflow on cost model (#168)
  • primitives: Make cost models optional (#167)

v0.13.0 - 2022-08-07

Chore

  • Fix lint warnings (#166)
  • Fix trailing comma lint issue (#165)

Feat

  • primitives: Add ToHash to DatumOption (#163)
  • traverse: Add missing getters on output (#162)
  • traverse: Add missing getters for witness fields (#160)
  • traverse: Add reference inputs to Tx (#161)
  • traverse: Expose collateral return (#158)

Fix

  • primitives: Handle alonzo headers without prev-hash (#164)
  • primitives: Force CBOR null primitive for missing aux data (#159)

v0.12.0 - 2022-08-02

Chore

  • Add test for output traverse (#157)
  • Fix lint warnings

Fix

  • addresses: Fix Byron cbor structure (#155)

v0.12.0-alpha.0 - 2022-07-20

Chore

  • Apply code formatting
  • primitives: Add Plutus script hash test (#147)

Feat

  • addresses: Improve API ergonomics (#148)
  • miniprotocols: Add Tx-Mempool-Monitoring mini-Protocol (#150)
  • traverse: Introduce more new accessor methods (#153)
  • traverse: Introduce new accessor methods (#152)
  • traverse: Expose multi-era metadata (#151)
  • traverse: Integrate address library (#149)

Fix

  • multiplexer: Honor read timeouts in bearer logic (#154)

v0.11.1 - 2022-07-03

Fix

  • traverse: Add missing era probe

v0.11.0 - 2022-07-02

Build

  • deps: update bech32 requirement from 0.8.1 to 0.9.0 (#104)

Chore

  • primitives: Organize test data on a single dir (#112)

Docs

  • Update changelog

Feat

  • Add mechanism to check era's features (#120)
  • Introduce 'traverse' library (#117)
  • Introduce Addresses crate (#137)
  • Add Vasil / Babbage compatibility (#126)
  • Implement common traverse iterators (#119)
  • multiplexer: Use single channel for muxer (#133)
  • primitives: Introduce MintedBlock concept (#116)
  • traverse: Add era-handling utilities (#123)
  • traverse: Add output refs for inputs (#122)
  • traverse: Add tx input traversing (#121)
  • traverse: Add output-at helper method (#124)
  • traverse: Add ada amount method on output (#135)
  • traverse: Expose block number value (#140)
  • traverse: Improve MultiEraOutput ergonomics (#141)

Fix

  • Add missing README blocking publish
  • Add missing README preventing publish
  • multiplexer: Use buffers that own the inner channel (#113)
  • multiplexer: Handle bearer io error instead of panic (#118)
  • primitives: Handle bytes indef in Plutus data (#143)
  • primitives: Adjust member visibility in structs (#144)
  • traverse: Handle Shelley's lack of invalid_transactions field (#138)

v0.10.1 - 2022-07-02

Fix

  • primitives: Handle bytes indef in Plutus data

v0.11.0-beta.1 - 2022-06-25

Feat

  • Introduce Addresses crate (#137)

Fix

  • Add missing README blocking publish
  • traverse: Handle Shelley's lack of invalid_transactions field (#138)

v0.11.0-beta.0 - 2022-06-20

Build

  • deps: update bech32 requirement from 0.8.1 to 0.9.0 (#104)

Feat

  • Add Vasil / Babbage compatibility (#126)
  • multiplexer: Use single channel for muxer (#133)
  • traverse: Add ada amount method on output (#135)

v0.11.0-alpha.2 - 2022-06-17

Feat

  • traverse: Add output-at helper method (#124)
  • traverse: Add era-handling utilities (#123)
  • traverse: Add output refs for inputs (#122)
  • traverse: Add tx input traversing (#121)

Fix

  • Add missing README preventing publish

v0.11.0-alpha.1 - 2022-06-15

Feat

  • Add mechanism to check era's features (#120)
  • Implement common traverse iterators (#119)
  • Introduce 'traverse' library (#117)
  • primitives: Introduce MintedBlock concept (#116)

Fix

  • multiplexer: Handle bearer io error instead of panic (#118)

v0.11.0-alpha.0 - 2022-06-10

Chore

  • primitives: Organize test data on a single dir (#112)

Docs

  • Update changelog

Fix

  • multiplexer: Use buffers that own the inner channel (#113)

v0.10.0 - 2022-06-04

Chore

  • deps: Upgrade to minicbor 0.17 (breaking changes) (#109)

Feat

  • Improve multiplexer ergonomics (#111)
  • Add mechanism to retain original CBOR (#110)
  • multiplexer: Allow fine-grained control of concurrency strategy (#106)
  • primitives: Add self-contained transaction struct (#107)

v0.9.1 - 2022-05-03

Fix

  • Provide access to PlutusScript bytes (#102)

v0.9.0 - 2022-04-30

Ci

  • Skip publish confirmation prompt
  • Enable tag-based release workflow
  • Add draft version of the release workflow (#101)

Docs

  • Add retroactive change log

v0.9.0-alpha.1 - 2022-04-29

Chore

  • Add unit test for native script hash (#98)
  • Move miniprotocol examples to custom crate (#97)

Feat

  • Implement Plutus Data hashing / JSON (#100)

Fix

  • Use correct struct for metadatum labels (#96)
  • Update failing native script json test (#95)
  • primitives: Fix native scripts policy id (add missing tag) (#94)
  • primitives: Fix native scripts before/after type serialization (#93)

v0.9.0-alpha.0 - 2022-04-26

Feat

  • primitives: Implement length-preserving uints (#92)
  • primitives: Implement canonical JSON serialization (#90)

v0.8.0 - 2022-04-11

v0.8.0-alpha.1 - 2022-04-11

Feat

  • Improve alonzo address ergonomics (#87)
  • Make blockfetch observer mutable (#86)
  • miniprotocols: Allow step-by-step agents (#85)

v0.8.0-alpha.0 - 2022-03-22

Chore

  • Fix rogue clippy warnings (#79)
  • Add block-decoding example (#78)
  • Update README with new crates (#77)

Docs

  • Split miniprotocol status into initiator vs responder (#82)
  • Fix README links (#81)
  • Add miniprotocols crate README (#80)

Feat

  • miniprotocols: Allow graceful exit on chainsync and blockfetch (#83)

Refactor

  • miniprotocols: Use pure functions for state machines (#84)

[email protected] - 2022-03-16

[email protected] - 2022-03-16

Fix

  • miniprotocols: Handle regression related to multi-msg payloads (#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)

Feat

  • Use DecodeOwned for improved ergonomic (#74)
  • Introduce shared codec lib (#71)

Fix

  • Use minicbor int to represent metadatum ints (#73)
  • primitives: Handle very BigInt in plutus data (#75)

v0.7.0-alpha.0 - 2022-03-13

[email protected] - 2022-03-08

Fix

  • primitives: Handle map-indef variant for aux data (#70)

[email protected] - 2022-03-08

Fix

  • primitives: Add missing variant (not in CDDL) to AddrAttr enum (#69)

[email protected] - 2022-03-01

Fix

  • primitives: Fix decoding of empty Nonce hash (#67)

[email protected] - 2022-02-28

Fix

  • primitives: Fix round-trip decoding of Alonzo update struct (#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)

Fix

  • miniprotocols: Decode BlockContent correctly (#60)
  • primitives: Fix round-trip decoding of move_instantaneous_reward struct (#64)
  • primitives: Fix ssc struct codec (#62)
  • primitives: Fix Byron 'Up' struct decoding (#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)

Fix

  • primitives: Fix round-trip decoding of genesis block (#58)

v0.5.0-alpha.5 - 2022-02-23

Feat

  • Allow chainsync to start from origin (#56)

v0.5.0-alpha.4 - 2022-02-18

Feat

  • add Eq & Ord to Era (#53)

v0.5.0-alpha.3 - 2022-02-17

Feat

  • Make chainsync protocol era-agnostic (#52)
  • Include cbor probing for all known eras (#51)

v0.5.0-alpha.2 - 2022-02-16

Feat

  • Implement rollback buffer (#49)

Fix

  • Add mutability to chainsync observer (#50)

v0.5.0-alpha.1 - 2022-02-14

Chore

  • Simplify ChainSync agent logic (#48)

Feat

  • Add Byron header hashing (#45)
  • Implement block cbor probing (#44)
  • primitives: Improve ergonomics for Byron primitives (#47)

Fix

  • primitives: Probe old shelley blocks correctly (#46)

v0.5.0-alpha.0 - 2022-02-09

Chore

  • Merge Byron / Alonzo into single crate (#43)
  • Add logo to README (#42)
  • Add logo assets
  • Merge mini-protocols into single crate (#40)

Feat

  • Introduce Byron library (#39)

Test

  • Overflow error in ExUnits (#38)

v0.4.0 - 2022-01-31

Build

  • Enable dependabot
  • deps: update minicbor requirement from 0.12 to 0.13 (#37)
  • deps: update cryptoxide requirement from 0.3.6 to 0.4.1 (#36)
  • deps: update minicbor-derive requirement from 0.7.2 to 0.8.0

Docs

  • Add block download example (#24)

Feat

  • make use of the pallas_crypto::Hash type (#25)

Fix

  • alonzo: ExUnits steps overflow (#35)

Pull Requests

  • Merge pull request #27 from txpipe/nicolasdp/ed25519-plus
  • Merge pull request #23 from txpipe/nicolasdp/pallas-crypto-faster-hash-computation
  • Merge pull request #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)

v0.3.8 - 2022-01-08

Fix

  • alonzo: Contemplate aux data with multiple plutus scripts (#19)

v0.3.7 - 2022-01-07

Fix

  • alonzo: Apply correct codec for protocol param updates (#18)

v0.3.6 - 2022-01-06

Fix

  • alonzo: Make 'invalid txs' field optional for old block compatibility (#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)

Fix

  • chainsync: Stop the consumer machine when intersect is not found (#14)
  • machines: Don't warn on expected end-of-input errors (#15)
  • multiplexer: Remove disconnected protocols from muxer loop (#16)

Pull Requests

  • Merge pull request #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 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