Hedera Services v0.47.0
What's Changed
- fix: bug when node is removed by @cody-littley in #10687
- fix: Fuzzy matching for CreateOperationSuite and Create2OperationSuite 09431 by @JivkoKelchev in #10185
- fix: recordCache to commit added entries and implemented correctly the remove elements from the queue by @povolev15 in #10523
- fix: Fix and enable all Schedule HapiTests by @povolev15 in #10551
- fix: implement sidecars by @JivkoKelchev in #9815
- feat: add setting for birth round ancient threshold by @cody-littley in #10660
- chore: drop chatter by @cody-littley in #10670
- chore: remove state info by @cody-littley in #10685
- chore: Rename contract causing services regression due to long name by @stoqnkpL in #10700
- fix: state leak by @cody-littley in #10690
- fix: state leak during migration by @cody-littley in #10706
- fix: Mark prehandle as complete in legacy intake pipeline by @alittley in #10711
- chore: fix mutability exception in pre-handle; stabilize CI by @tinker-michaelj in #10716
- chore: add s6-overlay based init process support by @nathanklick in #10717
- fix: restore accidentally disable reconnect tests by @JeffreyDallas in #10560
- ci: turn off regression for release 0.44 by @JeffreyDallas in #10708
- chore: Clean up schedule HapiSpec suites by @jsync-swirlds in #10710
- fix: change cron job to once a day by @JeffreyDallas in #10570
- chore: Update copyrights to 2024 on the repo by @Neeharika-Sompalli in #10752
- chore: set event birthRound to pendingConsensusRound by @edward-swirldslabs in #10681
- chore: Rename files to Pces by @alittley in #10754
- chore: clean up contract call sanity precheck logic by @lukelee-sl in #10750
- chore: 10593 move nanoclock to base by @mxtartaglia-sl in #10641
- fix: stabilize remaining un-enabled
@HapiSpec
's by @tinker-michaelj in #10733 - fix: diagram commands by @cody-littley in #10773
- fix: Solve bad metric units by @alittley in #10777
- chore: Create a thorough unit test for KeyComparator by @jsync-swirlds in #10753
- test: enable ContractGetBytecodeSuite fuzzy matching by @mustafauzunn in #10764
- chore: remove the unused encryption key pair and silently ignore if present by @nathanklick in #10757
- chore: account for staking records in various specs by @tinker-michaelj in #10783
- chore: add "Possibly CATASTROPHIC failure" logs by @petreze in #10760
- chore: 10561 chage withConverter signature by @mxtartaglia-sl in #10614
- fix: fix permissions for upgrade test by @JeffreyDallas in #10779
- chore: remove legacy intake flag by @alittley in #10744
- chore: only override Netty defaults on non-
DEV
profile; other fixes by @tinker-michaelj in #10786 - test: enable fuzzy matching for some suites by @mustafauzunn in #10736
- feat: adding getter to RecordStreamEntry for TransactionRecord by @stefan-stefanooov in #10703
- chore: fix mod-service congestion start time mgmt by @tinker-michaelj in #10797
- chore: Enable restart and reconnect tests in CI under a different Tag by @Neeharika-Sompalli in #10604
- fix: Enable fuzzy matching in
SelfDestructSuite
by @georgi-l95 in #10788 - feat: Enable fuzzy matching in
ContractHTSSuite
by @georgi-l95 in #10792 - fix: Enable fuzzy matching for
ERC20ContractInteractions
by @Ivo-Yankov in #10768 - chore: Document why the deduplicator considers signature by @alittley in #10799
- feat: Add new logging api (#9631) by @timo0 in #10332
- chore: reduce static config use by @cody-littley in #10663
- chore: Migrate PCES to new framework by @alittley in #10795
- fix: Fix timing sensitivity in
LoggingSystemTest
by @jsync-swirlds in #10826 - fix: refactor the code to use explicit Schema and not anonymous Schema and one flaky test by @povolev15 in #10756
- chore: Remove preconsensus observer by @alittley in #10816
- chore: use INFO level for state changes log by @tinker-michaelj in #10818
- fix: Cache ReadableStates by @netopyr in #10813
- chore: Skip methods annotated with BddMethodIsNotATest by @netopyr in #10823
- fix: Enable Smart Contract Records and Operations suites fuzzy matching by @stoyanov-st in #10697
- fix: Enable fuzzy matching in PrngSeedOperationSuite by @stoyanov-st in #10699
- fix: Enable fuzzy matching for SStoreSuite by @Ivo-Yankov in #10766
- test: enable SigningReqsSuite fuzzy matching by @mustafauzunn in #10836
- fix: Enable Fuzzy matching for some Smart Contract suites and BlockSuite by @stoyanov-st in #10807
- chore: allow starting from genesis state with null address book. by @edward-swirldslabs in #10817
- chore: Test fuzzy-matching for token specs by @Neeharika-Sompalli in #10842
- chore: disable flaky test by @mxtartaglia-sl in #10882
- fix: Repair and reenable PCES File Manager test by @alittley in #10886
- chore: Component Documentation by @poulok in #10821
- feat: sync metrics by @cody-littley in #10891
- chore: orphan buffer supports birthRound ancient threshold. by @edward-swirldslabs in #10844
- test: enable GrantRemoveKycSuite fuzzy matching by @dikel in #10857
- chore: remove file sign tool by @cody-littley in #10883
- fix: Make Hasher use a DIRECT scheduler by @alittley in #10889
- test: Fix fuzzy match flakiness by @vtronkov in #10856
- chore: use metadata-derived class id for QueueNode by @tinker-michaelj in #10885
- feat: 5592: Modify platform data to use PBJ DataIO serialization by @artemananiev in #7545
- fix: bug with wiring diagram substitution by @cody-littley in #10934
- feat: removal of address validity checks for top-level EVM calls by @natanasow in #9628
- feat: PCES can use either birth round or generation by @cody-littley in #10808
- chore: update local node images to Java 21 by @isavov in #10834
- fix: address book jrs test failing by @edward-swirldslabs in #10928
- feat: Add explicit
TokenType
toSingleTransactionRecord
. by @jsync-swirlds in #10827 - fix: Implement new PCES writer flush by @alittley in #10945
- fix: (mod-service)Use concurrent read cache by @Neeharika-Sompalli in #10965
- chore: Validate other token spec fuzzy matching by @Neeharika-Sompalli in #10888
- test: enable RedirectPrecompileSuite fuzzy matching by @mustafauzunn in #10921
- fix: Enable fuzzy match in ContractBurnHTSSuite by @stoyanov-st in #10868
- test: Enable fuzzy record matching for PrngPrecompileSuite by @vtronkov in #10850
- test: Enable fuzzy record matching for ERC1155ContractInteractions by @vtronkov in #10852
- chore: add warmup hook by @netopyr in #10941
- test: enable ContractCreateSuite fuzzy matching by @mustafauzunn in #10806
- test: enable DefaultTokenStatusSuite fuzzy matching by @mustafauzunn in #10906
- test: enable PauseUnpauseTokenAccountPrecompileSuite fuzzy matching by @mustafauzunn in #10970
- test: enable AssociatePrecompileSuite fuzzy matching by @mustafauzunn in #10866
- test: enable EthereumSuite fuzzy matching by @mustafauzunn in #10943
- fix: Enable fuzzy matching for DelegatePrecompile by @stoyanov-st in #10873
- test: Enable fuzzy record matching for FreezeUnfreezeTokenPrecompileSuite by @vtronkov in #10867
- test: enable TokenExpiryInfoSuite fuzzy matching by @dikel in #10861
- test: Enable fuzzy match for all CreatePrecompileSuite tests by @vtronkov in #10839
- chore: create state signature collector component by @lpetrovic05 in #10838
- feat: Create command to generate a legend for framework diagrams by @alittley in #10963
- fix: 10948: JRS failure SmartContractByteCodeMapValueSerializer.getSerializedSize by @artemananiev in #10957
- fix: Enable fuzzy matching for ContractDeleteSuite by @MrValioBg in #10939
- fix: Logging configuration updates test by @mxtartaglia-sl in #10952
- feat: wiring offer cleanup by @cody-littley in #10925
- fix: sync filtering by @cody-littley in #11002
- feat: transform evm v46 checks to prechecks by @natanasow in #11013
- test: enable
TokenAndTypeCheckSuite
fuzzy matching by @natanasow in #10977 - chore: Extend Mixed operation submitted for Restart and Reconnect tests by @Neeharika-Sompalli in #11007
- test: Add tests for V2 token mint for EOA-CONTRACT-PRECOMPILE by @anastasiya-kovaliova in #10840
- chore: remove check which performs receiver signature check by @lukelee-sl in #11031
- fix: Reclaim throttle usage for auto account creation by @petreze in #10940
- chore: skip unwanted parts of init during mono event stream recovery by @tinker-michaelj in #11004
- fix: state unchanged on restart without upgrade by @edward-swirldslabs in #11043
- fix: Improve ugly html by @alittley in #11029
- ci: turning off release 0.45 regression by @JeffreyDallas in #11040
- fix: Use a sequential thread scheduler for LinkedEventIntake by @alittley in #11048
- fix: Enable fuzzy matching for TraceabilitySuite by @MrValioBg in #11037
- fix: event stream replay by @cody-littley in #11049
- fix: Flush transaction handling after replay by @alittley in #11000
- fix: pcli diagram by @cody-littley in #11053
- feat: add expired threshold to ancient window by @cody-littley in #10960
- chore: use fixed missing contract numbers in
Evm46ValidationSuite
by @tinker-michaelj in #11061 - chore: refactor to remove dependencies to contractMustBePresent by @lukelee-sl in #11005
- chore: Add first logging documentation by @timo0 in #10911
- fix: Reenable concurrent hashing by @alittley in #10986
- chore: ensure validation runners use the same docker & containerd versions by @nathanklick in #11070
- chore: Fix
TokenTransactSpecs
fuzzy matching by @Neeharika-Sompalli in #10951 - fix: 11054: API for abstract tasks by @artemananiev in #11056
- fix: 11042 Upgraded PBJ version to 0.7.12 by @imalygin in #11044
- feat: shadowgraph wiring by @cody-littley in #10937
- chore: use birth round in InOrderLinker by @edward-swirldslabs in #11084
- chore: Update develop to use
add-pbj-types-for-state
by @Neeharika-Sompalli in #11094 - chore: Remove old intake queue by @alittley in #10814
- test: enable fuzzy match on TokenInfoHTSSuite by @vtronkov in #11014
- chore: warm token transfer by @netopyr in #11017
- chore: Metrics module added by @hendrikebbers in #9846
- fix: (mod-service)Fix block number closing issue on restart by @Neeharika-Sompalli in #11097
- feat: unlink alias on account deletion by @natanasow in #10701
- feat: add support for industry standard key storage by @nathanklick in #11060
- fix: Initial Differential Testing Fixes by @mhess-swl in #11100
- fix: use concurrent hashmap instead of synchroniztion for recordcache by @povolev15 in #11112
- feat: Big-bang migration code by @mhess-swl in #11003
- chore: Track pending rewards per node by @Neeharika-Sompalli in #11062
- chore: Remove usage of snapshotMode in HAPI tests by @netopyr in #11128
- chore: MinGenInfo serialization cleanup by @cody-littley in #11115
- fix: let shadowgraph be responsible for all unlinking by @cody-littley in #11121
- chore: make shadowgraph compatible with birth rounds by @cody-littley in #11095
- feat: use ContractID as contract identifier by @kimbor in #10958
- ci: Add ping exporter to poll github runner delay and push to promethus by @JeffreyDallas in #11089
- feat: 10961: Virtual hashing is the next bottleneck by @artemananiev in #11001
- chore: add tool configuration files to support Codacy reporting by @nathanklick in #11147
- fix: 11030: replace ProtoUtils with PBJ APIs by @anthony-swirldslabs in #11098
- ci(codacy): enable Codacy coverage reporting by @nathanklick in #11150
- fix: add missing credential for ping grafana agent by @JeffreyDallas in #11162
- chore: 10285 split records by @mxtartaglia-sl in #11093
- chore(deps): bump com.diffplug.spotless:spotless-plugin-gradle from 6.23.3 to 6.25.0 by @dependabot in #11122
- chore(deps): bump google-github-actions/upload-cloud-storage from 1.0.3 to 2.1.0 by @dependabot in #11126
- build(deps): bump actions/setup-python from 4.8.0 to 5.0.0 by @dependabot in #10373
- build(deps): bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #10432
- build(deps): bump mikefarah/yq from 4.40.2 to 4.40.5 by @dependabot in #10457
- build(deps): bump actions/setup-node from 4.0.0 to 4.0.1 by @dependabot in #10562
- chore(deps): bump fjogeleit/http-request-action from 1.14.2 to 1.15.2 by @dependabot in #10824
- chore(deps): bump org.owasp:dependency-check-gradle from 8.4.2 to 9.0.9 by @dependabot in #11028
- chore(deps): bump actions/upload-artifact from 3.1.3 to 4.3.0 by @dependabot in #11123
- chore(deps): bump google-github-actions/setup-gcloud from 1.1.1 to 2.1.0 by @dependabot in #11125
- chore(deps): bump google-github-actions/auth from 1.1.1 to 2.1.0 by @dependabot in #11124
- build(deps): Bump actions/setup-java from 3.13.0 to 4.0.0 by @dependabot in #10178
- chore(deps): bump gradle/gradle-build-action from 2.9.0 to 2.12.0 by @dependabot in #11167
- refactor(#10023): EventDeduplicator uses AncientMode by @edward-swirldslabs in #11145
- build(deps): Bump org.antlr:antlr4 from 4.11.1 to 4.13.1 by @dependabot in #10266
- chore(deps): bump com.autonomousapps:dependency-analysis-gradle-plugin from 1.26.0 to 1.29.0 by @dependabot in #11059
- feat: Use Journaled EVM Updater by @shemnon in #11171
- refactor(#10023): InternalEventValidator Checks BirthRound by @edward-swirldslabs in #11091
- feat: cleaner manual event window overrides by @cody-littley in #11165
- feat: add a wiring stub for gossip by @cody-littley in #11170
- fix: 114: handle ParseException from PBJ Codec.parse() by @anthony-swirldslabs in #11151
- fix: allow negative birthRound event validation by @edward-swirldslabs in #11209
- perf: Execute each cache warming on individual virtual thread by @netopyr in #11216
- feat: clean up wiring diagram by @cody-littley in #11228
- build: perform git clone/update of 'hedera-protobufs' in a task by @jjohannes in #10278
- test: 11135 - create hapi tests for balance operation for system accounts by @0xivanov in #11184
- fix: 10315 use ordinal when revert PrecompileContractResult (ERCPrecompileSuite fuzzy match) by @JivkoKelchev in #11183
- build: JMH - do not include test classes/dependencies by @jjohannes in #10384
- test: add additional test for conditional records by @georgi-l95 in #10735
- feat: dumper for signed state
topics
from mono by @agadzhalov in #11081 - test: add
htsTransferFromForNFTViaContractCreateLazyCreate
toLazyCreateThroughPrecompileSuite
and enable fuzzy-matching on it by @thenswan in #11163 - fix: 10315 Add ALLOW_EMPTY_ERROR_MSG snapshot mode (ERCPrecompileSuite fuzzy match) by @JivkoKelchev in #11185
- perf: Turn workflows into Singletons by @netopyr in #11222
- feat: future event buffer by @cody-littley in #11168
- build: improve test run parallelization and cleanup test categories by @jjohannes in #8456
- test: unlinking of alias is not working as expected by @natanasow in #11239
- fix: Fuzzy match AtomicCryptoTransferSuite by @MrValioBg in #11181
- chore: add
RcDiff
tool by @tinker-michaelj in #11148 - fix: resolve Snyk Report workflow step failure by @nathanklick in #11269
- fix: 10315 fix leftovers (ERCPrecompileSuite fuzzy match) by @JivkoKelchev in #11179
- perf: Ensure TransactionStateLogger is not logging on info level by @netopyr in #11274
- fix: platform should not use common fork join pool by @cody-littley in #11267
- fix: Fix flaky parallel tests by @timo0 in #11281
- fix: 11255: Discrepancy protobuf bucket bytes between Bucket and ParsedBucket if bucket index is zero by @artemananiev in #11261
- chore: 5967 validate metric naming rules by @mxtartaglia-sl in #11142
- chore: stabilize a few specs by @tinker-michaelj in #11258
- fix: 10315 add logs to grant approval calls (ERCPrecompileSuite fuzzy match) by @JivkoKelchev in #11178
- fix: Ensure that the pending creation customizer applies to the address being created by @lukelee-sl in #11214
- test: Enable fuzzy matching for ContractKeysStillWorkAsExpectedSuite by @vtronkov in #11272
- chore: Unit test modules removed by @hendrikebbers in #10832
- test: 11136 - Create hapi tests for selfDestruct operation with system accounts as beneficiaries by @0xivanov in #11249
- feat: Make updates to dashboards, and add new ones by @alittley in #11259
- perf: Move token on disk by @netopyr in #11273
- feat: pcli state validateAddressBook command by @edward-swirldslabs in #11287
- fix: use an unbounded queue for the crypto engine by @cody-littley in #11289
- feat: charge gas if contract call fails before calling the evm by @lukelee-sl in #11096
- perf: Avoid excessive creation of Executors by @netopyr in #11311
- fix: Ui metrics name by @mxtartaglia-sl in #11317
- fix: 11305: failing application metrics by @mxtartaglia-sl in #11321
- chore: drop support for async hashing by @cody-littley in #11319
- chore: fix the record mismatch for
prng
transactions by @Neeharika-Sompalli in #11238 - fix: rejected execution in wiring framework by @cody-littley in #11293
- chore: Fix Some other issues faced during differential testing for 15 min window by @Neeharika-Sompalli in #11297
- feat: 11231: Improved virtual node remover by @artemananiev in #11268
- chore: Update protobuf version by @Neeharika-Sompalli in #11338
- fix: 11363: Backport the fix for 11348 to release 0.47 by @artemananiev in #11368
- fix: 11367 Use correct measure for intake backpressure by @alittley in #11393
- fix: Return invalid token even if expected decimals are present (#11342) by @mhess-swl in #11374
- chore: cherry pick fix to address cold read issue in ExtCodeHash by @lukelee-sl in #11344
- chore: cherry pick fix for matching the signature for precompiles on failure by @mustafauzunn in #11411
- chore: cherry-pick fix for address account nonce discrepancies mono by @natanasow in #11450
- chore: cherry-pick static call with selfdestruct to system account between 0.0.751 and 0.0.999 results in FAIL_INVALID by @stoqnkpL in #11453
- chore: Cherry pick fix: contracts.evm.allowCallsToNonContractAccounts flag misbehaviour by @stoqnkpL in #11454
- chore: Cherry pick Create hapi tests for transfer and send operations for system accounts by @stoqnkpL in #11452
- fix: Cherry pick fix to release 0.47 to shorten contract name by @JeffreyDallas in #11535
- chore: cherry pick #11504 by @lukelee-sl in #11567
- fix: reduce sync permit count (#11545) by @cody-littley in #11550
- fix: 11561 Added
isReconnectContext
flag to handle node removal properly in the reconnect context. by @imalygin in #11591
New Contributors
- @stefan-stefanooov made their first contribution in #10703
- @anastasiya-kovaliova made their first contribution in #10840
Full Changelog: v0.46.3...v0.47.0