Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Mint/API Policy

Public API

Public API is the API that is officially supported by Mint. It is comprised of every externally visible package, type, or member, public or protected, that is contained in an exported package.

In future releases, public API may sometimes be deprecated due to the normal evolution of the project. Deprecated methods will always be appropriately commented with information on how to accomplish the same with either existing or new API. Deprecated API will not be removed from the codebase until the next major release, and even major releases may see deprecated API maintained. In any event, the community will be notified of the deletion of any deprecated API through the usual communications channels (newsgroup, mailing list, etc).

API compatibility will be maintained through each and every release. API breakages will always go through a phase of deprecation that will last until the next major release at a bare minimum, and suppression of deprecated API will always be notified at least before the M6 milestone of this next major release.

Internal API

Any class that is not located in an exported package or is declared as "private" or "package" is considered internal. Non-API code is usually located in a package named "internal". Internal API may and will be modified at any time, without prior notice. We also use API Tooling specific javadoc tags in order to enforce "internal" aspects on some of the Public API, such as "@noImplements", "@noextends", "@noOverrides", etc. to denote interface, classes and methods which are not considered Public API and may be broken without notice.

Adopters requiring the use of internal code should open bugzilla enhancement requests for API. These bugs will be analyzed and will help drive the creation of new API when possible.

Back to the top