The open-source database for the realtime web.
OTHER License
Bot releases are visible (Hide)
Fixes for Data Explorer autocomplete, compilation fixes, other small
fixes.
No migration is required when upgrading from RethinkDB 2.4.x. Please read the RethinkDB 2.4.0 release notes if you're upgrading from an older version.
RethinkDB 2.4.x servers cannot be mixed with servers running RethinkDB 2.3.x or earlier in the same cluster.
None.
fstat64
function (#7141)Published by srh over 1 year ago
Windows release, FreeBSD 13 compilation, certificate chain support, no update checker complaint.
Brings some low-key compilation future-proofing.
No migration is required when upgrading from RethinkDB 2.4.x. Please read the RethinkDB 2.4.0 release notes if you're upgrading from an older version.
RethinkDB 2.4.x servers cannot be mixed with servers running RethinkDB 2.3.x or earlier in the same cluster.
None. Some console output is altered, though.
Special thanks are due to Antoni Mróz and unx for getting the Windows release working.
Published by gabor-boros over 2 years ago
Bitrot, futureproofing, and bug fix release.
No migration is required when upgrading from RethinkDB 2.4.x. Please read the
RethinkDB 2.4.0 release notes if you're upgrading from
an older version.
RethinkDB 2.4.x servers cannot be mixed with servers running RethinkDB
2.3.x or earlier in the same cluster.
The r.js
ReQL command now uses QuickJS to run instead of v8. Because RethinkDB's v8 version was old, this will allow you to use newer JavaScript features. However, performance and the results of your JavaScript code may differ.
(Issue numbers point into the https://github.com/rethinkdb/rethinkdb bugtracker. For a completionist list of changes, run git log v2.4.1..v2.4.2
.)
r.http
requests use HTTP/1.1 (#7012). This works aroundr.http
's inability to parse HTTP/2 responses.old_admin
branch (#6979)Many thanks to the following contributors whose patches made it into
the RethinkDB 2.4.2 server release:
And many thanks go to the driver committers, alternative admin console
client developers, bug reporters, and other helpful people who are not
listed here.
Published by gabor-boros about 4 years ago
Bug fix release.
No migration is required when upgrading from RethinkDB 2.4.x. Please read the
RethinkDB 2.4.0 release notes if you're upgrading from
an older version.
RethinkDB 2.4.0 servers cannot be mixed with servers running RethinkDB 2.3.x or earlier in the same cluster.
(Issue numbers point into the https://github.com/rethinkdb/rethinkdb
bugtracker.)
Published by gabor-boros almost 5 years ago
RethinkDB 2.4 introduces write hooks and bitwise operations besides bug fixes.
Read the blog post for more details.
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.
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:
match
command's behavior on empty regexes.(Issue numbers point into the https://github.com/rethinkdb/rethinkdb
bugtracker.)
set_write_hook
and get_write_hook
commands, which attach tobit_and
, bit_not
, bit_or
,bit_sal
, bit_sar
and bit_xor
. (#6534)-
) to be used in table names. (#5537)iso8601
command round, not truncate. (#6909)inserted
guarantee failure. (#6710)r.connect
. (#6575)Published by AtnNn about 7 years ago
Bug fix release
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.
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.
sample
are now bound by the array size limit (#6148) -- @AtnNninterleave
argument to union
(#6139) -- @AtnNneqJoin
of system tables when using the uuid
identifierFormat
(#6108) -- @nighellesr.match('')
to return wrong results (#6241) -- @AtnNnOfficial Downloads: https://rethinkdb.com/docs/install/
Published by danielmewes about 8 years ago
Bug fix release
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.
interleave
option of the union
command,fold
and multi-stream map
commands,connected_to
server_status
table, even after they had disconnected (#5871)insert
commandtable_status
system table (#4589)Rejected a connection from server X since one is already open
when trying to connectUncaught exception
server crash if a TLS-encryptedmerge
that could cause r.literal
objects to remain after the merge
r.http
command that resulted in decoding issues (#5924)make
onhost
argument to connect
is now optional (#5846)Closeable
interface (#5468)runNoReply
(#5938)reconnect
method (#5841)Connection
object that was caused by the driver notasyncio
loop type is now available when using the driver from a Python .eggMany thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.5.
Published by danielmewes over 8 years ago
Bug fix release
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.
orderBy.limit
changefeed implementation (#5824)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.4.
Published by danielmewes over 8 years ago
Bug fix release
RethinkDB 2.3.3 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.
RethinkDB 2.3.0 was the first version to include native Windows compatibility. In
RethinkDB 2.3.3, the Windows port is ready to emerge from "beta" testing. We now
officially support RethinkDB on the Windows platform alongside our existing support for
Linux and Mac OS X. We're also extending our commercial support services
to include RethinkDB on Windows.
Although RethinkDB is now stable on Windows, there are still a few remaining limitations
that we are actively working to address. We also haven't yet carried out as much
performance tuning on the Windows port as we have on the Linux and OS X releases.
orderBy.limit
changefeeds that caused the server to crash withGuarantee failed: [sub_it != real_added.end()]
(#5561)table_status
system table when the cluster is underGuarantee failed: [refcount == 0]
error (#5783)fold
command work on a changefeed stream (#5800)Connection
class is now exported from the RethinkDB JavaScript module (#5758)clientPort
and clientAddress
methods to the Connection
class in theMany thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.3.
Published by danielmewes over 8 years ago
Bug fix release
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.
Guarantee failed: [token.has()]
error when accessingGuarantee failed: [num_subs == 0]
that could occurGuarantee failed: [!pair.first.inner.overlaps(region.inner)]
that could occur when--tls-min-protocol
server option for reducing the minimum required TLSorder_by
with a non-deterministic predicate function--cluster-reconnect-timeout
to control how quicklyinsert
command can now return null
orderBy.limit
ssl
option now supports older Python versions from 2.7 uppython -m rethinkdb
commandrethinkdb dump
script that causedname 'file' is not defined
errors (#5694)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.2. In no particular order:
Published by danielmewes over 8 years ago
Bug fix release
RethinkDB 2.3.1 servers can be mixed with RethinkDB 2.3.0 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.0. Please read the
RethinkDB 2.3.0 release notes if you're upgrading from an
older version.
We now provide packages for Ubuntu 16.04 (Xenial Xerus).
The r.http
command no longer supports fetching data from encrypted https
resources on
OS X 10.7 and 10.8 (#5681). Newer releases of OS X are not affected.
insert
with multiplehostname_to_ips
function that could besquash: true
option on aeqJoin
to freeze the server when chained after a changes
returnChanges: "always"
option of the insert
changes
result (#5366)username
option of the r.connect
command to user
. The username
rethinkdb import
scriptrethinkdb restore
script (#5647)getNext
(#5603)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3.1. In no particular order:
Published by danielmewes over 8 years ago
RethinkDB 2.3 introduces a users and permissions system, TLS encrypted connections, a
Windows beta, and numerous improvements to the ReQL query language. ReQL improvements
include up to 10x better performance for distributed joins, and a new fold
command that
allows you to implement efficient stateful transformations on streams.
Read the blog post for more details.
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.
If you're upgrading from RethinkDB 1.15.x or earlier, please read the
data migration guide to find out about the required migration steps.
RethinkDB 2.3.0 servers cannot be mixed with servers running RethinkDB 2.2.x or earlier
in the same cluster.
If you migrate a cluster from a previous version of RethinkDB and have an auth_key
set,
the auth_key
is turned into the password for the "admin"
user. If no auth_key
is
set, a new "admin"
user with an empty password is automatically created during
migration.
RethinkDB 2.3 adds a new restriction when adding a server to an existing cluster. If
the existing cluster has a non-empty password set for the "admin"
user, a new server
is only allowed to join the cluster if it has a password set as well. This is to avoid
insecure states during the join process. You can use the new --initial-password auto
command line option for joining a new server or proxy to a password-protected cluster.
The --initial-password auto
option assigns a random "admin"
password on startup,
which gets overwritten by the previously configured password on the cluster once the join
process is complete.
eqJoin
command no longer returns results in the order of its first input. You can{ordered: true}
option to restore the previous behavior..distinct()
command inorderBy(...).limit(...).filter(...)
are no longerr.wait
, r.rebalance
and r.reconfigure
can no longer be called on ther
scope. Previously, these commands defaulted to the "test"
databaser.db("test").wait()
, r.db("test").rebalance()
, etc.{returnChanges: "always"}
option with the insert
command will now add{error: "..."}
documents to the changes
array if the insert fails for somechanges
result.r.minval
and r.maxval
are no longer permitted as return valueseach
function is deprecated in favor of eachAsync
. In aeach
will be turned into an alias of eachAsync
. We recommend.each(function(err, row) {})
into theeachAsync
equivalent .eachAsync(function(row) {}, function(err) {})
.eachAsync
in the documentation.auth_key
option to connect
in the official drivers is deprecated in favor ofuser
and password
options. For now, a provided auth_key
value is mapped"admin"
user, so existing code will keepWe no longer provide packages for the Debian oldstable distribution 7.x (Wheezy).
When compiling from source, the minimum required GCC version is now 4.7.4.
"users"
system table. Permissions can be configured through"permissions"
system table or through the grant
command. (#4519)fold
command to allow stateful transformations on ordered streams. (#3736)getIntersecting
queries. (#4777)--bind
option can now be specified separately for the web UI (--bind-http
),--bind-driver
) and cluster port (--bind-cluster
). (#5467)"non_transitive_error"
issue in the "current_issues"
system table when detecting"server_status"
system table now contains information onconnected_to
field. (#4936)"memory_error"
issue type for the "current_issues"
system table that--join-delay
option to better tolerate unstable network conditions--initial-password
command line option to secure the process of adding newinterleave
option to the union
command to allow merging streams in ainsert
command.insert
command now returns changes in the same order in which they were passedreturnChanges
option is used. (#5041)includeOffsets
option to the changes
command to obtain the positionsorderBy.limit
changefeeds. (#5334)includeTypes
option to the changes
command that adds a type
field togetIntersecting
andgetNearest
now return duplicates if multiple index keys match. (#3351)and
, or
and getAll
commands can now be called with zero arguments.r.wait
, r.rebalance
and r.reconfigure
on the global scope tocount
and slice
commands can now be applied to strings. (#4227, #4228)reconfigure
if too many servers are unreachable.eqJoin
command.tableCreate
to complete more quickly. (#4746)conn.server()
command for getting information about theuser
and password
options to theconnect
method to enable user authentication. (#5458, #5459, #5460, #5461)clientPort
and clientAddress
functions to the connection objects in thecursor.eachAsync
function. (#5056)concurrency
option for cursor.eachAsync
. (#5529)r.min
, r.max
, r.sum
, r.avg
and r.distinct
now accept an array argument"gevent"
loop type to the Python driver. (#4433)tar
for the rethinkdb restore
and rethinkdb dump
--tls-cert
option to the rethinkdb import
, rethinkdb export
,rethinkdb dump
, rethinkdb restore
and rethinkdb index-rebuild
commands to enable--password
and --password-file
options to the rethinkdb import
,rethinkdb export
, rethinkdb dump
, rethinkdb restore
andrethinkdb index-rebuild
commands to connect to password-protected servers. (#5464)--format ndjson
option to rethinkdb export
that allows exporting tablesrethinkdb dump
rethinkdb restore
and rethinkdb import
able to write tor.min
, r.max
, r.sum
, r.avg
and r.distinct
now accept an array argument[cmp != 0]
when querying with r.minval
orr.maxval
values inside of an array. (#5542)"db_config"
system table. (#4465)Guarantee failed: [!pair.first.inner.overlaps(region.inner)]
when rebalancing ajobs
system table even afterorderBy(...).limit(...).filter(...)
,cursor.close
when there are remaining items in the buffer.__str__
function of cursor objects. (#5567)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.3. In no particular order:
Published by danielmewes over 8 years ago
Bug fix release
Warning: Due to a bug (#5570), RethinkDB 2.2.6 fails to migrate data directories from RethinkDB 2.0.x or earlier. Please use RethinkDB 2.2.5 for migrating your data, and then upgrade to RethinkDB 2.2.5 in a second step.
RethinkDB 2.2.6 servers cannot be mixed with servers running RethinkDB 2.2.1 or earlier
in the same cluster.
No migration is required when upgrading from RethinkDB 2.2.0 or higher. Please read the
RethinkDB 2.2.0 release notes if you're upgrading from an
older version.
SANITY CHECK FAILED: [d.has()]
error when using the map
command onconn.server()
now includes a proxy
field (#5485)backports.ssl_match_hostname
module (#5470)cursor.close()
call (#5448)Closeable
interface (#5468)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.2.6. In no particular order:
Published by danielmewes over 8 years ago
Bug fix release
RethinkDB 2.2.5 servers cannot be mixed with servers running RethinkDB 2.2.1 or earlier
in the same cluster.
No migration is required when upgrading from RethinkDB 2.2.0 or higher. Please read the
RethinkDB 2.2.0 release notes if you're upgrading from an
older version.
orderBy
queries on secondary indexes (#5280)isFeed()
function in the Java driver (#5390, #5400)r.now
command now performs arity checking correctly (#5405)unit.ClusteringBranch
test (#5182)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.2.5. In no particular order:
Published by danielmewes over 8 years ago
This bug fix release addresses a critical bug in RethinkDB's clustering system,
that can lead to data loss and invalid query results under certain rare
circumstances. The bug can appear if a table is reconfigured during a network
partition (read more in GitHub issue #5289).
We recommend upgrading to this release as soon as possible to avoid data loss.
If you see replicas get stuck in the transitioning
state during a reconfiguration
after upgrading, you can run .reconfigure({emergencyRepair: '_debug_recommit'})
on the table to allow the reconfiguration to complete. Please make sure that the
cluster is idle when running this operation, as RethinkDB does not guarantee
consistency during the emergency repair.
RethinkDB 2.2.4 servers cannot be mixed with servers running RethinkDB 2.2.1 or earlier
in the same cluster.
No migration is required when upgrading from RethinkDB 2.2.0 or higher. Please read the
RethinkDB 2.2.0 release notes if you're upgrading from an
older version.
stats
system table (#5327)map
, filter
and related commands (#5241)addr2line
tool is not installed (#5321)rethinkdb import
script with Python 2.6 (#5294)Published by danielmewes over 8 years ago
Legacy bug fix release
This release maintains full compatibility with RethinkDB 2.1.5, while fixing a
critical bug in RethinkDB's clustering system.
We recommend installing this version only if upgrading to RethinkDB 2.2.4 is not
an option, for example if you depend on a driver that still uses the old protocol buffer
client protocol.
Published by danielmewes almost 9 years ago
Bug fix release
RethinkDB 2.2.3 servers cannot be mixed with servers running RethinkDB 2.2.1 or earlier
in the same cluster.
No migration is required when upgrading from RethinkDB 2.2.0 or higher. Please read the
RethinkDB 2.2.0 release notes if you're upgrading from an
older version.
Guarantee failed: [env.has()]
(#5238)r.http
when using pagination (#5256)orderBy.limit
changefeeds prevent other changefeeds on the sameObject#timeout
function in the Ruby driver (#5232)Published by danielmewes almost 9 years ago
Bug fix release
RethinkDB 2.2.2 servers cannot be mixed with servers running RethinkDB 2.2.1 or earlier
in the same cluster. The protocol change was necessary to address correctness issues in
the changefeed implementation.
No migration is required when upgrading from RethinkDB 2.2.0 or higher. Please read the
RethinkDB 2.2.0 release notes if you're upgrading from an
older version.
include_initial
changefeeds to miss changes (#5216)include_initial
changefeeds to stall and never reach the"ready"
state (#5157)include_initial
changefeeds to emit unexpected initialnull
value (#5153)skip
in combination with limit
(#5155)ReQLCompileError
in the JavaScript driver (#4803)rethinkdb restore
now waits for tables to be available (#5154)Published by danielmewes almost 9 years ago
Bug fix release
RethinkDB 2.2.1 is fully compatible with RethinkDB 2.2.0. Please read the RethinkDB 2.2.0 release notes if you're upgrading from an older version.
getAll
queries (#5085)rethinkdb export
and rethinkdb dump
now limit the number of subprocesses toorderBy.limit
changefeeds (#5081)getAll
with illegal keys (#5086)r.uuid
is now considered a deterministic operation if it is passed a singleasyncio
Published by danielmewes almost 9 years ago
RethinkDB 2.2 introduces atomic changefeeds. Atomic changefeeds include existing values
from the database into the changefeed result, and then atomically transition to streaming
updates.
Atomic changefeeds make building realtime apps dramatically easier: you can use
a single code path to populate your application with initial data, and continue receiving
realtime data updates.
This release also includes numerous performance and scalability improvements designed to
help RethinkDB clusters scale to larger sizes while using fewer resources.
Read the blog post for more details.
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.
If you're upgrading from RethinkDB 1.14.x or 1.15.x, you need to migrate your secondary
indexes first. You can do this by following these steps:
sudo pip install 'rethinkdb<2.1.0'
).rethinkdb index-rebuild
.Afterwards, you can install RethinkDB 2.2 and start it on the existing data files.
If you're upgrading directly from RethinkDB 1.13 or earlier, you will need to manually
upgrade using rethinkdb dump
.
.orderBy.limit
as well as .get
queries previously providedincludeInitial: true
to .changes
to achieve the same behavior.ReqlDriverError
exceptions now throwReqlCompileError
exceptions. See #4669 for a full list of changes.RethinkDB 2.2.0 now comes with official packages for Ubuntu 15.10 (Wily Werewolf) and
CentOS 7.
We no longer provide packages for Ubuntu 10.04 (Lucid Lynx), which has reached end of
life.
include_initial
optarg (#3579)values
command to obtain the values of an object as an array (#2945)conn.server
command to identify the server for a given connection (#3934)r.uuid
to accept a string and work as a hash function (#4636)between
queries on secondary indexes (#4862)getAll
with a secondary index in some edge casesraft_leader
field to a table's status to expose its current Raft leader'logs'
system table more robust (#4929)indexStatus
now exposes the secondary index function (#3231)changefeed_queue_size
to specify how many changes the serverbranch
to accept an arbitrary number of conditions and values (#3199)coerceTo('BOOL')
consistent with branch
(#3133)filter
and map
queries involving geospatial terms are now allowedor
and and
to accept zero arguments (#4132)ReqlCompileError
ratherReqlDriverError
for certain errors (#4669)eachAsync
method on cursors that behaves like each
but also returns a--server-name
parameter in rethinkdb --help
(#4739)'jobs'
table (#4923)getIntersecting
queries (#4937)r.minval
and r.maxval
values when writing to the'_debug_scratch'
system table (#4032)r.asc("test")
to not fail as it should (#4951)toString
are now properly quoted (#4997)Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 2.2. In no particular order: