Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Deprecation Process doc #16419

Merged
merged 1 commit into from
Dec 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions doc/processes/deprecation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!--
Copyright (c) 2022, 2022 IBM Corp. and others

This program and the accompanying materials are made available under
the terms of the Eclipse Public License 2.0 which accompanies this
distribution and is available at https://www.eclipse.org/legal/epl-2.0/
or the Apache License, Version 2.0 which accompanies this distribution and
is available at https://www.apache.org/licenses/LICENSE-2.0.

This Source Code may also be made available under the following
Secondary Licenses when the conditions for such availability set
forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
General Public License, version 2 with the GNU Classpath
Exception [1] and GNU General Public License, version 2 with the
OpenJDK Assembly Exception [2].

[1] https://www.gnu.org/software/classpath/license.html
[2] https://openjdk.org/legal/assembly-exception.html

SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
-->

# Eclipse OpenJ9 Deprecation Process

To deprecate a documented OpenJ9 option, behaviour, or feature, follow
the process described below:

1. Determine the **Java version** the deprecation is to take effect.
2. Announce the deprecation that is to occur in version n in the
release notes of version n-1. Furthermore, update any documentation
to warn about the upcoming changes.
3. Change the codebase in the `master` branch following the split for
version n-1, as well as update any relevant documentation,
to reflect the deprecation.
4. Remove any relevant documentation once all versions prior to the
version n go out of service.

## Important Notes

* Deprecation normally only occurs when a new Java version is released; this
should not be confused with a new OpenJ9 version, which may not
necessarily include a new Java version.
* If an OpenJ9 release does not include Java version n-1 (i.e., the version
used to announce the deprecation), the release notes can still announce the
upcoming deprecation; however, this notice should be added to all subsequent
release notes until the OpenJ9 release that includes Java version n.
3 changes: 3 additions & 0 deletions doc/processes/release_process.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ Note, detecting regressions will be difficult in the open project
given the limited hardware resources available. Work is being done at
Adoptium to enable performance testing.

## Deprecation
See [Eclipse OpenJ9 Deprecation Process](deprecation.md).

# Release Process

1. Pick a candidate OpenJ9 level to mark as the initial release candidate. This
Expand Down