Skip to content

Releases: hiero-ledger/hiero-sdk-swift

v0.44.0

18 Dec 21:59
b6f905e

Choose a tag to compare

Summary

This release contains a variety of refactorings and testing improvements, as well as HIP-1299.

Enhancements

  • HIP-1299: This HIP provides the ability for the SDK to automatically update its client address books after a NodeUpdateTransaction (based on when it receives an INVALID_NODE_ACCOUNT error from the consensus node). This increases the robustness of the SDK to operate in more uncertain network conditions.
  • CI Integration Testing: Integration testing was setup in the GitHub CI to allow for automatic regression testing of the SDK. This involved switching builds from the GitHub-provided macOS runners to Hashgraph self-hosted Linux runners, and utilizing the Hiero Solo Action to setup a proper testing environment.
  • Test Suite Refactor: The entire SDK test suite was refactored to allow for more granular control of test conditions and test network setup. It allows for different profiles to be loaded with various different settings, and for automatic entity cleanup. It cleans up the test setup, as well as provides documentation on how different testing environments can be setup.
  • Networking Refactor: The SDK networking layer was refactored to improve performance, maintainability, and code quality. The refactor consolidated duplicate code, optimized hot paths, enhanced documentation, and applied Swift best practices throughout the client networking infrastructure.

Dependency Changes

  • Crypto and CryptoSwift: Dependencies were added to allow for cross-compilation on Linux runners.

Documentation Updates

  • Comprehensive testing documentation added to README.md and Tests/README.md. This gives an in-depth description of testing targets, how to run certain tests, and all configuration options for tests.

Full Changelog: v0.43.0...v0.44.0

v0.43.0

17 Sep 21:47
5299a89

Choose a tag to compare

Release Notes - Version 0.43.0

Summary

This release contains several HIP implementations, as well as TCK endpoints and a bug fix for node connections.

Enhancements

  • HIP-1046: This HIP enables gRPC web proxies to be set and updated when creating and updating a new consensus network node, respectively.
  • HIP-1064: This HIP enables the disabling of active node rewards for a node.
  • HIP-745: This HIP allows Transactions to be serialized without needing all required transaction fields to be set (notably, nodeAccountId and transactionId).
  • TCK Endpoints: Many remaining TCK endpoints were added to the SDK server, allowing those JSON-RPC methods from the TCK to now be served.

Bug Fixes

  • TLS/Plaintext Node Connections: There was an issue with connecting to local networks (i.e. Solo) and other custom networks that would cause connections to consensus nodes fail; TLS connections would be tried on plaintext connection ports, and vice versa. The decision logic was updated to correctly choose the right port.

Full Changelog: v0.42.0...v0.43.0

v0.42.0

26 Jul 00:17
72a0696

Choose a tag to compare

Release Notes - Version 0.42.0

Summary

This release includes a couple changes for EVM related items, notably the deprecation of EthereumFlow and the removal of shard and realm encoding for EVM addresses as outlined here. There was also a fix for the SDK being unable to query the address book of a local Solo instance.

Deprecated Features

  • EthereumFlow: EthereumFlow has been deprecated. EthereumFlow was first implemented as an easy way for developers to deploy contracts that were over the maximum size allowed for Hiero transactions. However, with the addition of HIP-1086, this maximum size has been increased to the maximum allowed size for a contract. So now, there is no longer a need to create a file with the call data; it can all be just packed into the EthereumTransaction itself. As such, users are encouraged to now use EthereumTransaction instead of EthereumFlow.

Enhancements

  • Remove shard and realm encoding of EVM addresses for entities: shard and realm for Hiero entities are no longer encoded into their associated EVM addresses. The decision for this is explained here.

Bug Fixes

  • Fix solo mirror node gRPC connection issue: There was a bug that wasn't allowing a user to submit AddressBookQuerys to a local solo deployment. This has been fixed, as well as testing the Client.forMirrorNetwork API and confirming it works with solo.

Documentation Updates

  • Fix OpenSSF scorecard link in README: the link to the OpenSSF scorecard for this repo was incorrect, so it was fixed.

Full Changelog: v0.41.0...v0.42.0

v0.41.0

09 Jul 16:01
fa79c9c

Choose a tag to compare

Release Notes - Version 0.41.0

Summary

This release has several non-code updates to repo files, notably dependencies. It also adds persistent shard and realm support to Client to allow for proper daily address book updates.

Enhancements

  • Persistent Shard and Realm Client Support: shard and realm fields were added to the Client. This allows for proper address book querying for non-zero shard and realm address books across lifecycle events.

