diff --git a/CHANGES b/CHANGES
index 67a52bd111866c6f25ab26fafb67e939b72e9a02..d22823b55a2ae3ea6c4446345bf20ae670ac70c1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,6 @@
 OpenLDAP 2.2 Change Log
 
-OpenLDAP 2.2.28 Engineering
+OpenLDAP 2.2.28 Release
 	Fixed slapd shutdown crash on NULL slap_listeners (ITS#3842)
 	Fixed slapd using hashed passwords on SASL binds (ITS#3846)
 	Fixed back-bdb/hdb - check for BDB TXN patch
@@ -13,6 +13,8 @@ OpenLDAP 2.2.28 Engineering
 	Fixed back-meta control propagation bug (ITS#3813)
 	Fixed syncrepl SASL bind crash (ITS#3792)
 	Fixed libldap infinite referral loop (ITS#2894, ITS#3578)
+	Updated Assertion control to use IANA-assigned OID
+	Updated pre/post read controls to use IANA-assigned OIDs
 	Build Environment
 		Added BDB TXN patch in build/BerkeleyDB42.patch
 
diff --git a/build/version.var b/build/version.var
index 9b86d6689f26fa8698e1ba1a689daadc492b9e61..4e4d27f612e0f6b08339664de27260281865d3f1 100644
--- a/build/version.var
+++ b/build/version.var
@@ -15,9 +15,9 @@
 ol_package=OpenLDAP
 ol_major=2
 ol_minor=2
-ol_patch=X
-ol_api_inc=20227
+ol_patch=28
+ol_api_inc=20228
 ol_api_current=7
-ol_api_revision=20
+ol_api_revision=21
 ol_api_age=0
-ol_release_date="2005/06/10"
+ol_release_date="2005/08/13"
diff --git a/include/ldap.h b/include/ldap.h
index b3e32b989eb6659fe93a88d027f59349b03ff094..ae509d9d65bd450b301cd37cb1a98750eee50f0a 100644
--- a/include/ldap.h
+++ b/include/ldap.h
@@ -203,6 +203,9 @@ typedef struct ldapcontrol {
 #define LDAP_CONTROL_MANAGEDSAIT		"2.16.840.1.113730.3.4.2" /* RFC 3296 */
 #define LDAP_CONTROL_SUBENTRIES			"1.3.6.1.4.1.4203.1.10.1" /* RFC 3672 */
 #define LDAP_CONTROL_PAGEDRESULTS		"1.2.840.113556.1.4.319"  /* RFC 2696 */
+#define LDAP_CONTROL_ASSERT				"1.3.6.1.1.12"
+#define LDAP_CONTROL_PRE_READ			"1.3.6.1.1.13.1"
+#define LDAP_CONTROL_POST_READ			"1.3.6.1.1.13.2"
 
 /*  standard track - not implemented in slapd(8) */
 #define LDAP_CONTROL_SORTREQUEST    "1.2.840.113556.1.4.473" /* RFC 2891 */
@@ -213,10 +216,7 @@ typedef struct ldapcontrol {
 #define LDAP_CONTROL_VALUESRETURNFILTER	"1.2.826.0.1.334810.2.3"
 
 /* various works in progress */
-#define LDAP_CONTROL_ASSERT				"1.3.6.1.4.1.4203.666.5.9"
 #define LDAP_CONTROL_NOOP				"1.3.6.1.4.1.4203.666.5.2"
-#define LDAP_CONTROL_PRE_READ			"1.3.6.1.4.1.4203.666.5.10.1"
-#define LDAP_CONTROL_POST_READ			"1.3.6.1.4.1.4203.666.5.10.2"
 
 /* LDAP VLV *//* not implemented in slapd(8) */
 #define LDAP_CONTROL_VLVREQUEST    	"2.16.840.1.113730.3.4.9"
diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c
index b8b18974fc8a9acaabcf24c2367509878e37be31..22f171599cf0d30054185078a4990c98c0da883f 100644
--- a/servers/slapd/controls.c
+++ b/servers/slapd/controls.c
@@ -80,13 +80,13 @@ static char *proxy_authz_extops[] = {
 
 static struct slap_control control_defs[] = {
 	{ LDAP_CONTROL_ASSERT,
-		SLAP_CTRL_HIDE|SLAP_CTRL_ACCESS, NULL,
+		SLAP_CTRL_ACCESS, NULL,
 		parseAssert, LDAP_SLIST_ENTRY_INITIALIZER(next) },
 	{ LDAP_CONTROL_PRE_READ,
-		SLAP_CTRL_HIDE|SLAP_CTRL_DELETE|SLAP_CTRL_MODIFY|SLAP_CTRL_RENAME, NULL,
+		SLAP_CTRL_DELETE|SLAP_CTRL_MODIFY|SLAP_CTRL_RENAME, NULL,
 		parsePreRead, LDAP_SLIST_ENTRY_INITIALIZER(next) },
 	{ LDAP_CONTROL_POST_READ,
-		SLAP_CTRL_HIDE|SLAP_CTRL_ADD|SLAP_CTRL_MODIFY|SLAP_CTRL_RENAME, NULL,
+		SLAP_CTRL_ADD|SLAP_CTRL_MODIFY|SLAP_CTRL_RENAME, NULL,
 		parsePostRead, LDAP_SLIST_ENTRY_INITIALIZER(next) },
  	{ LDAP_CONTROL_VALUESRETURNFILTER,
  		SLAP_CTRL_SEARCH, NULL,