diff --git a/CHANGELOG.md b/CHANGELOG.md index 12dc9c6d..ad8892e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased ### Added -- SSL support (PR #220, #217). -- Tarantool Enterprise testing workflow on GitHub actions (PR #220). ### Changed ### Fixed +## 0.9.0 - 2022-06-20 + +### Added +- SSL support (PR #220, #217). +- Tarantool Enterprise testing workflow on GitHub actions (PR #220). + ## 0.8.0 - 2022-04-29 ### Added diff --git a/debian/changelog b/debian/changelog index eba444b1..3ef5c938 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,107 @@ +tarantool-python (0.9.0-0) unstable; urgency=medium + ## Overview + + This release features SSL support. + + To use encrypted connection with Tarantool Enterprise Edition + instance, pass "ssl" `transport` parameter on connect: + + ```python + con = tarantool.Connection( + host, port, + user=user, + password=pass, + transport="ssl") + ``` + + If server uses trusted certificate authorities (CA) file, you must + set private SSL key file with `ssl_key_file` parameter and SSL + certificate file with `ssl_cert_file` parameter. If server not + uses CA file, these parameters are optional. + + ```python + con = tarantool.Connection( + host, port, + user=user, + password=password, + transport="ssl", + ssl_key_file=client_key_file, + ssl_cert_file=client_cert_file) + ``` + + To verify the server, set client trusted certificate + authorities (CA) file with `ssl_ca_file` parameter: + + ```python + con = tarantool.Connection( + host, port, + user=user, + password=password, + transport="ssl", + ssl_ca_file=client_ca_file) + ``` + + To set SSL ciphers, set them with `ssl_ciphers` parameter as + a colon-separated (:) string: + + ```python + con = tarantool.Connection( + host, port, + user=user, + password=password, + transport="ssl", + ssl_ciphers=client_ssl_ciphers) + ``` + + ConnectionPool and MeshConnection also support these parameters. + + ```python + mesh = tarantool.MeshConnection( + addrs={ + "host": host, + "post": port, + "transport": "ssl", + "ssl_key_file": client_key_file, + "ssl_cert_file": client_cert_file, + "ssl_ca_file": client_ca_file, + "ssl_ciphers": client_ssl_ciphers, + }, + user=user, + password=password) + ``` + + ```python + pool = tarantool.ConnectionPool( + addrs={ + "host": host, + "post": port, + "transport": "ssl", + "ssl_key_file": client_key_file, + "ssl_cert_file": client_cert_file, + "ssl_ca_file": client_ca_file, + "ssl_ciphers": client_ssl_ciphers, + }, + user=user, + password=password) + ``` + + See [Tarantool Enterprise Edition manual](https://www.tarantool.io/en/enterprise_doc/security/#enterprise-iproto-encryption) + for details. + + ## Breaking changes + + There are no breaking changes in the release. + + ## New features + + * SSL support (PR #220, #217). + + ## Testing + + * Tarantool Enterprise testing workflow on GitHub actions (PR #220). + + -- Georgy Moiseev Mon, 20 Jun 2022 18:00:00 +0300 + tarantool-python (0.8.0-0) unstable; urgency=medium ## Overview diff --git a/rpm/tarantool-python.spec b/rpm/tarantool-python.spec index 7a3f9c50..2b9e6431 100644 --- a/rpm/tarantool-python.spec +++ b/rpm/tarantool-python.spec @@ -1,6 +1,6 @@ Summary: Python client library for Tarantool Database Name: tarantool-python -Version: 0.8.0 +Version: 0.9.0 Release: 1%{?dist} Source0: tarantool-python-%{version}.tar.gz License: BSD diff --git a/tarantool/__init__.py b/tarantool/__init__.py index f191fb7e..4a9e7345 100644 --- a/tarantool/__init__.py +++ b/tarantool/__init__.py @@ -32,7 +32,7 @@ ENCODING_DEFAULT, ) -__version__ = "0.8.0" +__version__ = "0.9.0" def connect(host="localhost", port=33013, user=None, password=None,