diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6b450b4..95d1eb2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,16 +1,40 @@ -Changes in latest release +Changes in `3.0.0 `_ +=============================================================== -BREAKING CHANGE: Olm now uses WebAssembly which means it needs -to load the wasm file asynchronously, and therefore needs to be -started up asynchronously. The imported module now has an init() -method which returns a promise. The library cannot be used until -this promise resolves. It will reject if the library fails to start. +This release includes the following changes to 2.3.0: -olm_pk_generate_key() and olm_pk_generate_key_random_length() have -been removed: to generate a random key, use olm_pk_key_from_private() -with random bytes as the private key. +* Support for building using cmake. Thanks to Konstantinos Sideris. +* Add more functions for managing private keys in the public key decryption + functionality. These are meant for use with server-side encrypted key + backups. The new functions are ``olm_pk_private_key_length``, + ``olm_pk_key_from_private``, and ``olm_pk_get_private_key``. +* ``olm_pk_generate_key`` and ``olm_pk_generate_key_random_length`` are + deprecated: to generate a random key, use ``olm_pk_key_from_private`` + with random bytes as the private key. + +Python wrapper: + +* BREAKING CHANGE: This release introduces a new API for the Python wrapper, + thanks to Damir Jelić. The new API should be much easier to use for Python + developers. However, this means that existing code will need to be rewritten + to use the new API. + +JavaScript wrapper: + +* BREAKING CHANGE: Olm now uses WebAssembly which means it needs + to load the wasm file asynchronously, and therefore needs to be + started up asynchronously. The imported module now has an init() + method which returns a promise. The library cannot be used until + this promise resolves. It will reject if the library fails to start. +* Using ``olm/olm.js`` will use the WebAssembly version of the library. For + environments that do not support WebAssembly, use ``olm/olm_legacy.js``. + +Objective-C wrapper: + +* Add support for the public key encryption/decryption functionality. Changes in `2.3.0 `_ +=============================================================== This release includes the following changes since 2.2.2: diff --git a/CMakeLists.txt b/CMakeLists.txt index cd85427..ed32677 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.1) -project(olm VERSION 2.3.0 LANGUAGES CXX C) +project(olm VERSION 3.0.0 LANGUAGES CXX C) option(OLM_TESTS "Build tests" ON) option(BUILD_SHARED_LIBS "Build as a shared library" ON) diff --git a/android/olm-sdk/build.gradle b/android/olm-sdk/build.gradle index 29d174e..53925fa 100644 --- a/android/olm-sdk/build.gradle +++ b/android/olm-sdk/build.gradle @@ -9,9 +9,9 @@ android { defaultConfig { minSdkVersion 11 targetSdkVersion 21 - versionCode 230 - versionName "2.3.0" - version "2.3.0" + versionCode 300 + versionName "3.0.0" + version "3.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/common.mk b/common.mk index 1302188..5400ab4 100644 --- a/common.mk +++ b/common.mk @@ -1,4 +1,4 @@ -MAJOR := 2 -MINOR := 3 +MAJOR := 3 +MINOR := 0 PATCH := 0 diff --git a/javascript/package.json b/javascript/package.json index aa575e6..a1eae79 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -1,6 +1,6 @@ { "name": "olm", - "version": "2.3.0", + "version": "3.0.0", "description": "An implementation of the Double Ratchet cryptographic ratchet", "main": "olm.js", "files": [ diff --git a/python/olm/__version__.py b/python/olm/__version__.py index dccfdd0..f75231a 100644 --- a/python/olm/__version__.py +++ b/python/olm/__version__.py @@ -2,7 +2,7 @@ __title__ = "python-olm" __description__ = ("python CFFI bindings for the olm " "cryptographic ratchet library") __url__ = "https://github.com/poljar/python-olm" -__version__ = "0.1" +__version__ = "3.0.0" __author__ = "Damir Jelić" __author_email__ = "poljar@termina.org.uk" __license__ = "Apache 2.0"