Couchbase Python SDK Release Notes
Installation
You may install previous versions of the SDK using pip (after installing the required dependencies)
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 2.0.8:
pip install git+http://github.com/couchbase/[email protected]
Upgrading
New versions of the Python SDK take advantage of features added in recent versions of libcouchbase. Be sure to upgrade your LCB installation before making a major upgrade to the Couchbase Python client.
Python SDK 2.5.10 Release Notes (December 17 2019)
pip install couchbase==2.5.10
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.10/
Fixes
-
PYCBC-653: Fixed
pip install
problem for Python 2.7.
Python SDK 2.5.9 Release Notes (November 6 2019)
pip install couchbase==2.5.9
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.9/
Known issues
-
PYCBC-653: This version of the SDK will not work with Python 2.7.
pip install
returns:ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
. Use Python 3, or stay at Python SDK 2.5.7 for now:pip install couchbase==2.5.7
Enhancements
-
PYCBC-659: The Analytics service is now covered by Health Check’s Ping command
Python SDK 2.5.8 Release Notes (September 3 2019)
pip install couchbase==2.5.8
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.8/
Known issues
-
PYCBC-653: This version of the SDK will not work with Python 2.7.
pip install
returns:ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
. Use Python 3, or stay at Python SDK 2.5.7 for now:pip install couchbase==2.5.7
Python SDK 2.5.7 Release Notes (August 6 2019)
pip install couchbase==2.5.7
Python SDK 2.5.6 Release Notes (July 2 2019)
pip install couchbase==2.5.6
Python SDK 2.5.5 Release Notes (June 4 2019)
pip install couchbase==2.5.5
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.5/
Fixes
-
PYCBC-582: Made touch tests more reliable, by running the event loop with sleep.
Python SDK 2.5.4 Release Notes (February 5 2019)
pip install couchbase==2.5.4
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.4/
Enhancements
-
PYCBC-558: Better document libcouchbase dependency. The minimum version number is retrieved from a centralised location.
Python SDK 2.5.3 Release Notes (January 8 2019)
pip install couchbase==2.5.3
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.3/
Enhancements
-
PYCBC-520: Installation will now check which version of LCB is installed. If it’s not sufficient for the Python Client version, an error message will suggest which minimum version needs installing.
Python SDK 2.5.2 Release Notes (December 4 2018)
pip install couchbase==2.5.2
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.2/
Enhancements
-
PYCBC-547: Allow the user to set deferred query timeout easily
Fixes
-
PYCBC-542: Correct the "plain text" example in n1ql_query API documentation
-
PYCBC-543: Handle multiresult exception entries without a success field
-
PYCBC-550: Correct the txcouchbase get_multi example
-
PYCBC-554: Mandate installation of PEP484 typing module on all systems
-
PYCBC-548: Fix AnalyticsIngester docs
Python SDK 2.5.1 Release Notes (November 6 2018)
pip install couchbase==2.5.1
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.1/
Please note, with the end of support for Microsoft Visual Studio 2008 (VC9), which is required to build binary extensions for Python 2.7 on Windows, with this release we no longer build for Python 2.7 on Windows.
However, we are now shipping binary wheels for Python 3 on Windows, which means that you can now download Windows binaries (if available for your Python 3 version) simply by running the pip command above, rather than manually downloading the binaries or sources.
Python SDK 2.5.0 Release Notes (October 2 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.5.0/
Fixes
-
PYCBC-528: Handle keyless exceptions in multiresult
Python SDK 2.4.2 Release Notes (September 7 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.4.2/
Enhancements
-
PYCBC-521 - Enable tracing by default
Python SDK 2.4.1 Release Notes (August 17 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.4.1/
Due to a known issue [PYCBC-522]: In this release, Response Time Observability and tracing are available, but off by default due to tracing contexts being lost in some instances.
This may be enabled with "enable_tracing=true" on the connection string, and is likely suitable for most applications. Once resolved, it will be enabled by default in a future 2.4 release.
Enhancements
-
PYCBC-504 - In python 3.7 'async' is a keyword. The package 'couchbase.async' have to be renamed
Python SDK 2.4.0 Release Notes (July 4 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.4.0/
Due to a known issue [PYCBC-507]: In this release, Response Time Observability and tracing are available, but off by default owing to an unacceptable level of overhead in the SDK and libcouchbase.
This may be enabled with "enable_tracing=true" on the connection string,and is likely suitable for most applications. Once resolved, it will be enabled by default in a future 2.4 release.
Python SDK 2.4.0-beta2 Release Notes (June 5 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.4.0b2/
Enhancements
-
PYCBC-481 - Field encryption packaging/distribution change
-
PYCBC-486 - Document Threshold Logger parameters
-
PYCBC-490 - Interpolate printf-style logging input to logging function using vsnprintf
-
PYCBC-492 - Update Travis configuration to reflect supported platforms
-
PYCBC-494 - Support get_key_id method for Crypto V1
Fixes
-
PYCBC-491 - Crash when only Threshold Tracer is enabled, not parent tracer
Python SDK 2.4.0-beta Release Notes (May 16 2018)
pip install git+http://github.com/couchbase/[email protected]
Python SDK 2.3.5 Release Notes (May 1 2018)
pip install git+http://github.com/couchbase/[email protected]
Python SDK 2.4.0a2 Release Notes (April 13 2018)
pip install git+http://github.com/couchbase/[email protected]
This is an Alpha developer preview of operation duration observability (also known as tracing).
You will need to follow the instructions here on GitHub to install this feature:
Python SDK 2.4.0a1 Release Notes (February 26 2018)
pip install git+http://github.com/couchbase/[email protected]
This is an Alpha developer preview of log redaction and compression.
Python SDK 2.3.4 Release Notes (February 14 2018)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.3.4
Enhancements
-
PYCBC-451 - Python SDK Documentation could use example of upsert involving JSON text
Python SDK 2.3.3 Release Notes (January 12 2018)
pip install git+http://github.com/couchbase/[email protected]
Python SDK 2.3.2 Release Notes (December 7 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.3.2
Enhancements
-
PYCBC-445 - Implement/test support for KV with homogenous IPv6
Fixes
-
PYCBC-450 - N1QL Consistency documentation say default is 'none' should be 'not_bounded'
Python SDK 2.3.1 Release Notes (November 8 2017)
pip install git+http://github.com/couchbase/[email protected]
Python SDK 2.3.0 Release Notes (October 25 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.3.0
Enhancements
-
PYCBC-442 - Update required version of libcouchbase in Prerequisites
-
PYCBC-397 - SDK Enhanced Error Messages
-
PYCBC-420 - Expose more N1QL Query Options
-
PYCBC-424 - Rename subdoc create / upsert flags to match RFC
-
PYCBC-428 - Update README with details on how to authenticate with CB server 5.0
-
PYCBC-433 - Add Cluster.Authenticate('username', 'password') shortcut
Python SDK 2.2.6 Release Notes (August 25 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.6
-
Add Couchbase 5.0 User Management API
-
Update ClusterManager to be compatible with Couchbase 5.0
-
Fix bug where cluster.open_manager() would only work on localhost
-
Fix bug where duplicate N1QL queries were submitted
Python SDK 2.2.5 Release Notes (June 6 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.5
This version has a known defect which may result in duplicate N1QL statements being sent. This may cause unwanted mutations or spurious errors when using the N1QL UPDATE or INSERT statements. You may work around this by either stricter criteria for update, for example WHERE meta().cas = xyz. The issue affects versions 2.2.3-2.2.5 (inclusive) and will be fixed in version 2.2.6
-
Couchbase 5.0 Subdocument additions including:
-
Full-doc get/set for use with xattrs
-
get_count to get number of items/elements within dictionary/array
-
insert_doc/create_doc option for mutate_in
-
-
Fix bug where connection string options were not passed when using Cluster interface
-
Fix bug where GEvent timer was not calling base class initializer
Python SDK 2.2.4 Release Notes (May 2 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.4
This version has a known defect which may result in duplicate N1QL statements being sent. This may cause unwanted mutations or spurious errors when using the N1QL UPDATE or INSERT statements. You may work around this by either stricter criteria for update, for example WHERE meta().cas = xyz. The issue affects versions 2.2.3-2.2.5 (inclusive) and will be fixed in version 2.2.6
-
Add new FTS query types. This adds GeoDistanceQuery, GeoBoundingBoxQuery, and TermRangeQuery types.
-
Add new advanced FTS sorting options. You can now use couchbase.fulltext.Sort* classes in addition to a list of sort fields for couchbase.fulltext.Params.sort
-
Fixed memory leak when using the Item API. This leak would be triggered if passing an Item with an existing value to a get() call. In those cases, the prior value would leak memory and never have its reference count decremented.
-
Add new user management functionality in the cluster manager (Bucket.cluster_manager()). These functions have the user_* prefix and allow retrieval and modification of built-in Couchbase users.
Python SDK 2.2.3 Release Notes (April 4 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.3
This version has a known defect which may result in duplicate N1QL statements being sent. This may cause unwanted mutations or spurious errors when using the N1QL UPDATE or INSERT statements. You may work around this by either stricter criteria for update, for example WHERE meta().cas = xyz. The issue affects versions 2.2.3-2.2.5 (inclusive) and will be fixed in version 2.2.6.
-
Add experimental Couchbase Analytics support. This offers an interface very similar to N1QL. You can issue a query using the Bucket._analytics_query() method. Requires libcouchbase >= 2.7.3
-
Add Authenticator and Cluster interface, for parity with other SDKs. See the couchbase.cluster module for more information.
Python SDK 2.2.2 Release Notes (March 7 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.2
-
Fix typo in Bucket.queue_size() method which caused it to fail.
Python SDK 2.2.1 Release Notes (February 7 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.1
-
Provide some better convenience functionality for SubdocResult
-
Add experimental Xattr support (Requires libcouchbase >= 2.7.0)
Python SDK 2.2.0 Release Notes (January 3 2017)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.2.0
-
Update the FTS (couchbase.fulltext) API to support the sort parameter. (couchbase.fulltext.Params.sort)
-
Rename fulltext.StringQuery to QueryStringQuery
-
Don’t crash in debuggers when an exception is thrown. This would previously assume (assert in C) that the current exception’s reference count is fixed at 1 when rethrowing. This isn’t valid in debuggers which may intercept exception and their frames beforehand.
-
Remove 'experimental' designation from data structure API.
Python SDK 2.1.3 Release Notes (December 6 2016)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.1.3
-
[PYCBC-366]: Fix crash on get_multi and Item API. If specific options were passed via ItemOptionsDict, it would crash the interpreter.
-
Don’t assume FTS search parameters use ASCII encoding. This fixes an encoding issue where certain unicode characters caused an exception when found in a search term.
-
Fix bug in FTS where invalid arguments to the Python API (e.g. search()) would cause the current exception state to be clobbered, resulting in a confused interpreter and an even more confusing error.
-
Rename data structure API names to be in conformity with SDK-RFC.
Python SDK 2.1.2 Release Notes (November 1 2016)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.1.2 These API Docs no longer available
-
Make N1QL scan consistency constants more similar to the ones used on the server. You may now use couchbase.n1ql.REQUEST_PLUS, couchbase.n1ql.STATEMENT_PLUS in addition to couchbase.n1ql.CONISTENCY_REQUEST
-
Allow cross-bucket ('cluster-level') queries. You can now query across multiple protected buckets by doing the following:
-
Bucket.add_bucket_creds(bucket_name, bucket_password) for each password protected bucket you wish to access. This only needs to be done once.
-
For each query (couchbase.n1ql.N1QLQuery) you can set the cross_bucket=True property.
-
-
The design_list method has been added to the BucketManager (i.e. couchbase.bucket.bucket_manager()) class. You can now list all design documents belonging to a bucket.
Python SDK 2.1.1 Release Notes (September 30 2016)
pip install git+http://github.com/couchbase/[email protected]
API Docs: http://docs.couchbase.com/sdk-api/couchbase-python-client-2.1.1
-
Updated links in README
-
Added experimental datastructure support
Python SDK 2.1.0 Release Notes (June 21 2016)
pip install git+http://github.com/couchbase/[email protected]
-
Fix exception on SubdocResult.access_ok. This would previously result in an exception due to a typo when referencing a library constant
-
Fix bug in index management when specifying non-primary indexes. Previously the fields in the indexes would be ignored or wrongly encoded when sent to the server. This fix goes in conjunction with fixes in the C SDK 2.6.1