gabor-boros
released this
RethinkDB 2.4 introduces write hooks and bitwise operations besides bug fixes.
Read the blog post for more details.
Compatibility
Data files from RethinkDB version 1.16 onward will be automatically
migrated. As with any major release, back up your data files before
performing the upgrade. Please read the RethinkDB 2.4.0 release
notes if you're upgrading from version 2.3.x or
earlier.
RethinkDB 2.4.0 servers cannot be mixed with servers running RethinkDB
2.3.x or earlier in the same cluster.
Official Drivers
Except for JavaScript, the official drivers are now generally
maintained as separate projects. But note that there is some coupling
of RethinkDB console commands, like rethinkdb dump, with the Python
driver. RethinkDB 2.4 contains some old copies of the drivers to keep
./test/run working with minimal effort. The JavaScript driver is
still used in the Web UI. However, the web assets are now
pre-generated, at src/gen/web_assets.cc, making the presence of the
driver in the repository not strictly necessary.
Here are links to the official drivers:
- Python: https://github.com/rethinkdb/rethinkdb-python/
- Ruby: https://github.com/rethinkdb/rethinkdb-ruby/
- Java: https://github.com/rethinkdb/rethinkdb-java/
- JavaScript: https://github.com/rethinkdb/rethinkdb/tree/next/drivers/javascript
API-breaking changes
- Write hooks add a new field to the table configuration.
- A bugfix changes the
matchcommand's behavior on empty regexes.
It had previously been behaving incorrectly.
Substantive Changes
(Issue numbers point into the https://github.com/rethinkdb/rethinkdb
bugtracker.)
- ReQL
- Added the
set_write_hookandget_write_hookcommands, which attach to
tables a function that can modify the behavior of any write. (#5813) - Added bitwise operators for number types:
bit_and,bit_not,bit_or,
bit_sal,bit_sarandbit_xor. (#6534) - Permitted the hyphen character (
-) to be used in table names. (#5537) - Users may be granted permissions on system tables. (#5692)
- Make
iso8601command round, not truncate. (#6909) - Fix timestamp millisecond down-truncation bug. (#6272)
- Added the
- Server
- Fixed crash with limit change feed
insertedguarantee failure. (#6710) - Avoid using DNS resolution when finding network interface addresses. (#6588)
- Removed update checker. (#6791)
- Added experimental support for arm64/aarch64. (#6438)
- Added experimental support for Power8/LE platform. (#6317)
- Fixed race condition in the query cache. (#6564)
- Avoid quadratic growth in segmented vector. (#6385)
- Big-Endian fixes and s390x support. (#6242)
- Fixed crash with limit change feed
- Web UI
- Compilation
- JavaScript Driver
- Avoided mutating object passed to
r.connect. (#6575)
- Avoided mutating object passed to
- Python Driver
- See more details at https://github.com/rethinkdb/rethinkdb-python/releases
- Other Drivers
- Changes omitted, as they're in separate repositories.
Assets
2
AtnNn
released this
Bug fix release
Notes
This is the first release of RethinkDB since October 2016. The RethinkDB project has joined the Linux Foundation. This release is brought to you by volunteers from the Open RethinkDB team. The RethinkDB source code is now licensed under an ASLv2 license.
Compatibility
On 32-bit platforms and on Windows (64 and 32 bit), RethinkDB 2.3.6 servers should not be mixed with servers running RethinkDB 2.3.3 or older in the same cluster. Doing so can lead to server crashes when using the web UI or when accessing the logs system table.
On 64-bit platforms, RethinkDB 2.3.6 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][release-notes-2.3.0] if you're upgrading from an older version.
Changes
- Server
- Improved the compatibility of the web UI with Chrome 49 and Edge (#5878, #5426, #5300) -- @danielmewes
- Fixed a crash caused by unwanted connections (#6084) -- @danielmewes
- Fixed a crash caused by recreating indexes with active changefeeds (#6093) -- @danielmewes
- Sizes passed to
sampleare now bound by the array size limit (#6148) -- @AtnNn - Fixed a crashing bug in the implementation of the
interleaveargument tounion(#6139) -- @AtnNn - Fixed a crash caused by
eqJoinof system tables when using theuuididentifierFormat(#6108) -- @nighelles - Fixed a bug that caused
r.match('')to return wrong results (#6241) -- @AtnNn - Miscellaneous regression fixes and code improvements by @srh and @VeXocide
- Fixed argument order in pretty-printed queries in the jobs table (#6240) -- @AtnNn
- Packaging
Official Downloads: https://rethinkdb.com/docs/install/
Assets
2
danielmewes
released this
Bug fix release
Compatibility
On 32-bit platforms and on Windows (64 and 32 bit), RethinkDB 2.3.5 servers should not
be mixed with servers running RethinkDB 2.3.3 or older in the same cluster. Doing so can lead to
server crashes when using the web UI or when accessing the logs system table.
On 64-bit platforms other than Windows, RethinkDB 2.3.5 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
- Improved the efficiency of the on-disk garbage collector to reduce the risk of
excessive file growth (#5923) - Improved the latency of read queries under heavy write loads (#6072)
- Fixed a bug that could cause the server to crash with a deserialization error
or to stop completing any table reads (#6033) - Fixed a bug in the implementation of the
interleaveoption of theunioncommand,
which could potentially lead to results being generated in the wrong order (#6041) - Fixed a bug in the batch handling of the
foldand multi-streammapcommands,
that would stop results from being generated correctly if these commands were
applied to a changefeed (#6007) - Fixed an issue that could cause proxies to remain listed in the
connected_to
field of theserver_statustable, even after they had disconnected (#5871) - Fixed the detection of non-deterministic conflict functions in the
insertcommand
(#5842) - Improved the Raft election timeout logic to avoid infinite Raft election loops (#6038)
- Improved the response time when reading from the
table_statussystem table (#4589) - The server no longer logs the message
Rejected a connection from server X since one is already openwhen trying to connect
to itself (#5456) - Fixed a bug that could cause an
Uncaught exceptionserver crash if a TLS-encrypted
connection was closed during a certain connection stage (#5904) - Fixed a bug in
mergethat could causer.literalobjects to remain after themerge
and be stored in a table (#5977) - On Windows: Fixed a bug in the
r.httpcommand that resulted in decoding issues (#5924) - On Windows: RethinkDB now binds TCP ports exclusively (#6008)
- On Windows: No longer print an error to the log whenever a connection attempt fails
(no issue #) - Fixed a build issue that caused system libraries to not be found during
makeon
OpenSUSE (#2363)
- Improved the efficiency of the on-disk garbage collector to reduce the risk of
- JavaScript driver
- Java driver
- Python driver
- The
asyncioloop type is now available when using the driver from a Python .egg
file (#6043)
- The
- Ruby driver
- Fixed a rounding issue with time objects (#5825)
Contributors
Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.5.
- Arve Seljebu (@arve0)
- Ben Sharpe (@bsharpe)
- Brian Chavez (@bchavez)
- Dan Wiechert (@DWiechert)
- mbains (@mbains)
- QianJin2013 (@QianJin2013)
- Raman Gupta (@rocketraman)
Assets
2
danielmewes
released this
Bug fix release
Compatibility
On 32-bit platforms and on Windows (64 and 32 bit), RethinkDB 2.3.4 servers should not
be mixed with older RethinkDB 2.3.x servers in the same cluster. Doing so can lead to
server crashes when using the web UI or when accessing the logs system table.
On 64-bit platforms, RethinkDB 2.3.4 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
- Python driver
Contributors
Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.4.
- Ultrabug (@ultrabug)