Release Levels and Interface Stability

This appendix includes Open Identity Platform definitions for product release levels and interface stability: In addition to the indications concerning interface stability in the documentation, review the following information about OpenDJ user and application programming interfaces.

  • Client tools—ldap*, ldif*, and *rate commands—are Evolving.

  • The following classes, interfaces, and methods in the OpenDJ APIs are Evolving:

    • org.forgerock.opendj.ldap.Connections#newInternalConnection

    • org.forgerock.opendj.ldap.Connections#newInternalConnectionFactory

    • org.forgerock.opendj.ldap.Connections#newServerConnectionFactory

    • org.forgerock.opendj.ldap.FutureResult

    • org.forgerock.opendj.ldap.LDAPClientContext

    • org.forgerock.opendj.ldap.LDAPListener

    • org.forgerock.opendj.ldap.LDAPListenerOptions

    • org.forgerock.opendj.ldap.MemoryBackend

    • org.forgerock.opendj.ldap.RequestContext

    • org.forgerock.opendj.ldap.RequestHandler

    • org.forgerock.opendj.ldap.RequestHandlerFactory

    • org.forgerock.opendj.ldap.ServerConnection

    • org.forgerock.opendj.ldap.ServerConnectionFactory

  • The following classes and interfaces in the OpenDJ LDAP SDK APIs are Evolving:

    • org.forgerock.opendj.ldap.ConnectionSecurityLayer

    • org.forgerock.opendj.ldap.LDAPUrl

    • org.forgerock.opendj.ldap.requests.BindRequest, including sub-types and especially SASL sub-types

    • org.forgerock.opendj.ldap.schema.MatchingRuleImpl

    • org.forgerock.opendj.ldap.schema.SchemaValidationPolicy

    • org.forgerock.opendj.ldap.schema.SyntaxImpl

  • The following methods are Deprecated:

    • org.forgerock.opendj.ldap.Connections#newHeartBeatConnectionFactory

    • org.forgerock.opendj.ldap.LDAPListenerOptions#getTCPNIOTransport

    • org.forgerock.opendj.ldap.LDAPListenerOptions#setTCPNIOTransport

    • org.forgerock.opendj.ldap.LDAPOptions#getTCPNIOTransport

    • org.forgerock.opendj.ldap.LDAPOptions#setTCPNIOTransport

  • The class org.forgerock.opendj.ldap.CoreMessages is Internal.

  • For all Java APIs, com.* packages are Internal.

  • The configuration, user, and application programming interfaces for RESTful access over HTTP to directory data are Evolving. This includes interfaces exposed for the HTTP connection handler, its access log, and also the REST to LDAP gateway.

  • Text in log messages should be considered Internal. Log message IDs are Evolving.

  • The default content of cn=schema (directory server LDAP schema) is Evolving.

  • The monitoring interface cn=monitor for LDAP and the monitoring interface exposed by the JMX connection handler are Evolving.

  • Interfaces that are not described in released product documentation should be considered Internal/Undocumented. For example, the LDIF representation of the server configuration, config.ldif, should be considered Internal.

Open Identity Platform Product Release Levels

Open Identity Platform defines Major, Minor, and Maintenance product release levels. The release level is reflected in the version number. The release level tells you what sort of compatibility changes to expect.

Release Level Definitions
Release Label Version Numbers Characteristics

Major

Version: x[.0.0] (trailing 0s are optional)

  • Bring major new features, minor features, and bug fixes

  • Can include changes even to Stable interfaces

  • Can remove previously Deprecated functionality, and in rare cases remove Evolving functionality that has not been explicitly Deprecated

  • Include changes present in previous Minor and Maintenance releases

Minor

Version: x.y[.0] (trailing 0s are optional)

  • Bring minor features, and bug fixes

  • Can include backwards-compatible changes to Stable interfaces in the same Major release, and incompatible changes to Evolving interfaces

  • Can remove previously Deprecated functionality

  • Include changes present in previous Minor and Maintenance releases

Maintenance

Version: x.y.z

  • Bring bug fixes

  • Are intended to be fully compatible with previous versions from the same Minor release

Open Identity Platform Product Interface Stability

Open Identity Platform products support many protocols, APIs, GUIs, and command-line interfaces. Some of these interfaces are standard and very stable. Others offer new functionality that is continuing to evolve.

Open Identity Platform Community acknowledges that you invest in these interfaces, and therefore must know when and how Open Identity Platform Community expects them to change. For that reason, Open Identity Platform Community defines interface stability labels and uses these definitions in Open Identity Platform products.

Interface Stability Definitions
Stability Label Definition

Stable

This documented interface is expected to undergo backwards-compatible changes only for major releases. Changes may be announced at least one minor release before they take effect.

Evolving

This documented interface is continuing to evolve and so is expected to change, potentially in backwards-incompatible ways even in a minor release. Changes are documented at the time of product release.

While new protocols and APIs are still in the process of standardization, they are Evolving. This applies for example to recent Internet-Draft implementations, and also to newly developed functionality.

Deprecated

This interface is deprecated and likely to be removed in a future release. For previously stable interfaces, the change was likely announced in a previous release. Deprecated interfaces will be removed from Open Identity Platform products.

Removed

This interface was deprecated in a previous release and has now been removed from the product.

Internal/Undocumented

Internal and undocumented interfaces can change without notice. If you depend on one of these interfaces, contact Open Identity Platform Approved Vendors to discuss your needs.