-
Notifications
You must be signed in to change notification settings - Fork 182
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Luke Bakken
committed
Feb 21, 2016
1 parent
eabd694
commit 3d8ca03
Showing
1 changed file
with
305 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,305 @@ | ||
# Riak Python Client Release Notes | ||
|
||
## 2.4.2 Patch Release - 2016-02-20 | ||
|
||
* [Fix SSL host name](https://github.com/basho/riak-python-client/pull/436) | ||
* [Use `riak-client-tools`](https://github.com/basho/riak-python-client/issues/434) | ||
|
||
## 2.4.1 Patch Release - 2016-02-03 | ||
|
||
* [Riak TS: Millisecond precision](https://github.com/basho/riak-python-client/issues/430) | ||
* [Fix release process](https://github.com/basho/riak-python-client/issues/429) | ||
|
||
## 2.4.0 Feature Release - 2016-01-13 | ||
|
||
This release enhances Riak Time Series functionality. | ||
|
||
* [Encapsulate table description](https://github.com/basho/riak-python-client/pull/422) | ||
|
||
## 2.3.0 Feature Release - 2015-12-14 | ||
|
||
Release 2.3.0 features support for new | ||
[time series](https://github.com/basho/riak-python-client/pull/416) | ||
functionality. | ||
|
||
This is release retires support for Python 2.6.x but adds support for | ||
Python 3.5.x. | ||
|
||
There are also many bugfixes and new enhancements: | ||
|
||
* [Protocol buffers are now integrated into the Python Client] | ||
(https://github.com/basho/riak-python-client/pull/418) | ||
* [Support for Preflists and Write-Once bucket types] | ||
(https://github.com/basho/riak-python-client/pull/414) | ||
* [Support Riak 2.1.1] | ||
(https://github.com/basho/riak-python-client/pull/407) | ||
* [Native SSL support for Python 2.7.9+] | ||
(https://github.com/basho/riak-python-client/pull/397) | ||
|
||
|
||
## 2.2.0 Feature Release - 2014-12-18 | ||
|
||
Release 2.2.0 features support for | ||
[Python 3](https://github.com/basho/riak-python-client/pull/379), | ||
specifically 3.3 and 3.4. This version uses the native SSL security instead | ||
of [pyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) which is required | ||
for the Python 2 series. | ||
|
||
This release also includes many bugfixes and enhancements, most | ||
notably: | ||
|
||
* [Fixed an issue with the implementation of `Mapping.__iter__`] | ||
(https://github.com/basho/riak-python-client/pull/367) | ||
* [Test client certificate generation updated] | ||
(https://github.com/basho/riak-python-client/pull/373) | ||
* [Protocol Buffers had a socket.send issue] | ||
(https://github.com/basho/riak-python-client/pull/382) | ||
* [Support for bucket types in Map/Reduce jobs added] | ||
(https://github.com/basho/riak-python-client/pull/385) | ||
* [Race condition in `RiakBucket` creation fixed] | ||
(https://github.com/basho/riak-python-client/pull/386) | ||
* [Data Types can now be deleted] | ||
(https://github.com/basho/riak-python-client/pull/387) | ||
* [2i Range Queries with a zero end index now work] | ||
(https://github.com/basho/riak-python-client/pull/388) | ||
|
||
|
||
## 2.1.0 Feature Release - 2014-09-03 | ||
|
||
Release 2.1.0 features support for Riak 2.0 capabilities including: | ||
|
||
* Bucket Types | ||
* Riak Data Types (CRDTs) | ||
* Search 2.0 (codename Yokozuna) | ||
* Security: SSL/TLS, Authentication, and Authorization | ||
|
||
As a result of the new security features, the package now depends on | ||
[pyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) and will warn if | ||
your version of OpenSSL is too old. | ||
|
||
This release also includes many bugfixes and enhancements, most | ||
notably: | ||
|
||
* The default protocol is now 'pbc', not 'http'. | ||
* When used correctly, streaming requests no longer result in leaks | ||
from the connection pool. | ||
* The size of the multiget worker pool can be set when initializing | ||
the client. | ||
* Secondary index queries can now iterate over all pages in a query. | ||
* The number of times a request is retried after network failure is | ||
now configurable. | ||
* The additional request options `basic_quorum` and `notfound_ok` are | ||
now supported. | ||
|
||
## 2.0.3 Patch Release - 2014-03-06 | ||
|
||
Release 2.0.3 includes support for 1.4.4's 2I regexp feature and fixes | ||
a few bugs: | ||
|
||
* Docs generation now uses the version from the top-level package. | ||
* Some internal uses of the deprecated RiakClient.solr were removed. | ||
* More errors will be caught and propagated properly from multiget | ||
requests, preventing deadlocks on the caller side. | ||
|
||
## 2.0.2 Patch release - 2013-11-18 | ||
|
||
Release 2.0.2 includes support for the 1.4.1+ "timeout" option on | ||
secondary index queries. | ||
|
||
## 2.0.1 Patch release - 2013-08-28 | ||
|
||
Release 2.0.1 includes a minor compatibility fix for Python 2.6 and an | ||
updated README. | ||
|
||
## 2.0.0 Feature Release - 2013-07-30 | ||
|
||
Release 2.0 is the culmination of many months of rearchitecting the | ||
client. Highlights: | ||
|
||
* Automatic connection to multiple nodes, with request retries, | ||
through a thread-safe connection pool. | ||
* All Riak 1.3 and 1.4 features, including bucket properties, | ||
paginating and streaming secondary indexes, CRDT counters, | ||
client-specified timeouts, and more. | ||
* Cleaner, more Pythonic access to RiakObject and RiakBucket | ||
attributes, favoring properties over methods where possible. | ||
* Simpler representations of links (3-tuples) and index entries | ||
(2-tuples). | ||
* Streaming requests (keys, buckets, MapReduce, 2i) are now exposed as | ||
iterators. | ||
* Feature detection prevents sending requests to hosts that can't | ||
handle them. | ||
* Better handling of siblings -- you don't have to request them | ||
individually anymore -- and registrable resolver functions. | ||
* A new `multiget` operation that fetches a collection of keys using | ||
a pool background threads. | ||
* A more resilient, repeatable test suite that generates buckets and | ||
key names that are essentially random. | ||
* Last but not least, a brand new, more detailed documentation site! | ||
|
||
Other features: | ||
|
||
* Added an encoder/decoder pair to support `text/plain`. | ||
* The Travis CI build will now install the latest Riak to run the | ||
suite against. | ||
|
||
Other bugfixes: | ||
|
||
* The `charset` metadata can now be received via the `Content-Type` | ||
header on HTTP. | ||
* Objects with empty keys and buckets with empty names cannot be | ||
created or accessed, as they are unaddressable over HTTP. | ||
* Performance and compatibility of `TestServer` was improved. | ||
* Non-ASCII request bodies are better supported on HTTP. | ||
* Enabling and disabling search indexing on a bucket now uses the | ||
`search` bucket property. | ||
|
||
## 1.5.2 Patch Release - 2013-01-31 | ||
|
||
Release 1.5.2 fixes some bugs and adds HTTPS/SSL support. | ||
|
||
* Added support for HTTPS. | ||
* Fixed writing of the `app.config` for the `TestServer`. | ||
* Reorganized the tests into multiple files and cases. | ||
* Some methods on `RiakObject` were made private where appropriate. | ||
* The version comparison used in feature detection was loosened to | ||
support pre-release versions of Riak. | ||
* Prevent fetching the `protobuf` package from Google Code. | ||
* Prefer `simplejson` over `json` when present. | ||
|
||
## 1.5.1 Patch Release - 2012-10-24 | ||
|
||
Release 1.5.1 fixes one bug and some documentation errors. | ||
|
||
* Fix bug where `http_status` is used instead of `http_code`. | ||
* Fix documentation of `RiakMapReduce.index` method. | ||
* Fix documentation of `RiakClient.__init__` method. | ||
|
||
## 1.5.0 Feature Release - 2012-08-29 | ||
|
||
Release 1.5.0 is a feature release that supports Riak 1.2. | ||
|
||
Noteworthy features: | ||
|
||
* Riak 1.2 features are now supported, including Search and 2I queries | ||
over Protocol Buffers transport. The Protocol Buffers message | ||
definitions now exist as a separate package, available on | ||
[PyPi](http://pypi.python.org/pypi/riak_pb/1.2.0). | ||
|
||
**NOTE:** The return value of search queries over HTTP and MapReduce | ||
were changed to be compatible with the results returned from the | ||
Protocol Buffers interface. | ||
* The client will use a version-based feature detection scheme to | ||
enable or disable various features, including the new Riak 1.2 | ||
features. This enables compatibility with older nodes during a | ||
rolling upgrade, or usage of the newer client with older clusters. | ||
|
||
Noteworthy bugfixes: | ||
|
||
* The code formatting and style was adjusted to fit PEP8 standards. | ||
* All classes in the package are now "new-style". | ||
* The PW accessor methods on RiakClient now get and set the right | ||
instance variable. | ||
* Various fixes were made to the TestServer and it will throw an | ||
exception when it fails to start. | ||
|
||
## 1.4.1 Patch Release - 2012-06-19 | ||
|
||
Noteworthy features: | ||
|
||
* New Riak objects support Riak-created random keys | ||
|
||
Noteworthy bugfixes: | ||
|
||
* Map Reduce queries now use "application/json" as the Content-Type | ||
|
||
## 1.4.0 Feature Release - 2012-03-30 | ||
|
||
Release 1.4.0 is a feature release comprising over 117 individual | ||
commits. | ||
|
||
Noteworthy features: | ||
|
||
* Python 2.6 and 2.7 are supported. On 2.6, the unittest2 package is | ||
required to run the test suite. | ||
* Google's official protobuf package (2.4.1 or later) is now a | ||
dependency. The package from downloads.basho.com/support is no | ||
longer necessary. | ||
* Travis-CI is enabled on the client. Go to | ||
http://travis-ci.org/basho/riak-python-client for build status. | ||
* Riak 1.0+ features, namely secondary indexes and primary quora | ||
(PR/PW), are supported. | ||
* `if_none_match` is a valid request option when storing objects, and | ||
will prevent the write when set to `True` if the key already exists. | ||
* Links can be set wholesale using the `set_links()` method. | ||
* Transport-specific options can be passed through when creating a | ||
`Client` object. | ||
* A connection manager was added that will (when manipulated manually) | ||
allow connections to multiple Riak nodes. This will be fully | ||
integrated in a future release. | ||
|
||
Noteworthy bugfixes: | ||
|
||
* Links now use the proper URL-encoding in HTTP headers, preventing | ||
problems with explosion from multiple encoding passes. | ||
* Many fixes were applied to make the Protocol Buffers transport more | ||
stable. | ||
* `RiakObject.get_content_type()` will behave properly when content | ||
type is not set. | ||
* Deprecated transport classes were removed since their functionality | ||
had folded into the primary transports. | ||
* A temporary fix was made for unicode bucket/key names which raises | ||
an error when they are used and cannot be coerced to ASCII. | ||
* The Erlang sources/beams for the TestServer are now included in the | ||
package. | ||
* MapReduce failures will now produce a more useful error message and | ||
be handled properly when no results are returned. | ||
|
||
There are lots of other great fixes from our wonderful | ||
community. [Check them out!](https://github.com/basho/riak-python-client/compare/1.3.0...1.4.0) | ||
|
||
## 1.3.0 Feature Release - 2011-08-04 | ||
|
||
Release 1.3.0 is a feature release bringing a slew of updates. | ||
|
||
Noteworthy features: | ||
|
||
* #37: Support for the Riak Search HTTP Interface (Mathias Meyer) | ||
* #36: Support to store large files in Luwak (Mathias Meyer) | ||
* #35: Convenience methods to enable, disable and check search indexing | ||
on Riak buckets (Mathias Meyer) | ||
* #34: Port of Ripple's test server to Python, allows faster testing | ||
thanks to an in-memory Riak instance (Mathias Meyer) | ||
* #31: New transports: A Protocol Buffers connection cache | ||
(riak.transports.pbc.RiakPbcCacheTransport), a transport to reuse the | ||
underlying TCP connections by setting SO_REUSEADDR on the socket | ||
(riak.transports.http.RiakHttpReuseTransport), and one that tries to | ||
reuse connections to the same host (riak.transports.http.RiakHttpPoolTransport) | ||
(Gilles Devaux) | ||
|
||
Fixes: | ||
|
||
* #33: Respect maximum link header size when using HTTP. Link header is now | ||
split up into multiple headers when it exceeds the maximum size of 8192 bytes. | ||
(Mathias Meyer) | ||
* #41: Connections potentially not returned to the protocol buffers connection | ||
pool. (Reid Draper) | ||
* #42: Reset protocol buffer connection up on connection error (Brett Hoerner) | ||
|
||
## 1.2.2 Patch Release - 2011-06-22 | ||
|
||
Release 1.2.2 is a minor patch release. | ||
|
||
Noteworthy fixes and improvements: | ||
|
||
* #29: Add an nicer API for using key filters with MapReduce (Eric Moritz) | ||
* #13 and #24: Let Riak generate a key when none is specified (Mark Erdmann) | ||
* #28: Function aliases for the Riak built-in MapReduce functions (Eric Moritz) | ||
* #20: Add a convenience method to create Riak object directly from file (Ana Nelson) | ||
* #16: Support return\_body parameter when creating a new object (Stefan Praszalowicz, Andy Gross) | ||
* #17: Storing an object fails when it doesn't exist in Riak (Eric Moritz, Andy Gross) | ||
* #18: Ensure that a default content type is set when none specified (Andy Gross) | ||
* #22: Fix user meta data support (Mathias Meyer) | ||
* #23: Fix links to the wiki (Mikhail Sobolev) | ||
* #25: Enable support for code coverage when running tests (Mikhail Sobolev) | ||
* #26: Debian packaging (Dmitry Rozhkov) |