Skip to content

@gabor-boros gabor-boros released this Dec 19, 2019 · 221 commits to next since this release

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:

API-breaking changes

  • Write hooks add a new field to the table configuration.
  • A bugfix changes the match command'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_hook and get_write_hook commands, 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_sar and bit_xor. (#6534)
    • Permitted the hyphen character (-) to be used in table names. (#5537)
    • Users may be granted permissions on system tables. (#5692)
    • Make iso8601 command round, not truncate. (#6909)
    • Fix timestamp millisecond down-truncation bug. (#6272)
  • Server
    • Fixed crash with limit change feed inserted guarantee 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)
  • Web UI
    • Implemented a new table viewer widget for browsing the contents of tables. (#6767)
    • Improved table page performance in case with many databases. (#6790)
  • Compilation
    • The web assets are now pre-generated, so that macOS users can build them. (#6770)
    • Debian package building is now parallelized. (#6780)
    • Fixed extproc spawner bug. (#5572)
    • Allowed building against libressl. (#6671)
  • JavaScript Driver
    • Avoided mutating object passed to r.connect. (#6575)
  • Python Driver
  • Other Drivers
    • Changes omitted, as they're in separate repositories.
Assets 2
Aug 15, 2019
Update NOTES.md for v2.3.7
Mar 31, 2019
Revert "Use pre-generated src/gen/web_assets.cc"
This reverts commit bd461da.

This is a cheap way to get bionic deb packaging working.  It would
be nice to remove the npm build dependency, but I guess we are not
there yet.
Jul 17, 2017
Merge tag 'v2.3.6' into v2.3.x-windows
RethinkDB 2.3.6

@AtnNn AtnNn released this Jul 23, 2017 · 781 commits to next since this release

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 sample are now bound by the array size limit (#6148) -- @AtnNn
    • Fixed a crashing bug in the implementation of the interleave argument to union (#6139) -- @AtnNn
    • Fixed a crash caused by eqJoin of system tables when using the uuid identifierFormat (#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
    • Fix glibc version detection in RPM packaging script (#6229) -- @gamename
    • Add packages for Ubuntu Yakkety and Zesty (#6364) -- @AtnNn

Official Downloads: https://rethinkdb.com/docs/install/

Assets 2
Jul 12, 2017
RethinkDB 2.3.6-0RC2
Feb 7, 2017
Updating copyright years.
Aug 27, 2016
Merge branch 'v2.3.x' into v2.3.x-windows

@danielmewes danielmewes released this Aug 29, 2016 · 781 commits to next since this release

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 interleave option of the union command,
      which could potentially lead to results being generated in the wrong order (#6041)
    • Fixed a bug in the batch handling of the fold and multi-stream map commands,
      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 the server_status table, even after they had disconnected (#5871)
    • Fixed the detection of non-deterministic conflict functions in the insert command
      (#5842)
    • Improved the Raft election timeout logic to avoid infinite Raft election loops (#6038)
    • Improved the response time when reading from the table_status system table (#4589)
    • The server no longer logs the message
      Rejected a connection from server X since one is already open when trying to connect
      to itself (#5456)
    • Fixed a bug that could cause an Uncaught exception server crash if a TLS-encrypted
      connection was closed during a certain connection stage (#5904)
    • Fixed a bug in merge that could cause r.literal objects to remain after the merge
      and be stored in a table (#5977)
    • On Windows: Fixed a bug in the r.http command 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 make on
      OpenSUSE (#2363)
  • JavaScript driver
    • Fixed the server nonce validation in the connection handshake (#5916)
    • The host argument to connect is now optional (#5846)
  • Java driver
    • Cursors now implement the Closeable interface (#5468)
    • Fixed no-reply queries as run through runNoReply (#5938)
    • Fixed a bug in the reconnect method (#5841)
    • Fixed a memory leak in the Connection object that was caused by the driver not
      properly cleaning up closed cursors (#5980)
  • Python driver
    • The asyncio loop type is now available when using the driver from a Python .egg
      file (#6043)
  • 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.

Assets 2

@danielmewes danielmewes released this Jun 4, 2016 · 781 commits to next since this release

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
    • Fixed a segmentation fault in the orderBy.limit changefeed implementation (#5824)
    • Fixed an incompatibility in the cluster protocol between Windows and Linux / OS X
      servers (#5819)
  • Python driver
    • Fixed various bugs in the connection class for the asyncio event loop (#5795, #5816, #5820)

Contributors

Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.4.

Assets 2
You can’t perform that action at this time.