Release Notes

Below are the cumulative release notes for all patch releases of version 2.4 of Keychain and associated wrappers.

General

Release Line 2.4

CHANGE

2 Keychain Core wrappers have been added:

  • libkeychain-obj-c (Wrapper)

  • libkeychain-swift (Wrapper)

CHANGE

Keychain Core releases now comprise of the following packages:

  • libkeychain-cpp (Core)

  • libkeychain-python (Wrapper)

  • libkeychain-java (Wrapper)

  • libkeychain-android (Wrapper)

  • libkeychain-csharp (Wrapper)

CHANGE

Package file names now use the following convention where <version> follows the Semver 2.0 specification (https://semver.org/):

…​. <filename> := <package name>[-<variant>]-<version>[-<meta>].<suffix>

<package name> := libkeychain-cpp | libkeychain-python | libkeychain-java | libkeychain-android | libkeychain-csharp

<variant> := dev | release

<meta> := linux|macos|ios|windows|iossimulator-x64|x86|armv7|armv8

<suffix> := tar.gz|aar …​.

ADD

CHANGE

Release notes will be published on the documentation site going forward and will not be included in the package release.

CHANGE

Generic (.tar.gz) packages on the JFrog depot will have the following path going forward: <repo-name>/<package-name>/<version>/<filename>.

C/C++

keychain-cpp 2.4.13

FIX

Add missing support for set_active_persona in C interface

keychain-cpp 2.4.12

ADD

Automated failover to secondary and back to primary PKI (blockchain) server.

To add the secondary server, add the following lines under the [Blockchain] section of the Keychain config file:

SecondaryHost = 13.112.146.146
SecondaryQueryPort = 9091
SecondaryHeartbeatPort = 9092
SecondaryBlockPort = 9093
SecondaryTransactionPort = 9094

keychain-cpp 2.4.11

ADD

Added verification_result class to support sign/verify in keychain-java.

keychain-cpp 2.4.10

ADD

Added ledger update_and_store method to sync keychain-java.

keychain-cpp 2.4.9

FIX

Fixed an issue where paired devices failed to sync keychain after the first keychain extension

ADD

Added test program, test script, and default config file to package. The separate test package is now deprecated as its contents are now part of this main package.

keychain-cpp 2.4.8

FIX

Fixed a bug where paired devices failed to sync keychain extensions after the first extension.

keychain-cpp 2.4.7

FIX

Fixed a bug where the char encoding of signed data was not being properly read in verification.

keychain-cpp 2.4.6

CHANGE

Removed libgmp as a dependency for any Keychain packages.

ADD

Added encrypt, decrypt, sign, and verify functions in C interface.

keychain-cpp 2.4.5

CHANGE

Package name is changed from libkeychain to libkeychain-cpp.

CHANGE

Monitor class has been removed and subsumed by the Gateway class. Gateway now has on_start, on_pause, on_resume, and on_stop methods that used to comprise the Monitor class.

FIX

Fixed an issue where the Monitor would sometimes stop receiving block notifications.

ADD

Each package is now released with a 'dev' variant which emits debug trace in logs to aid development.

ADD

Packages for the following targets are added to the package repository:

1. MacOS: x64, aarch64 (M1 Silicon), armv7

2. iOS: aarch64, armv7, simulator x64

Android

keychain-android 2.4.10

ADD

Added sign and verify methods for Gateway.

keychain-android 2.4.8

FIX

Fixed an issue where paired devices failed to sync keychain after the first keychain extension

CHANGE

Added database sql files and config file to asset folder /assets. This will allow applications using libkeychain-android to inherit the appropriate database and config files for each release or override them with their own versions (particularly the config file) by Android Studio’s resource merging feature. See https://developer.android.com/studio/write/add-resources for more detail.

keychain-android 2.4.7

CHANGE

Renamed library to libkeychain-android (formerly libkeychain_android) and removed the android prefix in the previous JFrog Artifactory package name. Now it should be referenced in your app’s gradle files as api 'io.keychain:libkeychain-android:<version>'. The package is now found at https://keychain.jfrog.io/artifactory/keychain-core-release-maven/io/keychain/libkeychain-android/

FIX

Add missing encrypt and decrypt methods to class Gateway. Requires libkeychain-cpp-2.4.7

CHANGE

Monitor class has been removed and subsumed by the Gateway class. Gateway now has on_start, on_pause, on_resume, and on_stop methods that used to comprise the Monitor class.

FIX

Fixed and issue where the Monitor class would sometimes stop receiving block notifications.

Java

keychain-java / keychain-jni 2.4.10

ADD

Added sign and verify Gateway methods. (requires keychain-cpp 2.4.11)

keychain-java / keychain-jni 2.4.8

FIX

Fixed an issuer with the install script where it attempted to copy the config script even if it does not exist.

keychain-java / keychain-jni 2.4.7

FIX

Add missing encrypt and decrypt methods to class Gateway. Requires libkeychain-cpp-2.4.7

CHANGE

Monitor class has been removed and subsumed by the Gateway class. Gateway now has on_start, on_pause, on_resume, and on_stop methods that used to comprise the Monitor class.

FIX

Fixed and issue where the Monitor class would sometimes stop receiving block notifications.

C#

keychain-charp 2.4.1

FIX

Fixed an issue where paired devices failed to sync keychain after the first keychain extension.

keychain-charp 2.4.0

CHANGE

Gateway class now extends the Monitor, exposing the Monitor methods in Gateway objects.

Python

keychain-python 2.4.9

FIX

Add missing Gateway method set_active_persona.

keychain-python 2.4.8

FIX

Fixed an issue where libgmp was still being loaded during initialization. libgmp is no longer a dependency.

keychain-python 2.4.7

FIX

Add missing encrypt, decrypt, sign, and verify methods to class Gateway. Requires libkeychain-cpp-2.4.7

FIX

Gateway init now loads libkeychain.so on Linux, libkeychain.dylib on Darwin, and libkeychain.dll on Windows

keychain-python 2.4.6

FIX

Transaction amount method should no longer return incorrect value

FIX

get_ledger_transactions_by_asset should now return the proper set of transactions

FIX

Return Asset object in Certificate#asset()

ADD

Create separate package for Linux (load libkeychain.so), Windows (load libkeychain.dll), and Macos (load libkeychain.dylib)

keychain-python 2.4.5

CHANGE

Monitor class has been removed and subsumed by the Gateway class. Gateway now has on_start, on_pause, on_resume, and on_stop methods that used to comprise the Monitor class.

FIX

Fixed an issue where the Monitor class would sometimes stop receiving block notifications.