Skip to content

Releases: bsv-blockchain/teranode

v0.14.0-beta-3

25 Feb 14:09
f068d40

Choose a tag to compare

v0.14.0-beta-3 Pre-release
Pre-release

What's Changed

Full Changelog: v0.14.0-beta-2...v0.14.0-beta-3

v0.14.0-beta-2

24 Feb 09:39
95e2ce9

Choose a tag to compare

v0.14.0-beta-2 Pre-release
Pre-release

What's Changed

  • fix: remove singleton Quorum pattern from subtree validation Server by @freemans13 in #521
  • blockchain subscription heartbeat by @freemans13 in #463
  • Decrement spentExtraRecs on unspend NOTALLSPENT signal by @oskarszoon in #524

Full Changelog: v0.14.0-beta-1...v0.14.0-beta-2

v0.14.0-beta-1

23 Feb 09:37
054a6c4

Choose a tag to compare

v0.14.0-beta-1 Pre-release
Pre-release

What's Changed

  • Handle invalid processeAt time for block headers by @galt-tr in #469
  • test: svnode with teranode with other additional tests by @sugh01 in #450
  • Fixed possible concurrency when getting best block header when calculating difficulty for mining candidate by @icellan in #474
  • peer selection - backoff when no peers available by @freemans13 in #458
  • Add interaction failure tracking for invalid subtree handling by @galt-tr in #476
  • test: add invalidate fork testcases by @sugh01 in #399
  • fix(errors): prevent infinite recursion in (*Error).As causing 100% CPU by @freemans13 in #459
  • 3409: add QUIC settings to documentation by @liam in #484
  • feat(pruner): add metrics for pruner operations by @ordishs in #486
  • feat(pruner): add TTL-based expiration mode for UTXO records by @ordishs in #488
  • pruner block assembly wait and retention tweak by @freemans13 in #489
  • test: fix flakiness by @sugh01 in #487
  • Tx Meta Cache: Generation Stats, Prometheus Metrics by @gokutheengineer in #481
  • Fix subtree meta NOT_FOUND when block assembly creates subtree without metadata by @oskarszoon in #480
  • test: fixes test env and related flakiness by @sugh01 in #482
  • feat(pruner): add skip flags for parent updates and deletions by @ordishs in #491
  • BlockValidation - regenerate missing subtreemeta by @freemans13 in #468
  • feat(pruner): add incremental Prometheus metrics for real-time monitoring by @ordishs in #492
  • feat(pruner): add skipped metrics for idempotent operations by @ordishs in #493
  • refactor(pruner): remove persisted height coordination by @freemans13 in #494
  • feat(pruner): implement timeout handling and retry logic in pruning operations by @freemans13 in #495
  • fix(blockvalidation>setTxMined): ensure cache is updated before SetTxMined() call by @freemans13 in #497
  • feat(pruner): trigger initial pruning on startup based on block trigger mode by @freemans13 in #498
  • feat(pruner): process multiple blob deletion batches per prune event by @ordishs in #496
  • [Fix] otel logging and tracing integration by @teracoder in #483
  • refactor(pruner): simplify notification system with drain-and-replace signals by @freemans13 in #500
  • e2e: pruner tests by @sugh01 in #502
  • Optimized GetMiningCandidate to use a pre-computed list of subtrees, removed cache by @icellan in #501
  • fix(pruner): reduce Aerospike bandwidth by 90-99% during pruning by @icellan in #504
  • fix(pruner): prevent notification handler deadlock by moving channel creation to New() by @freemans13 in #505
  • fix(dashboard): align numeric columns with tabular figures by @ordishs in #508
  • 1788: add multistream support for legacy peers by @liam in #507
  • Feature/documentation by @liam in #510
  • Feature/documentation2 by @liam in #515
  • Upgraded s3 package, replaced deprecated manager package by @icellan in #516
  • feat: Error sanitization for user-facing services by @gokutheengineer in #413
  • build: upgrade Go from 1.25.2 to 1.26.0 by @ordishs in #517
  • Changed map in block validation to swiss map from sync map by @icellan in #513
  • Download missing subtree files before block revalidation by @freemans13 in #454
  • Feature/asset subtreedata on demand creation by @freemans13 in #422
  • feat(asset): add ARC-compatible /v1/policy endpoint by @freemans13 in #456
  • perf(aerospike): optimize MarkTransactionsOnLongestChain for reorg performance by @freemans13 in #499
  • fix(storage): make block persister the authority for permanent file promotion by @freemans13 in #506
  • 3576: allow blockchain subscribers to be queried by @liam in #522

Full Changelog: v0.13.2...v0.14.0-beta-1

v0.13.3-beta-4

11 Feb 09:11
5601c0e

Choose a tag to compare

v0.13.3-beta-4 Pre-release
Pre-release

What's Changed

  • Handle invalid processeAt time for block headers by @galt-tr in #469
  • test: svnode with teranode with other additional tests by @sugh01 in #450
  • Fixed possible concurrency when getting best block header when calculating difficulty for mining candidate by @icellan in #474
  • peer selection - backoff when no peers available by @freemans13 in #458
  • Add interaction failure tracking for invalid subtree handling by @galt-tr in #476
  • test: add invalidate fork testcases by @sugh01 in #399
  • fix(errors): prevent infinite recursion in (*Error).As causing 100% CPU by @freemans13 in #459
  • 3409: add QUIC settings to documentation by @liam in #484
  • feat(pruner): add metrics for pruner operations by @ordishs in #486
  • feat(pruner): add TTL-based expiration mode for UTXO records by @ordishs in #488
  • pruner block assembly wait and retention tweak by @freemans13 in #489
  • test: fix flakiness by @sugh01 in #487
  • Tx Meta Cache: Generation Stats, Prometheus Metrics by @gokutheengineer in #481
  • Fix subtree meta NOT_FOUND when block assembly creates subtree without metadata by @oskarszoon in #480
  • test: fixes test env and related flakiness by @sugh01 in #482
  • feat(pruner): add skip flags for parent updates and deletions by @ordishs in #491
  • BlockValidation - regenerate missing subtreemeta by @freemans13 in #468
  • feat(pruner): add incremental Prometheus metrics for real-time monitoring by @ordishs in #492
  • feat(pruner): add skipped metrics for idempotent operations by @ordishs in #493

Full Changelog: v0.13.2...v0.13.3-beta-4

v0.13.3-beta-3

10 Feb 13:04
3713978

Choose a tag to compare

v0.13.3-beta-3 Pre-release
Pre-release

What's Changed

  • Handle invalid processeAt time for block headers by @galt-tr in #469
  • test: svnode with teranode with other additional tests by @sugh01 in #450
  • Fixed possible concurrency when getting best block header when calculating difficulty for mining candidate by @icellan in #474
  • peer selection - backoff when no peers available by @freemans13 in #458
  • Add interaction failure tracking for invalid subtree handling by @galt-tr in #476
  • test: add invalidate fork testcases by @sugh01 in #399
  • fix(errors): prevent infinite recursion in (*Error).As causing 100% CPU by @freemans13 in #459
  • 3409: add QUIC settings to documentation by @liam in #484
  • feat(pruner): add metrics for pruner operations by @ordishs in #486
  • feat(pruner): add TTL-based expiration mode for UTXO records by @ordishs in #488
  • pruner block assembly wait and retention tweak by @freemans13 in #489
  • test: fix flakiness by @sugh01 in #487
  • Tx Meta Cache: Generation Stats, Prometheus Metrics by @gokutheengineer in #481
  • Fix subtree meta NOT_FOUND when block assembly creates subtree without metadata by @oskarszoon in #480

Full Changelog: v0.13.2...v0.13.3-beta-3

v0.13.3-beta-2

10 Feb 11:10
806eb0e

Choose a tag to compare

v0.13.3-beta-2 Pre-release
Pre-release

What's Changed

  • Handle invalid processeAt time for block headers by @galt-tr in #469
  • test: svnode with teranode with other additional tests by @sugh01 in #450
  • Fixed possible concurrency when getting best block header when calculating difficulty for mining candidate by @icellan in #474
  • peer selection - backoff when no peers available by @freemans13 in #458
  • Add interaction failure tracking for invalid subtree handling by @galt-tr in #476
  • test: add invalidate fork testcases by @sugh01 in #399
  • fix(errors): prevent infinite recursion in (*Error).As causing 100% CPU by @freemans13 in #459
  • 3409: add QUIC settings to documentation by @liam in #484
  • feat(pruner): add metrics for pruner operations by @ordishs in #486
  • feat(pruner): add TTL-based expiration mode for UTXO records by @ordishs in #488
  • pruner block assembly wait and retention tweak by @freemans13 in #489

Full Changelog: v0.13.2...v0.13.3-beta-2

v0.13.3-beta-1

04 Feb 14:09
e38f408

Choose a tag to compare

v0.13.3-beta-1 Pre-release
Pre-release

What's Changed

  • Handle invalid processeAt time for block headers by @galt-tr in #469
  • test: svnode with teranode with other additional tests by @sugh01 in #450
  • Fixed possible concurrency when getting best block header when calculating difficulty for mining candidate by @icellan in #474

Full Changelog: v0.13.2...v0.13.3-beta-1

v0.13.2

03 Feb 15:45
a236ac8

Choose a tag to compare

