Skip to content

4.0 | Make sure everything that was merged/included in the 3.x branch is also included in 4.0 / Rebase the branch #120

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

Closed
jrfnl opened this issue Dec 4, 2023 · 3 comments

Comments

@jrfnl
Copy link
Member

jrfnl commented Dec 4, 2023

The 4.0 branch was branched off in January 2020 (just after the 3.5.4 release) and aside from 4.x specific changes, (nearly) all changes which have gone into the 3.x branch since then, should also be included in the branch.
Additionally, changes which have been merged up into the 4.x branch should, at times, have been updated/adjusted to comply with changed functionality in the 4.x branch.

To verify this is difficult with the branches as they currently are, especially as 4.0 has been such a long-running branch already.

I'm contemplating how to verify this properly and my current line of thinking is to rebase (and partially recreate) the 4.x branch on top of the current dev-master branch.

While I don't expect this will cause significant problems for contributors and/or external standards, it would mean that:

  • Contributors who have a local 4.0 branch will need to reset that branch after the rebase.
  • Contributors who have local/public branches created for the 4.0 branch, will need to rebase those branches.

I'm opening this issue to raise awareness about this intention and to allow for people to raise concerns about this plan.
If you have any (concerns), please speak up and leave a comment.

Time-line wise, I expect to execute this change some time in the new year, in two or three months time.

@jrfnl
Copy link
Member Author

jrfnl commented Dec 25, 2023

Related links for when this task will be executed:

Note: these lists won't be complete, as commits have been made straight into the 4.0 branch without PR.

@jrfnl
Copy link
Member Author

jrfnl commented Apr 4, 2025

FYI: this ticket is being actioned as we speak and for anyone interested, please join the live streams mid April to get the PHPCS 4.x branch up to scratch - see: #924

@jrfnl
Copy link
Member Author

jrfnl commented Apr 18, 2025

Closing this out as the new 4.x branch is now available and AFAICS, all (relevant) changes for 4.0.0 have been pulled and merged into it.

@jrfnl jrfnl closed this as completed Apr 18, 2025
jrfnl added a commit to PHPCSStandards/composer-installer that referenced this issue May 2, 2025
The PHP_CodeSniffer 4.0 branch has been completely rebuild. See PHPCSStandards/PHP_CodeSniffer#120 for more detailed information about the "why".

In practice, this means that to test against the upcoming PHPCS 4.0 release, we need to test against the `4.x` branch now, not the old `4.0` branch.

A 4.0 beta/RC release is expected in the next few days. Once that is out, a test period starts and depending on whether problems are found or not, the 4.0.0 release will be tagged about a month later (or later if significant problems were found).

When 4.0.0 gets tagged, the PHPCS `master` branch will be renamed to `3.x` and the `4.x` branch will be the new "main" branch for PHPCS, so more changes will be needed, but that's for later.
jrfnl added a commit to PHPCSStandards/composer-installer that referenced this issue May 2, 2025
The PHP_CodeSniffer 4.0 branch has been completely rebuild. See PHPCSStandards/PHP_CodeSniffer#120 for more detailed information about the "why".

In practice, this means that to test against the upcoming PHPCS 4.0 release, we need to test against the `4.x` branch now, not the old `4.0` branch.

A 4.0 beta/RC release is expected in the next few days. Once that is out, a test period starts and depending on whether problems are found or not, the 4.0.0 release will be tagged about a month later (or later if significant problems were found).

When 4.0.0 gets tagged, the PHPCS `master` branch will be renamed to `3.x` and the `4.x` branch will be the new "main" branch for PHPCS, so more changes will be needed, but that's for later.

Includes a small update to the `DemoSniff` test fixture as PHPCS 4.0 will start enforcing for sniffs to implement the `Sniff` interface.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant