Skip to content

v1.2.0

Latest

Choose a tag to compare

@fpelliccioni fpelliccioni released this 16 Jul 18:36

What's Changed

  • refactor(domain): immutable value types for chain primitives by @fpelliccioni in #387
  • refactor(domain): rewrite to_data with byte_writer, retire data_sink/ostream stack by @fpelliccioni in #394
  • perf(ci): stop version.hpp from invalidating ccache on every commit by @fpelliccioni in #405
  • ci: unstick ccache save (0% hit rate → real cache reuse) by @fpelliccioni in #407
  • refactor(cli): replace Boost.Program_options with CLI11 + modernize config-type API by @fpelliccioni in #410
  • refactor(infrastructure): default authority::operator== by @fpelliccioni in #413
  • refactor(infrastructure): modernize decode_hash to std::expected by @fpelliccioni in #419
  • refactor(wallet): tighten ek_private surface by @fpelliccioni in #423
  • refactor(wallet): tighten ek_public surface by @fpelliccioni in #424
  • refactor(wallet): tighten ek_token surface by @fpelliccioni in #425
  • refactor(wallet): make hd_public + hd_private valid-by-construction by @fpelliccioni in #427
  • refactor(wallet): add hd_private::from_hd_key + wipe() on both hd types by @fpelliccioni in #428
  • refactor(wallet): drop hd_private inheritance, use composition by @fpelliccioni in #429
  • refactor(wallet): make address-returning APIs explicit by @fpelliccioni in #430
  • refactor(wallet): make payment_address valid-by-construction by @fpelliccioni in #431
  • refactor(wallet): make ec_public + ec_private valid-by-construction by @fpelliccioni in #432
  • refactor(infrastructure): modernize binary — factories, comparators, hash by @fpelliccioni in #434
  • refactor(wallet): make stealth_address valid-by-construction by @fpelliccioni in #433
  • refactor(infrastructure): make binary constexpr, header-only by @fpelliccioni in #435
  • refactor(wallet): modernize stealth_receiver by @fpelliccioni in #436
  • refactor(wallet): modernize stealth_sender by @fpelliccioni in #437
  • refactor(wallet): make bitcoin_uri a functional value type by @fpelliccioni in #438
  • refactor(c-api): redesign cashtoken to single-call create_* by @fpelliccioni in #440
  • refactor(c-api): align wallet bindings with valid-by-construction sweep by @fpelliccioni in #439
  • refactor(c-api): align kth_wallet_ec_to_address version with C++ by @fpelliccioni in #415
  • refactor(test): use Catch2 StringMaker instead of ADL operator<< by @fpelliccioni in #417
  • refactor(domain): default equality for value-only message types by @fpelliccioni in #418
  • refactor(infrastructure): split timeout jitter from broken RNG by @fpelliccioni in #414
  • refactor(infrastructure): order checkpoint by height, then hash by @fpelliccioni in #420
  • refactor(infrastructure): modernize decode_base58/85 to std::expected by @fpelliccioni in #416
  • refactor(wallet): make ec_public constexpr-usable by @fpelliccioni in #441
  • ci: split Conan cache into sanitizer / clean families by @fpelliccioni in #442
  • refactor(wallet): make ec_private constexpr-usable by @fpelliccioni in #443
  • refactor(wallet): make ek_private / ek_public / ek_token constexpr-usable by @fpelliccioni in #444
  • refactor(wallet): make payment_address constexpr-usable by @fpelliccioni in #445
  • refactor(wallet): make hd_public constexpr-usable by @fpelliccioni in #446
  • refactor(wallet): make hd_private constexpr-usable by @fpelliccioni in #447
  • refactor(wallet): make stealth_{address,receiver,sender} + bitcoin_uri constexpr-usable by @fpelliccioni in #448
  • refactor(domain/chain): apply valid-by-construction to point by @fpelliccioni in #450
  • refactor(domain/chain): apply valid-by-construction to point_value, light_block, utxo by @fpelliccioni in #451
  • refactor(domain/chain): add defaulted <=> to stealth, points_value, history by @fpelliccioni in #453
  • fix(domain/chain): make history_compact / history comparison usable by @fpelliccioni in #458
  • fix(c-api): update chain point / output_point / input_point / utxo bindings by @fpelliccioni in #457
  • refactor(domain/chain): make compact valid-by-construction by @fpelliccioni in #455
  • refactor(domain/chain): apply valid-by-construction to block by @fpelliccioni in #459
  • refactor(domain/chain): valid-by-construction for merkle_block + compact_block by @fpelliccioni in #460
  • refactor(domain/chain): drop header default constructor (valid-by-construction) by @fpelliccioni in #463
  • refactor(domain/chain): remove header::is_valid(); construction validity via create() by @fpelliccioni in #464
  • refactor(domain/chain): domain construction is syntactic-only, never fails by @fpelliccioni in #465
  • refactor(domain/chain): restore public constructors; drop the create() factories by @fpelliccioni in #466
  • refactor(domain/chain): transaction is a structural aggregate (no is_valid, immutable) by @fpelliccioni in #467
  • refactor(domain/message): prefilled_transaction is valid-by-construction by @fpelliccioni in #468
  • fix(network): never send a ping with a zero nonce by @fpelliccioni in #471
  • refactor(infrastructure): give pseudo_random a typed interface by @fpelliccioni in #472
  • refactor(infrastructure): use the CSPRNG for peer selection; drop the broken generator by @fpelliccioni in #475
  • refactor(domain/message): drop the vestigial validity flags by @fpelliccioni in #469
  • refactor(domain/message): drop the default-sentinel is_valid() by @fpelliccioni in #470
  • refactor(domain/message): types with wire caps are valid-by-construction by @fpelliccioni in #478
  • perf(blockchain): stop prune from scanning the whole pool; add a block_pool store benchmark by @fpelliccioni in #479
  • fix(infrastructure): build pseudo_random on macOS by @fpelliccioni in #480
  • refactor(domain/message): addrv2_entry is valid-by-construction by @fpelliccioni in #481
  • refactor(domain/message): drop double_spend_proof sentinels and setters by @fpelliccioni in #482
  • refactor(domain/chain): drop chain_state::is_valid sentinel by @fpelliccioni in #483
  • fix(c-api): drop double_spend_proof wrappers removed from the domain type by @fpelliccioni in #484
  • fix(blockchain/bench): use boost::atomic_shared_ptr for the COW block pool by @fpelliccioni in #485
  • release: 1.2.0 by @fpelliccioni in #486

Full Changelog: v1.1.0...v1.2.0