What's Changed

  • Fix use-after-free and nil pointer in block coinbase deserialization by @freemans13 in #377
  • fix(aerospike): prevent .dah file creation when BlockHeightRetention is 0 by @ordishs in #379
  • test: tests with external records by @sugh01 in #326
  • refactor(aerospike): remove preserveUntil logic for external files by @ordishs in #381
  • feat(utxo): add V2 utxo-headers format with coinbase transactions by @ordishs in #383
  • Address teranode-review issues: documentation updates, config fixes, and code improvements by @ordishs in #384
  • Integrate wip-scale-2 performance improvements into main by @ordishs in #385
  • SPIKE: subsystem debug toggles for file operations by @gokutheengineer in #258
  • Remove unneeded alternative view that broke mkdoc builds by @oskarszoon in #394
  • Two-phase double-spend detection in setTxMined for reduced memory usage by @icellan in #371
  • feat(chainintegrity): use hardcoded URLs and exclude coinbase service… by @sugh01 in #397
  • P2P: Add on-demand HTTP health checking for sync peer selection by @freemans13 in #364
  • Fix duplicate header bug in multi-iteration catchup by @icellan in #398
  • fix(propagation): handle duplicate transactions gracefully (#382) by @icellan in #400
  • Fix uint32 overflow in GetBlockForks API for large blocks by @icellan in #403
  • feat: remove transition from catchup to idle in fsm by @gokutheengineer in #410
  • Fix legacy block wire response to avoid duplicating coinbase by @galt-tr in #395
  • Fix reopened and new teranode-review issues by @ordishs in #408
  • docs(utxo): correct BlockAssembly notification flow comment by @ordishs in #353
  • Upgrade to Teranode v0.13.1 with pruner service by @oskarszoon in #407
  • test(e2e): add catchup test after pruner with observer pattern by @ordishs in #409
  • Logger - Cache os.GetWd() - reduce CPU overhead on each log call by @freemans13 in #404
  • Optimize subtree validation with parent metadata caching by @freemans13 in #387
  • feat(asset): add pagination to subtree JSON endpoint by @ordishs in #415
  • Switch to testnet-eu-1 as bootstrap by @oskarszoon in #418
  • Fix data race in TestDaemon.Stop by adding runtime.Gosched after cont… by @sugh01 in #419
  • test(e2e): move INTERACTIVE check to start of subtree pagination tests by @ordishs in #420
  • Fix stale difficulty cache causing block rejection during sync by @oskarszoon in #414
  • Added scripts to start aerospike TN by @icellan in #423
  • Add Settings Portal for runtime configuration visibility by @icellan in #424
  • Fixed missing auth handling in settings page in UI, fixed long description markdown rendering by @icellan in #429
  • tests: added block persister tests to e2e suite and chain integrity by @sugh01 in #417
  • fix: span propagation across microservices by @teracoder in #427
  • Fix quick validation by adding BlockAssembly synchronization by @icellan in #401
  • small fixes for review by @liam in #426
  • Update docs to correct public Teranode images by @oskarszoon in #432
  • Feature/k8s resolver by @icellan in #433
  • errors As() optimisation by @freemans13 in #434
  • fix: potential panic on closed channel by @gokutheengineer in #388
  • feat(dashboard): enhance settings UI with resizable columns and markdown support by @ordishs in #430
  • feat: implement retry in sql by @gokutheengineer in #396
  • fix: GetHashOfAncestorBlock() timeout by @freemans13 in #435
  • feat(pruner): add scheduled blob deletion and remove GetDAH from blob.Store interface by @ordishs in #431
  • always store invalid block before returning ErrBlockInvalid error by @freemans13 in #438
  • blockchain SQL optimisations by @freemans13 in #436
  • always release semaphore when closing close, even on error by @freemans13 in #439
  • Release semaphore before streaming block by @galt-tr in #437
  • Remove bitcoin-sv dependencies in favor of new org by @galt-tr in #425
  • feat: add configurable propagation URL in node status messages by @galt-tr in #411
  • Block Validation - wait for pending blocks fix by @freemans13 in #444
  • Review2 by @liam in #442
  • fix(pruner): reinstate blob deletion e2e test and decouple pruner from DB by @ordishs in #443
  • fix(blockchain): reduce blob deletion log verbosity by @ordishs in #447
  • BlockValidation - isParentMined() fix by @freemans13 in #448
  • Re-added infinite read deadline to RPC calls by @icellan in #449
  • Add initial system requirements doc by @oskarszoon in #452
  • fix(blockvalidation): peer reputation and subtree analyzer by @ordishs in #453
  • fix(asset): use proper Close() instead of CloseWithError for subtree … by @freemans13 in #460
  • fix(blockvalidation): set block height during catchup and fix race condition by @ordishs in #461
  • Fixed txmeta raw output of Aerospike record by @icellan in #464
  • subtree processor - sleep 10ms when nothing to do by @freemans13 in #457
  • 4470: implement txmetacache method stubs by @liam in #467
  • preserve parents logic back in pruner by @freemans13 in #465
  • feat: circuit breaker for postgres by @gokutheengineer in #451
  • Made sure setTxMined is only run once per block by @icellan in #470

New Contributors

Full Changelog: v0.13.1...v0.13.2

v0.13.1

12 Jan 11:40
247dfd5

Choose a tag to compare

What's Changed

Full Changelog: v0.13.0...v0.13.1

v0.13.0

09 Jan 14:01
bb09a3d

Choose a tag to compare

What's Changed

Read more