Bug fix release
Compatibility
RethinkDB 2.3.2 servers can be mixed with older RethinkDB 2.3.x servers in the same
cluster. We recommend that you run a mixed-version cluster only temporarily for upgrading
purposes.
No migration is required when upgrading from RethinkDB 2.3.x. Please read the
RethinkDB 2.3.0 release notes if you're upgrading from an
older version.
Bug fixes
- Server
- Fixed a data corruption issue in the secondary index construction logic. The issue
could be triggered by creating a secondary index while the table is under write load
and could result in aGuarantee failed: [token.has()]
error when accessing
the index (#5715) - Fixed an issue in the Windows beta release that caused data corruption whenever
growing a table to more than 4 GB (#5719) - Fixed a crash with the message
Guarantee failed: [num_subs == 0]
that could occur
when shutting down a server while trying to start new changefeeds at the same time
(#5708) - Fixed a crash with the message
Guarantee failed: [!pair.first.inner.overlaps(region.inner)]
that could occur when
using changefeeds while resharding (#5745) - Added a
--tls-min-protocol
server option for reducing the minimum required TLS
protocol version. Drivers using an old OpenSSL version (e.g. on OS X) might require
this option in order to connect to a TLS-enabled RethinkDB server (#5734) - Added a check to disallow using
order_by
with a non-deterministic predicate function
(#5548) - Fixed a segmentation fault at address 0x18 that could occur in low-memory conditions
on Linux (#5348) - Fixed a stack overflow issue when parsing very deeply nested objects (#5601)
- Improved the stack protection logic in order to avoid exceeding the system's memory
map limit. This issue affected Linux servers when having a very high number of
concurrently running queries (#5591) - The server is now built with jemalloc version 4.1 on Linux (#5712)
- Fixed the message that is displayed when a query times out in the Data Explorer
(#5113) - Improved the handling and reporting of OpenSSL-related errors (#5551)
- Added a new server option
--cluster-reconnect-timeout
to control how quickly
RethinkDB gives up trying to reconnect to a previously connected server (#5701) - Fixed a race condition when writing to system tables that could lead to incorrect
update results (#5711) - A custom conflict resolution function for the
insert
command can now returnnull
in order to delete a conflicting document (#5713) - Improved the error message emitted when opening a changefeed on an
orderBy.limit
query that has additional transformations (#5721) - Fixed an incompatibility with Safari that could cause undesired page reloads in the
web UI (#3983)
- Fixed a data corruption issue in the secondary index construction logic. The issue
- Python driver
- The Python driver's
ssl
option now supports older Python versions from 2.7 up
(#4815) - Added a REPL mode that can be launched through the new
python -m rethinkdb
command
(#5147) - Added a cache for PBKDF2 authentication tokens to reduce the costs of repeatedly
opening connections (#5614) - Refactored how the RethinkDB import and export scripts load the driver (#4970)
- Improved the error message reported when attempting to connect to a pre-2.3.0 server
(#5678) - Fixed an incompatibility with Python 3 in the
rethinkdb dump
script that caused
name 'file' is not defined
errors (#5694) - Fixed an incompatibility with Python 3.3 in the protocol handshake code (#5742)
- The Python driver's
Contributors
Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.2. In no particular order: