SDK Release Notes
- reference
Release notes, installation instructions, and download archive for the Couchbase Python Client.
Couchbase Python SDK 4.x is built upon the Couchbase C++ SDK, and SDK 3.x is built upon LCB (libcouchbase), but both conform to the SDK API 3.x. The move to the Couchbase C++ SDK 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.2.1:
$ python3 -m pip install git+https://github.com/couchbase/couchbase-python-client@4.2.1
For more detailed installation instructions, see the full installation guide.
Python SDK 4.3 Releases
We always recommend using the latest version of the SDK — it contains all of the latest security patches and support for new and upcoming features. All patch releases for each dot minor release should be API compatible, and safe to upgrade; any changes to expected behavior are noted in the release notes that follow.
Version 4.3.4 (25 November 2024)
Version 4.3.4 is the next patch release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.3.4 release adds support for Python 3.13 — see Python Version Compatibility for details of supported Python versions.
$ python3 -m pip install couchbase==4.3.4
Behavioral Change
The Couchbase Python SDK no longer provides Python 3.8 wheels as Python 3.8 has reached end-of-life. See Python Version Compatibility for details on supported Python versions.
Enhancements
-
PYCBC-1595: Added support for Binary Objects in Transactions.
-
PYCBC-1613: Added Python 3.13 Support.
-
PYCBC-1635: Removed support for publishing Python 3.8 wheels.
-
PYCBC-1639: Updated user agent extra passed to C++ core.
-
PYCBC-1640: Added acouchbase utility tests.
Fixes
-
PYCBC-1631: Fixed transaction hangs when logging is set to
DEBUG
. -
PYCBC-1636: Fixed acouchbase API to properly handle
BaseException
.
Underlying C++ SDK Core Changes
Fixes
-
CXXCBC-611, CXXCBC-612: The C++ SDK now follows RFC naming for metric operation names (#695).
-
CXXCBC-615: The C++ SDK now exposes
insert_raw
andreplace_raw
in the core transactions attempt context (#686). -
CXXCBC-620: Updated core
analytics_link_get_all
to follow the RFC (#687). -
CXXCBC-624: Fixed user agent ID generation (#692).
-
CXXCBC-632: A crash on testing against Analytics nodes under rebalance was caused by the assumption that Analytics would always send meta fields in its response. This has now been fixed, and the behoavior should not recur (#699).
Version 4.3.3 (22 October 2024)
Version 4.3.3 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.3.3
Behavioral Change
The Couchbase Python SDK will stop providing Python 3.8 wheels with the next release (4.3.4) as Python 3.8 has reached end-of-life. See Python Version Compatibility for details on supported Python versions.
Enhancements
-
PYCBC-1456: Ensure SDK encodes URIs.
-
PYCBC-1619: Added ability to use C++ core file logger.
-
PYCBC-1625: Updated multi methods to
COMMITTED
.
Fixes
-
PYCBC-1569: Added mechanism to do binary increment/decrement without initial value.
-
PYCBC-1628: Fixed typo in
InvalidArgumentException
message when invalid authenticationkwargs
are provided. -
PYCBC-1629: Fixed subdocument
array_addunique
to follow the RFC.
Underlying C++ SDK Core Changes
Enhancements
-
CXXCBC-552: Cleaned up network selection options (#677, #682). Added cluster labels and system tag to spans. Added cluster labels, keyspace, and outcome to metrics.
Fixes
-
CXXCBC-311: Ensure SDK encodes URIs (#674).
-
CXXCBC-599: Updated allowed connection string options (#668).
-
CXXCBC-606: Fixed detection of dysfunctional node (#673).
-
CXXCBC-614: Fixed memory leak in
observe_poll
(#679).
Version 4.3.2 (24 September 2024)
Version 4.3.2 is the next patch release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.3.2 release adds support for Python 3.12 — see Python Version Compatibility for details of supported Python versions.
$ python3 -m pip install couchbase==4.3.2
Behavioral Change
The Couchbase Python SDK will soon stop providing Python 3.8 wheels as Python 3.8 reaches end-of-life in October 2024. See Python Version Compatibility for details of supported Python versions.
Enhancements
-
PYCBC-1563: Added Python 3.12 Support.
Version 4.3.1 (26 August 2024)
Version 4.3.1 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.3.1
Fixes
-
PYCBC-1612: Fixed multi-mutation operations to honor durability when passed in options.
Underlying C++ SDK Core Changes
Enhancements
-
Improve logging of DNS client (#634).
-
CXXCBC-568: Cancel deferred operations when closing HTTP session manager (#643).
Fixes
-
CXXCBC-531: Fixed memory leak in range scan implementation (#645, #610).
-
CXXCBC-572: Always initialize service_type (#610).
-
CXXCBC-569: Resolved cycle in shared pointers for
transaction_context
(#641). -
CXXCBC-550: Fixed use-after-move issue in command handler (#628).
-
Fixed behaviour when reading is complete before returning HTTP streaming resp (#624).
Version 4.3.0 (27 June 2024)
Version 4.3.0 is next minor release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.3.0 release adds support for base64 encoded vector types when using the SDK with Couchbase Server 7.6.2.
$ python3 -m pip install couchbase==4.3.0
Fixes
-
PYCBC-1596: Fixed
AnalyticsStatus
Enum values. -
PYCBC-1603: Fixed
VectorQuery
validation to prevent emptyfield_name
.
Enhancements
-
PYCBC-1597: Added Support for base64 encoded vector types.
-
PYCBC-1588: Added support for importing FTS index from JSON.
Underlying C++ SDK Core Changes
Enhancements
-
CXXCBC-381: Updated
transactions_context
andattempt_context
to usestd::shared_ptr
(#590).
Fixes
-
CXXCBC-445: Updated HTTP session logic to return
request_canceled
on IO error (#568). -
CXXCBC-511: Updated HTTP session logic to prevent use of session if idle timer has expired (#565).
-
CXXCBC-517: Added HTTP session retries when client fails to resolve hostnames (#589).
-
CXXCBC-518: Fixed preferred node logic to handle alternate addresses (#574).
-
CXXCBC-523: Cleaned up config log output when
dump_configuration
is enabled (#577). -
Fixed config poll to skip config fetch if bucket does not have any sessions (#573).
-
Cleaned up
attempt_context_impl
implementation (#586).
Python SDK 4.2 Releases
Version 4.2.1 (18 April 2024)
Version 4.2.1 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.2.1
Fixes
-
PYCBC-1575: Added missing logic to handle alternate addresses when bootstrapping.
-
PYCBC-1532, PYCBC-1566, PYCBC-1589: Fixed floating point exception if recieved config with empty vBucket map.
-
PYCBC-1590: Fixed Python logger shutdown process.
Enhancements
-
PYCBC-1584: Added support for scoped eventing functions.
Underlying C++ SDK Core Changes
Enhancements
-
CXXCBC-470: Distinguish between 'unset' and 'off' query_profile (#551).
-
CXXCBC-489: Added support for scoped eventing functions (#548, (#554)).
Fixes
-
CXXCBC-30: Fixed inconsistent behavior when using subdoc opcodes (#559).
-
CXXCBC-487: Added logic during bootstrap to check if alternate addressing is being used (#545).
-
CXXCBC-492: Updated collection_component get_collection_id to use retry strategy (#552).
-
CXXCBC-494: Fixed memory issue in range scan implementation (#549).
-
CXXCBC-503: Added logic to ignore configuration if it contains an empty vBucket map (#556, #558).
Version 4.2.0 (14 March 2024)
Version 4.2.0 is second minor release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.2.0 release adds support for Vector Search, KV Range Scans, and faster failover when using the SDK with Couchbase Server 7.6.0.
$ python3 -m pip install couchbase==4.2.0
Known Issues
-
CXXCBC-447: This version of the SDK will not be able to connect to a cluster utilizing alternate addressing. The recommendation is to wait to upgrade to a version of the Python SDK that contains C++ SDK 1.0.0-dp.15 (or later).
Behavioral Change
It’s important to use Cluster.searchQuery()
/ Cluster.search()
for global indexes, and Scope.search()
for scoped indexes.
Method Scope.search_query()
is now deprecated and will be removed in a future release.
Method Scope.search_query()
will not work with scoped indexes.
Enhancements
-
PYCBC-1548: Added support for Vector Search.
-
PYCBC-1565: Updated C++ core for transactions metadata bucket improvements.
-
PYCBC-1572: Updated search API for SDK API 3.5 support. Included deprecation of
scope.search_query()
.
Underlying C++ SDK Core Changes
-
CXXCBC-336: Updated DNS config to not fallback to 8.8.8.8 if SDK cannot obtain system DNS server (#533).
-
CXXCBC-461: Updated ping operation to not send to nodes that have not completed bootstrap (#540).
-
CXXCBC-462: Fixed hanging when specifying a custom metadata collection via the public API & expose errors (#532).
-
CXXCBC-479: Fixed capabilities check for replica
LookupIn
operations (#537). -
CXXCBC-480: Fixed capabilities check for replica LookupIn operations (#539).
-
CXXCBC-481: Fixed potential crash when parsing search result hits (#541).
-
CXXCBC-482: Update range scan orchestrator to use best effort retry strategy by default (#542).
Python SDK 4.1 Releases
Version 4.1.12 (1 March 2024)
Version 4.1.12 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.12
Known Issues
-
CXXCBC-447: This version of the SDK will not be able to connect to a cluster utilizing alternate addressing. The recommendation is to wait to upgrade to a version of the Python SDK that contains C++ SDK 1.0.0-dp.15 (or later).
Fixes
-
PYCBC-1555: Fixed bootstrap
select_bucket
logic to handle non-KV node.
Enhancements
-
PYCBC-1375: Updated Query Index Management Create Index Key Encoding.
-
PYCBC-1550: Added support for Scoped Search Indexes.
-
PYCBC-1523: Updated configuration logic when 0xd response is received.
-
PYCBC-1525: Added support for
LookupIn
andMutateIn
macros. -
PYCBC-1560: Updated
ViewQueryOptions
to includefull_set
andraw
options.
Underlying C++ SDK Core Changes
-
CXXCBC-284: Updated config polling to not use session that is not bootstrapped (#528).
-
CXXCBC-345: Added range scan improvements and resolved concurrency issues (#525).
-
CXXCBC-421: Updated query operation to return
feature_not_available
if query preserve expiry is specified but is not supported on the server(#510). -
CXXCBC-431: Added check for history retention bucket capability in collection create/update (#502, #505).
-
CXXCBC-447: Updated bootstrap logic to use addresses from the config to bootstrap bucket (#516).
-
CXXCBC-450: Updated bootstrap logic to reset bootstrap handler before re-bootstrap (#524).
-
We do not want any actions from old bootstrap handler once the session decided to re-bootstrap. For example, bucket could not be selected, but we might still get configuration responses before socket reset.
-
-
CXXCBC-452: Updated capabilities and fail fast when selected feature is not available. (#522, #513).
-
CXXCBC-456: Updated configuration logic when 0x0d (
EConfigOnly
) status code is received to have the SDK request new configuration and send current operation to retry orchestrator (#523).
Version 4.1.11 (1 February 2024)
Version 4.1.11 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.11
Enhancements
-
PYCBC-1549: Added support for
maxTTL
value of -1 for collection "no expiry".
Underlying C++ SDK Core Changes
-
CXXCBC-284: Reduced network traffic when polling for cluster configuration (#504).
-
CXXCBC-421: Updated query response to return
feature_not_available
when query preserve expiry is not supported (#510). -
CXXCBC-422: Added insufficient credentials error code to common query error code conversion (#511).
-
CXXCBC-431: Added check for history retention bucket capability for collection create/update (#502, #505).
-
CXXCBC-446: Improved log formatting (#506, #508, #509).
Version 4.1.10 (3 January 2024)
Version 4.1.10 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.10
Enhancements
-
PYCBC-1499: Added improvements for Faster Failover and Config Push.
-
PYCBC-1545: Added support for new KV error code to raise
DocumentNotLockedException
.
Underlying C++ SDK Core Changes
-
CXXCBC-100: Added support for using a timeout with
ping
operation (#486). -
CXXCBC-368: Added support for subscribing to clustermap notifications to speedup failover (#490).
-
CXXCBC-391: Fixed transactions API inconsistencies (#482).
-
CXXCBC-403: Updated
not_my_vbucket
KV response to allow retries (#480). -
CXXCBC-404: Fixed
unlock
operations to exposeKV_LOCKED
status ascas_mismatch
(#479). -
CXXCBC-409: Added handling for
index does not exist
query error (#492). -
CXXCBC-419: Updated MCBP protocol parser to start with clean state (#496).
Version 4.1.9 (14 November 2023)
Version 4.1.9 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
Most notably the 4.1.9 release removes the OpenSSL
dependency for published wheels and added musllinux wheels for supported alpine environments.
$ python3 -m pip install couchbase==4.1.9
Behavioral Change
The Couchbase Python SDK now publishes wheels that statically link against BoringSSL
.
The change removes the OpenSSL
requirement from the SDK when using a published wheel.
If building the SDK from source, the build will default to dynamically linking with the system provided OpenSSL
.
Build options are available if wanting to build from source and statically link against BoringSSL
.
Also, published wheels dynamically link against stdlibs
where previously the default was to statically link against stdlibs
.
Build options are available if wanting to build from source and statically link against stdlibs
.
Fixes
-
PYCBC-1538: Fixed
get
with projections to not fail withInvalidArgumentException
when projecting on more than 16 fields. -
PYCBC-1534: Fixed
MutateIn
replace operation to not fail if path is empty. -
PYCBC-1531: Fixed
CollectionQueryIndexManager
to raiseInvalidArgumentException
whenscope_name
orcollection_name
options are set. -
PYCBC-1521: Fixed streaming APIs to use cluster timeout values from
ClusterTimeoutOptions
if provided.
Enhancements
-
PYCBC-1536: Updated MANIFEST.in to only include necessary files for source install.
-
PYCBC-1520, PYCBC-1518: Updated published wheels to statically link against BoringSSL.
-
PYCBC-1515: Added support for bucket settings for 'no dedup' feature.
-
PYCBC-1512: Reduced default HTTP Idle Timeout.
-
PYCBC-1495: Updated wheels and build to dynamically link against stdlibs by default.
Underlying C++ SDK Core Changes
-
CXXCBC-387: Optimising tags for
noop_tracer
and cache formattedmbcp_session
endpoints (#461, #462, #464). -
CXXCBC-383: Map
subdoc_doc_too_deep
KV status topath_too_deep
error code (#455). -
CXXCBC-377: Implement
ExtParallelUnstaging
in transactions (#457). -
CXXCBC-386: Allow option to statically link against BoringSSL (#458, #465, #471, #474, #478).
-
CXXCBC-376: Revisit what 'create' and 'update' bucket operations send to the server. Make optional bucket settings fields optional, and do not send anything unless the settings explicitly specified (#451).
-
CXXCBC-374: Return 'bucket_exists' error when the bucket already exists during 'create' operation (#449).
-
CXXCBC-359: Reduced the default timeout for idle HTTP connections to 1 second. The previous default (4.5 seconds) was too close to the 5-second server-side timeout, and could lead to spurious request failures (#448).
-
CXXCBC-367; CXXCBC-370: Added history retention settings to buckets/collection management (#446).
-
CXXCBC-119: Return booleans for subdocument 'exists' operation instead of error code (#444, #452).
-
Add more information to diagnose timeouts on NMVB responses (#475).
Version 4.1.8 (25 August 2023)
Version 4.1.8 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.8
Behavioral Change
The Couchbase Python SDK no longer provides Python 3.7 wheels as Python 3.7 has reached end-of-life. See Python Version Compatibility for details.
Fixes
-
PYCBC-1514: Fixed parsing of
LookupIn
options if provided for lookup-in operations.
Enhancements
-
PYCBC-1497: Added support for Sub-Document Read from Replica.
Underlying C++ SDK Core Changes
-
CXXCBC-362: Removed node hostname port stripping logic from config parsing (#438).
-
CXXCBC-340: Added support for Query Read from Replica (#435).
-
CXXCBC-341, CXXCBC-365: Added support for Sub-Document Read from Replica (#436, #441, #443).
Version 4.1.7 (8 August 2023)
Version 4.1.7 is the next patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.7
Behavioral Change
Since Python 3.7 has reached end-of-life, the Couchbase Python SDK will no longer provide Python 3.7 wheels in future releases (>4.1.7). See Python Version Compatibility for details.
Fixes
-
PYCBC-1502: Added
PasswordAuthenticator
validation.
Enhancements
-
PYCBC-1496: Added support for Query with Read from Replica.
-
PYCBC-1419: Added support for Native KV Range Scans.
-
PYCBC-1504; PYCBC-1505: Updated API documentation to provide correct information on
LockMode
. -
PYCBC-1510: Updated CONTRIBUTING.md to improve contributing guidelines.
-
PYCBC-1095: Added Subdoc mutate-in deletions with a blank path.
Underlying C++ SDK Core Changes
-
CXXCBC-349: Allow to pass trust certificate by value (#430).
-
The change affects TLS v1.0 and v1.1 which are now disabled by default.
-
-
CXXCBC-343: Continue bootsrap if DNS-SRV resolution fails (#422).
-
CXXCBC-340: Support Query with Read from Replica (#429).
-
CXXCBC-339: Disabled older TLS protocols (#418).
-
CXXCBC-333: Fixed parsing 'resolv.conf' on Linux. (#416).
-
The library might not ignore trailing characters when reading nameserver address from the file.
-
-
CXXCBC-242: SDK Support for Native KV Range Scans (#419, #423, #424, #426, #428, #431, #432, #433, #434).
Version 4.1.6 (13 July 2023)
Version 4.1.6 is the sixth patch release of the fourth generation Python SDK, bringing a number of improvements. Most notably the 4.1.6 release adds support for Python 3.11 and significantly reduces the size of published manylinux wheels.
$ python3 -m pip install couchbase==4.1.6
Fixes
-
PYCBC-1500: Added
max_expiry
toCollectionSpec
for collections returned inget_all_scopes()
result.
Enhancements
-
PYCBC-1473: Added Support for Python 3.11.
-
PYCBC-1459: Reduced size of manylinux wheels.
-
PYCBC-1494: Updated API docs to include binary
multiOptions
. -
PYCBC-1498: Updated connection tests to only use valid mixed environment format.
Version 4.1.5 (8 June 2023)
Version 4.1.5
is the fifth patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.5
Behavioral Change
Accessing content from an Exist operation with the LookupInResult’s `content_as
method now returns a boolean.
This boolean is True
if the path exists, False
otherwise.
Prior to this change the SDK raised a DocumentNotFoundException
if the path existed or PathNotFoundException
if the path didn’t exist.
The behavioral change aligns the Python SDK with Couchbase’s CRUD RFC.
Fixes
-
PYCBC-1480: Fixed subdocument read operations to allow for null values.
-
PYCBC-1486: Fixed broken imports for search
GeoBoundingBoxQuery
,GeoDistanceQuery
, andGeoPolygonQuery
. -
PYCBC-1487: Updated Transcoders to be able to decode value when
flags=0
. -
PYCBC-1490: Fixed
InternalServerFailureException
when executing aRegex
Search query. -
PYCBC-1493: Updated search operations to correctly pass MutationState to C++ core.
Enhancements
-
PYCBC-1488: Added
dump_configuration
toClusterOptions
. -
PYCBC-1479: Bundled Mozilla certificates with the library. Source: https://curl.se/docs/caextract.html. Use the
disable_mozilla_ca_certificates
connection string option to disable the bundled certificates. See Secure Connections for more details.
Underlying C++ SDK Core Changes
-
CXXCBC-328: Fix socket reconnection during rebalance process (#406).
-
Several improvements have been implemented to make the library resilient to rapid topology changes when both DNS-SRV bootstrap is being used along with alternative addresses. The changes include:
-
Taking into account alternative hostname and ports during detection of added/removed nodes on configuration update.
-
Replacing node index tracking with hostname/port matching when restarting the connections — this way the library ensures that no duplicate connections will be left, or live connections replaced by restarted session.
-
Improved logging of critical events during rebalance: restarting, preservation, and removing connections.
-
-
Version 4.1.4 (9 May 2023)
Version 4.1.4
is the fourth patch release of the fourth generation Python SDK, bringing a number of improvements.
$ python3 -m pip install couchbase==4.1.4
Fixes
-
PYCBC-1469: Added check to determine if Python interpreter is finalizing prior to logging.
-
PYCBC-1471: Fixed
acouchbase
streaming API blocking behavior while when executing queries. -
PYCBC-1474: Fixed transaction error handling.
-
PYCBC-1475: Updated exception classes to allow first positional arg to be a string message.
-
PYCBC-1477: Fixed potential crash in certain scenarios that use
MutationState
.
Enhancements
-
PYCBC-1468: Added replica read operations to API docs.
-
PYCBC-1472: Updated API Docs to indicate expiry option should be a timedelta.
-
PYCBC-1478: Added missing bootstrap timeouts to WAN Config Profile.
Underlying C++ SDK Core Changes
-
CXXCBC-31: Allow the use of schemaless connection strings (e.g.
"cb1.example.com,cb2.example.com"
) (#394). -
CXXCBC-320: Negative expiry in atr was leaving docs in a stuck state — this has been fixed, with expiry atr now becoming an
int32_t
(#393). -
CXXCBC-318: Always try TCP if UDP fails in DNS-SRV resolver (#390).
-
CXXCBC-145: Search query request raw option now used (#380).
-
CXXCBC-144: Search query on collections now no longer requires
scope_name
, as it can be inferred from the index (#379).
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.
Python SDK 4.0 Releases
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 the Couchbase C++ 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 the Couchbase C++ SDK.
-
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 archived 3.x release notes page.