Skip to content

Hedera Services v0.38.0

Compare
Choose a tag to compare
@kimbor kimbor released this 16 May 20:43
· 2396 commits to develop since this release
v0.38.0
12918fb

Features

  • Upgrade EVM to Shanghai #5964
  • EVM version update and optimizations #5962
  • Turn on the Shanghai version of the EVM in previewnet #6212
  • Update hedera-protobufs-java version to 0.38.10 #6579
  • Add PCLI command to sign account balance files #6264

Minor Features

  • Update FileSignTool to support compressed rcd file with extension "rcd.gz" #6007
  • Extend software version to use configuration #6519 #6519
  • write human readable state address book during state save #6057
  • misc startup improvements #5790
  • Add signing requirements for transfer of NFT with fallback royalty fee #5997
  • Change the file name for preconsensus event stream files. #6000
  • Enable default services compression properties #6040
  • More robust state dumps #5963
  • Make accounts blocklisting feature flag disabled by default #6069
  • Turn on the contract actions sidecar in mainnet and testnet #5687
  • Parallel bucket reads in HalfDiskHashMap.endWriting() #5993
  • update log rollover configuration #6086
  • if no state is loaded, always use config address book. #6079
  • Add some ascii art to Hedera.java #6270
  • Update StakingInfo.weight midnight UTC #6231
  • Create Entity Map Warmer For Performance #6223
  • Introduced MappedConfigSource #6105
  • Debuggable State Reference Counts #6142
  • pces span heuristic #6222
  • AddressBook.forceUseOfAddressBook default setting #6334
  • Add feature flag for state ref count debug feature. #6404
  • Extend software version to use configuration #6519

Bug Fixes

  • Implement HRC facade implementation of associate/dissociate functions #6053
  • Distinguish auto-approvals in synthetic CryptoTransfer transfer lists #6290
  • Bump JRS spec 0.0.X ids to 0.0.(X+300) to account for EVM blocklist accounts #6039
  • Decrement entity numbers (299 not 300 blocklist accounts) #6048
  • HTS precompile clears memo #6033
  • fix address book init on software downgrade #5940
  • Omit auto-renew id if unused in synth ContractCreateTransactionBody #6111
  • Fix angry log message when state metadata doesn't record any state signatures #6179
  • Include ownerId in synthetic child createApproveAllowanceForAllNFT txn #6177
  • Ensure complete record files and sidecars are written during event stream recovery #6202
  • SigningTool defined as app #6215
  • Call getNumberOfChildren() less in iterator. #6279
  • Don't require signing keys when doing event stream recovery. #6285
  • Only clear memo in TokenUpdateLogic if client code can signal unset vs empty #6322
  • AddressBookInitializer skip validating state loaded addressbook #6481
  • Only allow positive amounts for transferToken function #6573
  • Remove zero stake check in submission #6604

Documentation

  • Add design doc for token facade associate/dissociate #5986
  • Added system startup diagram. #6269

Test Improvements

  • Fix flaky preconsensus event stream test #5984
  • automating address book initialization tests #5899
  • Assert EVM is set correctly in contract create #5797
  • Added test for autoCreate with transfer to Long Zero Address #5695
  • Add more hollow finalization tests #5918
  • Add fuzzing tests for CryptoTransfer-to-alias, CryptoTransfer-to-EVM-address covering auto/lazy creates and transfers to existing accounts #4943
  • Config API use null annotations and checks #5814
  • Fix AddressBookTestingToolState errors for test scenarios #6182
  • Add new test workflow #6287
  • Add addressBook test panel #6289
  • Add tests for gas calculation utility functions #6551

Codebase Improvements

  • Bucket.findEntryOffset() can reduce calls to getKeySize() [#5949](#5949)
  • Use PBJ with services [#4856](#4856)
  • transaction metadata becomes pre handle results #5958
  • Create a VirtualMap benchmark for remove operations #5966
  • query workflow improvements #5971
  • Implement FreezeService preHandle #5988
  • Remove SessionContext #5974
  • Revert to v0.35.3 ContractKey.hashCode() #6012
  • FileSignTool moved to new module #5972
  • Changed FeeObject to a record #5978
  • 5910: VirtualKey doesn't need to be comparable #6014
  • Implement TokenPause and TokenUnpause Handlers #5960
  • Change HAPI Jar #6066, #6098
  • Throw PreCheckException instead of setting status in PreHandleContext. #6063
  • query workflow improvements part2 #6080
  • Set the ledger ID for preproduction environments #6087
  • Implement Token Grant KYC Handle #5911
  • renamed stake to weight throughout the platform #6099
  • Move to PBJ Account #6103
  • Enable writing pcli plugins in hedera-services and provide an example plugin #6134
  • Use correct path when loading state. #6181
  • Merge relevant work from replay-develop #6102
  • Make readable stores available to all services #6210
  • Lifecycle and Mutable interfaces & functionality moved to base module #5822
  • Config Provider for Services #5996
  • Cross-service stores (TokenService part) #6230
  • Migrated ConsensusService to new design #6239
  • Migrated AdminService to new design #6238
  • Dagger module for token service #6249
  • Migrated FileService to new design #6240
  • Migrated NetworkService to new design #6241
  • Move noop metrics. #6251
  • Migrated SmartContractService to new design #6244
  • Migrated UtilService to new design #6245
  • consensus service & admin service use new DI pattern #6260
  • AppTestBase use simple config #6275
  • ConfigConverter and ConfigSource implementations for the service layer #6107
  • Migrated ScheduleService to new design #6243
  • query workflow improvements part3 #6108
  • Finalize cross service stores #6246
  • Implement token revoke KYC handle #6140
  • update Platform SDK CI/CD release pipelines to support the integrated repository #6315
  • Move (some) signatures and decoders of versioned ABIs to a dedicated location #6569

Contributors

We'd like to thank all the contributors who worked on this release!

@agadzhalov
@alittley
@artemananiev
@beeradb
@cody-littley
@cweagans
@david-bakin-sl
@dimitar-dinev
@edward-swirldslabs
@hendrikebbers
@imalygin
@IvanKavaldzhiev
@iwsimon
@JeffreyDallas
@jsync-swirlds
@kimbor
@lpetrovic05
@lukelee-sl
@mhess-swl
@MiroslavGatsanoga
@mustafauzunn
@nathanklick
@Neeharika-Sompalli
@netopyr
@OlegMazurov
@poulok
@povolev15
@qnswirlds
@randered
@rbair23
@shemnon
@stoqnkpL
@stoyan-lime
@tannerjfco
@tdermendzhievv
@timo0
@tinker-michaelj