This release introduces secondary indexes, stability and performance enhancements and many bug fixes.
New Features
- Server
- #69: Bad JavaScript snippets can no longer hang the server
r.js
now takes an optionaltimeout
argument
- #88: Added secondary and compound indexes
- #165: Backtraces on OS X
- #207: Added soft durability option
- #311: Added daemon mode (via --daemon)
- #423: Allow logging to a specific file (via --log-file)
- #457: Significant performance improvement for batched inserts
- #496: Links against libc++ on OS X
- #672: Replaced environment checkpoints with shared pointers in the ReQL layer, reducing the memory footprint
- #715: Adds support for noreply writes
- #69: Bad JavaScript snippets can no longer hang the server
- CLI
- #566: In the admin CLI,
ls tables --long
now includes adurability
column
- #566: In the admin CLI,
- Web UI
- #331: Improved data explorer indentation and brace pairing
- #355: Checks for new versions of RethinkDB from the admin UI
- #395: Auto-completes databases and tables names in the data explorer
- #514: Rewrote and improved the documentation generator
- #569: Added toggle for Data Explorer brace pairing
- #572: Changed button styles in the Data Explorer
- #707: Two step confirmation added to the delete database button
- ReQL
- Testing
- #480: Run tests on Travis-CI
- #517: Improved the integration tests
- #587: Validate API documentation examples
- #669: Added color to
make test
output
Fixed bugs
- Server
- Fix #403: Serialization of
perfmon_result_t
is no longer 32-bit/64-bit dependent - Fix #505: Reduced memory consumption to avoid failure on read query "tcmalloc: allocation failed"
- Fix #510: Make bind to
0.0.0.0
be equivalent toall
- Fix #639: Fixed bug where 100% cpu utilization was reported on OSX
- Fix #645: Fixed server crash when updating replicas / acks
- Fix #665: Fixed queries across shards that would trigger
Assertion failed: [!br.point_replaces.empty()] in src/rdb_protocol/protocol.cc
- Fix #750: Resolved intermittent RPCSemilatticeTest.MetadataExchange failure
- Fix #757: Fixed a crashing bug in the environment checkpointing code
- Fix #796: Crash when running batched writes to a sharded table in debug mode
- Fix #403: Serialization of
- Documentation
- Fix #387: Documented the command line option --web-static-directory (custom location for web assets)
- Fix #503: Updated outdated useOutdated documentation
- Fix #563: Fixed documentation for
typeof()
- Fix #610: Documented optional arguments for
table_create
:datacenter
andcache_size
- Fix #631: Fixed missing parameters in documentation for
reduce
- Fix #651: Updated comments in protobuf file to reflect current spec
- Fix #679: Fixed incorrect examples in protobuf spec
- Fix #691: Fixed faulty example for
zip
in API documentation
- Web UI
- Fix #529: Suggestion arrow no longer goes out of bounds
- Fix #583: Improved Data Explorer suggestions for
table
- Fix #584: Improved Data Explorer suggestion style and content
- Fix #623: Improved margins on modals
- Fix #629: Updated buttons and button styles on the Tables View (and throughout the UI)
- Fix #662: Command key no longer deletes text selection in Data Explorer
- Fix #725: Improved documentation in the Data Explorer
- Fix #790: False values in a document no longer show up as blank in the tree view
- ReQL
- Fix #46: Added top-level
tableCreate
,tableDrop
andtableList
to drivers - Fix #125: Grouped reductions now return a stream, not an array
- Fix #370:
map
afterdbList
andtableList
no longer errors - Fix #421: Return values from mutation operations now include all attributes, even if zero (
inserted
,deleted
,skipped
,replaced
,unchanged
,errors
) - Fix #525: Improved error for
groupBy
- Fix #527: Numbers that can be represented as integers are returned as native integers
- Fix #603: Check the number of arguments correctly in the JavaScript client
- Fix #632: Keys of objects are no longer magically converted to strings in the drivers
- Fix #640: Clients handle system interrupts better
- Fix #642: Ruby client no longer has a bad error message when queries are run on a closed connection
- Fix #650: Python driver successfully sends
STOP
query when the connection is closed - Fix #663: Undefined values are handled correctly in JavaScript objects
- Fix #678:
limit
no longer automatically converts streams to arrays - Fix #689: Python driver no longer hardcodes the default database
- Fix #704:
typeOf
is no longer broken in JavaScript driver - Fix #730: Ruby driver no longer accepts spurious methods
- Fix #733:
groupBy
can now handle both aMAKE_OBJ
protobuf and a literalR_OBJECT
datum protobuf - Fix #767: Server now detects
NaN
in all cases - Fix #777: Ruby driver no longer occasionally truncates messages
- Fix #779: Server now rejects strings that contain a null byte
- Fix #789: Style improvements in Ruby driver
- Fix #799: Python driver handles
use_outdated
when specified as a global option argument
- Fix #46: Added top-level
- Testing
- Fix #653:
make test
now works on OS X
- Fix #653:
- Build
- Fix #475: Added a workaround to avoid
make -j2
segfaulting when building on older versions ofmake
- Fix #541:
make clean
is more aggressive - Fix #630: Removed cruft from the RethinkDB source tree
- Fix #635: Building fails quickly with troublesome versions of
coffee-script
- Fix #694: Improved warnings when building with
clang
andccache
- Fix #717: Fixed
./configure --fetch-protobuf
- Fix #475: Added a workaround to avoid
- Migration
- Fix #782: Improved speed in migration script
Other
- #508: Removed the JavaScript mock server
- All closed issues between 1.4.5 and 1.5.0