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

Release 1.0.10 #570

Merged
merged 86 commits into from
Mar 17, 2024
Merged

Release 1.0.10 #570

merged 86 commits into from
Mar 17, 2024

Conversation

jrfnl
Copy link
Member

@jrfnl jrfnl commented Mar 17, 2024

Release checklist

General

Release

  • Merge this PR
  • Make sure all CI builds are green.
  • Tag and create a release (careful, GH defaults to develop!) & copy & paste the changelog to it.
    ✏️ Don't forget to copy the link collection from the bottom of the changelog!
  • Make sure all CI builds are green.
  • Verify that the website regenerated correctly.
  • Close the milestone
  • Open a new milestone for the next release
  • If any open PRs/issues which were milestoned for this release did not make it into the release, update their milestone.
  • Fast-forward develop to be equal to stable

Publicize

  • Tweet about the release.
  • Inform the primary dependants of this repo (PHPCSExtra, WordPressCS, PHPCompatibility and VariableAnalysis) about the release.

jrfnl and others added 30 commits December 8, 2023 21:03
Depending on whether named parameters are used or not, the keys for the return array from `getParameters()` can be a mix of integers and strings.
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 2 to 3.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v2...v3)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 3 to 4.
- [Release notes](https://github.com/actions/configure-pages/releases)
- [Commits](actions/configure-pages@v3...v4)

---
updated-dependencies:
- dependency-name: actions/configure-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/actions/deploy-pages-3

GH Actions: Bump actions/deploy-pages from 2 to 3
…/actions/configure-pages-4

GH Actions: Bump actions/configure-pages from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/actions/upload-artifact-4

GH Actions: Bump actions/upload-artifact from 3 to 4
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 3 to 4.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v3...v4)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](actions/upload-pages-artifact@v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/actions/deploy-pages-4

GH Actions: Bump actions/deploy-pages from 3 to 4
Follow up on PR 523 / commit 2f73b96, which removed the use of certain classes, but failed to remove the import `use` statements.
Follow up on 528, which should have updated this one too.

Depending on whether named parameters are used or not, the keys for the return array from `getParameters()` - and therefore the expected input array for `getParametersFromStack()` - can be a mix of integers and strings.
* Add parameter names as indexes in the data sets in data providers.
* Use the more stable `is_string()` instead of a comparison against `false` for the token retrieval safeguard.
* Improve type specificity in the docblocks.
* Add parameter names as indexes in the data sets in data providers.
* Improve type specificity in the docblocks.
* Add parameter names as indexes in the data sets in data providers and fix some which weren't consistent with the parameter names.
* Improve type specificity in the docblocks.
…n-minor-improvements

Tests/GetConditionTest: minor improvements
…ionname-minor-improvements

Tests/Get[Declaration]Name: minor improvements
…string-minor-improvements

Tests/GetTokensAsStringTest: : minor improvements
…t markers

Make the test marker names more descriptive
…ata sets

With non-named data sets, when a test fails, PHPUnit will display the number of the test which failed.

With tests which have a _lot_ of data sets, this makes it _interesting_ (and time-consuming) to debug those, as one now has to figure out which of the data sets in the data provider corresponds to that number.

Using named data sets makes debugging failing tests more straight forward as PHPUnit will display the data set name instead of the number.

Aside from adding the data set name, this commit also adds the parameter name for each item in the data set, this time in an effort to make it more straight forward to update and add tests as it will be more obvious what each key in the data set signifies.

Includes fixing the data types in the docblocks and making them more specific, where relevant.
…l test order

This cleans up the test case file a little by removing some code which isn't actually used in the tests and moves some tests up.
…rove test markers

Make the test marker names more descriptive
… named data sets

With non-named data sets, when a test fails, PHPUnit will display the number of the test which failed.

With tests which have a _lot_ of data sets, this makes it _interesting_ (and time-consuming) to debug those, as one now has to figure out which of the data sets in the data provider corresponds to that number.

Using named data sets makes debugging failing tests more straight forward as PHPUnit will display the data set name instead of the number.

Aside from adding the data set name, this commit also adds the parameter name for each item in the data set, this time in an effort to make it more straight forward to update and add tests as it will be more obvious what each key in the data set signifies.

Includes fixing the data types in the docblocks and making them more specific, where relevant.
…e logical test order

This cleans up the test case file a little by removing some code which isn't actually used in the tests and moves some tests up.
* Remove PHPCS/PHPCSUtils markers in the test case file as all tests for this method are now in both repos.
* Improve type specificity in the docblocks.
…dclassname-sync-with-upstream

Tests/FindExtendedClassNameTest: sync with upstream
…ntedinterfacename-sync-with-upstream

Tests/FindImplementedInterfaceNamesTest: sync with upstream
jrfnl and others added 21 commits February 17, 2024 07:57
…date-phpcs-version

GetVersionTest: update for release of PHPCS 3.9.0
Bumps [xt0rted/markdownlint-problem-matcher](https://github.com/xt0rted/markdownlint-problem-matcher) from 2 to 3.
- [Release notes](https://github.com/xt0rted/markdownlint-problem-matcher/releases)
- [Changelog](https://github.com/xt0rted/markdownlint-problem-matcher/blob/main/CHANGELOG.md)
- [Commits](xt0rted/markdownlint-problem-matcher@v2...v3)

---
updated-dependencies:
- dependency-name: xt0rted/markdownlint-problem-matcher
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/xt0rted/markdownlint-problem-matcher-3

GH Actions: bump xt0rted/markdownlint-problem-matcher from 2 to 3
The `@group` annotations were initially added to:
- allow for running closely related BCFile tests + Utils tests in one go;
- for running other closely related tests together;
- and for selectively excluding some unstable tests from CI test runs.

For everything else they should be regarded as redundant as the PHPUnit native `--filter` argument can sufficiently handle with running a group of tests from a single directory/namespace in modern PHPUnit versions (and who still runs locally on older ones ?).

This commit removes `@group` tags which are not needed based on that reasoning.
Initially to prevent issues with a few PHPUnit versions which were around in the early days of PHP 8.0, where these would accidentally be seen as parameter names.

So, as a best practice, when using keys in data sets, the keys should match the parameter names of the receiving test method.

And if a "super-"dataprovider is used and individual tests only need a subset of the keys from the data provider, add dedicated dataprovider for the individual test to remove the unneeded keys.

An ulterior reason to make this change is that PHPUnit 11 will always treat the keys as parameter names, so this can be seen as a preparation step for allowing for PHPUnit 11 support.
…vider-tags

GetTokensAsStringTest: fix format of some `@dataProvider` tags
…ndant-group-annotations

Tests: remove redundant `@group` annotations
…keys-match-param-names

Tests: data set keys should match parameter names
... to benefit from the syntax support for PHP 8.3 which has been added to PHPCS itself.

Includes updating references to the PHPCS version whenever relevant throughout the codebase.
No BC-layer is needed at this time with a minimum supported PHPCS version of PHPCS 3.9.0.
No BC-layer is needed at this time with a minimum supported PHPCS version of PHPCS 3.9.0.
... which is no longer needed now support for PHPCS < 3.9.0 has been dropped.
…inimum-phpcs-version

Composer: raise the minimum supported PHPCS version to 3.9.0 and remove work-arounds
Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 2 to 3.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@v2...v3)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…/ramsey/composer-install-3

GH Actions: bump ramsey/composer-install from 2 to 3
…n notice

The `$phpcsFile` parameter is optional for the `getEncoding()` and the `ignoreAnnotations` method, but the type declaration cannot be made nullable as the minimum supported PHP version of this package is PHP 5.4, while PHP 7.1 is needed for the nullable operator.

Removing the `File` type declaration effectively widens the type to `mixed`, which fixes the deprecation notice.

As the class is `final`, this change does not constitute a BC-break.

Ref: https://wiki.php.net/rfc/deprecate-implicitly-nullable-types
…citly-nullable-deprecations

PHP 8.4 | BackCompat\Helper: fix implicitly nullable types deprecation notice
No need to "translate" the ASCII characters from uppercase to lowercase, the PHP native `strcasecmp()` function can do the comparison correctly as it only compares ASCII letters in a case-insensitive way.

Ref: https://www.php.net/manual/en/function.strcasecmp.php
…-minor-simplification

NamingConventions::isEqual(): minor simplification
@jrfnl jrfnl added this to the 1.0.10 milestone Mar 17, 2024
@jrfnl
Copy link
Member Author

jrfnl commented Mar 17, 2024

Note: the lint failure against PHP 8.4 is unrelated to PHPCSUtils, but due to an issue with PHP 8.4 in the tooling used. See: php-parallel-lint/PHP-Parallel-Lint#155

@jrfnl jrfnl merged commit 51609a5 into stable Mar 17, 2024
52 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant