github rethinkdb/rethinkdb v1.15.0
1.15.0 — Lawrence of Arabia

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

The highlights of this release are support for geospatial objects and queries,
and significant performance upgrades relating to datum serialization (twice as
fast for many analytical workloads). Read the release blog post
for more details.

Only documents modified after upgrading to 1.15 will receive these performance
gains. You may "upgrade" older documents by performing any write that modifies
their contents. For example, you could add a dummy field to all the documents in
a table and then remove it:

r.table('tablename').update({dummy_field: true})
r.table('tablename').replace(r.row.without('dummy_field'))

There are no API-breaking changes in this release.

New features

  • ReQL
    • Added geospatial query and index support (#2571, #2847, #2851, #2854, #2859,
      #3003, #3011)
    • Added r.uuid for generating unique IDs (#2063)
    • Added a BRACKET term to the query language, to improve the bracket
      operator in client drivers (#1179)

Improvements

  • Server
    • Significantly improved performance of read operations by lazily
      deserializing data: ~1.15x faster for simple queries, ~2x faster for many
      analytical queries, and ~50x for count queries (#1915, #2244, #2652)
    • Removed the option for datum_t to be uninitialized (#2985)
    • Improved the performance of zip by replacing the zip_datum_stream_t type
      with a transformer function (#2654)
    • Clarified error messages when the data in the selection could not be printed
      (#972)
    • Improved performance of r.match by adding regex caching and a framework
      for generic query-based caches (#2196)
  • Testing
    • Removed unnecessary files from test/common (#2829)
    • Changed all tests to run with --cache-size parameter (#2816)
  • Python driver
    • Modified r.row to provide an error message on an attempt to call it like a
      function (#2960)
  • JavaScript driver
    • Errors thrown by the driver now have a stack trace (#3087)

Fixed bugs

  • ReQL
    • Fixed a bug for r.literal corner cases (#2710)
    • Improved error message when r.literal is used in an invalid context
      (#1600)
  • Web UI
    • Fixed a bug that caused selection in the query text area to become
      unresponsive with large queries (#3043)
    • Fixed a bug that caused "more data is available" to be displayed incorrectly
      in certain cases (#3037)
  • Server
    • Fixed a display bug with log entries in the web UI (#2627)
    • Fixed a bug where Makefile miscounted dependencies when ql2.proto was
      changed (#2965)
    • Fixed a bug where the connection authorization key was improperly encoded
      (#2952)
    • Fixed an uninitialized variable warning during builds (#2977)
  • Testing
  • JavaScript driver
    • Fixed a bug in the JavaScript driver that caused backtraces to not print
      properly (#2793)
  • Python driver
    • Replaced or isinstance with a tuple of types (#2968)
    • Removed unused kwarg assignments (#2969)
  • Ruby driver
    • Fixed a bug where default_db, host and port were not exposed in the
      Connection object (#2849)

Contributors

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

Don't miss a new rethinkdb release

NewReleases is sending notifications on new releases.