Changelog

	Client API:  
	- mTLS authentication with limited access based on certificate fields, specified in the configuration file.  
	- SDKv2 (Go, Node.js, Java, C): Added WithRootCAFile, WithPublicKeyPinning, WithOCSPValidation to the configuration builder  
	- SDKv2 (Go, Node.js, Java, C): Removed public key pinning from the mTLS authenticator, and added support for OCSP stapling of the client certificate  
	Node Configuration:  
	- Added OCSP configuration to the SDK server and the TLS authenticator  
	Patch changes (no effect on compatibility):  
	- Passing a negative UID or GID value to the tsm-node will now disable privilege dropping  
	- Updated required Go version to 1.22.0 (no need to specify a higher version than we need), but always build with the latest version
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20241016134751-7ff83004ec2c

Versions

Client API: 56.0 (!)  
Client Communication: 29.0  
Database: 7.10.0  
Node Communication: 32.0  
Node Configuration: 21.1  

Upgrade Instructions

OCSP Configuration (Node Configuration: 21.1)

OCSP validation has been added

Filtering on certificate fields for mTLS authentication has been added.

Client API changes (Client API 55.0)

WithPublicKeyPinning is now an option on the client configuration, whereas it was part of the mTLS configuration before.
This means that public key pinning is now also possible for API key and OIDC authentication.

When using mTLS you can now choose to OCSP staple the client certificate. If this is not used, just pass nil as the
ocspStapling value when configuring mTLS authentication.

Finally, all the builder steps in the configuration can no longer return an error. The error will instead be reported
when instantiating the client.

Changelog

Patch changes (no effect on compatibility):
- Update Docker packages
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20241016134751-7ff83004ec2c

Versions

Client API: 51.6  
Client Communication: 27.0  
Database: 7.8.0  
Node Communication: 31.1  
Node Configuration: 18.2  

Cold Staking

Extended cold wallet capabilities to include native staking functionality, allowing institutions to stake digital assets directly from cold storage. This enables participation in proof-of-stake networks while maintaining the highest level of security through offline key management.

Automated Cloud Deployment

Integrated automated deployment scripts for major cloud providers, enabling streamlined installation and configuration of the Institutional Wallet in secure cloud environments. These scripts support deployment across AWS and Azure infrastructures, including multi-account configurations with confidential computing capabilities.

Mobile Approver App Updates

Released redesigned mobile approver applications for both Android and iOS platforms, featuring an updated user interface that improves usability and provides a more intuitive approval workflow for transaction authorization.

Changelog

