OpenEdge 12 has been upgraded to use a more secure encryption algorithm, resulting in changes to the r-code.

The GENERATE-MD5 option was removed from the COMPILE statement. Prior to 12.0 this option produced a unique MD5 value that was stored in the r-code file. It could be used to determine if an r-code file changed since the previous version of the application. Now in 12.0, a signature value is automatically generated instead using a more secure encryption algorithm. The MD5-VALUE attribute for the RCODE-INFO handle is now obsolete and returns the Unknown (?) value. It is replaced by the new SIGNATURE-VALUE attribute.

By default an object serialized in a pre-12.0 release cannot be deserialized in 12.0. For backward compatibility a new attribute was added to the SECURITY-POLICY system handle called ALLOW-PREV-DESERIALIZATION. Setting the attribute to YES/TRUE allows an application to receive an object using the serialization from the previous OpenEdge major release version.

For more information about the COMPILE statement, see COMPILE statement.

For more information about the MD5-VALUE attribute, see "MD5-VALUE attribute" in the 11.7 version of the ABL Reference.

For more information about the RCODE-INFO handle, see RCODE-INFO handle.

For more information about the SIGNATURE-VALUE attribute, see SIGNATURE-VALUE attribute.

For more information about the SECURITY-POLICY system handle, see SECURITY-POLICY system handle.

For more information about the ALLOW-PREV-DESERIALIZATION attribute, see ALLOW-PREV-DESERIALIZATION.