github rethinkdb/rethinkdb v1.14.0
1.14.0 — Brazil

latest releases: v2.4.4, v2.4.3, v2.4.2...
9 years ago

The highlights of this release are:

  • Support for storing binary data
  • Seamless database migration
  • Support for Python 3

See the release announcement for more details.

Compatibility

Backwards-compatible changes

Data files from RethinkDB versions 1.13.0 onward will be automatically
migrated to version 1.14.x. As with any major release, back up your data files
before performing the upgrade. If you are upgrading from a release earlier
than 1.13.0, follow the migration instructions before upgrading:

http://rethinkdb.com/docs/migration/

Secondary indexes now use a new format; old indexes will continue to work, but
you should rebuild indexes after upgrading to 1.14.x. A warning about outdated
indexes will be issued on startup.

Indexes can be migrated to the new format with the rethinkdb index-rebuild
utility. Consult the troubleshooting document for more information:

http://rethinkdb.com/docs/troubleshooting#my-secondary-index-is-outdated

API-breaking changes

The return_vals optional argument for insert, delete and update has
been changed to return_changes, and works with all write operations
(previously, this only worked with single-document writes). The returned
object is in a new format that is backwards-incompatible with previous
versions. Consult the API documentation for these commands for details:

http://rethinkdb.com/api/javascript/insert
http://rethinkdb.com/api/javascript/delete
http://rethinkdb.com/api/javascript/update

The upsert optional argument to insert has been replaced with conflict
and new allowed values of error, replace or update. This is a
backwards-incompatible change. Consult the API documentation for more
information.

New features

  • Server
    • Return old/new values for multi-row write operations (#1382)
    • upsert replaced with conflict argument for insert (#1838)
    • Added binary data type support via binary (#137, #2612, #2931)
    • binary_format="raw" added to run (#2762)
    • Secondary indexes can be renamed with index_rename (#2794)
    • Secondary indexes can be duplicated (#2797)
    • Out of date secondary indexes logged on startup (#2798)
    • r.http can return a binary object (#2806)
  • Python driver
    • Added Python 3 support (#2502)
  • Data Explorer
    • Support for displaying binary types (#2804, #2865)

Improvements

  • Server
    • Server names now default to the hostname of the machine (#236, #2548)
    • distinct is faster and now works on indexes (#1864)
    • Improve secondary index queue handling (#1947)
    • The array limit is now configurable (#2059)
    • Allow initializing an empty directory (#2359)
    • Max number of extprocs raised (#2391, #2584)
    • Argument count errors are prettier (#2568)
    • Better error reporting in r.js (#2748)
    • index_status provides more info (#2791)
  • Command line
    • Table names in the CLI are disambiguated (#2360, #2550)
  • Python driver
    • Cleanup unneeded files (#2610)
    • Documentation examples are now PEP8 compliant (#2534)
  • Testing
    • Polyglot targets for Ruby 1.8, 1.9, 2.0, 2.1 (#773)
    • Multiple versions of Python can be tested simultaneously
  • Web UI
    • Added a notification and helpful message for out-of-date secondary indexes
      (#2799)

Fixed bugs

  • Server
    • --runuser and --rungroup set proper permissions when used with
      rethinkdb create (#1722)
    • Improved behavior and error messages for write acks (#2039)
    • Fix getaddrinfo error handling (#2110)
    • Fix a bug with machine name generation (#2552, #2569)
    • Fix a bug when compiling on GCC 4.7.2 (#2572)
    • Fix memory corruption error (#2589)
    • Fix stream cache error (#2607)
    • Fix linking issue with RE2 (#2685)
    • Miscellaneous build fixes (#2666, #2827)
    • Fix rare conflict bug in cluster config (#2738)
    • Fix variable initialization error (#2741)
    • Fix bug in RPCSemilatticeTest.MetadataExchange (#2758)
    • Changefeeds work on multiple joined servers (#2761)
    • Secondary index functions ignore global optargs (#2767)
    • Secondary indexes sort correctly (#2774, #2789)
    • Fix crashing bug with undefined ordering (#2777)
    • Fix dependency includes in Makefile (#2779)
    • Convert query_params to a map (#2812)
    • Convert header_lines into a map (#2818)
    • Improve robustness with big documents (#2832)
    • Wipe out old secondary index tree when post-constructing (#2925)
    • Preliminary fix for web permission issues on CentOS (#2927)
  • ReQL
    • Fix a bug in delete_at (#2696)
    • insert and splice now check array size limit (#2697)
    • Fix error in undocumented batch_conf option (#2709)
  • Web UI
    • Improve interval notation for shard boundaries (#2081, #2635)
    • The Data Explorer now remembers the current query on disconnects (#2460)
    • The Data Explorer now hides overflowing text in its popup containers
      (#2593)
  • Testing
  • Python driver
    • Make all and any behave like and_ and or_ (#2659)
    • Use os.path.splitext to check file extensions (#2681)
  • JavaScript driver
    • Return errors rather than throw them (#2852, #2883)

Contributors

Many thanks to external contributors from the RethinkDB community for helping
us ship RethinkDB 1.14. In no particular order:

Don't miss a new rethinkdb release

NewReleases is sending notifications on new releases.