Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,131 | Comments: 45,568

filter by tags archive

RavenDB 2.0.3 Stable Release!

time to read 5 min | 859 words

We have just released the next stable build 2330 of RavenDB 2.0. You can find it here. This release contains a lot of bug fixes, improvements, streamlining and some interesting new stuff.

The full change log is actually here, because we found a bug in 2325 (ironically, it was a bug in how it reported its build number).

Breaking Changes:

  • SQL Replication script / configuration change (more below).


  • More debug / visibility endpoints (user info, changes traffic, map/reduce data, etc).
  • Better highlighting support.
  • Spatial Search will sort by distance by default.
  • Better indexing for TimeSpan values.
  • Can do more Parallel Work in Map/Reduce indexes now.


  • Map/Reudce indexes tune themselves automatically.
  • Better Periodic Backup behavior when there is no new writes.
  • Better handling of transactions during documents put with high number of referencing documents.
  • Better use of alerts.
  • Better float support.


  • Better import/export UI.

Bug fixes:

  • Can backup & restore even in the presence of corrupt / missing indexes.
  • LoadDocument with map/reduce indexes cause issues.
  • Allow to change the number of cached requests on the client side without NRE.
  • Fixing Unique Constraints bundle with null unique properties.
  • Forbidden error when running as a non admin user in the studio.
  • Better support for indexing nullable properties with HasValue.
  • Fixed a problem with replication of deleted documents when adding a new node in the topology.
  • Support export / import with versioning bundle.


SQL Replication Breaking Changes

With SQL Replication, it became apparent that we missed a pretty big use case.  Deletions.

Deletions is something that we didn’t handle, and couldn’t handle using the existing format. It was a touch call, but we decided to make a breaking change here.

Now, you need to define all the tables that you’ll be working with (as well as the order we will be writing to them). Assuming that we have a User document, and we want to replicate to Users and UsersGroups tables, we would have:

   1: replicateToUsers({
   2:    Name: this.Name
   3: })
   5: for(var i = 0; i < this.Groups.length; i++) {
   6:   replicateToUsersGroups({
   7:       Group: this.Groups[i]
   8:   });
   9: }

This replaced the sqlReplicate calls. Note that this is a hard breaking reset. When you upgrade, you’ll need to update all of your SQL Replication definitions (but you keep the replication state, you won’t have to start replicating from scratch).



Would be lovely to also have a version that is capable of running on Linux :) (no esent)

Comment preview

Comments have been closed on this topic.


  1. RavenDB Conference 2016–Slides - 4 hours from now
  2. Proposed solution to the low level interview question - about one day from now

There are posts all the way to Jun 02, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series



Main feed Feed Stats
Comments feed   Comments Feed Stats