Features
- Re-add bootstrap.properties file to maintain downstream processes and increase accounts.maxNumber=20_000_000 #8915
- 8815: sort dirty leaves during flush #8981
- Add setting to disable critical quorum. #8961
- Add a doc for all system entity numbers #8993
- 08566 - Validate PCES Events When Loading State On Different Network #8568
- Differential testing analytic engine: State file file dumper now dumps special files #8991
- Added improved startup ASCII art. #9028
- Characterize invalid id failure modes for classic HTS calls #9053
- Add ordinals to status diagram, and update javadocs #9108
- 5552: Create a Grafana Data Dashboard to view all existing relevant data metrics #8845
- Update Besu to version 23.10.0 #9168
- Move EventDescriptor from Platform-Core to Common Library #9200
- Add lables to the merkle tree visualziation in the logs. #9206
- Remove legacy address book stuff. #9204
- Rename event creation classes. #9167
- 9072 Enable Hapi Tests - General Improvements #9212
- Remove obsolete tests as discussed #9219
- 09162 cleanup ConsensusHashManager #9165
- Added new metrics for event creation. #9228
- Consensus changes #6844
- Write standalone event deduplicator #9247
- 09162 event creation metrics #9242
- 08670 Non linking orphan buffer #9241
- Cleanup platform construction. #9250
- Add feature that enables us to ignore janky state modification during testing. #9288
- Tests for new Logging classes #8783
- Add new tests to JTR metadata. #9315
- 08461 cli transplant state 2 #9309
- Change setup to have only one Gradle build #8858
- Allow build to run without internet connection using --offline #9037
- Platform Stress Testing Tool #8485
- update nfts.maxAllowedMints #9464
- Compress data sent over the network. #9416
- 07501 Redesign compaction #9060
- 09285 Create standalone event validator #9360
- Remove config option to disable event sig verification #9478
- Add an optional reconnect rate limit. #9522
- remove deprecated method #9497
- 09412 Create standalone in-order linker #9417
- Increase contract kv/pairs storage allowed by 100x #9581 / #9590
- 9582: Backport the fix for 9479 to release/0.44 #9583
Bug Fixes
- 08984 reconnect deadlock #8985
- Fix metadata digest management during PCES replay with old files on disk #8840
- 07663 sync lifecycle #8569
- 08816 epoch hash with sig #8998
- Stop release 0.41 regression #9025
- 08663 event creation cleanup #9012
- Sync configs from file 121 in the bootstrap.properties and application.properties for testnet & mainnet #9055
- Update ledger.id and chain.id in bootstrap.properties #9079
- #8877 Remove unneeded params from config.txt #8881
- Fix Hapi client validator, adjust test configuration and test client #9045
- Small fix to FailureCharacterizationSuite #9062
- Fix 'swirlds-platform' vs 'platform-sdk' build identity #8529
- Fix add vs put bug #9103
- 08629 platform builder #8662
- 08138 Increased reconnect.asyncStreamTimeout property to prevent genesis reconnect from failure #9132
- 08138 Increased reconnect.asyncStreamTimeout property to 5 minutes #9153
- Resolve WalletTestSetup errors #9096
- 07672 Run Hapi Tests #9197
- Fix deserializeKeySize method #9203
- Resolve BlockSuite errors #9101
- [develop] Remove unrecognized properties from testnet configs #9209
- Fix contract creation ids, enforce entity limits #9125
- Fix #9230 genesis schema vmap size hints too small #9231
- Fix fee calculations to not throw exceptions #9139
- 09217 d add prev ab to state #9220
- Use dummy transaction instead of empty bytes for accessor #9239
- task: Update Dockerfile to reduce failure rates in CI #9232
- Fix noisy log warnings #9186
- 9013: Virtual node cache size metric name should be updated to bytes instead of mebibytes #9253
- removed useless markers #9269
- Update testnet fee schedules #9290
- Cleaned up ECDSA verifier and added couple input validation checks #9320
- Abort html log processing if too many lines exist #9338
- Remove all direct usages of slf4j / forward slf4j to log4j #8425
- fix: resolve ci issues and maven central publish issues #9367
- fix: resolves issues with publishing the EVM module to Maven Central #9370
- remove clear pces option #9350
- 08817 iss pces replay #9248
- fix build #9470
- Maintain doubly-linked list storage on contact commit #9441
- Disable post-upgrade stake housekeeping #9474
- Invoke leakCapacityForNOfUnscaled(numImplicitCreations, CryptoCreate) on failed self-submitted auto-creation #9388
- 9512 Prevented MerkleDbStatistics from throwing exceptions if its methods called before registerMetrics #9520
- Remove obsolete tests #9489
- 08389 d fix flaky qt metric test #9496
- Remove asyncPrehandle config option #9527
- Remove EventReceivedObserver #9530
- Populate evm function result on failing eth transaction (#9453) #9552
- Disable compression. (#9554) #9579
- Make scheduled txn records queryable from ScheduleCreate payer account #9615
- Cherry-pick : Fix NPE in TokenWipe when using missing alias for an account #9646
- Make platform mainnet settings the default #9341
- Restore underscores in config values #9605
- fix: issue with workflow due to missing brace #9743
- 9477: Direct memory / data source leak if teacher becomes inaccessible during reconnect #9829
- Copy the PCES into saved state directories. (#9809) #9857
- Backport reconnect done handshake #9861
- Remove reconnect abort #9862
- Mirror fractional time usage in phase timer #9909
- Fix race condition in PCES file copy. (#9890) #9912
- Rationalize treatment of auto-create MAX_CHILD_RECORDS_EXCEEDED #9966
Code Modularization
- Fix TokenCreateSpecs (#8672)
- Fix ContractGetBytecodeSuite tests #8905
- Fix ContractCallSuite tests #8890
- Fix tests from ContractCallLocalSuite #8812
- Remove hapi test suite annotation from suite that not need to be fixed #8940
- Fix StaticCallOperationSuite tests #8959
- Implement backend throttle #8196
- Change Set to a List in customFeeValidator #8972
- Fix ExtCodeSizeOperationSuite tests #8957
- Fix FileUpdateSuite tests #8952
- Fix BalanceOperationSuite tests #8953
- Add comments for ContractGetBytecodeHandler #8946
- Fix GlobalPropertiesSuite tests #8958
- Fix ExtCodeHashOperationSuite tests #8956
- Check for deleted accounts in crypto allowances #8834
- Move burn package inside hts package #8904
- Fix tests from TokenTransactSpecs #8859
- Fix Auto Create with Alias #8916
- NetworkAdmin fee calculations #8844
- Fix ExtCodeCopyOperationSuite tests #8955
- Implement calculateFees for crypto handlers #8933
- Fix failed mixed reconnect tests due to INVALID_TOPIC_ID #8937
- Fix createContractWithStakingFields() #8986
- Enable tests from PrivilegedOpsSuite #8942
- Resolve TraceabilitySuite errors #8919
- Implement system contract for delete token #8887
- 7905 Schedule Service Unit Tests - Part 2 #8842
- implement system contracts for mint #8856
- Fix TokenFeeScheduleUpdateSpecs tests #8863
- 08714 Get Allowance system contract #8810
- Fix SpecialAccountsAreExempted tests #9018
- Fix UpdateFailuresSpec tests #9021
- Enable remaining tests from ThrottleDefValidationSuite #9016
- 08588 Grant Approval system contract #8728
- Fix TxnRecordRegression #8947
- Fix TxnReceiptRegression suite #8941
- Enable tests from TokenPauseSpecs #8658
- Resolve RecordsSuite errors #8907
- Fix Ethereum Suites issues #8999
- Fixed code to enable additional 14 HapiTests in CryptoApproveAllowanceSuite #9032
- Add Fees for CryptoTransfer #9006
- Resolve FileQueriesStressTests errors #9082
- Resolve ConsensusQueriesStressTests errors #9084
- Resolve InvalidgRPCValuesTest errors #9092
- Resolve PerpetualTransfers errors #9094
- Issue 8989 - Design ScheduleGetInfo query handler #9035
- 09046 Fix Hapi Schedule Create Spec #9106
- Resolve CryptoQueriesStressTests errors #9086
- Implement some of the classic HTS view functions #8712
- Enable more ContractCallLocalSuite tests #9105
- Fix Misc issues in CryptoTransfer Logic #9034
- Fix setting of nonce in RecordListBuilder #9118
- Fix Paid query handler base class to not permit subclasses to be free. #9052
- Fix TokenManagementSpecs tests #8679
- Resolve UniqueTokenManagementSpecs errors #9113
- 9046 Schedule Handlers/Fix Record Builder usage. #9140
- Use working state in queries #9143
- Fix duplicateKeysAndSerialsInSameTxnDoesntThrow test #9150
- Enable tests from CrytoCreateSuiteWithUTF8 #9148
- Enable tests from HelloWorldSpec #9146
- Enable tests from TransferWithCustomFees #9123
- fixed CryptoApproveAllowanceSuite.scheduledCryptoApproveAllowanceWorks #9152
- Further tuning of token reconnect tests #9128
- Implement system contract for UPDATE_TOKEN #9144
- Fix aliasKeysAreValidated test in CryptoTransferSuite #9187
- Add checks for immutable keys #9171
- Enable tests from Issue1765Suite #9038
- Fix UtilScalePricingCheck test #9180
- Implement token expiry and token key view functions #9141
- Add fee calculations to TxGetRecordHandler #9173
- Fix TokenCreate Specs #9170
- Simulate mono-service custom fee failure codes in mod-service #9227
- Fix FileRecordsSanityCheckSuite tests #9216
- Tidy up create method in AutoAccountCreator #9033
- Fixed code to pass CryptoGetInfoRegression. #9229
- Fix TokenManagementSpecs KYC Tests #9234
- Implement frontend throttle #8374
- Fix unreliable behavior in Unit Test #9251
- Fix SignedTransactionBytesRecordsSuite #9043
- Implement system contract for CREATE_TOKEN #9127
- Implement system contract TOKEN_UPDATE_EXPIRY #9185
- Resolve KeyExport errors #9093
- Resolve Replace Alias error in CryptoTransferSuite #9267
- Resolve RecordFileSuite errors #9099
- Resolve TogglePayerRecordUse errors #9095
- Enable ResetThrottleSuite and ResetTokenMaxPerAccount suites #9183
- Implement getTokenCustomFees HTS view function #9207
- Fix tests in CryptoTransferSuite #9245
- Resolve CreateOperationSuite errors #9142
- Match Get Approved mono behaviour #9263
- Match mono behaviour for Grant Approval system contract #9235
- Match mono behaviour for Freeze/Unfreeze System Contract #9256
- Implement system contract for TOKEN_UPDATE_KEYS #9238
- Match Grant/Revoke Kyc mono behaviour #9301
- Match UpdateTokenKeys mono behaviour #9311
- Enable tests from ContractCallSuite #9316
- Match Get Allowance mono behaviour #9258
- Apply latest config changes to modularized code base #9193
- Implement getTokenInfo, getFungibleTokenInfo and getNonFungibleTokenInfo view functions #9295
- 09030 save all records #9323
- Fix failing HAPI tests in mono repo #9329
- Fix cannotCreateTooLargeContract from ContractCreateSuite #9304
- Allowance transfers fixes #9334
- Enable fixed AutoAccountCreation tests #9353
- Enable tests from LeakyContractTestsSuite #9355
- 8430 auto account update suite #9342
- Match TokenCreate mono behaviour #9361
- Fix JRS schedule test #9380
- Fix create2 operation suite tests #9151
- SystemContract gas calculations #9318
- Disable flaky test #9384
- Fix handling of complex keys during ingest #9351
- Fix other CryptoTransfer tests #9390
- Make all deprecated queries and txs free of charge #9386
- Ensure Wipe operations match mono behaviour #9298
- Fix uniqueTokenManagementSpecs leftover tests #9393
- Fix schedule create test #9395
- Match UpdateTokenExpiryInfo mono behaviour #9332
- Ensure SetApprovalForAll system contract matches mono behaviour. #9222
- Enable AutoAccountUpdateSuite test #9413
- Resolve part of crypto tests #9359
- fixed code to pass some tests in HollowAccountFinalizationSuite #9419
- Match DeleteToken mono behaviour #9331
- Enable passing tests #9455
- Match BurnPrecompile mono behaviour #9333
- Match MintToken mono behaviour #9326
- Fix remaining tests for CryptoCornerCasesSuite and CryptoGetInfoRegression #9486
- use Bytes.EMPTY instead of null to indicate empty keys/values #9519
- enable query payment suite #9523
- Pure checks for token burn and wipe #9451
- 9046 Enable ScheduleCreateSpecs HAPI tests #9418
- Enable token service tests that are passing #9540
- Enable passing Precompile HAPI tests #9465
- 09394 fix failing tests in create2 operation suite #9498
Misc
- Bump actions/upload-artifact from 3.1.2 to 3.1.3 #8753
- Bump actions/setup-java from 3.12.0 to 3.13.0 #8801
- Bump mikefarah/yq from 4.35.1 to 4.35.2 #8893
- Bump com.diffplug.spotless:spotless-plugin-gradle from 6.21.0 to 6.22.0 #8934
- Bump gradle/gradle-build-action from 2.8.0 to 2.9.0 #8936
- Bump actions/checkout from 4.0.0 to 4.1.0 #8843
- chore: fix StatsSigningTestingTool to hash the data for ECDSA signatures #9339
- Bump actions/setup-node from 3.8.1 to 4.0.0 #9421-
- Bump org.owasp:dependency-check-gradle from 8.4.0 to 8.4.2 #9422
- chore: import the production docker image definitions from Node Management Tools #9472
- chore: add OpenJDK 21 manifests to the production docker image #9488
- Bump services version number to 0.44.0 #9365
- Bump hapi version in use to 0.44.0 #9536
- Schedule release branch creation for 0.44 #9533
- chore: publish release artifacts to the public CDN #9720
Contributors
We'd like to thank all the contributors who worked on this release!
- @agadzhalov
- @alittley
- @artemananiev
- @cody-littley
- @david-bakin-sl
- @dikel
- @edward-swirldslabs
- @ElijahLynn
- @georgi-l95
- @hendrikebbers
- @imalygin
- @Ivo-Yankov
- @iwsimon
- @jasperpotts
- @JeffreyDallas
- @JivkoKelchev
- @jjohannes
- @jsync-swirlds
- @kimbor
- @lpetrovic05
- @lukelee-sl
- @MiroslavGatsanoga
- @mhess-swl
- @MrValioBg
- @mustafauzunn
- @Nana-EC
- @natanasow
- @nathanklick
- @Neeharika-Sompalli
- @netopyr
- @OlegMazurov
- @petreze
- @povolev15
- @poulok
- @rbair23
- @shemnon
- @stoqnkpL
- @stoyanov-st
- @thenswan
- @timo0
- @tinker-michaelj
- @vtronkov