Dependency Changes

  • Update Dependencies to up to Version Numbers: pegging dependencies to specific releases allows for more consistency across SDK builds and lessens the chance of using vulnerable dependencies releases.
  • Update Protobufs: updating the protobufs used by the SDK allows for newer features to be used and implemented in the SDK.

Documentation Updates

  • Update README and MAINTAINERS Markdown Files: Updates to these files were included to reference the OpenSSF scorecard, as well as keeping track of the maintainers of this SDK, respectively.

Full Changelog: v0.40.0...v0.41.0

v0.40.0

10 Jun 19:45
d46ee7a

Choose a tag to compare

Release Notes - Version 0.40.0

Summary

This release adds SDK metric capabilities. These additions will allow the consensus node to track which requests it receives were sent by the Hiero Swift SDK, as well as the version of the SDK that was used to submit it.

Enhancements

  • SDK Metrics: Fields were added to the gRPC headers of any request being sent to a Hiero network from the Swift SDK to acknowledge that the Swift SDK is submitting the request, as well as what version of the Swift SDK is submitting. This will be captured on the consensus node side and metrics will be kept. This will allow node operators to see how many requests it's receiving from the Swift SDK, as well as how often users update their SDKs.

v0.39.0

29 May 14:57
73b24e2

Choose a tag to compare

Release Notes - Version 0.39.0

Summary

This release re-implements processing for HIP-1021, which set the auto-renew account ID for a topic to be equal to the transaction fee payer if it has not been set manually. It also implements static file ID getters for non-zero shard and realm networks.

Enhancements

  • Automatic Setting of Auto-Renew Account ID for New Topics: HIP-1021 allows now for the automatic setting of a new topics autoRenewAccountId to be equal to the fee payer of the account. This feature was added previously, disabled, but then re-enabled in the Swift SDK for this release.
  • Static File IDs for Non-Zero Shards and Realms: There are some static file IDs provided by the Swift SDK that point to important network files, such as the address book. The file IDs previously provided the the SDK only referenced the files with zero shard and realms. Functions were added to allow the versions of these files to be retrieved for non-zero shard and realm networks.

v0.38.0

15 May 20:46
5310a8a

Choose a tag to compare

This release offers support for two new features: Atomic Batch Transactions as a part of HIP-551, and mirror node queries to allow for users to get an estimate of the gas cost to execute a smart contract.

Enhancements

  • BatchTransaction: A new API class that allows users of the Swift SDK to submit an AtomicBatchTransaction HAPI request to a Hiero network. This transactions allows users to submit more than one transaction at a time and have the transactions retain atomic properties (i.e. all of the transactions are executed, or none of them). #452
  • MirrorNodeContractQuery, MirrorNodeContractCallQuery, MirrorNodeContractEstimateGasQuery: New APIs that allow users more flexibility when calling smart contracts. A user can now get an estimated gas cost for a smart contract call, which can help a user get more accurate gas costs and reduce the risk of wasting excess gas. #455

Documentation Updates

  • MAINTAINERS.md: A new markdown file was added to keep track of the maintainers of this repo. This is a standard in all Hiero repos.

0.37.0

31 Mar 22:33
db7e667

Choose a tag to compare

What's Changed

Full Changelog: 0.36.0...0.37.0

0.36.0

14 Mar 22:55
79120dd

Choose a tag to compare

What's Changed

  • Update README.md for transition to Hiero by @hendrikebbers in #394
  • Rename Hedera references to Hiero by @RickyLB in #437
  • Streamline Key and Alias specifications for AccountCreateTransaction by @RickyLB in #442
  • feat(HIP-991): Permissionless revenue-generating Topic Ids for Topic Operators by @RickyLB in #444

New Contributors

Full Changelog: 0.35.0...0.36.0

0.35.0

08 Feb 01:22
fb101ea

Choose a tag to compare

What's Changed

  • Fetch proto defintions from hedera-services by @RickyLB in #422
  • chore: Update codeowners to include platform-ci by @rbarker-dev in #428
  • Use OpenSSL for keccak256 encryption by @RickyLB in #430
  • ci: update CODEOWNERS file for hiero repo move by @andrewb1269hg in #432
  • feat(TCK): Refactor TCK server into services and add token methods by @rwalworth in #433
  • Handle overflow for TransactionId timestamp by @RickyLB in #435

New Contributors

  • @andrewb1269hg made their first contribution in #432

Full Changelog: 0.34.0...0.35.0