The `Europe/Kiev` timezone has been deprecated in PHP 8.2 and replaced with `Europe/Kyiv`.
The tests updated in this commit are testing the WordPress date/time functionality. They are **not** testing whether WP or PHP can handle deprecated timezone names correctly.
To ensure the tests follow the original purpose, the use of `Europe/Kiev` within these tests is now replaced with the `Europe/Helsinki` timezone, which is within the same timezone as `Europe/Kyiv`. This should ensure that these tests run without issue and test what they are supposed to be testing on every supported PHP version (unless at some point in the future `Europe/Helsinki` would be renamed, but that's a bridge to cross if and when).
Note: Separate tests should/will be added to ensure that relevant date/time related functions handle a deprecated timezone correctly, but that is not something ''these'' tests are supposed to be testing.
Follow-up to [45853], [45856], [45876], [45882], [45887], [45908], [45914], [46577], [46154], [46580], [46864], [46974], [54207].
Props jrf, costdev, SergeyBiryukov.
Merges [54217] to the 5.6 branch.
See #56468.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@54516 602fd350-edb4-49c9-b593-d223f7449a82
Add strings for use in future maintenance/security releases to indicate the security support status of the version of WordPress.
Two strings are introduced:
* indicating the version of WordPress is not receiving security updates, and,
* indicating the version of WordPress will shortly stop receiving security updates.
This change does not make use of the strings, the purpose is to make them available to translators prior to dropping support of selected versions of WordPress.
Props costdev, chesio, robinwpdeveloper, desrosj, rudlinkon, mukesh27, sumitbagthariya16.
Merges [54322] to the 5.6 branch.
See #56532.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@54434 602fd350-edb4-49c9-b593-d223f7449a82
This backports several changesets that are required to remove the reliance on the `workflow_run` event for posting Slack notifications.
The Slack notification workflow will now be called as a reusable one, which has several benefits (see [53591]).
Several other minor GitHub Actions related updates are also being backported in this commit to maintain tooling consistency across branches that still receive security updates as a courtesy when necessary.
Merges [50446], [50473], [50704], [50796], [50930], [51341], [51355], [51498], [51511], [51535], [51924], [51925], [51937], [52002], [52130], [52183], [52233], [53112], [53581], [53582], [53592] to the 5.6 branch.
See #56095.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@53599 602fd350-edb4-49c9-b593-d223f7449a82
This updates the "jquery-query" library from version 2.1.7 to 2.2.3.
Props jorbin, peterwilsoncc, xknown, audrasjb, jorgefilipecosta.
Merges [52844] to the 5.6 branch.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@52850 602fd350-edb4-49c9-b593-d223f7449a82
> The currently recommended certificate chain as presented to Let’s Encrypt ACME clients when new certificates are issued contains an intermediate certificate (ISRG Root X1) that is signed by an old DST Root CA X3 certificate that expires on 2021-09-30. In some cases the OpenSSL 1.0.2 version will regard the certificates issued by the Let’s Encrypt CA as having an expired trust chain.
>
> Most up-to-date CA cert trusted bundles, as provided by operating systems, contain this soon-to-be-expired certificate. The current CA cert bundles also contain an ISRG Root X1 self-signed certificate. This means that clients verifying certificate chains can find the alternative non-expired path to the ISRG Root X1 self-signed certificate in their trust store.
>
> Unfortunately this does not apply to OpenSSL 1.0.2 which always prefers the untrusted chain and if that chain contains a path that leads to an expired trusted root certificate (DST Root CA X3), it will be selected for the certificate verification and the expiration will be reported.
References:
* [https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/ Old Let’s Encrypt Root Certificate Expiration and OpenSSL 1.0.2]
* [https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/ DST Root CA X3 Expiration (September 2021)]
Follow-up to [25224], [25426], [25569], [27307], [30491], [30765], [34283], [35919], [36570], [46094].
Props bradleyt, fierevere, SergeyBiryukov, peterwilsoncc.
Merges [51883] to the 5.6 branch.
Fixes#54207. See #50828.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@52098 602fd350-edb4-49c9-b593-d223f7449a82
This unpins the version of PHP 5.6.20 used when testing the 5.6 branch of PHP.
Using 5.6.20 was an intentional decision in [49162], as that patch version is the oldest version of PHP 5.6 still supported by WordPress. However, as of September 30, 2021, the `5.6.20` image contains a version of OpenSSL with an expired certificate, sometimes resulting in an expired trust chain.
Props Clorith, hellofromTonya, SergeyBiryukov, desrosj.
Merges [51890] to the 5.6 branch.
See #54223.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@51933 602fd350-edb4-49c9-b593-d223f7449a82
In [51840], the test wrapper methods were not being called due to the names not being recognized as supported PHPUnit "hook" names for fixtures.
This commit:
- Fixes the problem by adding extra camelCase wrappers to the `WP_UnitTestCase` to call the methods in the right order.
- Adds wrappers for the `assertPreConditions()` and `assertPostConditions()` fixture methods to make the backport feature complete for the fixture wrappers.
Test wrapper methods call fix:
By adding method overloads for the PHPUnit native camelCase fixture methods and letting those call the (camelCase) parent method first and only calling the snake_case fixture methods after, the snake_case methods can be supported and the typical run order safeguarded.
As not all test classes will have declared snake_case fixture methods, the snake_case fixture methods are also declared in the `WP_UnitTestCase`. Why? This prevents having to wrap these method calls in `method_exists()` conditions checking for the existence of the snake_case methods in an unknown Test child class. And with the normal inheritance rules in combination with calling the method using `static`, the right method will be called anyway without fatal "calling undeclared method" errors.
Note: While it will be rare, there ''may'' be cases where a test class does not adhere to the normal execution order for fixtures, i.e. for the setup methods, parent first, own code second; and for the teardown methods, own code first, parent second. For example a test class which has "some code - `parent::setUp()` call - some more code" in their `setUp()` method. In those (rare) cases, the execution order of the code will now be changed, which may have side-effects. This rare case will be identified in the dev note.
Follow-up to [51840].
Props bjorsch, swissspidy, jrf, hellofromTonya.
See #53911.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@51863 602fd350-edb4-49c9-b593-d223f7449a82
This backports the PHPUnit Polyfills package and related test infrastructure changes to make it easier for developers to continue testing on multiple versions WordPress while adding tests for newer versions of PHP, which require more modern PHPUnit practices.
One of the changes included is the addition of wrappers for the new snake_case fixture methods in PHPUnit. This allows the native camelCase standard in PHPUnit to be used, but allows for developers to transition to the new naming conventions.
Props hellofromTonya, jrf, SergeyBiryukov, johnbillion, netweb, schlessera, jeherve, lucatume, desrosj.
Merges [51559,51560,51810-51813,51828] to the 5.6 branch.
See #53911.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@51840 602fd350-edb4-49c9-b593-d223f7449a82
- Update `lodash` to the latest version `4.17.21`.
- Disable some attributes for rich text.
- Use hashed/deterministic moduleIDs in webpack config.
Props ellatrix, peterwilsoncc, get_dave, mcsf, talldanwp, youknowriad, desrosj, nerrad, gziolo.
Merges [50940-50941,50984-50985,51426] to the 5.6 branch.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@51751 602fd350-edb4-49c9-b593-d223f7449a82
* REST API: Allow authors to read their own password protected posts.
* About page update.
Merges [50717] to the 5.6 branch.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50726 602fd350-edb4-49c9-b593-d223f7449a82
The reorganization of the PHPUnit workflow in [50441] unintentionally caused the tests to be run for every `push` event, even for forks and private mirrors.
Previously, the second job required the first one to pass, and the conditional check on the first prevented both from running. Because the first job is no longer required for the second, both jobs must have the appropriate conditional check.
Merges [50670] to the 5.6 branch.
Fixes#52983.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50672 602fd350-edb4-49c9-b593-d223f7449a82
This backports several build and test tool improvements to the 5.6 branch. Most notably, this includes:
- The changes required to allow each workflow to be triggered by the `workflow_dispatch` event so that tests can be run on a schedule [50590].
- The ability to run PHPUnit tests from `src` instead of `build` [50441-50443].
- Splitting single site and multisite tests into parallel jobs [50379].
- Split slow tests into separate, parallel jobs for PHP 5.6 [50444].
- Better branch and path scoping for GitHub Action workflows when running on `pull_request` [50432,50479].
- Several `devDependency` updates.
Merges [50267,50299,50379,50387,50413,50416,50432,50435-50436,50441-50444,50446,50473-50474,50476,50479,50485-50487,50545,50579,50590,50592,50598] to the 5.6 branch.
See #50401, #51734, #51801, #51802, #52548, #52608, #52612, #52623, #52624, #52625, #52645, #52653, #52658, #52660, #52667, #52786.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50602 602fd350-edb4-49c9-b593-d223f7449a82
Previously, jQuery 1.12.4 was added to the WordPress SVN repo in order to backport an upstream security patch from jQuery 3.4.0.
Now that WordPress includes an unmodified version of jQuery 3.5.1 and no longer needs to maintain a fork, it can be removed from the SVN repo and installed via NPM again as part of the build.
Follow-up to [45342], [49101].
Props peterwilsoncc, SergeyBiryukov.
Merges [50445] to the 5.6 branch.
Fixes#52647.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50459 602fd350-edb4-49c9-b593-d223f7449a82
This updates several packages to their latest patch versions to fix bugs discovered in the 5.6 branch.
`@wordpress/block-directory` to `1.17.8`
`@wordpress/block-editor` to `5.1.7`
`@wordpress/block-library` to `2.26.8`
`@wordpress/components` to `11.1.5`
`@wordpress/core-data` to `2.24.4`
`@wordpress/edit-post` to `3.25.8`
`@wordpress/editor` to `9.24.7`
`@wordpress/format-library` to `1.25.7`
`@wordpress/list-reusable-blocks` to `1.24.5`
`@wordpress/media-utils` to `1.18.1`
`@wordpress/nux` to `3.23.5`
`@wordpress/reusable-blocks` to `1.0.7`
`@wordpress/server-side-render` to `1.19.5`
Props isabel_brison, talldanwp, youknowriad, freewebmentor, sterndata, inc2734, itsjonq, jorgefilipecosta, aristath, nosolosw, mattwiebe, addiestavlo, kevin940726, noisysocks, aaronrobertshaw, glendaviesnz, gwwar, bernhard-reiter, paaljoachim.
Fixes#52396, #52449, #52553.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50376 602fd350-edb4-49c9-b593-d223f7449a82
This fixes improper triggering of the "Are you sure?" prompt when navigating away from the old, "classic" Edit Post screen and there are no changes.
The previous check did not account for Pages or any custom post types that don't have a Title, Content, or Excerpt field.
Follow-up to [50031].
Props hwk-fr, mukesh27, audrasjb, archon810, Clorith, ibiza69, tonysandwich, roger995, bartosz777, viablethought, dbtedg, worldedu, hmabpera, magnuswebdesign.
Merges [50232] to the 5.6 branch.
Fixes#52440.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50366 602fd350-edb4-49c9-b593-d223f7449a82
This avoids a fatal error on PHP 8 caused by passing a zero value to `fread()` as the `$length` argument, which must be greater than zero.
Props yakimun, fierevere, jrf, DavidAnderson, SergeyBiryukov.
Merges [50355] to the 5.6 branch.
Fixes#52018.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50356 602fd350-edb4-49c9-b593-d223f7449a82
This expands the list of events that triggers automated testing to include tags.
It also refines the matched version ranges for several workflows.
Merges [50298] to the 5.6 branch.
See #50401.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50301 602fd350-edb4-49c9-b593-d223f7449a82
This merges several refinements to GitHub Action workflow files to the 5.6 branch.
It also includes [49836], which added the ability to replace `mysql` with `mariadb` when using the local Docker environment to ensure consistency of the tools across branches.
Props johnbillion.
Merges [49781-49784,49786,49836,49938,50268,50285] to the 5.6 branch.
See #50401.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50296 602fd350-edb4-49c9-b593-d223f7449a82
This removes a test assertion defending against version ranges in the `node` value in `package.json` files. This is now supported.
Props peterwilsoncc.
Merges [50192] to the 5.6 branch.
See #52341.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50193 602fd350-edb4-49c9-b593-d223f7449a82
This makes it more clear what versions of `node` and `npm` will successfully build WordPress.
Props dd32, mkaz.
Merges [50185] to the 5.6 branch.
Fixes#52455. See #51749.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50186 602fd350-edb4-49c9-b593-d223f7449a82
Switch the Sass implementation used by Grunt to sass (the Dart version), since LibSass & node-sass have been deprecated.
Additionally, this updates the `uglify-js` dependency.
Merges [50126] and [50176] to the 5.6 branch.
See #51763, #51801.
git-svn-id: https://develop.svn.wordpress.org/branches/5.6@50184 602fd350-edb4-49c9-b593-d223f7449a82