diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
index 2a0b3c2..2880b64 100644
--- a/documentation/RELEASE_NOTES.html
+++ b/documentation/RELEASE_NOTES.html
@@ -1,4 +1,81 @@
-
Release 4.0 IN DEVELOPMENT
+Release 5.0
+
+This release adds support through wrapper classes and builders for the
+remaining Normative Types:
+
+
+- NTEnum
+- NTMatrix
+- NTURI
+- NTAttribute
+- NTContinuum
+- NTHistogram
+- NTAggregate
+- NTUnion
+- NTScalarMultiChannel
+
+
+Release 5.0 therefore implements fully the
+16 Mar 2015 version
+ of the normativeTypes specification.
+
+Each wrapper class has an extended API:
+
+
+- is_a now has a convenience overload taking a PVStructure.
+- isCompatible, reporting introspection type compatibility, now has an overload
+taking a Structure. The PVStructure version is retained as a convenience
+method and for backwards compatibility.
+- An isValid function now reports validity of a compatible PVStructure's data
+with respect to the specification.
+
+
+Other changes are:
+
+
+- Support for NTAttributes extended as required by NTNDArray
+(NTNDArrayAttributes).
+- A new class for parsing NT IDs (NTID).
+- Resolution of the confusion between column names and labels in NTTable and
+improved API. Function for adding columns is now addColumn rather than add.
+New getColumnNames function provided.
+- isConnected is treated as an optional rather than a required field in
+NTMultiChannelArray. isConnected() and addIsConnected() functions added to
+wrapper and builder respectively.
+- Unit tests for all new classes.
+
+
+Release 4.0
+
This is the first release of normativeTypesCPP that is part of an official
EPICS V4 release.
-It is a major rewrite of the previous versions of normativeTypesCPP.
\ No newline at end of file
+It is a major rewrite of the previous versions of normativeTypesCPP.
+
+This release provides support through wrapper classes and builders for the
+following Normative Types:
+
+
+- NTScalar
+- NTScalarArray
+- NTNameValue
+- NTTable
+- NTMultiChannel
+- NTNDArray
+
+
+Each type has a wrapper class of the same name which has functions for checking
+compatibility of existing PVStructures (isCompatible) and the reported types of
+Structures (is_a), wraps existing PVStructures (wrap, wrapUnsafe) and provides
+a convenient interface to all required and optional fields.
+
+Each type has a builder which can create a Structure, a PVStructure or a
+wrapper around a new PVStructure. In each case optional or extra fields can be
+added and options such as choice of scalar type can be made.
+
+Additional features are:
+
+
+- Utility classes NTField and NTPVField for standard structure fields and
+NTUtils for type IDs.
+- Unit tests for the implemented classes.
+
diff --git a/documentation/RELEASE_NOTES.md b/documentation/RELEASE_NOTES.md
index 7e4ddad..7aca8a1 100644
--- a/documentation/RELEASE_NOTES.md
+++ b/documentation/RELEASE_NOTES.md
@@ -1,7 +1,75 @@
-Release 4.0 IN DEVELOPMENT
+Release 5.0
+===========
+
+This release adds support through wrapper classes and builders for the
+remaining Normative Types:
+
+* NTEnum
+* NTMatrix
+* NTURI
+* NTAttribute
+* NTContinuum
+* NTHistogram
+* NTAggregate
+* NTUnion
+* NTScalarMultiChannel
+
+Release 5.0 therefore implements fully the
+[16 Mar 2015 version](http://epics-pvdata.sourceforge.net/alpha/normativeTypes/normativeTypes_20150316.html)
+ of the normativeTypes specification.
+
+Each wrapper class has an extended API:
+
+* is_a now has a convenience overload taking a PVStructure.
+* isCompatible, reporting introspection type compatibility, now has an overload
+ taking a Structure. The PVStructure version is retained as a convenience
+ method and for backwards compatibility.
+* An isValid function now reports validity of a compatible PVStructure's data
+ with respect to the specification.
+
+Other changes are:
+
+* Support for NTAttributes extended as required by NTNDArray
+ (NTNDArrayAttributes).
+* A new class for parsing NT IDs (NTID).
+* Resolution of the confusion between column names and labels in NTTable and
+ improved API. Function for adding columns is now addColumn rather than add.
+ New getColumnNames function provided.
+* isConnected is treated as an optional rather than a required field in
+ NTMultiChannelArray. isConnected() and addIsConnected() functions added to
+ wrapper and builder respectively.
+* Unit tests for all new classes.
+
+Release 4.0
===========
This is the first release of normativeTypesCPP that is part of an official
EPICS V4 release.
It is a major rewrite of the previous versions of normativeTypesCPP.
+This release provides support through wrapper classes and builders for the
+following Normative Types:
+
+* NTScalar
+* NTScalarArray
+* NTNameValue
+* NTTable
+* NTMultiChannel
+* NTNDArray
+
+Each type has a wrapper class of the same name which has functions for checking
+compatibility of existing PVStructures (isCompatible) and the reported types of
+Structures (is_a), wraps existing PVStructures (wrap, wrapUnsafe) and provides
+a convenient interface to all required and optional fields.
+
+Each type has a builder which can create a Structure, a PVStructure or a
+wrapper around a new PVStructure. In each case optional or extra fields can be
+added and options such as choice of scalar type can be made.
+
+
+Additional features are:
+
+* Utility classes NTField and NTPVField for standard structure fields and
+ NTUtils for type IDs.
+* Unit tests for the implemented classes.
+