diff --git a/README b/README
index 9f36959..57fa3d1 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-             xdc-H07 (corevers:; B:200,G:200,R:200)
+             xdc-H08 (corevers:; B:200,G:200,R:200)
                        eXpanDed C Tools (XDCtools)
@@ -64,28 +64,35 @@
-xdc.runtime Text.nameStatic was not used at all because we couldn't separate
-	    the case when a name wasn't given to an instance and the case when
-	    Text.charTab was not loaded. At the time the names are allocated
-	    to Text.charTab we already know that Text.charTab is not loaded so
-	    we don't bother adding instance names to Text.charTab. This change
-	    will separate the case where the name is NULL and Text.charTab is
-	    loaded, and that's when we know NULL means the instance does not
-	    have a name. The case when the name is NULL and Text.charTab is not
-	    loaded is still ambiguous. The message will say that the instance
-	    is static, which is true, but we can't tell if the name is given to
-	    the instance. Anything further than this would require a special
-	    value for the case of the name not being NULL, but Text.charTab is
-	    not loaded. However, this doesn't seem to be worthy of much
-	    attention because no one ever noticed that Text.nameStatic was not
-	    working at all.
+xdc.runtime for '$S' conversion doPrint() calls printfExtend(), which then
+	    calls doPrint() again. The return value for doPrint() was the
+	    number of characters that would be printed, and that's what not
+	    we wanted to add to the number of printed character or to remove
+	    from the size of the available buffer. Additionally, nothing was
+	    subtracted from the size of the available buffer in doPrint() and
+	    that caused a buffer overflow.
+	    However, we can't support the requirement that the printf-like
+	    functions that accept the buffer and the maximum number of 
+	    characters as parameters return the number of characters that
+	    would be printed if the size of the buffer was large enough, if
+	    extended formats were used. The extended formats call Text
+	    functions that don't report how many characters would be printed.
-	    added FMEA document to docs
+	    deleted declarations of unused functions from Core spec
-core	    Module_state section names for clang are changed to start with
-	    ".data:"
+	    added validate function for Text, which reports an Error if
+	    the buffer of managed strings grows over 32K.
-*	    more MISRA changes
+	    Text_putMod was checking if Text is loaded when a module id
+	    higher than 0x7FFF was found. However, if Text is not loaded such
+	    ids are not generated, so the clause that would be executed when
+	    Text is not loaded and an id is higher than 0x7FFF was dead code.
+	    Text doc was claiming Text can accept 64K of strings, but only
+	    15 bits are used to address strings in charTab, which means only
+	    about 32K can be addressed.
+XDCTOOLS-326	Recursive calls to System_doPrint lose track of maximum
+		length allowed
diff --git a/ident.c b/ident.c
index fdaec8b..6ddb47d 100644
--- a/ident.c
+++ b/ident.c
@@ -2,7 +2,7 @@
  *  ======== ident.c ========
-#define _VERS_ "@(#)*** xdc-H07"
+#define _VERS_ "@(#)*** xdc-H08"
 static char __NAME[] = _NAME_;
 static char __DATE[] = _DATE_;