diff --git a/META b/META
index 3604a32cd9f2e6dd0291f47249e89ed721bb85ba..67be62b596dab043ff655e7180c44b9f67e261a0 100644
--- a/META
+++ b/META
@@ -8,15 +8,15 @@
   Meta:		1
   Name:		slurm
   Major:	2
-  Minor:	0
+  Minor:	1
   Micro:        0
-  Version:	2.0.0
-  Release:	1
+  Version:	2.1.0
+  Release:	0.pre0
 ##
 #  When changing API_CURRENT update src/common/slurm_protocol_common.h
 #  with a new SLURM_PROTOCOL_VERSION signifing the old one and the version 
 #  it was so the slurmdbd can continue to send the old protocol version.
 ##
-  API_CURRENT:	20
+  API_CURRENT:	21
   API_AGE:	0
   API_REVISION:	0
diff --git a/auxdir/slurm.m4 b/auxdir/slurm.m4
index cbfb213e73e84b05eef72847ace7efb0f7d27088..64c4a6fe1149f0389784ed3f1bb409607f04fdc9 100644
--- a/auxdir/slurm.m4
+++ b/auxdir/slurm.m4
@@ -161,13 +161,9 @@ if test "$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" != "$VERSION"; then
 fi
 
 # Check to see if we're on an unstable branch (no prereleases yet)
-if echo "$RELEASE" | grep -e "pre0" -e "UNSTABLE"; then 
-   if test "$RELEASE" = "UNSTABLE"; then
-      DATE=`date +"%Y%m%d%H%M"`
-   else
-      DATE=`echo $RELEASE | cut -d. -f3`
-   fi
-   SLURM_RELEASE="unstable cvs build $DATE" 
+if echo "$RELEASE" | grep -e "UNSTABLE"; then 
+   DATE=`date +"%Y%m%d%H%M"`
+   SLURM_RELEASE="unstable svn build $DATE" 
    SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR ($SLURM_RELEASE)"
 else
    SLURM_RELEASE="`echo $RELEASE | sed 's/^.*\.//'`"
diff --git a/configure b/configure
index e7b0ef68d8801ce393accd378933cf1257cc2430..512a534695bcbf0720f573be1f0b5a3eb5d7bbd3 100755
--- a/configure
+++ b/configure
@@ -2322,13 +2322,9 @@ echo "$as_me: error: META information is inconsistent: $VERSION != $SLURM_MAJOR.
 fi
 
 # Check to see if we're on an unstable branch (no prereleases yet)
-if echo "$RELEASE" | grep -e "pre0" -e "UNSTABLE"; then
-   if test "$RELEASE" = "UNSTABLE"; then
-      DATE=`date +"%Y%m%d%H%M"`
-   else
-      DATE=`echo $RELEASE | cut -d. -f3`
-   fi
-   SLURM_RELEASE="unstable cvs build $DATE"
+if echo "$RELEASE" | grep -e "UNSTABLE"; then
+   DATE=`date +"%Y%m%d%H%M"`
+   SLURM_RELEASE="unstable svn build $DATE"
    SLURM_VERSION="$SLURM_MAJOR.$SLURM_MINOR ($SLURM_RELEASE)"
 else
    SLURM_RELEASE="`echo $RELEASE | sed 's/^.*\.//'`"
@@ -7540,7 +7536,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 7543 "configure"' > conftest.$ac_ext
+  echo '#line 7539 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9646,11 +9642,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9649: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9645: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9653: \$? = $ac_status" >&5
+   echo "$as_me:9649: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9936,11 +9932,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9939: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9935: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9943: \$? = $ac_status" >&5
+   echo "$as_me:9939: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -10040,11 +10036,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:10043: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10039: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:10047: \$? = $ac_status" >&5
+   echo "$as_me:10043: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12417,7 +12413,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12420 "configure"
+#line 12416 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12517,7 +12513,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12520 "configure"
+#line 12516 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14918,11 +14914,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14921: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14917: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14925: \$? = $ac_status" >&5
+   echo "$as_me:14921: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -15022,11 +15018,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15025: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15021: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15029: \$? = $ac_status" >&5
+   echo "$as_me:15025: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16620,11 +16616,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16623: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16619: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16627: \$? = $ac_status" >&5
+   echo "$as_me:16623: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16724,11 +16720,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16727: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16723: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16731: \$? = $ac_status" >&5
+   echo "$as_me:16727: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -18944,11 +18940,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18947: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18943: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18951: \$? = $ac_status" >&5
+   echo "$as_me:18947: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -19234,11 +19230,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:19237: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:19233: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:19241: \$? = $ac_status" >&5
+   echo "$as_me:19237: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -19338,11 +19334,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:19341: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:19337: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:19345: \$? = $ac_status" >&5
+   echo "$as_me:19341: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
diff --git a/src/common/slurm_protocol_common.h b/src/common/slurm_protocol_common.h
index 593d04beadeee86db48403989c5cf04ff88c33d9..30f1e451f781c6f3e6adab0e134c47a4995cc783 100644
--- a/src/common/slurm_protocol_common.h
+++ b/src/common/slurm_protocol_common.h
@@ -68,6 +68,7 @@
  * In slurm_protocol_util.h init_header(), and check_header_version()
  * need to be updated also when changes are added */
 #define SLURM_PROTOCOL_VERSION ((SLURM_API_MAJOR << 8) | SLURM_API_AGE)
