Release Notes
Features
- track RecordFileItem and log proof types in SimulatedBlockNodeServer #24946 by @aderevets
- 24988: Remove unused benchmarks from swirlds-benchmarks #24989 by @thenswan
- Rewrite how the consensus nodes reconnect to block nodes #24633 by @timfn-hg
- 24698 Use PBJ protocol in reconnect serialization #24899 by @imalygin
- Use DataFileCollection store name for compaction logging #24974 by @akugal
- 24903: Clarify virtual map sizing across swirlds-benchmarks #24938 by @thenswan
- 24886: Improve the way of running swirlds-benchmarks #24901 by @thenswan
- add index cross-check to LeafBytesIntegrityValidator #24753 by @Suvrat1629
- 24861: Improve reusing the generated state in the ReconnectBench JMH test #24862 by @thenswan
- Enable profiling on sloth #24801 by @mxtartaglia-sl
- add only
GRPCsupport in test-clients #24364 by @petreze - Initialize Hints and History states in schemas #24674 by @derektriley
- Dynamic resource allocation gradle tasks in test clients #24752 by @AlexKehayov
- pcli tool for transforming csv into prometheus format #24694 by @mxtartaglia-sl
- make BlockNodeEndpoint.endpoint_api a repeated field (HIP-1137) #24685 by @petreze
- BN Communication tracing through gRPC headers #24670 by @derektriley
- MerkleDB compaction V3 #24003 by @imalygin
- sloth transaction latency metric #24646 by @lpetrovic05
- Add in-flight tasks count for concurrent components #24469 by @mxtartaglia-sl
- csvOverwrite option #24509 by @mxtartaglia-sl
- Add getEntries() method to ParsedBucket #24438 by @Suvrat1629
- Enable broadcast #24616 by @abies
- 24615: Revisit logging approach in swirlds-benchmarks #24634 by @thenswan
- 24213 - Improve caching for hash chunk preload during reconnects #24466 by @akugal
- Add HIP-1340 protobuf changes #24176 by @lukasz-hashgraph
- Pull jumpstart data from config properties #24269 by @mhess-swl
- Add graph related metrics #24490 by @lpetrovic05
- SMART_CONTRACT tag speed-up and improvements 23528 #24040 by @Grigorov-Georgi
- Add noop pces #24449 by @mxtartaglia-sl
Bug Fixes
- 25412: (0.74) MerkleDb directory leak in temp #25413 by @artemananiev
- Disable broadcast in gossip #25422 by @abies
- mark test as leaky #25012 by @petreze
- use correct method for the CountDownLatch in a test #24997 by @petreze
- retry on all unavailable grpc errors #24992 by @petreze
- Fix flaky OS Health check #24972 by @poulok
- charge for invalid token IDs #24923 by @joshmarinacci
- 24802 Disable EVM hook count validation for TestNet #24948 by @imalygin
- increase stream assertion timeout #24959 by @petreze
- 24956: Fix IndexOutOfBoundsException in KeyValueStoreBench #24957 by @thenswan
- 24952 Added missing
BlockRecordStreamConfigtoConfigurationBuilder#24954 by @imalygin - add specific sidecar validation #24887 by @petreze
- Fix bug in flaky test detection when using cached test results #24949 by @poulok
- gradle test task failing and yahcli tests in CI #24898 by @derektriley
- Fix flaky Turtle Log test #24895 by @poulok
- 24802 Disable EVM hook count validation for PreviewNet and TestNet #24894 by @imalygin
- Fixed ContractServiceQueriesSimpleFeesTest suite to prevent flakyness #24704 by @Evdokia-Georgieva
- batchContainingFreezeTransactions and nonBlacklistedAndBlacklistedTransactions tests flake in AtomicBatchNegativeTest #24807 by @Evdokia-Georgieva
- prevent duplicate item delivery in VisibleItemsAssertion #24849 by @AlexKehayov
- Stabilize rejectNegativeGas tests by deterministically exhausting gas throttle #24809 by @Evdokia-Georgieva
- use already established timeout for restart to active #24848 by @petreze
- add retry logic with fresh port #24837 by @petreze
- increase polling time #24845 by @petreze
- 24569 Added new
LongListimplementation -LongListSegment#24695 by @imalygin - 24826 Clean up
TreeViewrelated classes and methods #24827 by @imalygin - 24802 Disable EVM hook count validation for PreviewNet and TestNet #24817 by @imalygin
- fix flaky key rotation and other improvements #24811 by @petreze
- fix flaky balance check #24810 by @petreze
- 24799 Fixed handling null array of
ImmutableIndexedObjectListUsingArray#24800 by @imalygin - Forbid colon in metric names. #24789 by @akugal
- Wrap hashed keys from mapping-entry
HookStores inminimalKey()#24733 by @tinker-michaelj - Use sentinel Schnorr key for missing publications #24481 by @tinker-michaelj
- Change the included submit message bytes from 1024 to 100 #24505 by @joshmarinacci
- use method-scoped token in cancel airdrop negative test #24754 by @petreze
- guard
getTxnRecordcalls against missing txn IDs #24755 by @petreze - Add null check for owner account in CryptoDeleteAllowanceHandler #24463 by @JivkoKelchev
- fixed 24716 of incomplete regexp #24723 by @alex-kuzmin-hg
- Jumpstart voting initialization fixes #24701 by @mhess-swl
- In case of tipset index corruption, fallback to weight advancement schema #24620 by @abies
- require PUBLISH API on BlockNodeEndpoint for reward eligibility #24593 by @viniciusjssouza
- prevent premature validation in VisibleItemsAssertion #24460 by @AlexKehayov
- fix the proof signing on recovered blocks after restart/upgrade #24406 by @petreze
- 24640: Reduce Hash object allocations in VirtualHasher #24641 by @artemananiev
- truncate oversized memos in test framework log output #24621 by @petreze
- throw error if missing extra #24580 by @joshmarinacci
- Add missing test-clients logs in subprocess network #24572 by @ibankov
- 24456: Improve PULL / top to bottom reconnects #24477 by @artemananiev
- prevent concurrent block buffer persists from racing #24488 by @AlexKehayov
- Close hasher in tests #24587
- Sync voting completion to record manager #24566 by @mhess-swl
- 24402: fix DataFileCollectionBench #24408 by @thenswan
- 24399: Wrong benchmarkName() in HalfDiskMapBench #24401 by @thenswan
- increase sleep buffer in quiescence tests to prevent flakes #24404 by @AlexKehayov
- 24334: Fix @setup and @teardown methods ordering issue in swirlds-benchmarks #24397 by @thenswan
- 24435 Fixed
cache-cleanerthread leak #24452 by @imalygin
Other Changes
Build System
- Always run hapi test tasks #24668 by @mhess-swl
Chores
- (0.74) Update Mainnet throttles for
CryptoGetAccountBalanceQuery#25515 by @Neeharika-Sompalli - cherry-pick ThrottleAccumulator ContractID getAssociationCount #25419 by @derektriley
- (0.74) Disable hooks by default #25414 by @tinker-michaelj
- (0.74) Update Mainnet throttles for
CryptoGetAccountBalancequeries #25399 by @Neeharika-Sompalli - cherry-pick: Reduce noisy logs in the bn connection monitor #25315 by @derektriley
- Fix MATS failure in hapiTestRestart #25314 by @derektriley
- Update default BlockStreamConfig for WRB #25236 by @derektriley
- Fix lastUsedTime init #24933 by @tinker-michaelj
- Update CODEOWNERS for gradle files #24963 by @rbarker-dev
- Use
ECRECOVERreference for Ed25519 verification inisAuthorized()#24935 by @tinker-michaelj - add polling log checks #24881 by @petreze
- Remove GUI dependency #24939 by @poulok
- Vote for WRAPS proof by validity, not equality #24667 by @tinker-michaelj
- Change log level in WrappedRecordFileBlockHashesDiskWriter #24942 by @derektriley
- BlockRecordService schema for migration voting initialization #24864 by @derektriley
- 24911 Removed support of old sigSet binary file #24918 by @imalygin
- Move generate key utility method to
consensus-utility#24865 by @poulok - 24890 Compaction logging and file naming improvements #24892 by @imalygin
- Minor Version Roll to 0.74.0-SNAPSHOT
- GRPC only in ci - coverage followup #24847 by @petreze
- 24697 Removed support of PUSH reconnect mode #24770 by @imalygin
- Remove
loadKeysFromPfxFilesconfig #23535 by @poulok - Add AI Helpers #24761 by @rbarker-dev
- Update rollback charging for inner
EthTx#24643 by @tinker-michaelj - Remove unused stream extensions and simplify counting stream #24338 by @netopyr
- Flaky test handling #24031 by @netopyr
- Add
HINTS_PREPROCESSING_VOTEto 6kb exempt list #24666 by @tinker-michaelj - Add hinTS construction detail logging #24609 by @tinker-michaelj
- refactoring after XTS speedup changes #24622 by @AlexKehayov
- Update pbj plugin version to 0.14.4 #24589 by @derektriley
- Remove log statement from BlockRecordManagerImpl #24584 by @derektriley
- temporary disable quiesceAndThenRestartMixedOps #24578 by @AlexKehayov
- Add
BlockNumbertotransaction_receipt#24208 by @Neeharika-Sompalli - restore quiet CI logging for embedded/repeatable HAPI tasks #24492 by @ibankov
- Simplify TlsFactory #24316 by @netopyr
Continuous Integration
- explictly declare java 25.0.2 #25529 by @andrewb1269
- Infrastructure failure detection #23996 by @poulok
- remove spotless field from MATS workflows #24910 by @andrewb1269
- upload failure artifacts on flaky otter tests #24908 by @andrewb1269
- create auto unapprove pr workflow #24874 by @andrewb1269
- Update MATS so spotless runs before build. #24860 by @rbarker-dev
- add prepare solo step timeout to avoid longer hanging #24838 by @PavelSBorisov
- update otter flaky test upload artifacts #24857 by @andrewb1269
- Update solo install source to hiero-ledger #24813 by @rbarker-dev
- add publishing to flaky otter tests #24771 by @andrewb1269
- add check to skip flaky test processing on draft PRs #24713 by @andrewb1269
- Update HAPI Tests (bn-comms) runner #24606 by @rbarker-dev
- update sizes of HAPI test runners #24596 by @andrewb1269
Documentation Updates
- Fixed typo for HTS smart contract address #23784 by @diogper
- Add flaky-test plugin document #24581 by @poulok
Performance Improvements
- faster getCodeSize #24832 by @cliffclick
- Bonneville #23617 by @cliffclick
Refactoring
- 24917: Clean up testDir in swirlds-benchmarks #24922 by @thenswan
- Last reviewer comments... #24732 by @cliffclick
- Remove ValidationAssertions and inline validation logic #24525 by @Suvrat1629
- 24409: centralize VirtualMap population logic in StateBuilder for benchmarks #24419 by @thenswan
- 24421: Optimize ReconnectBench by reusing teacher map across invocations #24422 by @thenswan
Tests
- fix latency measurement in NLG #25191 by @alex-kuzmin-hg
- Schedule Service with simple fees tests added #24702 by @Evdokia-Georgieva
- FeeChargingUtils related refactoring of Simple Fees tests #24960 by @Evdokia-Georgieva
- fix Node Death reconnect test #24979 by @derektriley
- Adjusted SDPT/MQPT baseline values #24193 #24950 by @alex-kuzmin-hg
- Consensus Service simple fees tests refactor #24672 by @Evdokia-Georgieva
- TokenFeeScheduleUpdate tests with Simple Fees #24835 by @Evdokia-Georgieva
- cover extended cases for high-volume entity creation #24850 by @diogper
- Smart Contracts service with simple fees tests added #24763 by @Evdokia-Georgieva
- Try to re-order SC and HeliSwap (24746) #24747 by @alex-kuzmin-hg
- Token Update and Short-prefixes Token operations with simple fees tests refactor #24624 by @Evdokia-Georgieva
- 24223 Reconnect and Validator after SDLT #24385 by @alex-kuzmin-hg
- Token Burn and Mint with simple fees tests refactored #24493 by @Evdokia-Georgieva
- Token Create and Delete with simple fees tests refactor #24489 by @Evdokia-Georgieva
- Token KYC, Pause and Wipe simple fees tests refactor #24579 by @Evdokia-Georgieva
- Re-enable event hash block stream validators with PCES-based stale event handling #24504 by @aderevets
- Token Freeze and Unfreeze simple fees tests refactor #24523 by @Evdokia-Georgieva
- Token associate and dissociate simple fees tests refactored #24459 by @Evdokia-Georgieva
- Crypto service simple fees tests refactor #24424 by @Evdokia-Georgieva