rethinkdb

The open-source database for the realtime web.

OTHER License

Downloads
59.5K
Stars
26.5K
Committers
185

Bot releases are visible (Hide)

rethinkdb - 1.9.0 -- Kagemusha

Published by mglukhovsky about 11 years ago

See the release announcement

This release is focused on performance and includes enhancements that improve performance of many queries by orders of magnitude.

  • Server
    • Fixed a potential crash caused by a coroutine switch in exception handlers (#153)
    • No longer duplicate documents in the secondary indexes (#752)
    • Removed unnecessary conversions between datum_t and cJSON (#1041)
    • No longer load documents from disk for count queries (#1295)
    • Changed extproc code to use datum_t instead of cJSON_t (#1326)
  • ReQL
    • Use Buffer instead of ArrayBuffer in the JavaScript driver (#1244)
    • orderBy on an index no longer destroys the preceding between (#1333)
    • Fixed error in the python driver caused by multiple threads using lambdas (#1377)
    • Fixed Unicode handling in the Python driver (#1378)
  • Web UI
    • No longer truncate server names (#1313)
  • CLI
    • rethinkdb import now works with Python 2.6 (#1349)
rethinkdb - 1.8.1 -- High Noon

Published by AtnNn about 11 years ago

Bug fix update.

  • The shard suggester now works with times (#1335)
  • The Python backup scripts no longer rely on pip show (#1331)
  • rethinkdb help no longer uses a pager (#1315, #1308)
  • The web UI now correctly positions SVGRectElement (#1314)
  • Fixed a bug that caused a crash when using filter with a non-deterministic value (#1299)
rethinkdb - 1.8.0 -- High Noon

Published by AtnNn about 11 years ago

See the release announcement

This release introduces date and time support, a new syntax for querying nested objects and 8x improvement in disk usage.

New Features

  • ReQL
    • order_by now accepts a function as an argument and can efficiently sort by index (#159, #1120, #1258)
    • slice and between are now half-open by default (#869)
      • The behaviour can be changed by setting the new optional right_bound argument to closed
        or by setting left_bound to open
    • contains can now be passed a predicate (#870)
    • merge is now deep by default (#872)
      • Introduced literal to merge flat values
    • coerce_to can now convert strings to numbers (#877)
    • Added support for times (#977)
      • +, -, <, <=, >, >=, == and !=: arithmetic and comparison
      • during: match a time with an interval
      • in_timezone: change the timezone offset
      • date, time_of_day, timezone, year, month, day, weekday, hour, minute and second: accessors
      • time, epoch_time and iso8601: constructors
      • monday to sunday and january to december: constants
      • now: current time
      • to_iso8601, to_epoch_time: conversion
    • Add the nested document syntax to functions other than pluck (#1094)
      • without, group_by, with_fields and has_fields
    • Remove Google Closure from the JavaScript driver (#1194)
      • It now depends on the protobufjs and node-protobuf libraries
  • Server
    • Added a --canonical-address HOST[:PORT] command line option for connecting RethinkDB nodes across different networks (#486)
      • Two instances behind proxies can now be configured to connect to each other
    • Optimize space efficiency by allowing smaller block sizes (#939)
    • Added a --no-direct-io startup flag that turns off direct IO (#1051)
    • Rewrote the extproc code, making r.js interuptible and fixing many crashes (#1097, #1106)
    • Added support for V8 >= 3.19 (#1195)
    • Clear blobs when they are unused (#1286)
  • Web UI
    • Use relative paths (#1053)
  • Build
    • Add support for Emacs' flymake-mode (#1161)

Fixed Bugs

  • ReQL
    • Check the type of the callback passed to next and each in the JavaScript driver (#656)
    • Fixed how some backtraces are printed in the JavaScript driver (#973)
    • Coerce the port argument to a number in the Python driver (#1017)
    • Functions that are polymorphic on objects and sequences now only recurse one level deep (#1045)
      • Affects pluck, has_fields, with_fields, etc
    • In the JavaScript driver, no longer fail when requiring the module twice (#1047)
    • r.union now returns a stream when given two streams (#1081)
    • r.db can now be chained with do in the JavaScript driver (#1082)
    • Improve the error message when combining for_each and return_vals (#1104)
    • Fixed a bug causing the JavaScript driver to overflow the stack when given an object with circular references (#1133)
    • Don't leak internal functions in the JavaScript driver (#1164)
    • Fix the qurey printing in the Python driver (#1178)
    • Correctly depend on node >= 0.10 in the JavaScript driver (#1197)
  • Server
    • Improved the error message when there is a version mismatch in data files (#521)
    • The --no-http-admin option now disables the check for the web assets folder (#1092)
    • No longer compile JavaScript expressions once per row (#1105)
    • Fixed a crash in the 32-bit version caused by not using 64-bit file offsets (#1129)
    • Fixed a crash caused by malformed json documents (#1132)
    • Fixed a crash caused by moving func_t betweek threads (#1157)
    • Improved the scheduling the coroutines that sometimes caused heartbeat timeouts (#1169)
    • Fixed conflict_resolving_diskmgr_t to suport files over 1TB (#1170)
    • Fixed a crash caused by disconnecting too fast (#1182)
    • Fixed the error message when js_runner_t::call times out (#1218)
    • Fixed a crash caused by serializing unintitialised values (#1219)
    • Fixed a bug that caused an assertion failure in protob_server_t (#1220)
    • Fixed a bug causing too many file descriptors to be open (#1225)
    • Fixed memory leaks reported by valgrind (#1233)
    • Fixed a crash triggered by the BTreeSindex test (#1237)
    • Fixed some problems with import performance, interruption, parsing, and error reporting (#1252)
    • RethinkDB proxy no longer crashes when interacting with the Web UI (#1276)
  • Tests
    • Fixed the connectivity tests for OS X (#613)
    • Fix the python connection tests (#1110)
  • Web UI
    • Provide a less scary error message when a request times out (#1074)
    • Provide proper suggestions in the presence of comments in the Data Explorer (#1214)
    • The More data link in the data explorer now works consistently (#1222)
  • Documentation
    • Improved the documentaiton for update and pluck (#1141)
  • Build
    • Fixed bugs that caused make to not rebuild certain files or build files it should not (#1162, #1215, #1216, #1229, #1230, #1272)
rethinkdb - 1.7.3 -- Nights of Cabiria

Published by AtnNn over 11 years ago

Bug fix update.

  • RethinkDB no longer fails to create the data directory when using --daemon (#1191)
rethinkdb - 1.7.2 -- Nights of Cabiria

Published by AtnNn over 11 years ago

Bug fix update.

  • Fixed wire_func_t serialization that caused inserts to fail (#1155)
  • Fixed a bug in the JavaScript driver that caused asynchronous connections to fail (#1150)
  • Removed nice_crash and nice_guarantee to improve error messages and logging (#1144)
  • rethinkdb import now warns when unexpected files are found (#1143)
  • rethinkdb import now correctly imports nested objects (#1142)
  • Fixed the connection timeout in the JavaScript driver (#1140)
  • Fixed r.without (#1139)
  • Add a warning to rethinkdb dump about indexes and cluster config (#1137)
  • Fixed the debian/rules makefile to properly build the rethinkdb-dbg package (#1130)
  • Allow multiple instances with different port offsets in the init script (#1126)
  • Fixed make install to not use /dev/stdin (#1125)
  • Added missing files to the OS X uninstall script (#1123)
  • Fixed the documentation for insert with the returnVals flag in JavaScript (#1122)
  • No longer cache index.html in the web UI (#1117)
  • The init script now waits for rethinkdb to stop before restarting (#1115)
  • rethinkdb porcelain now removes the new directory if it fails (#1070)
  • Added cooperative locking to the rethinkdb data directory to detect conflicts earlier (#1109)
  • Improved the comments in the sample configuration file (#1078)
  • Config file parsing now allows options that apply to other modes of rethinkdb (#1077)
  • The init script now creates folders with the correct permissions (#1069)
  • Client drivers now time out if the connection handshake takes too long (#1033)
rethinkdb - 1.7.1 -- Nights of Cabiria

Published by AtnNn over 11 years ago

Bug fix update.

  • Fixed a bug causing rethinkdb import to crash on single files
  • Added options to rethinkdb import for custom CSV separators and no headers (#1112)
rethinkdb - 1.7.0 -- Nights of Cabiria

Published by AtnNn over 11 years ago

See the release announcement

This release introduces hot backup, atomic set and get operations, significant insert performance improvements, nested document syntax, and native binaries for CentOS / RHEL.

New Features

  • ReQL
    • Added r.json for parsing JSON strings server-side (#887)
    • Added syntax to pluck to access nested documents (#889)
    • get_all now takes a variable number of arguments (#915)
    • Added atomic set and get operations (#976)
      • update, insert, delete and replace now take an optional return_vals argument that returns the values that have been atomically modified
    • Renamed getattr to get_field and make it polymorphic on arrays (#993)
    • Drivers now use faster protobuf libraries when possible (#1027, #1026, #1025)
    • Drivers now use r.json to improve the performance of inserts (#1085)
    • Improved the behaviour of pluck (#1095)
      • A field with a non-pluckable value is considered absent
  • Web UI
    • It is now possible to resolve auth_key conflicts via the web UI (#1028)
    • The web UI now uses relative paths (#1053)
  • Server
    • Flushes to disk less often to improve performance without affecting durability (#520)
  • CLI
    • Import and export JSON and CSV files (#193)
      • Four new subcommands: rethinkdb import, rethinkdb export, rethinkdb dump and rethinkdb restore
    • rethinkdb admin no longer requires the --join option (#1052)
      • It now connects to localhost:29015 by default
  • Documentation
    • Documented durability settings correctly (#1008)
    • Improved instructions for migration (#1013)
    • Documented the allowed character names for tables (#1039)
  • Packaging
    • RPMs for CentOS (#268)

Fixed Bugs

  • ReQL
    • Fixed the behaviour of between with null and secondary indexes (#1001)
  • Web UI
    • Moved to using a patched Bootstrap, Handlebars.js 1.0.0 and LESS 1.4.0 (#954)
    • Fixed bug causing nested arrays to be shown as {...} in the Data Explorer (#1038)
    • Inline comments are now parsed correctly in the Data Explorer (#1060)
    • Properly remove event listeners from the dashboard view (#1044)
  • Server
    • Fixed a crash caused by shutting down the server during secondary index creation (#1056)
    • Fixed a potential btree corruption bug (#986)
  • Tests
    • ReQL tests no longer leave zombie processes (#1055)
rethinkdb - RethinkDB 1.5.0 (The Graduate)

Published by AtnNn over 11 years ago

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 optional timeout 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
  • CLI
    • #566: In the admin CLI, ls tables --long now includes a durability column
  • 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
    • #469: Added an info command that provides information on any ReQL value (useful for retreiving the primary key)
    • #604: Allow iterating over result arrays as if they were cursors in the JavaScript client
    • #670: Added a soft durability option to table_create
  • 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 to all
    • 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
  • 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 and cache_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 and tableList to drivers
    • Fix #125: Grouped reductions now return a stream, not an array
    • Fix #370: map after dbList and tableList 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 a MAKE_OBJ protobuf and a literal R_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
  • Testing
    • Fix #653: make test now works on OS X
  • Build
    • Fix #475: Added a workaround to avoid make -j2 segfaulting when building on older versions of make
    • 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 and ccache
    • Fix #717: Fixed ./configure --fetch-protobuf
  • Migration
    • Fix #782: Improved speed in migration script

Other

rethinkdb - RethinkDB 1.5.1 (The Graduate)

Published by AtnNn over 11 years ago

Bug fix update.

Changes

  • Fix a build error
  • Fix #816: Table view in the data explorer is no longer broken
rethinkdb - RethinkDB 1.5.2 (The Graduate)

Published by AtnNn over 11 years ago

Bug fix update.

Changes

  • Fix #844: Compilation error when using ./configure --fetch protobuf resolved
  • Fix #840: Using .run in the data explorer gives a more helpful error message
  • Fix #817: Fix a crash caused by adding a secondary index while under load
  • Fix #831: Some invalid queries no longer cause a crash
rethinkdb - RethinkDB 1.6.1 (Fargo)

Published by AtnNn over 11 years ago

Released on 2013-06-19

Critical Security Fixes

  • Fixed a buffer overflow in the networking code
  • Fixed a possible timing attack on the API key

Other Changes

  • In python, r.table_list() no longer throws an error (#1005)
  • Fixed compilation failures with clang 3.2 (#1006)
  • Fixed compilation failures with gcc 4.4 (#1011)
  • Fixed problems with resolving a conflicted auth_key (#1024)
rethinkdb - RethinkDB 1.6.0 (Fargo)

Published by AtnNn over 11 years ago

Released on 2013-06-13

This release introduces basic access control, regular expression matching, new array operations, random sampling, better error handling, and many bug fixes.

New Features

  • ReQL
    • Added access control with a single, common API key (#266)
    • Improved handshake to the client driver protocol (#978)
    • Added sample command for random sampling of sequences (#861, #182)
    • Secondary indexes can be queried with boolean values (#854)
    • Added onFinished callback to each in JavaScript to improve cursors (#443)
    • Added per-command durability settings (#890)
      • Changed hard_durability=True to durability = 'soft' | 'hard'
      • Added a durability option to run
    • Added with_fields command, and pluck no longer throws on missing attributes (#886)
    • Renamed contains to has_fields (#885)
      • has_fields runs on tables, objects, and arrays, and doesn't throw on missing attributes
      • contains now checks if an element is in an array
    • Added default command: replaces missing fields with a default value (#884)
    • Added new array operations (#868, #198, #341)
      • prepend: prepends an element to an array
      • append: appends an element to an array
      • insert_at: inserts an element at the specified index
      • splice_at: splices a list into another list at the specified index
      • delete_at: deletes the element at the specified index
      • change_at: changes the element at the specified index to the specified value
      • + operator: adds two arrays -- returns the ordered union
      • * operator: repeats an array n times
      • difference: removes all instances of specified elements from an array
      • count: returns the number of elements in an array
      • indexes_of: returns positions of elements that match the specified value in an array
      • is_empty: check if an array or table is empty
      • set_insert: adds an element to a set
      • set_intersection: finds the intersection of two sets
      • set_union: returns the union of two sets
      • set_difference: returns the difference of two sets
    • Added match command for regular expression matching (#867)
    • Added keys command that returns the fields of an object (#181)
  • Web UI
    • Document fields are now sorted in alphabetical order in the table view (#832)
  • CLI
    • Added -v flag as an alias for --version (#839)
    • Added --io-threads flag to allow limiting the amount of concurrent I/O operations (#928)
  • Build system
    • Allow building the documentation with Python 3 (#826, #815)
    • Have make build the Ruby and Python drivers (#923)

Fixed Bugs

  • Server
    • Fixed a crash caused by resharding during secondary index creation (#852)
    • Fixed style problems: code hygiene (#805)
    • Server code cleanup (#920, #924)
    • Properly check permissions for writing the pid file (#916)
  • ReQL
    • Use the correct function name in backtraces (#995)
    • Fixed callback issues in the JavaScript driver (#846)
    • In JavaScript, call the callback when the connection is closed (#758)
    • In JavaScript, GETATTR now checks the argument count (#992)
    • Tweaked the CoffeeScript source to work with older versions of coffee and node (#963)
    • Fixed a typo in the error handling of the JavaScript driver (#961)
    • Fixed performance regression for pluck and without (#947)
    • Make sure callbacks get cleared in the Javascript driver (#942)
    • Improved errors when return is omitted in Javascript (#914)
  • Web UI
    • Correctly distinguish case sensitive table names (#822)
    • No longer display some results as { ... } in the table view (#937)
    • Ensured tables are available before listing their indexes (#926)
    • Fixed the autocompletion for opening square brackets (#917)
  • Tests
    • Modified the polyglot test framework to catch more possible errors (#724)
    • Polyglot tests can now run in debug mode (#614)
  • Build
    • Look for libprotobuf in the correct path (#860, #853)
    • Always fetch and use the same version of Handlebars.js (#821, #819, #958)
    • Check for versions of LESS that are known to work (#956)
    • Removed bitrotted MOCK_CACHE_CHECK option (#804)
Package Rankings
Top 33.45% on Pypi.org
Top 3.72% on Proxy.golang.org
Top 0.61% on Npmjs.org
Top 1.57% on Rubygems.org
Badges
Extracted from project README
CII Best Practices Codacy Badge