+#define SLURM_2_0_PROTOCOL_VERSION ((20 << 8) | 0)
 #define SLURM_1_3_PROTOCOL_VERSION ((13 << 8) | 0)
 
 /* used to set flags to empty */
diff --git a/src/common/slurm_protocol_util.c b/src/common/slurm_protocol_util.c
index 2fdf61a2a5b164c6db2ff6469082417f5c135802..424d6275ec48bcc2b80591385291f847d56618b5 100644
--- a/src/common/slurm_protocol_util.c
+++ b/src/common/slurm_protocol_util.c
@@ -85,7 +85,9 @@ void init_header(header_t *header, slurm_msg_t *msg,
 			((accounting_update_msg_t *)msg->data)->rpc_version;
 		if(rpc_version < 5)
 			header->version = SLURM_1_3_PROTOCOL_VERSION;
-		else if(rpc_version >= 5)
+		else if(rpc_version < 6)
+			header->version = SLURM_2_0_PROTOCOL_VERSION;
+		else if(rpc_version >= 6)
 			header->version = SLURM_PROTOCOL_VERSION;
 	} else 
 		header->version = SLURM_PROTOCOL_VERSION;
diff --git a/src/common/slurmdbd_defs.h b/src/common/slurmdbd_defs.h
index 538caa2b9e0a104d542fef0f2ac533bfb8066735..cce26fb4bde8b36a99758c6a573f9cf6e794c816 100644
--- a/src/common/slurmdbd_defs.h
+++ b/src/common/slurmdbd_defs.h
@@ -61,17 +61,8 @@
 /*
  * SLURMDBD_VERSION is the version of the slurmdbd protocol currently 
  *	being used (i.e. this code). Increment this value whenever an
- *	RPC is added. Do not modify an existing RPC, but create a new
- *	msg_type for the new format (add new entries to the end of
- *	slurmdbd_msg_type_t so numbering of existing msg_type values
- *	do not change). Comment the version number when a defunct 
- *	msg_type stops being used. For example, rather than changing
- *	the format of the RPC for DBD_ADD_USERS, add a DBD_ADD_USERS_V2, 
- *	stop using DBD_ADD_USERS and add comment of this sort "Last used
- *	in SLURMDBD_VERSION 05". The slurmdbd must continue to support 
- *	old RPCs for some time (until all Slurm clusters in that grid 
- *	get upgraded to use the new set of RPCs). At that time, slurmdbd 
- *	can have support for the old RPCs removed.
+ *	RPC is modified. When modifing an existing RPC copy the old
+ *	version and the create a new pack/unpack for the new rpc_version.
  *	
  * SLURMDBD_VERSION_MIN is the minimum protocol version which slurmdbd
  *	will accept. Messages being sent to the slurmdbd from commands
@@ -85,9 +76,9 @@
  *	communicating with it (e.g. it will not accept messages with a
  *	version higher than SLURMDBD_VERSION).
  */
-#define SLURMDBD_VERSION	05 /* We only incremented the number
+#define SLURMDBD_VERSION	06 /* We only incremented the number
 				    * here to differenciate between
-				    * 1.4 to 1.3.  Nothing has changed
+				    * 2.1 to 2.0.  Nothing has changed
 				    * in the rpcs yet though.  If they
 				    * do, remove this comment.
 				    */