Releases: bsv-blockchain/teranode
Releases · bsv-blockchain/teranode
v0.15.2-beta-11
What's Changed
- fix(legacy): prevent sync stalls from backpressure-triggered peer rotation and dropped orphan continuation by @oskarszoon in #1067
- fix(legacy): never announce block-originated transactions to legacy peers by @oskarszoon in #1073
- fix(legacy): resolve in-block parents at candidate height during legacy subtree validation by @oskarszoon in #1065
Full Changelog: v0.15.2-beta-10...v0.15.2-beta-11
v0.15.2-beta-9
What's Changed
- Add IdleTimeout to default docker.m Aerospike utxostore by @oskarszoon in #1049
- ci: migrate native-Go + aerospike CI jobs to arm64; bump aerospike 8.0→8.1 by @oskarszoon in #1047
- ci: cache Go build cache via reusable go-cache action by @oskarszoon in #1048
- perf(subtreeprocessor): optimize reorg with parallel bulk operations by @freemans13 in #526
- fix(utxo): drain in-flight batched writes on shutdown by @freemans13 in #928
- fix: don't filter block messages from low-reputation peers by @freemans13 in #661
- perf(subtreevalidation): check subtree existence in parallel in CheckBlockSubtrees by @freemans13 in #378
- Feature/MvP-4632: validator parity + RPC absurd-fee guard by @ctnguyen in #1013
Full Changelog: v0.15.2-beta-8...v0.15.2-beta-9
v0.15.2-beta-10
What's Changed
- fix(blockchain): assign block ids idempotently per hash to prevent phantom-id sync wedge by @oskarszoon in #1043
- test(blockchain/sql): share one Postgres test container instead of one per call by @oskarszoon in #1045
- fix(blockchain/sql): snapshot-isolate on_main_chain rebuild to prevent startup race by @oskarszoon in #1044
- fix: replace unsafe currentSubtree.Load().Length() with channel-synced read by @sugh01 in #641
- ci: bump test job to 32-core/128GB runner to stop intermittent OOM by @oskarszoon in #1052
- blockassembly: prevent Start hanging on pre-ready gRPC failures by @gokutheengineer in #940
- blockassembly: make GetTransactionHashes context-aware and prevent hanging GetBlockAssemblyTxs by @gokutheengineer in #939
- feat(adaptivefetch): subtreeData fetch gate, armed on FSM RUNNING by @freemans13 in #745
Full Changelog: v0.15.2-beta-9...v0.15.2-beta-10
v0.15.2-beta-8
What's Changed
- fix(utxo/aerospike): clear locked flag on pagination records when mining by @oskarszoon in #1039
- perf(pruner): skip already-pruned parent updates using an in-memory cuckoo filter by @freemans13 in #875
- Add opt-in drain mode for the outpoint batcher (off by default) by @freemans13 in #865
- fix(blockvalidation): treat transient catchup errors as incomplete, not invalid by @oskarszoon in #1036
- toggle to allow raw display of miner tag as per WOC by @freemans13 in #441
- fix(legacy): clear stall deadlines across BlockPriority streams by @oskarszoon in #1030
- fix(utxo/aerospike): stop caller-side goroutine/connection leak in batchers by @oskarszoon in #1025
- perf(blockvalidation): prefetch the off-chain block-id set once in checkOldBlockIDs by @freemans13 in #934
- perf(blockchain): main-chain fast-path for block locator builder by @oskarszoon in #1023
- fix(legacy): stop flaky legacy-sync — nil-guard Server.Stop + ephemeral 942 port by @oskarszoon in #1034
- fix(blockassembly): validate batch txid lengths by @gokutheengineer in #919
- fix(dashboard): peer catchup row-data lookup + FSM transitions single source by @oskarszoon in #1015
- fix(security): resolve open CodeQL code-scanning alerts by @oskarszoon in #1016
- test: deterministic fixes for two flaky unit tests by @oskarszoon in #1026
- fix(blockassembly): make DiskTxMap.bytesWritten access atomic by @liam in #1029
- fix(kafka): drain the final buffered batch on async producer Stop by @liam in #1027
- fix(blockassembly): guard subtree worker ErrChan send against shutdown deadlock by @liam in #1028
- fix(utxopersister): bound allocations on untrusted UTXO count/script length + fuzz by @liam in #1004
- fix(kafka): stop producer waiting up to 1s per message on busy topics (p99 7s → 22ms) by @freemans13 in #894
- fix(legacy): remove duplicate peer registration that can wedge sync by @freemans13 in #946
- feat(batcher): per-batcher fixed-cadence flushing (SetTickInterval) + go-batcher v2.0.3 bump by @freemans13 in #1017
- fix(model): bound subtree-list allocation on untrusted block parse + fuzz by @liam in #1005
Full Changelog: v0.15.2-beta-7...v0.15.2-beta-8
v0.15.2-beta-7
What's Changed
- perf(blockchain/sql): fast-path GetBlockInChainByHeightHash on on_main_chain by @oskarszoon in #1022
- Fix merkle proof calculation with proper coinbase replacement by @galt-tr in #993
- fix(legacy): prevent shutdown-race panic in QueueInv (send on closed channel) by @freemans13 in #1009
- fix(fileformat): make header readers consistent + accept chunked reads + fuzz by @liam in #1006
Full Changelog: v0.15.2-beta-6...v0.15.2-beta-7
v0.15.2-beta-6
What's Changed
- perf(utxo): eliminate encode-side allocations in the store Create path by @oskarszoon in #1011
- fix(blockchain/peer-registry): post-#832 follow-ups by @oskarszoon in #988
- chore(deps): bump s3 to v1.97.3 + containerd/v2 to v2.2.4 by @oskarszoon in #984
- refactor(dashboard): migrate to Svelte 5 runes mode by @oskarszoon in #987
- test(e2e): replace hardcoded time.Sleep with condition-polling in gated tests by @oskarszoon in #1010
- test(smoke): share one daemon across read-only RPC query tests by @oskarszoon in #1007
Full Changelog: v0.15.2-beta-5...v0.15.2-beta-6
v0.15.2-beta-5
What's Changed
- fix(aerospike): stop enabling client metrics by @oskarszoon in #1003
- fix(test): de-flake blockassembly system tests (FSM/gRPC startup races) by @oskarszoon in #1000
- test(multinode): un-skip scenario_04 block-assembly isolation by @liam in #995
- chore(claude): vendor review subagents + fix agent definitions by @oskarszoon in #991
- ci: shard the e2e gate (sequential + smoketest) into parallel matrices by @oskarszoon in #990
- chore(utxopersister): clarify footer-read match per #985 review by @liam in #994
- fix(utxopersister): terminate previous-set read at the 16-byte footer by @liam in #985
- ci(deps): add dependency-review PR gate by @oskarszoon in #983
- ci: PR-feedback quick wins — auto-cancel, drop dead job, restore module cache by @oskarszoon in #986
- refactor(blockchain,p2p): move peer registry from p2p to blockchain by @oskarszoon in #832
- validator: align finality with sv-node (nLockTime/BIP68/candidate-MTP) + migrate fee/consolidation to BDK [MVP-4632 pt.1] by @ctnguyen in #975
- fix(utxovalidator): consume fileformat magic at the reader source, not twice in validate by @liam in #979
- fix(utxopersister): drop double-read of fileformat magic in verifyLastSet by @liam in #971
- ci: remove catchpoint/workflow-telemetry-action by @oskarszoon in #948
- test(dashboard): playwright smoke harness + PR check by @oskarszoon in #981
Full Changelog: v0.15.2-beta-4...v0.15.2-beta-5
v0.15.2-beta-4
What's Changed
- refactor(subtreevalidation): remove redundant orphanage; rely on sequential revalidation by @ordishs in #978
- chore(aerospike): switch to BSV fork of aerospike-client-go v8 by @icellan in #970
- docs(model/block): document BlockIDs[0] == GenesisBlockID invariant by @oskarszoon in #974
- fix(utxopersister): nil-guard CreateUTXOSet against empty ConsolidateBlockRange by @liam in #969
- test: adversarial double-spend scenarios and two bug fixes by @icellan in #703
- chore(deps): bump svelte to v5 + kit to 2.61.x for vulnerability fixes by @oskarszoon in #968
- fix(legacy): wire AddRebroadcastInventory + drop dev listen_mode override by @icellan in #955
- fix(utxo/aerospike): exclude data-state errors from spend circuit breaker by @icellan in #957
- perf(blockassembly): pool subtree leaf buffer + DoS-bound the deserializer by @icellan in #959
- test(multinode): split-per-service chaos harness + scenario_04 (skipped pending teranode fixes) by @liam in #958
- feat(asset/http): POST /api/v1/utxos bulk lookup + drop redundant tx fetch on GetUTXO by @icellan in #950
- fix(asset/centrifuge): speak bidirectional Centrifuge protocol by @icellan in #944
- fix(legacy/netsync): auto-detect v2 txmeta wire format by @icellan in #954
- feat: add asset service rate limiting, peer authentication and request visibility by @icellan in #643
Full Changelog: v0.15.2-beta-3...v0.15.2-beta-4
v0.15.2-beta-3
What's Changed
- fix(security): redact credentials in Settings and aerospike debug logs by @oskarszoon in #927
- Properly construct coinbase BUMP for legacy blocks with 2+ subtrees by @galt-tr in #952
- feat(compose): add -allinone=0 split-per-service topology for chaos testing by @liam in #932
- fix(stores/utxo/aerospike): align frozen UTXO checks with SQL and bitcoin-sv by @ordishs in #949
- perf(validator): skip BDK script validation for trusted legacy IBD blocks by @freemans13 in #951
- perf(txmetacache): pointer-backed cache backend + interface dispatch by @icellan in #915
- fix(subtree_data): stop cancel cascade + segregate client-gone errors by @icellan in #947
- fix(legacy/netsync): cap orphan tx pool size to prevent memory DoS by @ordishs in #776
- fix(txscript): allocate fresh slice in opcodeInvert to avoid aliasing by @ordishs in #777
- feat(p2p): advertise fee policy in node_status message by @icellan in #943
- deps: moby/buildkit v0.28+ upgrade via testcontainers-go v0.42 migration by @oskarszoon in #935
- [Add] teranode dashboards by @teracoder in #485
- feat(uaerospike): expose connection-semaphore multiplier as a setting by @icellan in #933
Full Changelog: v0.15.2-beta-2...v0.15.2-beta-3
v0.15.2-beta-2
What's Changed
- chore(settings): raise aerospike client pool to 128 for docker.m by @oskarszoon in #941
- fix(legacy/netsync): chunk SetMinedMulti in createUtxos by @oskarszoon in #937
Full Changelog: v0.15.2-beta-1...v0.15.2-beta-2