JavaFX 15 is now in Rampdown Phase One (RDP1) [1]. We have forked a new jfx15 branch [2] for stabilizing the JavaFX 15 release.

Here is the short summary of what this means:

- The master branch of the jfx repo is available for integrating bug fixes or enhancements for openjfx16. Most fixes will be integrated to master for 16.

- The jfx15 branch of the jfx repo is now open for integrating fixes for openjfx15 that meet the RDP1 criteria as outlined below.

- Reviewers and Committers now have an additional responsibility to verify the target branch of each pull request.

- I will periodically sync jfx15 --> master, meaning that developers should integrate fixes to one or the other, not both


DETAILS:

P1-P3 bug fixes, and test or doc fixes of any priority are good candidates for integrating to jfx15 during RDP1. The only hard restriction is that enhancements need explicit approval, over and above the review of the PR, to go into jfx15. The bar for such approval is appropriately high. We also need to be careful to avoid potentially risky fixes during this time. Note that these restrictions apply to the jfx15 branch. The master branch is open for all openjfx16 fixes, including enhancements.

As a reminder, we are using a single openjdk/jfx GitHub repo with stabilization branches [3] rather than creating separate stabilization repos. The jfx15 branch is used to stabilize the upcoming openjfx15 release. Please be aware of this, especially if you are a Reviewer or Committer in the Project. This allows all pull requests to be in the same place, but care needs to be taken for any PR that is targeted to jfx15 to ensure that it doesn't contain any commits from master after the jfx15 fork date. What that means is that if you intend a PR to be for jfx15, don't merge master into your local source branch!

IMPORTANT: Reviewers and Committers now have an extra responsibility to double-check the target branch of each PR that they review, integrate, or sponsor. By default a PR will be targeted to `master` which is the main development line (OpenJFX 16 as of today). This is usually what we want. A PR should be targeted to `jfx15` if, and only if, it is intended for OpenJFX 15 and meets the criteria for the current rampdown phase (we're in RDP1 as of today). Reviewers are advised to be extra cautious in approving potentially risky fixes targeted to `jfx15`. If there is a concern, then a reviewer can as part of the review indicate that the PR should be retargeted to `master` for 16. Reviewers also need to be extra careful when reviewing PRs targeted to jfx15 that it doesn't mistakenly contain any commits from the master branch. You'll be able to tell because the diffs will contain changes that are not part of the fix being reviewed. Such a PR will either need to be closed and redone, or it will need to be rebased and force-pushed.

We will use the same rules for RDP1 that the JDK uses [4], with the same three modifications we did for the previous release:

1. Approval is needed from one of the OpenJFX project leads (not the OpenJDK project lead)

2. Since we are not part of the JDK, we need to use labels that do not collide with the JDK 15 release. As an obvious choice, derived from the JBS fix version, we will use "openjfx15-enhancement-request", "openjfx15-enhancement-yes", "openjfx15-enhancement-no" and "openjfx15-enhancement-nmi" as corresponding labels.

3. No explicit approval (no JBS label) is needed to integrate P4 bugs to the jfx15 branch during RDP1, as long as those bugs have otherwise met the usual code review criteria. Having said that, most P4 bugs should now go into master for openjfx16, since we do not want to risk anything that would destabilize the openjfx15 release without a compelling reason. Also, we have only 4 weeks until RDP2 of openjfx15 and we would be better served fixing higher priority bugs. Note that doc bugs and test bugs of any priority are fine to fix for openjfx15 during this time.

Let me know if there are any questions.

-- Kevin

[1] https://mail.openjdk.java.net/pipermail/openjfx-dev/2020-March/025410.html

[2] https://github.com/openjdk/jfx/tree/jfx15

[3] https://github.com/openjdk/jfx/branches/all

[4] http://openjdk.java.net/jeps/3


Reply via email to