- Ext: Fix relic version 0.4.0
- Lib/Pythia: Restore backward compatibility by using fixed relic version 0.4.1
- Apple: Remove support for Apple BITCODE
- Apple: Bump min supported macOS version to 10.13
- Ext: Upgrade Relic to the version 0.6.0
- This version is incompatible with 0.4
- Lib/Pythia: Adopt to incompatible Relic version
- Now
blind()
produce different value, so stored blinded values can not bedeblinded()
- Now
- Apple: Move support of CocoaPods and SPM from https://github.com/VirgilSecurity/virgil-cryptowrapper-x to this repo
- Lib: Fix type of key_id argument within vscr_ratchet_skipped_messages module
- Previously this leads to compilation error on some compilers, like emscripten
- Wrapper/JS: Update dependencies
- watchOS: Added arm64 architecture.
- Ext: Updated protoc to the version 3.20.3.
- Ext: Updated nanopb to the version 0.4.6.4.
- Ext: Updated google benchmark tool to the version 1.7.0.
- Cocoapods: Updated minimum required Apple deployment targets for Apple devices.
- iOS 9.0 -> 11.0
- tvOS 9.0 -> 11.0
- watchOS 2.0 -> 4.0
- Packages: Added specs for Carthage binary distribution
- macOS: Added Apple Silicon support.
- iOS: Replaced a Universal Framework with an XCFramework.
- Ext: Updated mbedTLS to the version 2.17.0.
- Ext: Updated nanopb to the version 0.4.5.
- Wrapper/JS: Fixed generation of NodeJS "es" files
- Wrapper/JS/Build: Fixed path to the emsdk toolchain file
- Lib/Foundation: Fixed abort() when import "compound" or "hybrid" key with unsupported algorithm(s)
- Wrappers: Updated Ratchet constant: VscrRatchetCommon.MAX_MESSAGE_LEN
- Lib/Ratchet: Removed Ratchet Groups
- Wrapper/Go: Removed wrapper for the Ratchet library
- Wrapper/Python: Removed wrapper for the Ratchet library
- Ext/Round5: Updated to the latest changes:
- improved domain separation (previously generated keys won't work!)
- Lib/Foundation: Changed Round5 parameter set: R5ND_5CCA_5d -> R5ND_1CCA_5d
- Lib/Ratchet: Changed Round5 parameter set: R5ND_5CCA_5d -> R5ND_1CCA_5d
- Lib/Ratchet: Added PQC to double ratchet
- Wrapper/Go: Fixed double de-allocation of C context in functions that return an interface
- Wrapper/JS: Added module options that allow runtime WASM configuration
- Wrapper/Python: Fixed code generation (python source code was not changed)
- Wrapper/PHP: Fixed dependent namespaces
- Wrapper/PHP: Added module level exceptions, e.g. FoundationException, instead of generic Exception
- Wrapper/Java: Fixed Android builds (debug mode was accidentally on)
- Wrapper/PHP: Added wrapper for PHP
- Wrapper/JS: Fixed asm.js entrypoint - used index.js instead of asmjs.js
- Wrappers: Fix a problem that leads to abort when use "list" classes
- Lib/PHE: Added one-party UOKMS
- Wrapper/Java: Added resources cleanup on finalize
- Lib/Foundation: Added Post-Quantum cryptography for KEM - round5 (experimental)
- Lib/Foundation: Added Post-Quantum cryptography for signatures - falcon (experimental)
- Lib/Foundation: Added Compound Keys Algorithm
- Lib/Foundation: Added Hybrid Keys Algorithm
- Lib/PHE: Added PHE KMS
- Wrapper/Go: Added wrapper for Go
- Lib/Foundation: Fixed strnstr - read memory out of range
- Lib/Foundation: Fixed HKDF OIDs
- Lib/Foundation: Fixed a shared key computation for ECC algorithms
- Wrapper/JS: Fixed cross-project dependencies for JS
- Wrapper/JS: Removed rollup-plugin-closure-compiler
- Lib/Foundation: Fixed crash when import private key from valid ASN.1 but not a private key
- Lib/Foundation: Operations "sign then encrypt" and "decrypt then verify" were added to "RecipientCipher" class
- Lib/Foundation: Method "hasKeyRecipient()" was added to class "RecipientCipher"
- Lib/Foundation: Method "preciseEncryptedLen()" was added to interface "Encrypt"
- Lib/Foundation: Interface "CipherAuth" now inherit interface "Cipher"
- Lib/Foundation/Wrappers: Listed methods where removed from class "MessageInfo":
- addKeyRecipient()
- addPasswordRecipient()
- setDataEncryptionAlgInfo()
- setCustomParams()
- clearRecipients()
- Lib/Foundation/Wrappers: Method "add()" was removed from class "KeyRecipientInfoList"
- Lib/Foundation/Wrappers: Method "add()" was removed from class "PasswordRecipientInfoList"
- Lib/Foundation: Added method "unlock" to the class MessageInfoEditor
- Lib/Foundation: Added support for managing recipients within MessageInfo
- Lib/PHE: Added PHE Cipher additional data support
- Wrapper/Java: Run java benchmark with a profile only
- Lib/Foundation: Fix crash when export secp256r1 private key with leading zero
- Wrapper/Swift: Fix memory leaks
- Wrapper/Java: Fix memory leaks
- Lib/Foundation/Ratchet: Fix group chat encryption
- Wrapper/Python: Fix Python 2.7 package name for macOS platform
- Wrapper/JS: Fix npm packages
- Lib/Foundation: Fix crash when import secp256r1 public key
- Wrapper/JS: Add wrapper for JavaScript (Beta)
- Wrapper/Python: Add wrapper for Python (Beta)
- Lib/Foundation: Fixed group session API
- Lib/Foundation: Added group session encryption based on symmetric key sharing
- Lib/Ratchet: Small improvements
- Lib/Foundation: Split asymmetric keys and their algorithms to different entities
- Lib/Foundation: Fix crashes in a multi-thread environment
- Lib/Foundation: Fix asn1 key deserializer - return status code when passing an invalid key instead of failing on assertion
- Lib/Foundation: Fix chunk encryption/decryption for AES256-GCM
- Lib/Foundation: Add elliptic curve secp256r1 (NIST P-256)
- Lib/Ratchet: Add group chats
- Wrapper/Java: Add Java wrapper
- Wrapper/PHP: Add version 7.3
- Lib/Foundation: Export ed25519 and curve25519 private key as is - 32 bytes
- Lib/Foundation: Rename class "pkcs8 der deserializer" -> "asn1 deserializer"
- Lib/Foundation: Rename class "pkcs8 der serializer" -> "pkcs8 serializer"
- Lib/Foundation: Rename class "pkcs8 deserializer" -> "asn1 deserializer"
- Lib/Foundation: Fix SIGSEGV at messageInfoCustomParams_findData method
- Lib/Foundation: Fix aes_256_gcm_auth_len() function
- All: Add constant-time memory, data and buffer comparisons
- Foundation: Add the ability to export keys to the PKCS#8 format with the class "Key Provider"
- Foundation: Add umbrella headers
- Ratchet: Add group chats
- Foundation: Remove the ability to specify the RSA public exponent for key generation
- Add algorithm AES-256-CBC
- Add algorithm PKCS#5 PBES2
- Add algorithm PKCS#5 PBKDF2
- Add algorithm ECIES
- Add elliptic curve: curve25519
- Add algorithm serialization / deserialization (DER format)
- Add high-level class "recipient cipher" for simple encryption / decryption
- Add high-level class "signer" for simple sign / verify
- Add CocoaPods and Carthage spec files
- Fix wrapper generation for Swift
- Fix ed25519 elliptic curve
- PHE: Added the class "PHE Cipher"
This is an initial unstable pre-release version of the library. The API can be changed without any backward compatibilities.