What's Changed
- chore: Update throttles.json by @rbair23 in #11339
- feat: address cold read issue in ExtCodeHash operation by @lukelee-sl in #11323
- fix: 11348: The fix for 11231 doesn't cover ParsedBucket by @artemananiev in #11349
- chore: Create ISS detector component by @lpetrovic05 in #11075
- chore: Add
orderedSolderTo
method to OutputWire by @poulok in #11330 - chore: remove hashgraph demo by @lpetrovic05 in #11352
- feat: Migrate transaction handling to framework by @alittley in #11144
- fix: broken unit test by @kfa-aguda in #11233
- fix: Return invalid token even if expected decimals are present by @mhess-swl in #11342
- fix: 11298: VirtualMapReconnectTest fails intermittently with path not in range log message by @artemananiev in #11370
- fix: 10315 halt on wrong token type (ERCPrecompileSuite fuzzy match) by @JivkoKelchev in #11164
- fix: Modify where components look to indicate overloaded intake by @alittley in #11369
- feat: enable fuzzy record matching for
TokenUpdatePrecompileSuite
by @georgi-l95 in #11008 - fix: token associations modular dumper by @petreze in #11242
- chore: Update PBJ dependency by @netopyr in #11397
- chore: add
-l
option to diff limited interval sizes by @tinker-michaelj in #11361 - chore: Update protobuf version on develop by @Neeharika-Sompalli in #11355
- chore: reload config from saved state by @tinker-michaelj in #11341
- fix: matching the signature for NonFungibleTokenInfo and FungibleTokenInfo on failure by @mustafauzunn in #11133
- chore: Merkle test fixtures moved by @hendrikebbers in #11382
- perf: Warm tokens as they are also on-disk now by @netopyr in #11412
- perf: Evaluate logging parameters only when needed by @netopyr in #11413
- fix: Fix generated metric names by @netopyr in #11423
- fix: 11391adapting DurationGauge naming to conventions by @mxtartaglia-sl in #11416
- feat: address account nonce discrepancies mono by @natanasow in #11045
- fix: revert changes from enabling fuzzy matching for TokenUpdatePrecompileSuite by @georgi-l95 in #11419
- chore: move RandomAddressBookGenerator from swirlds-common to swirlds-platform-core by @edward-swirldslabs in #11428
- fix: transaction fee in record for mono code by @povolev15 in #11434
- fix: 10904 Log catastrophic failures during ingest by @thomas-swirlds-labs in #11415
- feat: Implement task scheduler squelching by @alittley in #11398
- feat: Check platform status before syncing by @alittley in #11429
- test: Create hapi tests for transfer and send operations for system accounts Part 1 by @0xivanov in #11359
- fix: 11328 Optimized
DataFileReaderPbj.leaseFileChannel
method by @imalygin in #11331 - fix: contracts.evm.allowCallsToNonContractAccounts flag misbehaviour by @thenswan in #11244
- fix: static call with selfdestruct to system account between 0.0.751 and 0.0.999 results in FAIL_INVALID by @natanasow in #11243
- fix: 11298: VirtualMapReconnectTest fails intermittently with path not in range log message by @artemananiev in #11435
- refactor: gossip birth round by @cody-littley in #11149
- fix: Fix service names for metrics by @netopyr in #11456
- refactor: EventSignatureValidator uses AncientMode by @edward-swirldslabs in #11433
- fix: fixed diff test, ContractCall has status: CONSENSUS_GAS_EXHAUSTED by @iwsimon in #11457
- fix: SignedStateFileManagerTests by @lpetrovic05 in #11468
- chore: migrate per node pending rewards by @tinker-michaelj in #11381
- fix: Increase wait for squelch test assertion by @alittley in #11461
- build: re-enable running timing sensitive tests on CI by @jjohannes in #11444
- feat: Integrate Validations in HAPI tests by @thenswan in #10944
- fix: mark scheduler tests as timing sensitive by @cody-littley in #11470
- fix: 11472 Added @tag(TIMING_SENSITIVE) to the tests to stabilize the test pipeline. by @imalygin in #11475
- fix: revert gossip birth round refactor by @cody-littley in #11482
- chore: add debug info by @lpetrovic05 in #11473
- fix: Enable tests from Issue2319Spec by @Ivo-Yankov in #10975
- test: 11134 - Create hapi tests for extCode operations for system accounts by @0xivanov in #11278
- fix: 11496 Temporary disabled
VirtualPipelineTests.flushThrottle
by @imalygin in #11497 - build: add back '-XX:ActiveProcessorCount=6' to 'eet' by @jjohannes in #11483
- build: Gradle update and QoL improvements by @jjohannes in #11443
- fix: state sent to be saved twice by @lpetrovic05 in #11488
- chore: use shorter contract names by @tinker-michaelj in #11491
- fix: check throttle usage on committing changes by @petreze in #11064
- fix: Migration only sets node ID under specific condition by @mhess-swl in #11485
- feat: scheduled txs mono signed state dumper by @dikel in #11390
- feat: Address stores X509Certificate by @edward-swirldslabs in #11318
- refactor: EventCreator compatible with AncientMode by @edward-swirldslabs in #11499
- fix: 11507 Temporary disabled tests to stabilize pipeline by @imalygin in #11509
- feat: 11347: introduce ReconnectHalfMillionNodesBench by @anthony-swirldslabs in #11487
- chore: fix yahcli build,
activate-staking
bug by @tinker-michaelj in #11501 - fix: fixed IndexOutOfBoundsException by @iwsimon in #11493
- chore: remove files with long names by @tinker-michaelj in #11512
- fix: 11320: Use num sigs instead of num keys in token mint fee by @mhess-swl in #11464
- fix: rbs calculation in modularize code by @povolev15 in #11518
- feat: Enhance storage (file) store dumper to handle modular representation by @vtronkov in #11385
- fix: Improvements for ConcurrentTestSupport by @hendrikebbers in #11276
- fix: 11507 Temporary disabled a test by @imalygin in #11517
- fix: Enable fuzzy matching for ApproveAllowanceSuite by @Ivo-Yankov in #10787
- feat: use ordered soldering for PCES flush requests by @alittley in #11451
- chore: Add NotNull/Nullable annotations to Metrics module by @mxtartaglia-sl in #11532
- fix: Enable fuzzy matching for HRCPrecompileSuite by @stoyanov-st in #11032
- refactor: return AddressBook from AddressBookRoster by @edward-swirldslabs in #11511
- chore: remove event observer dispatcher by @alittley in #11449
- feat: Create new status panel, and add to existing dashboards by @alittley in #11533
- fix: Nonce Discrepancies in Modularization by @Ivo-Yankov in #11074
- fix: 11540-ConcurrentTestSupportTest by @mxtartaglia-sl in #11541
- fix: reduce sync permit count by @cody-littley in #11545
- fix: make verifyAsync() a passthrough method to the executor service by @cody-littley in #11547
- build: add new Gradle modules for the block node by @nathanklick in #11552
- test: add
revertedAutoCreationRollsBackEvenIfTopLevelSucceeds
toLazyCreateThroughPrecompileSuite
and enable fuzzy-matching on it by @thenswan in #11131 - fix: add legacy etx support before EIP155 by @petreze in #11504
- fix: fee charge token create tx and also transaction hashing by @povolev15 in #11562
- fix: conditional records hollow account creation via internal transfer with max child records exceeded by @MiroslavGatsanoga in #10631
- chore: Allow multiple logging handlers of the same type by @timo0 in #11466
- fix: Save freeze states immediately by @alittley in #11528
- fix: 10506 fuzzy match lazy create precompile by @JivkoKelchev in #11465
- fix: 11498 Fix MapTest. by @imalygin in #11500
- chore: Rename
LinkedEventIntake
toConsensusEngine
by @alittley in #11548 - fix: 11496 Rewrote
testFlushBackpressure
. by @imalygin in #11536 - fix: Specify transfer precedence to match mono behavior by @mhess-swl in #11577
- chore: tune checkstyle config by @nathanklick in #11594
- chore: resolve check style detections in the swirlds-base module by @nathanklick in #11595
- chore: resolve check style detections in the swirlds-config-api module by @nathanklick in #11596
- chore: resolve check style detections in the swirlds-config-extensions module by @nathanklick in #11597
- chore: resolve check style detections in the swirlds-config-impl module by @nathanklick in #11598
- chore: add debug info to PTT by @lpetrovic05 in #11580
- fix: reset event creator as part of reconnect cleanup by @cody-littley in #11463
- fix: fallen behind detection by @cody-littley in #11480
- chore: cleanup event building and mocking in tests by @lpetrovic05 in #11579
- chore: match mono-service
contractCallResult
/contractID
externalization by @tinker-michaelj in #11578 - feat: Add metrics that measure the duration for each transaction type by @netopyr in #11606
- feat: add a service integration test to PR checks by @JeffreyDallas in #11519
- chore: rename DIRECT_STATELESS to DIRECT_THREADSAFE by @alittley in #11587
- chore: resolve check style detections in the hapi-utils module by @nathanklick in #11600
- fix: update version of commons-compress external dependency by @alittley in #11656
- fix: only compare child time created against self parent time created by @alittley in #11668
- feat: Add file handler by @timo0 in #11584
- fix: fixed diff test issue 11522 by @iwsimon in #11592
- feat: use direct scheduler when soldering directly to consumer by @alittley in #11628
- chore: Remove postgres comments by @poulok in #11661
- chore: 11615 add log statement when snapshot is inconsistent with init info by @mxtartaglia-sl in #11631
- feat: #10899 Componentize Hash Logger by @kfa-aguda in #11379
- fix: Handle more modular records than mono records in RcDiff by @iwsimon in #11682
- chore: update migration test state by @cody-littley in #11634
- feat: diagram tweaks by @cody-littley in #11649
- fix: mark count up latch tests as timing sensitive by @cody-littley in #11654
- chore: fix differences from 15 min post round 162559605 by @tinker-michaelj in #11639
- fix: Use an alias payer account to submit a transaction should be rejected. by @iwsimon in #11669
- fix: 11304: Unit Test Failure: VirtualMapHashingTest#fullLeavesRehash fails intermittently by @artemananiev in #11660
- chore: use safest
fromPbj()
translation approach for PBJCustomFee
objects by @tinker-michaelj in #11617 - ci: disable regression tests for release 0.46 by @JeffreyDallas in #11663
- ci: removing sonar related configurations and tasks from gradle and ci workflow by @JeffreyDallas in #11576
- chore: don't modify an
InMemoryValue#List
in-place by @tinker-michaelj in #11688 - feat: Componentize App communication component by @kfa-aguda in #11586
- feat: use elk renderer for mermaid diagrams by @alittley in #11694
- feat: 11347: introduce ReconnectBench by @anthony-swirldslabs in #11589
- feat: use real birth rounds by @cody-littley in #11563
- fix: 11715 Properly handle closed
PairedStreams
object by @imalygin in #11718 - chore: (mod) ignore
FileAlreadyExistsException
when trying to create a signature file by @tinker-michaelj in #11627 - fix: print illegal payload messages by @alittley in #11719
- fix: Fix 30 mins diff tests show hundreds of thousands of errors by @iwsimon in #11696
- fix: 11507 Re-enabled previously disabled tests by @imalygin in #11638
- chore: refactor mod `ThrottleService, fix restart ISS by @tinker-michaelj in #11672
- feat: limit number of events sent during a sync by @cody-littley in #11608
- chore: old style queue by @cody-littley in #11686
- perf: Minor performance improvements by @netopyr in #11742
- fix: (mod) fix alias management by @tinker-michaelj in #11743
- fix: consensus tests by @lpetrovic05 in #11710
- chore: preserve assessed fees even on insufficient token balances by @tinker-michaelj in #11717
- feat: rename MinGenInfo to be compatible with birth rounds. by @cody-littley in #11721
- build: Adjust node release for 0.48 branch by @mhess-swl in #11775
- chore: Add README file to explain xTests by @lukelee-sl in #11695
- feat: Add design doc for atomic crypto transfer by @lukelee-sl in #11525
- fix: stop checking for minimum birth round by @cody-littley in #11797
- fix: fix ERC-20 log events and custom fee calculations (#11789) by @tinker-michaelj in #11843
- fix: fixed diff test issue 11822 by @iwsimon in #11848
- chore: cherry-pick 11823 by @tinker-michaelj in #11855
- chore: Enable modularization on release branch 0.48 by @netopyr in #11906
- chore: Update release version to match release branch by @mhess-swl in #11932
- chore: Remove explicit fuzzy matching by @netopyr in #11939
- chore: Cherry-pick Fix issues related to upgrade (#11884) by @Neeharika-Sompalli in #11942
- fix: 11636 VirtualHasher performance improvements (#11787) by @netopyr in #11928
- fix: bug in future event buffer by @cody-littley in #11923
- chore: added unit tests to validateTopLevelAllowances() by @iwsimon in #11944
- fix: fixed diff test issue 11952 by @iwsimon in #11965
- perf: Move remaining in-memory maps on disk (#11974) by @netopyr in #11984
- fix: release/0.48 - Fix throttles error by @Neeharika-Sompalli in #11982
- fix: use Bytes instead of String for SCHEDULES_BY_EQUALITY_KEY by @kimbor in #11995
- fix: ensure ECDSA
ExpandedSigPair
always has EVM alias by @tinker-michaelj in #12009 - fix: use
signedTxnBytes
in synthetic creation records by @tinker-michaelj in #12010 - fix: multiple diff-testing issues by @tinker-michaelj in #12006
- fix: 12004: Backport the fix for 11996 to release 0.48 by @artemananiev in #12005
- feat(pbj): upgrade PBJ dependency to 0.8.1 by @anthony-swirldslabs in #12003
- chore: Configure maxAggregateRels to 15 million (all envs) by @mhess-swl in #12052
- fix(pbj): stabilize hashCode() for Enums by @anthony-swirldslabs in #12070
- fix: future event buffer bug by @cody-littley in #12065
- fix: 12071: Forwardport the fix for 11964 to release 0.48 by @artemananiev in #12072
- fix(ci): issue with improperly generated artifact file names by @nathanklick in #12089
- feat: Add gasPerConsSec metric by @netopyr in #12079
- fix: (mod-service) Fix a case for identifying
RESTART
scenario by @Neeharika-Sompalli in #12109 - fix: match mono-service gas throttling by @tinker-michaelj in #12011
- fix: create sidecar metadata before writing RecordStreamFile footer #12091 by @netopyr in #12121
- fix: wire
HashingOutputStream
into sidecar writing (#12114) by @netopyr in #12120 - feat: (cherry-pick) Metadata HIPs by @Neeharika-Sompalli in #12149
- fix: always encode length-2 output for
AllowanceCall
success by @tinker-michaelj in #12136 - chore: Remove unnecessary deleted flag in
TokenRelation
by @Neeharika-Sompalli in #12187 - feat: Add maximum entity count metrics by @netopyr in #12200
- fix: Fix
updateWeight
for removed nodes by @Neeharika-Sompalli in #12122 - chore: Update to use main protobufs branch by @Neeharika-Sompalli in #12198
- feat: Cherry-pick: Enhance account store dumper to handle modular representation by @netopyr in #12213
- feat: Cherry-pick: Enhance token (type) dumper to handle modular representation by @netopyr in #12211
- feat: Cherry-pick: scheduled txs modularization signed state dumper by @netopyr in #12212
- fix: only migrate non-empty aliases by @tinker-michaelj in #12172
- fix: (cherry-pick) make
HederaSoftwareVersion
match Services upgrade semantics by @Neeharika-Sompalli in #12230 - fix: (cherry-pick)
numPositiveBalances
mgmt by @Neeharika-Sompalli in #12224 - feat: Cherry Pick: Enhance topics store dumper to handle modular representation by @netopyr in #12209
- fix: cherry-pick: consensus test flake by @netopyr in #12219
- feat: Cherry-pick: Enhance contract bytecode dumper to handle modular representation by @netopyr in #12223
- fix: Cherry-pick: add singleton stores mono and modular representation by @netopyr in #12225
- feat: State dumper final changes (#12092) by @netopyr in #12243
- fix: Implement modular freeze time by @mhess-swl in #12261
- feat: throttle metrics by @netopyr in #12254
- fix: KYC default status is true without KYC key by @tinker-michaelj in #12260
- fix: set
SUCCESS
status in genesis records (#12038) by @Neeharika-Sompalli in #12306 - fix: fixed diff test 11885 by @iwsimon in #12297
- fix: (mod-service) Allow removing
SubmitKey
on Topic by @Neeharika-Sompalli in #12301 - fix: Cherry-pick: Add null check for autorenew account update by @netopyr in #12312
- fix: apply consistent auto-renew account policy by @tinker-michaelj in #12321
- chore: Fix state dumpers by @Neeharika-Sompalli in #12318
- fix: disable birth rounds by @cody-littley in #12351
- fix: ContractCallLocal INSUFFICIENT_GAS ERROR by @kimbor in #12362
- fix: fixed diff test issue 12355. by @iwsimon in #12375
- chore: rely on protobuf release 48 branch instead of main by @mhess-swl in #12376
- fix: (mono) reclaim entity id after failed auto-create; avoid
FAIL_INVALID
on invalid token id by @tinker-michaelj in #12322 - fix: Fix to deterministic iteration order by @Neeharika-Sompalli in #12401
- feat: Utilization metrics by @netopyr in #12402
- fix: Fix signing requirements for updating metadata on Token by @Neeharika-Sompalli in #12409
- fix: Clean up leaked virtual maps after migration by @mhess-swl in #12411
- chore: Migration fixes from state dumpers by @Neeharika-Sompalli in #12392
- fix: 12424: Backport the fix for 12388 to release 0.48 by @artemananiev in #12426
- chore: Added extra-checks to prevent unchecked submits on mainnet and testnet by @netopyr in #12418
- feat: Pass Metrics to created VirtualMaps by @netopyr in #12369
- fix: Fix
ConfigVersion
serialization by @Neeharika-Sompalli in #12439 - fix: treat an out-of-range allowance amount as an invalid op by @tinker-michaelj in #12444
- chore: (cherry-pick) Fix synk expiry (#12477) by @Neeharika-Sompalli in #12480
- fix: block no migration by @tinker-michaelj in #12476
- chore: reclaim EthTx lazy-create id on INSUFFICIENT_GAS; use INVALID_ACCOUNT_ID by @tinker-michaelj in #12451
- fix: verify payer solvency before verifying non-payer sigs by @tinker-michaelj in #12447
- chore: divide summed lazy-create cost by gas price by @tinker-michaelj in #12449
- fix: version backwards compatability by @cody-littley in #12494
- fix: always finalize pending precompile contract action by @tinker-michaelj in #12461
- fix: 12466 Fixed NPE intermitently occurring after 0.47 -> 0.48 migration by @imalygin in #12479
- fix: ContractCallLocal INSUFFICIENT_GAS ERROR by @kimbor in #12484
- chore: Increase max token associations to 50M by @thomas-swirlds-labs in #12282
- fix: Setup metrics for WritableKVStateStack by @netopyr in #12486
- fix: cherry pick 12512 by @tinker-michaelj in #12513
- fix: add pureChecks to ingest workflow by @netopyr in #12535
- fix: tokenAssociate throws IndexOutOfBoundsException (#12453) by @JivkoKelchev in #12550
- fix: Fix issues found during replaying events and dumping state by @Neeharika-Sompalli in #12531
- fix: fixed topicMessageSubmit without topicID throws unexpected NPE by @iwsimon in #12568
- chore: cherry pick 12547 by @tinker-michaelj in #12569
- fix: use
0
for missing auto-renew period ingetTokenInfo()
result by @tinker-michaelj in #12576 - chore: cherry pick pause fix by @mustafauzunn in #12557
- fix: set provided expiry on new schedule by @tinker-michaelj in #12583
- fix: Cherry-pick: tokenDissociate can fail with NullPointerException by @netopyr in #12575
- fix: Add pure check to ContractDeleteHandler by @netopyr in #12574
- fix: Fixes response code when failing in HbarChangesStep with custom fees by @Neeharika-Sompalli in #12586
- fix: Enable pureChecks in TokenAssociateToAccountHandler by @netopyr in #12590
- fix: Return REQUIRED_KEY in CryptoCreate if no alias is used by @netopyr in #12595
- fix: Fix schedules during replay by @Neeharika-Sompalli in #12585
- fix: Set minimum staking to 0 by @iwsimon in #12601
- fix: fixed diff test issue 12509 by @iwsimon in #12597
- fix: catch and translate
EthTxSigs
IAE by @tinker-michaelj in #12623 - perf: reorganize metrics initialization by @netopyr in #12622
- fix: Allow scheduled transactions to have preceding transactions by @netopyr in #12626
- fix: unit test and add the right response code by @povolev15 in #12581
- fix: Add fees for ContractCallLocalHandler by @Neeharika-Sompalli in #12645
- fix: support receipt/record queries with nonce by @tinker-michaelj in #12654
- fix: Return NOT_SUPPORTED in assertThrottlingPreconditions() by @netopyr in #12647
- fix: make pureChecks required in all handlers by @kimbor in #12578
- fix: use exact math for all summed balances by @tinker-michaelj in #12668
- fix: fixed diff test issue 12615 by @iwsimon in #12691
- chore: Implement un-HAPI tests for TokenAssociateToAccountHandler by @netopyr in #12698
- chore: Improve HAPI test to contain only checked error by @netopyr in #12719
- fix: fixed diff test issue #12699 by @iwsimon in #12737
- fix: (cherry-pick)Add EETs and pureChecks in few handlers (#12696) by @Neeharika-Sompalli in #12710
- perf: reduced warmup overhead #11915; warm treasury account for token transfer #12278 by @OlegMazurov in #12753
- chore: Update protobuf version 0.49 by @povolev15 in #12752
- fix: Allow aliases only in CryptoTransfer by @Neeharika-Sompalli in #12754
- fix: refactor pure checks smart contracts network admin by @kimbor in #12748
- chore: Add test for validating aliases in token operations (#12812) by @Neeharika-Sompalli in #12829
- fix: update versions to 0.49 by @tinker-michaelj in #12819
- chore: updated pureChecks(), refactored some code in consensus service by @iwsimon in #12755
- fix: Update weights of newly added nodes in
updateWeight
by @Neeharika-Sompalli in #12841 - fix: Revert pureChecks exception thrown in unchecked submit by @mhess-swl in #12874
- feat: #12713 cherry pick by @lukelee-sl in #12820
- chore: Fix Restart test by @Neeharika-Sompalli in #12878
- fix: Better handling of fatal errors in handle workflow by @netopyr in #12867
- perf: synchronous signature verification by @netopyr in #12881
- fix: 12247 Remove incorrect assert from
reopenFileChannel
(#12665) by @imalygin in #12883 - chore: 12862 Added null checks to
Hash.serialize
andHash.deserialize
by @imalygin in #12879 - fix: cherry-pick main fixes from #12811 by @Neeharika-Sompalli in #12900
- fix: 12901: Backport the fix for 11966 to release 0.49 by @artemananiev in #12903
- fix: Don't double-count child staking rewards in parent finalization by @mhess-swl in #12905
Full Changelog: v0.48.1...v0.49.0