From ff24af601a18e2dbc1a0bc7aed87936c83d79cd2 Mon Sep 17 00:00:00 2001
From: Hubert Chathi <hubert@uhoreg.ca>
Date: Tue, 23 Oct 2018 12:58:10 -0400
Subject: prepare release 3.0.0

---
 CHANGELOG.rst                | 42 +++++++++++++++++++++++++++++++++---------
 CMakeLists.txt               |  2 +-
 android/olm-sdk/build.gradle |  6 +++---
 common.mk                    |  4 ++--
 javascript/package.json      |  2 +-
 python/olm/__version__.py    |  2 +-
 6 files changed, 41 insertions(+), 17 deletions(-)

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 <http://matrix.org/git/olm/commit/?h=2.3.0>`_
+===============================================================
+
+This release includes the following changes to 2.3.0:
+
+* 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: 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.
+* 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.
 
-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.
+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 <http://matrix.org/git/olm/commit/?h=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"
-- 
cgit v1.2.3-70-g09d2