v1.9.0
v1.9.0 (2023-12-13)
Docks
- Fix small typo in proposed filename (#448)
Doc
Features
- add attributes field to GCP pubsub (#719)
- compute and output tx hashes
- Introduce RabbitMQ sink (#550)
- Add filtering by witnesses (#544)
- Send inline datum as new events (#539)
- Add vrf_key to block event data (#489)
- Expose collateral data (#495)
- add certificate data mappings
- Add transaction size value to TransactionRecord (#403)
- Add cardano2dgraph testdrive example (#395)
- Implement selection filter by Address (#396)
- show rollback control event
- Add shortcuts for 'preview' and 'pre-prod' networks (#385)
- Remove e1 prefix from reward account (#379)
- Allow json & yaml as configuration file formats (#347)
- Implement Babbage compatibility (#351)
- Add metadata hash to pool registration event (#336)
- Add a nix flake (#335)
- Retry whole chainsync operation when possible (#332)
- Introduce Redis Streams sink (#253)
- represent addresses in bech32 format
- Emit witness events (#262)
- Introduce GCP PubSub sink (#237)
- Add native scripts (#241)
- Add custom terminal format for ADA Handle assets (#232)
- Add option to include tx details in block events (#231)
- Add epoch and epoch slot values to Block record (#195)
- Introduce AWS S3 sink (#221)
- Graceful shutdown options (#216)
- Add connection-retry logic with exponential backoff (#213)
- CLI option to override configured cursor in daemon mode (#212)
- Introduce AWS Lambda sink (#208)
- Introduce AWS SQS Sink (#207)
- Crawl Byron's epoch boundary blocks (#169)
- Introduce 'intersect' argument (#165)
- Implement Prometheus metric exporter (#154)
- Implement multi-era timestamp calculation (#155)
- Implement rollback buffer (#149)
- Introduce the 'Assert' sink (#140)
- Basic Windows support (#20)
- update the docs for the mapper config for the cbor change (#137)
- Add option to include raw block cbor (#127)
- include event type tag in serde output
- Introduce stateful cursor (#116)
- Add details to 'transaction' event (#24)
- Introduce 'stoud' + 'logs' sink (#77)
- Compute slot timestamp (#6)
- Add 'end' events for blocks and txs (#60)
- Add slot, hash and number to block start event (#59)
- Introduce "Webhook" sink (#51)
- Add CIP-25 metadata parser (#49)
- Add common data aggregations to events (#13)
- Auto-detect version
- Introduce 'filtering' stage (#14)
- Introduce 'fingerprint' filter (#16)
- Use sync channel for n2n intra-stage messaging
- Switch to sync std mpsc channels
- Centralize inter-stage channel setup
- Handle Byron blocks (#138)
- Introduce 'selection' filter (#18)
- BlockRecord: include previous block hash (#120)
- CIP15: Add CIP-0015 parser (#124)
- cli: Add version number to help output
- daemon: implement basic daemon cli subcommand
- elastic: Improve Elasticsearch sink implementation (#8)
- elastic: Add Elasticsearch MVP Sink (#5)
- gcp: add ordering key for pubsub (#716)
- kafka: add basic kafka sink implementation
- mapper: Refactor event-mapper code for easier extension (#47)
- model: include tx_hash in TransactionRecord (#123)
- node: Output block hash as event data
- node: Allow reading from arbitrary initial chain point (#10)
- sources: implement node-to-node soure using chainsync + blockfetch
- terminal: improve output style
- terminal: Allow user-defined terminal width (#393)
- watch: Add output throttle cli arg
- watch: Show error logs in stdout by default (#41)
- webhook: Allow self-signed certificates (#390)
Bug Fixes
- tests and lint errors
- incorrect epoch length in preview (#717)
- json deserialization from payload fails with i128 is not supported (#712)
- enable transaction details without enabling block details (#657)
- use correct cursor on chainsync roll forward #2
- Use correct bytes for Byron addresses (#537)
- Use original cbor to define inline datum hash (#538)
- Fix byron address string representation (#530)
- Compute datum hash for inline values (#529)
- Fix time calculation for preview / preprod (#528)
- valid entrypoint on Dockerfile
- Evaluate CIP25 policy / asset in selection filter (#498)
- Bump Pallas to fix Plutus data issue (#469)
- Upgrade Pallas to fix CBOR issue (#460)
- use correct cfg feature syntax
- Apply missing selection filters at Tx level (#430)
- Add all features in the binary releases
- Fix lint warning across the board (#410)
- Fix incorrect error message in N2C stage (#402)
- Fix typo in try_from_magic error output (#405)
- Evaluate Tx records for metadata filters (#406)
- Include all features in docker build
- Fix JSON serialization of genesis key delegation (#372)
- Move cursor only after side-effect (#364)
- Honor config field that toggles compression (#358)
- Fix n2n babbage header parsing (#355)
- Decode block wrappers correctly (#353)
- Add default values for retry policies (#352)
- Accommodate partial features build (#333)
- Add missing details in tx record (#321)
- Allow integer values in magic args (#320)
- Include EBB blocks in E2E tests (#315)
- Add missing finalize option to N2C (#314)
- Upgrade Pallas to fix tx hash mismatch (#312)
- Relax CIP15 requirements and log level (#290)
- Upgrade Pallas to deal with uint hashes
- Typo in watch arg parsing
- missing fields in NativeScript fingerprint (#246)
- Ensure aws feature builds ok in isolation (#230)
- Hotfix release by skipping arm64 container build
- Implement missing S3 object naming conventions (#223)
- Hide SQS sink under correct feature flag (#214)
- Downgrade metadata key issues to warnings (#199)
- Fix testnet well-known time parameters (#189)
- Pin dockerfile to "buster" Debian and update testdrive envs (#181)
- Downgrade all CIP-25 parser errors to warnings (#180)
- Downgrade 721 metadata error to warning (#175)
- Use magic from source in daemon bootstrap (#166)
- Compute timestamp in Byron mappings (#156)
- Allow env override of nested configs
- EventWriter::standalone() inaccessible (#115)
- Make bech32 encoding network-aware (#104)
- Slot to timestamp mapping matches public explorers (#101)
- dump build without 'logs' feature (#82)
- Use json-compatible structure for MoveInstantaneousRewardsCert (#71)
- Clap API update
- Update more code to new Clap API
- Log & continue on mapper errors (#53)
- CIP25 json key naming
- Remove rogue println
- Update Pallas to deal with metadata overflows
- Move from value_t macro to ArgMatches::value_of_t
- remove local path dependencies
- elastic: Don't panic on ID conflicts (#391)
- fingerprint: Passthrough events even on error (#142)
- gcp: Switch to pubsub lib that handles token refresh (#512)
- logs: Fix log sink for non-unix targets (#425)
- mapper: Panic on inter-stage channel error (#70)
- n2c: remove v10 version constraint
- node: Handle non-map metadata structures (#12)
- rabbitmq: exit process if connection closes unexpectedly
- terminal: Be aware of UTF-8 chars when truncating output (#431)
- terminal: Avoid slicing utf-8 chars (#68)
Docs
- improve docs across the board (#553)
- Add missing GCP PubSub item to index (#534)
- Fix typos across the board (#523)
- Fix Transaction ID typo in data dictionary
- Add preview and preprod magic values to
watch
usage (#398) - Improve mapper options docs (#400)
- Describe 'retry policy' mechanism (#392)
- Update metadata-based selection predicates (#380)
- Expand Redis sink section (#366)
- Add redis streams documentation to book index (#363)
- Add custom network config instructions (#362)
- Update changelog
- Add guide on connecting to custom networks (#306)
- Improve "data dictionary" section (#297)
- Fix typo in daemon example (#294)
- Add automated changelog (#286)
- Fix typo in CONTRIBUTING.md (#259)
- Fix typo in README (#239)
- Fixed typos (#226)
- Fix missing AWS sinks in mdbook index (#225)
- Document AWS Sinks (#224)
- Add examples of complex selection filters (#185)
- Document new features in v1.2 (#171)
- Add documentation for new v1.1 features (#126)
- Add contributing guide (#83)
- Use v1 for docker example (#64)
- add cardano to kafka example
- Add missing entry to summary
- add draft documentation in mdbook format
- Add testdrive example for webhook setup (#55)
- Add testdrive example for Elasticsearch setup (#54)
- Improve documentation across the board
- Add fingerprint / selection filter docs
- Improve 'watch' mode usage info
- Move docker instructions to mdbook
- Link to Kafka's original site (#4)
- improve binary install example
- add context field to data dictionary
- fill data dictionary and installation info
- point readme to mdbook
- add cli instructions
- webhook: Add webhook sink configuration docs (#62)
- webhook: Fix webhook testdrive config (#63)
Style
- Fix formatting
- Fix formatting
- Fix lints
- Fix whitespaces (#17)
- Fix whitespaces
- fix lint warnings
Code Refactoring
- Switch to Pallas v0.17 (huge change) (#527)
- Unify retry mechanism across sinks (#302)
- Move sub-command definition to corresponding module (#209)
- Merge epoch boundary record with standard block (#172)
- Streamline access shared utilities (#108)
- migrate to new version of pallas-alonzo
Build
Continuous Integration
- Update broken e2e tests (#470)
- Add N2C E2E tests (#313)
- Fix github / kubectl / eks issue
- Workaround github / kubectl / eks issue
- Add AWS e2e tests (#222)
- Add more e2e tests (#219)
- Introduce e2e testing workflow (#218)
- add docker build to release workflow
- Remove i686 release targets (#129)
- Start linting both code and some support files (#96)
- Add testdrive for logs sink (#98)
- remove extra container platforms to speed up workflow
- Add 'testdrive' workflow
- fix branch filter for validate workflow
- Improve docker build speed (#7)
- add github workflows
- dependabot: Auto-update GH Action versions (#130)
- style: Add EditorConfig and relevant GH Action (#91)
Chore
- Fix formatting issues (#388)
- remove makefile
- add use-cases to readme
- improve args in log subcommand
- lock file
- fix fmt
- fix lint issues
- update pallas dependency (#679)
- fix lint issues
- Fix build badge (#533)
- Fix remaining lint warnings (#531)
- fix lint issues
- fix license year typo
- add missing info to cargo metadata
- bump version for release
- fix missing openssl in release workflow
- apply cargo fmt
- fix missing openssl in release workflow
- Upgrade Debian base image in Dockerfile (#520)
- explain extra dep on cargo
- improve readme
- update vulnerable dependencies
- improve source folder structure
- tidy up arg parsing in oura bin
- remove unwraps and do a graceful exit
- apply lint suggestions / formatting
- bump version minor
- bump version patch
- Tidy up CI workflows
- Fix fmt and clippy warnings
- Fix fmt / clippy warnings
- Fix fmt / clippy warnings
- Fix clippy / fmt warnings
- Update README feature check list
- add code of conduct
- Fix lint warnings
- Prep for v1 (#58)
- remove explicit of 'use serde_derive'
- Add cursor to testdrive examples (#139)
- Upgrade to Pallas 0.5.0-alpha.1 (#148)
- Update Pallas to version 0.5.0-alpha.3 (#153)
- Update Pallas miniprotocols 0.5.1 (#167)
- Update Pallas primitives version (#168)
- Update pallas-primitives to v0.5.3
- Use v1.2 for testdrive examples (#182)
- fix lint issues
- Fix linting issues (#244)
- Fix lint warnings
- Add min-depth to e2e tests (#272)
- Update testdrive scripts to latest version
- Fix lint warnings across the board (#310)
- Add all features flag in from source docs (#377)
- deps: bump tokio from 1.18.0 to 1.18.1 (#278)
- deps: bump openssl-src from 111.17.0+1.1.1m to 111.22.0+1.1.1q (#389)
- deps: bump tokio from 1.18.2 to 1.20.1 (#369)
- deps: Update Pallas to v0.13.1 (#378)
- deps: Update Pallas to v0.11 (#350)
- deps: Update aws-sdk to 0.12 (#311)
- deps: bump clap from 3.1.17 to 3.1.18 (#293)
- deps: bump openssl from 0.10.40 to 0.10.41 (#394)
- deps: bump tokio from 1.18.1 to 1.18.2 (#287)
- deps: bump bech32 from 0.8.1 to 0.9.0 (#295)
- deps: bump log from 0.4.16 to 0.4.17 (#285)
- deps: bump clap from 3.1.16 to 3.1.17 (#284)
- deps: bump serde_json from 1.0.79 to 1.0.81 (#281)
- deps: bump serde from 1.0.136 to 1.0.137 (#275)
- deps: Upgrade aws-sdk to 0.14 (#409)
- deps: bump openssl from 0.10.38 to 0.10.40 (#282)
- deps: bump clap from 3.1.13 to 3.1.16 (#283)
- deps: bump pallas from 0.13.1 to 0.13.2 (#408)
- deps: Update all aws sdk libs to 0.11 (#271)
- deps: bump clap from 3.1.12 to 3.1.13 (#270)
- deps: bump pallas from 0.9.0-alpha.0 to 0.9.0-alpha.1 (#269)
- deps: bump tokio from 1.17.0 to 1.18.0 (#266)
- deps: Remove unused TUI dependency (#268)
- deps: bump clap from 3.1.11 to 3.1.12 (#261)
- deps: bump config from 0.13.0 to 0.13.1 (#248)
- deps: bump clap from 3.1.8 to 3.1.11 (#257)
- deps: bump crossterm from 0.23.1 to 0.23.2 (#235)
- deps: bump config from 0.13.1 to 0.13.2 (#414)
- deps: bump redis from 0.21.5 to 0.21.6 (#411)
- deps: Update Pallas to version 0.8.0 (#242)
- deps: bump config from 0.12.0 to 0.13.0 (#236)
- deps: bump clap from 3.1.7 to 3.1.8 (#234)
- deps: bump clap from 3.1.6 to 3.1.7 (#229)
- deps: bump log from 0.4.14 to 0.4.16 (#217)
- deps: bump aws-sdk-sqs from 0.8.0 to 0.9.0 (#211)
- deps: bump clap from 3.1.18 to 3.2.20 (#415)
- deps: bump reqwest from 0.11.9 to 0.11.10 (#200)
- deps: bump crossterm from 0.23.0 to 0.23.1 (#204)
- deps: Upgrade Pallas to v0.7.0 (#198)
- deps: bump clap from 3.1.5 to 3.1.6 (#188)
- deps: Update pallas-primitives to v0.6.4 (#191)
- deps: Update pallas-primitives to v0.6.3 (#190)
- deps: bump strum from 0.23.0 to 0.24.0 (#161)
- deps: bump clap from 3.1.3 to 3.1.5 (#186)
- deps: bump serde_json from 1.0.81 to 1.0.85 (#417)
- deps: Update pallas-primitives to v0.6.2 (#177)
- deps: Update pallas-primitives to v0.6.1 (#174)
- deps: Update Pallas to v0.6 (includes minicbor 0.14) (#173)
- deps: bump tokio from 1.20.1 to 1.21.0 (#416)
- deps: bump prometheus_exporter from 0.8.4 to 0.8.5 (#419)
- deps: bump reqwest from 0.11.10 to 0.11.11 (#421)
- deps: bump strum_macros from 0.23.1 to 0.24.0 (#159)
- deps: bump serde_json from 1.0.78 to 1.0.79 (#141)
- deps: bump tokio from 1.16.1 to 1.17.0 (#151)
- deps: bump strum from 0.24.0 to 0.24.1 (#418)
- deps: bump serde from 1.0.137 to 1.0.144 (#423)
- deps: Update Pallas with fix for payload regression (#205)
- deps: bump crossterm from 0.23.2 to 0.25.0 (#422)
- deps: bump clap from 3.0.13 to 3.0.14 (#121)
- deps: bump file-rotate from 0.5.3 to 0.6.0 (#133)
- deps: bump minicbor from 0.13.1 to 0.13.2 (#134)
- deps: bump crossterm from 0.22.1 to 0.23.0 (#135)
- deps: bump minicbor from 0.13.0 to 0.13.1 (#125)
- deps: Use Pallas 0.4.0 (#118)
- deps: bump clap from 3.0.12 to 3.0.13 (#105)
- deps: bump serde from 1.0.135 to 1.0.136 (#102)
- deps: bump clap from 3.0.10 to 3.0.12 (#99)
- deps: bump serde from 1.0.134 to 1.0.135 (#89)
- deps: bump tui from 0.16.0 to 0.17.0 (#90)
- deps: bump serde_json from 1.0.75 to 1.0.78 (#88)
- deps: bump serde from 1.0.133 to 1.0.134
- deps: bump strum_macros from 0.24.0 to 0.24.3 (#413)
- deps: bump clap from 3.0.9 to 3.0.10
- deps: bump clap from 3.0.7 to 3.0.9
- deps: bump serde_json from 1.0.74 to 1.0.75
- deps: bump bech32 from 0.9.0 to 0.9.1 (#424)
- deps: bump reqwest from 0.11.8 to 0.11.9
- deps: bump clap from 3.0.6 to 3.0.7
- deps: bump file-rotate from 0.6.0 to 0.7.0 (#420)
- deps: bump clap from 3.0.5 to 3.0.6
- deps: Update Pallas to version 3.9 (#44)
- deps: Update Pallas to version 0.3.8 (#38)
- deps: Update Pallas version and other patched dependencies
- deps: bump clap from 2.34.0 to 3.0.5
- deps: Update pallas to v0.3.5 (#30)
- deps: bump serde_json from 1.0.73 to 1.0.74
- deps: bump serde from 1.0.132 to 1.0.133
- deps: bump minicbor from 0.12.0 to 0.12.1
- deps: bump serde_json from 1.0.72 to 1.0.73 (#23)
- deps: bump crossterm from 0.20.0 to 0.22.1 (#22)
- deps: bump serde from 1.0.130 to 1.0.132 (#21)
- deps: bump env_logger from 0.9.0 to 0.9.1 (#434)
- deps: bump clap from 3.2.20 to 3.2.22 (#433)
- deps: Bump-up pallas v0.3.3 to v0.3.4 (#19)
- deps: Bump-up pallas v0.3.3 to v0.3.4
- deps: bump serde from 1.0.144 to 1.0.145 (#439)
- deps: bump reqwest from 0.11.11 to 0.11.12 (#436)
- deps: bump murmur3 from 0.5.1 to 0.5.2 (#449)
- deps: bump openssl from 0.10.41 to 0.10.42 (#440)
- deps: bump serde_json from 1.0.85 to 1.0.89 (#475)
- deps: bump file-rotate from 0.7.0 to 0.7.1 (#458)
- deps: bump actions/download-artifact in /.github/workflows (#478)
- deps: bump azure/setup-kubectl in /.github/workflows (#508)
- deps: bump docker/build-push-action in /.github/workflows (#480)
- deps: bump serde from 1.0.145 to 1.0.152 (#503)
- deps: bump actions/checkout from 2 to 3 in /.github/workflows (#479)
- deps: bump tokio from 1.21.0 to 1.24.2 (#510)
- deps: bump actions/upload-artifact in /.github/workflows (#517)
- deps: bump env_logger from 0.9.1 to 0.10.0 (#518)
- deps: bump actions/cache in /.github/workflows (#514)
- deps: bump actions/setup-go from 2 to 3 in /.github/workflows (#477)
- deps: bump docker/login-action from 1 to 2 in /.github/workflows (#516)
- deps: bump docker/setup-buildx-action in /.github/workflows (#515)
- deps: bump openssl from 0.10.42 to 0.10.45 (#513)
- deps: bump actions/setup-go from 3 to 4 in /.github/workflows (#556)
- deps: update Pallas to v0.18.2
- deps: bump strum from 0.24.1 to 0.25.0
- deps: bump docker/login-action from 2 to 3 in /.github/workflows
- deps: bump crossterm from 0.25.0 to 0.27.0
- deps: bump docker/metadata-action in /.github/workflows (#476)
- framework: define bootstrap traits for components
- terminal: tidy up console output
- terminal: Use 'wrap' semantics for terminal width (#426)
BREAKING CHANGE
Metadata record presents new structure.
Level of granularity for metadata event is different, one record per label.
Configuration keys for the 'Selection' filter changed to reflect new metadata structure