Client API:
- Node.js SDKv2: Added support for RSA, AES and HMAC
Patch changes (no effect on compatibility):
- Upgrade to Go 1.23.2 (https://go.dev/doc/devel/release#go1.23.minor)
- Update dependencies
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20241004191011-08a83c5af9f8

Versions

Client API: 54.1
Client Communication: 29.0
Database: 7.10.0
Node Communication: 32.0
Node Configuration: 21.0

Changelog

Patch changes (no effect on compatibility):
- Upgrade to Go 1.23.2 (https://go.dev/doc/devel/release#go1.23.minor)
- Update dependencies
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20241004191011-08a83c5af9f8

Versions

Client API: 51.6
Client Communication: 27.0
Database: 7.8.0
Node Communication: 31.1
Node Configuration: 18.2
<p><b>🚀 MATIC Upgraded to POL</b></p>
<p>As of September 4th, 2024, POL will replace MATIC as the gas and staking token on Polygon PoS (Proof of Stake) and Polygon zkEVM.</p>
<ul>
  <li><b>MATIC Stakers:</b> No action is required. All staked MATIC will be converted to POL.</li>
  <li><b>MATIC Holders on the Polygon PoS network:</b> No action is required. Your tokens will be automatically migrated 1:1 to POL.</li>
  <li><b>MATIC Holders on the Ethereum network or Polygon zkEVM:</b> You’ll need to migrate your tokens. For more details, please refer to the migration guide <a href="https://polygontechnology.notion.site/MATIC-POL-Migration-3367ffa954d743b88200cb25cd9f504c">here</a>.</li>
  <li><b>To stake POL:</b> You'll need to <a href="https://docs.blockdaemon.com/docs/stake-pol#step-41-conditional-step-for-new-pol-validators">sign the bootstrap transaction</a>. If you want to stake or unstake MATIC without migrating to POL, call the <a href="https://docs.blockdaemon.com/reference/postpolygonbootstrappingintent">Staking API</a> with MATIC as the token type.</li>
</ul>

<p><b>🛠 New Improvement</b></p>
<ul>
  <li><b>[ETH]</b> The ETH Dashboard now allows 1-day exports.</li>
  <ul>
    <li>Learn more in the <a href="https://docs.blockdaemon.com/docs/how-to-download-staking-reports-ethereum" target="_blank">tutorial here</a>.</li>
  </ul>
</ul>

Changelog

Node Configuration:
- All MPC protocol methods can be toggled on and off, and are DISABLED by default. You must explicitly enable the ones you need.
Patch changes (no effect on compatibility):
- Fixed error with DNS lookup when using iOS SDKs
- SDKv2 method for signing with a recovered schnorr private key

Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20240905004112-7c4916698cc9

Versions

Client API: 54.0
Client Communication: 29.0
Database: 7.10.0
Node Communication: 32.0
Node Configuration: 21.0 (!)

Upgrade Instructions

MPC Protocol Features (Node Configuration: 21.0)

MPC protocol features such as GenerateKey, Sign, PublicKey, etc. can now be enabled or disabled per MPC protocol, and by default all methods are DISABLED. This means that without changes to the configuration file, the node will not be able to use the given MPC protocol, and it will fail to start.

Each MPC protocol (here we use DKLS19 as an example) now have a configuration section called DKLS19.Features that can look like this:

[DKLS19.Features]  
  GenerateKey = true  
  GeneratePresignatures = true  
  Sign = true  
  SignWithPresignature = true  
  GenerateRecoveryData = false  
  PublicKey = true  
  ChainCode = true  
  Reshare = false  
  CopyKey = false  
  BackupKeyShare = false  
  RestoreKeyShare = false  
  ExportKeyShares = false  
  ImportKeyShares = false  
  BIP32GenerateSeed = false  
  BIP32DeriveFromSeed = false  
  BIP32DeriveFromKey = false  
  BIP32ConvertKey = false  
  BIP32ExportSeed = false  
  BIP32ImportSeed = false  
  BIP32Info = false

Each MPC protocol can have a different feature set. Check the example configuration for a complete list of features for each protocol. The feature names correspond to methods in the SDK. If a feature is not listed, it defaults to false.

Also, some configuration options have been removed from the MPC protocols, as they are now controlled through the protocol features instead. This includes options such as EnableResharing, EnableShareBackup, EnableExport,
EnableERSExport and EnableBIP32ExportSeed.

If all features for an MPC protocol are disabled, the MPC node will refuse to start. In this case you should just
disable the protocol completely in the configuration.

Do not just enable all features without considering the impact of doing so. Especially features that allow export of
key shares in some way should be used with caution. In the example above the potentially dangerous features are
GenerateRecoveryData, BackupKeyShare, ExportKeyShares and BIP32ExportSeed.

Changelog

Patch changes (no effect on compatibility):
- Fixed error with DNS lookup when using iOS SDKs
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20240905004112-7c4916698cc9

Versions

Client API: 51.6	
Client Communication: 27.0
Database: 7.8.0
Node Communication: 31.1
Node Configuration: 18.2

Changelog

Patch changes (no effect on compatibility):
- Change release to depend on libmpc version from go.mod
- Update dependencies

Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab

Versions

Database: 7.8.0
Client API: 51.6
Client Communication: 27.0
Node Communication: 31.1
Node Configuration: 18.2