Setting this property to a non-zero value causes all of the old values and all of the new values, up to the specified maximum, for each changed attribute to be stored in the changelog entry. The values are stored in the ds-change-log-before-values and ds-changelog-after-values attributes on the changelog entry. These attributes are not present by default.


The changelog-max-before-after-values property can be expensive for attributes with hundreds or thousands of values, such as a group entry.

If any attribute has more than the maximum number of values, their names and number of before and after values are stored in the ds-changelog-attr-exceeded-max-values-count attribute on the changelog entry. This is a multi-valued attribute with the following format.:


attributeName is the name of the attribute, and the beforeCount and afterCount are the total number of values for that attribute before and after the change, respectively. This attribute indicates that you must reset the changelog-max-before-after-values property to a higher value. When this attribute is set, an alert is generated.


If the number of values for an attribute exceeds the maximum value set by the changelog-max-before-after-values property, then those values are not stored.


This property is used for correlation attributes that need to be synchronized across servers, such as uid. It causes the current (after-change) value of the specified attributes to be recorded in the ds-changelog-entry-key-attr-values attribute on the changelog entry. This applies for all change types. On a DELETE operation, the values are from the entry before they were deleted.

The key values are recorded on every change and override the settings configured in changelog-include-attribute, changelog-exclude-attribute, changelog-deleted-entry-include-attribute, or changelog-deleted-entry-exclude-attribute.