Release Notes
- reference
Release notes, installation instructions, and download archive for the Couchbase Python Client.
Couchbase Python SDK 4.x is built upon Couchbase++, and SDK 3.x is built upon LCB (libcouchbase), but both conform to the SDK API 3.x. The move to Couchbase++ facilitates the introduction of distributed ACID transactions.
Because the Python SDK is written primarily in C using the CPython API, the official SDK will not work on PyPy. |
Installation
You may install previous versions of the SDK using pip (after installing the required dependencies)
$ python3 -m pip install git+https://github.com/couchbase/couchbase-python-client@VERSION
where VERSION is the version you wish to install. For example, to install version 4.1.0:
$ python3 -m pip install git+https://github.com/couchbase/couchbase-python-client@4.1.0
For more detailed installation instructions, see the full installation guide.
Version 4.1.3 (9 March 2023)
Version 4.1.3
is the third patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.3
Fixes
-
PYCBC-1443: Fixed ssl import error.
-
PYCBC-1446: Updated API Documentation.
-
PYCBC-1455: Fixed build issue for Fedora 37 (gcc 12).
Enhancements
-
PYCBC-1431: Updated the SDK to handle new
query_context
changes. -
PYCBC-1444: Improved CertificateAuthenticator parameter validation.
-
PYCBC-1445: Updated the SDK to only populate
allowed_sasl_mechanisms
if user explicitly chooses.
Version 4.1.2 (9 February 2023)
Version 4.1.2
is the second patch release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.1.2
release provides improved performance for key-value operations.
$ python3 -m pip install couchbase==4.1.2
Fixes
-
PYCBC-1433: Fixed initialization of legacy durability options in C++ bindings.
-
PYCBC-1434: Added Python SDK and Python version to C++
user_agent
option. -
PYCBC-1441: Fixed inconsistencies when handling of
MutationState
in streaming APIs.
Enhancements
-
PYCBC-1371: Implemented
ChangePassword
feature in user management API. -
PYCBC-1436: Updated pre-commit iSort Revision.
-
PYCBC-1440: Updated logging to get latest from C++ client.
-
PYCBC-1438: Updated Test Suite/Framework.
Version 4.1.1 (14 December 2022)
Version 4.1.1
is the first patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.1
Fixes
-
PYCBC-1428: Fixed view query
ViewOrdering
to allow user specified ordering to be applied. -
PYCBC-1429: Fixed defaults for boolean options in N1QL query
QueryOptions
.
Version 4.1.0 (3 November 2022)
Version 4.1.0
is the first minor release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.0
Fixes
-
PYCBC-1420: Fixed potential
InternalSDKException
for replica read operations.
Enhancements
-
PYCBC-1402: Added support for using PYCBC_LOG_LEVEL to create console logger.
-
PYCBC-1417: Updated authentication error message for Bucket Hibernation.
-
PYCBC-1422: Updated Couchbase++ version to incorporate latest changes.
-
PYCBC-1167: Added support for Serverless Execution Environments.
-
PYCBC-1423: Added durability improvements.
Version 4.0.5 (7 October 2022)
Version 4.0.5
is the fifth patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.0.5
Fixes
-
PYCBC-1312; PYCBC-1407: Fixed crash related to closing a cluster connection.
-
PYCBC-1409: Updated to version of Couchbase++ client that correctly closes HTTP connections.
-
PYCBC-1413: Fixed possible streaming API exceptions when executing in threaded environment.
-
PYCBC-1415: Updated async APIs to use correct future chaining method for read KV operations.
-
PYCBC-1416: Fixed
txcouchbase
search API.
Enhancements
-
PYCBC-1405: Updated legacy durability to use the internal Couchbase++ client API.
-
PYCBC-1406: Updated replica reads to use the internal Couchbase++ client API.
-
PYCBC-1411: Added support for LDAP authentication.
Version 4.0.4 (8 September 2022)
Version 4.0.4
is the fourth patch release of the fourth generation Python SDK, bringing a number of improvements.
Most notably the 4.0.4
release added legacy durability to mutation operations, tracing, and metrics.
$ python3 -m pip install couchbase==4.0.4
Fixes
-
PYCBC-1398: Fixed potential crash when accessing
error_context
from abase_exception
object.
Enhancements
-
PYCBC-1261: Added Tracing API, including the ability to use an external tracer such as OpenTelemetry.
-
PYCBC-1276: Added legacy durability to mutation operations. This allows the use of client durability within operations that allow for a durability option.
-
PYCBC-1399: Added Metrics API — users can now provide a custom meter for logging metrics.
-
PYCBC-1391: Removed
_raw_metrics
property from streaming API Metrics result objects. -
PYCBC-1392: Updated
collection.exists()
logic to align with a recent change in the underlying Couchbase++ client. Users will no longer see an error if a document doesn’t exist, instead theresp.exists()
method will be needed to determine whether a document is there or not. -
PYCBC-1395: Updated build deferred index logic to align with recent change in Couchbase++ client.
Version 4.0.3 (2 August 2022)
Version 4.0.3
is the third patch release of the fourth generation Python SDK, bringing a number of improvements.
Most notably the 4.0.3
release added key-value replica read operations and improved memory performance.
$ python3 -m pip install couchbase==4.0.3
Fixes
-
PYCBC-1201; PYCBC-1282; PYCBC-1382 Fixed memory leak in key-value Result objects.
-
PYCBC-1383: Fixed memory leak in key-value Exception objects.
-
PYCBC-1386: Fixed OpenSSL discovery for MacOS M1 platforms.
-
PYCBC-1389: Removed typing-extensions dependency.
-
PYCBC-1390: Fixed Search query results to forward metrics for user access.
Enhancements
-
PYCBC-1257: Added replica reads.
-
PYCBC-1385: Updated Couchbase++ version.
-
PYCBC-1137: Deprecated the
CounterResult
CAS property.
Known Issues
-
PYCBC-1261: Distributed tracing is not yet supported.
-
PYCBC-1276: Legacy durability operations are not yet supported.
-
PYCBC-1290: Transactions for
txcouchbase
are not yet supported. -
PYCBC-1321: API docs for
txcouchbase
API are not yet available.
Version 4.0.2 (29 June 2022)
Version 4.0.2
is the second patch release of the fourth generation Python SDK, bringing a number of improvements.
Most notably the 4.0.2
release provides manylinux wheels which significantly improves the installation process on Linux platforms.
$ python3 -m pip install couchbase==4.0.2
Fixes
-
PYCBC-1370: Added environment variables to direct CMake to use specified Python3 version.
-
PYCBC-1374: Added option to dynamically link stdc++ libs.
Enhancements
-
PYCBC-628; PYCBC-1330; PYCBC-1367: Added manylinux wheels.
-
PYCBC-1232; PYCBC-1368: Created custom spdlog sink for pass-through logging to python logging.
-
PYCBC-1373: Provided example Linux build system Dockerfiles.
-
PYCBC-1332: Added formatting and linting to CI pipeline.
Known Issues
-
PYCBC-1257: Replica reads are not yet supported.
-
PYCBC-1261: Distributed tracing is not yet supported.
-
PYCBC-1276: Legacy durability operations are not yet supported.
-
PYCBC-1290: Transactions for txcouchbase are not yet supported.
-
PYCBC-1321: API docs for txcouchbase API are not yet available.
Version 4.0.1 (9 June 2022)
Version 4.0.1 is the first patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.0.1
Fixes
-
PYCBC-1324: Fixed N1QL Query options
scan_wait/scan_cap
misspelling. -
PYCBC-1335: Fixed issue where positional and named parameters were not used in
TransactionQueryOptions
. -
PYCBC-1336: Fixed crash when using
ViewOptions
keys parameter. -
PYCBC-1342: Fixed the txcouchbase API Bucket Management API.
-
PYCBC-1343: Fixed the txcouchbase Collection Management API.
Enhancements
-
PYCBC-1328 Implemented txcouchbase test suite.
-
PYCBC-1320: Added acouchbase core API Docs.
-
PYCBC-1329: Cleaned up the acouchbase API test suite.
-
PYCBC-1331: Updated streaming API options tests to validate all parameters.
-
PYCBC-1333: Updated README, API docs for 4.0.1 release.
-
PYCBC-1334: Cleaned up couchbase API test suite.
-
PYCBC-1358: Updated Windows wheel to dynamically link against OpenSSL.
Known Issues
-
PYCBC-1232: Core IO logging is not forwarded through to Python.
-
PYCBC-1257: Replica reads are not yet supported.
-
PYCBC-1261: Distributed tracing is not yet supported.
-
PYCBC-1276: Legacy durability operations are not yet supported.
-
PYCBC-1290: Transactions for txcouchbase are not yet supported.
-
PYCBC-1321: API docs for txcouchbase API are not yet available.
Version 4.0.0 (6 May 2022)
Version 4.0.0 is the first major release of the next generation Python SDK, built on the Couchbase++ library — featuring multi-document distributed ACID transactions, and bringing a number of improvements to the SDK.
$ python3 -m pip install couchbase==4.0.0
New Features
-
Support for distributed transactions has now been implemented.
-
Reimplemented the library using couchbase++.
-
Improved alignment between couchbase, acouchbase and txcouchbase APIs.
-
Support for Python versions 3.7 - 3.10.
-
Improved API documentation.
Fixes
-
PYCBC-849: Implemented wait until ready.
-
PYCBC-1146: Aligned multi key-value methods with couchbase API.
-
PYCBC-1280: Fixed implementation of the
CertificateAuthenticator
. -
PYCBC-1296: Updated
SearchRow
to not print locations when not included.
Known Issues
-
PYCBC-1232: Core IO logging is not forwarded through to Python.
-
PYCBC-1257: Replica reads are not yet supported.
-
PYCBC-1261: Distributed tracing is not yet supported.
-
PYCBC-1276: Legacy durability operations are not yet supported.
-
PYCBC-1290: Transactions for txcouchbase are not yet supported.
-
PYCBC-1319: Management APIs for txcouchbase are not yet supported.
-
PYCBC-1320: API docs for acouchbase API are not yet available.
-
PYCBC-1321: API docs for txcouchbase API are not yet available.
-
PYCBC-1322: Scoped transactional queries currently throw a
TransactionFailed
error.
Older Releases
For documentation on older releases please refer to the 3.x release notes page.