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

Janitorial: bump various dependencies #40286

Merged
merged 15 commits into from
Nov 21, 2024
Merged

Conversation

tbradsha
Copy link
Contributor

@tbradsha tbradsha commented Nov 20, 2024

This bumps a few dependencies now that we're no longer bound to PHP <7.2.

Proposed changes:

The details are in each commit, but mostly the bumps didn't cause any issues, with one exception that required some minor adjustment due to a PhpDocParser API change: 78c163b

I also updated all packages using automattic/wordbless to ^0.4.2 instead of variations that ultimately pulled the same thing.

Other dependencies that could be bumped

yoast/phpunit-polyfills

Currently there are 90 packages on ^1.1.1. This is a big project (see also p1732198254207959/1732037783.177369-slack-C05Q5HSS013).

symfony/process

This is found in automattic/jetpack-changelogger.
Currently first three items have (Windows) security bulletins. 5.4.46 is the first without one, but requires PHP 7.2.5, so we may as well bump PHP too, then bump this dependency to ^5.4 || ^6.4 || ^7.1

symfony/console

This is found in automattic/jetpack-changelogger. I recommend bumping the dependency to ^5.4 || ^6.4 || ^7.1 (assuming we'll be bumping PHP to 7.2.5; see above).

dompdf/dompdf

This is found in automattic/jetpackcrm. I tried bumping it to ^3.0, but this messed up formatting, so will take a bit more digging.

composer-plugin-api and composer/composer

Both automattic/jetpack-autoloader and automattic/jetpack-composer-plugin use these. I believe they can bumped safely (and/or removed) but documentation is scarce as to why we use them in the first place.

dealerdirect/phpcodesniffer-composer-installer

Both automattic/jetpack-codesniffer and automattic/wpcomsh use this. This one is over my head as well.

Other information:

  • Have you written new tests for your changes, if applicable?
  • Have you checked the E2E test CI results, and verified that your changes do not break them?
  • Have you tested your changes on WordPress.com, if applicable (if so, you'll see a generated comment below with a script to run)?

Jetpack product discussion

Does this pull request change what data or activity we track or use?

Testing instructions:

Verify tests pass?

nikic/php-parser: drop PHP 7.0
nikic/php-parser: drop old PHPUnit
phpstan/phpdoc-parser: drop PHP 7.2
symfony/console: just because
antecedent/patchwork: PHP >=5.4 → PHP >=7.1
antecedent/patchwork: PHP >=5.4 → PHP >=7.1
johnkary/phpunit-speedtrap: PHP >=7.0 → PHP >=7.1
automattic/woocommerce: PHP >=5.4 → >=7.1
Copy link
Contributor

github-actions bot commented Nov 20, 2024

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

  • ✅ Include a description of your PR changes.
  • ✅ Add a "[Status]" label (In Progress, Needs Team Review, ...).
  • ✅ Add testing instructions.
  • ✅ Specify whether this PR includes any changes to data or privacy.
  • ✅ Add changelog entries to affected projects

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖


The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available.


Follow this PR Review Process:

  1. Ensure all required checks appearing at the bottom of this PR are passing.
  2. Choose a review path based on your changes:
    • A. Team Review: add the "[Status] Needs Team Review" label
      • For most changes, including minor cross-team impacts.
      • Example: Updating a team-specific component or a small change to a shared library.
    • B. Crew Review: add the "[Status] Needs Review" label
      • For significant changes to core functionality.
      • Example: Major updates to a shared library or complex features.
    • C. Both: Start with Team, then request Crew
      • For complex changes or when you need extra confidence.
      • Example: Refactor affecting multiple systems.
  3. Get at least one approval before merging.

Still unsure? Reach out in #jetpack-developers for guidance!


Beta plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Jetpack plugin:

The Jetpack plugin has different release cadences depending on the platform:

  • WordPress.com Simple releases happen semi-continuously (PCYsg-Jjm-p2).
  • WoA releases happen weekly.
  • Releases to self-hosted sites happen monthly. The next release is scheduled for none scheduled (scheduled code freeze on undefined).

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Backup plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Boost plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Search plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Social plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Starter Plugin plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Protect plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Videopress plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Mu Wpcom plugin:

  • Next scheduled release: WordPress.com Simple releases happen semi-continuously (PCYsg-Jjm-p2).

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Inspect plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Wpcomsh plugin:

  • Next scheduled release: Atomic deploys happen twice daily on weekdays (p9o2xV-2EN-p2).

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Automattic For agencies client plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Classic Theme helper plugin plugin:

  • Next scheduled release: none scheduled.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.

@github-actions github-actions bot added [Plugin] Automattic For Agencies Client [Plugin] Backup A plugin that allows users to save every change and get back online quickly with one-click restores. [Plugin] Beta For serving live branches and the beta versions. https://github.com/automattic/jetpack-beta [Plugin] Boost A feature to speed up the site and improve performance. [Plugin] Classic Theme Helper Plugin [Plugin] Inspect [Plugin] mu wpcom jetpack-mu-wpcom plugin [Plugin] Protect A plugin with features to protect a site: brute force protection, security scanning, and a WAF. [Plugin] Search A plugin to add an instant search modal to your site to help visitors find content faster. [Plugin] Social Issues about the Jetpack Social plugin [Plugin] Starter Plugin [Plugin] VideoPress A standalone plugin to add high-quality VideoPress videos to your site. labels Nov 20, 2024
@tbradsha tbradsha requested a review from a team November 21, 2024 16:28
Copy link
Contributor

@anomiex anomiex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Although, did you intentionally skip changelogger's symfony deps?

@tbradsha tbradsha marked this pull request as ready for review November 21, 2024 17:04
@tbradsha
Copy link
Contributor Author

tbradsha commented Nov 21, 2024

Although, did you intentionally skip changelogger's symfony deps?

Heh, there's a reason this was a draft. I added some details in the Other dependencies that could be bumped spoiler. More immediately relevant, though, I was waiting for #40162 to be merged so I didn't have to deal with any conflicts from that.

@anomiex
Copy link
Contributor

anomiex commented Nov 21, 2024

composer-plugin-api and composer/composer

Both automattic/jetpack-autoloader and automattic/jetpack-composer-plugin use these. I believe they can bumped safely (and/or removed) but documentation is scarce as to why we use them in the first place.

composer/composer is in there for phan, IDE completions, and possibly also unit tests IIRC. Should be safe to bump.

composer-plugin-api indicates the Composer API version the package is compatible with, in much the same way that the "php": ">=7.2" indicates which version of PHP the package is compatible with. See https://getcomposer.org/doc/articles/plugins.md#plugin-package for some more details.

dealerdirect/phpcodesniffer-composer-installer

Both automattic/jetpack-codesniffer and automattic/wpcomsh use this. This one is over my head as well.

Should be safe to bump. Probably wpcomsh doesn't even need it (or wp-coding-standards/wpcs) anymore now that it's in the monorepo.

What this does is, when a phpcs standards package like wp-coding-standards/wpcs is installed, it automatically adds the right phpcs configuration so phpcs knows about it.

@tbradsha tbradsha merged commit c7d7d3e into trunk Nov 21, 2024
73 of 74 checks passed
@tbradsha tbradsha deleted the fix/bump_composer_versions branch November 21, 2024 19:25
@tbradsha
Copy link
Contributor Author

tbradsha commented Nov 21, 2024

Great! I'll tackle those in another PR.

Edit: #40297

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Contact Form [Feature] Masterbar WordPress.com Toolbar and Dashboard customizations [Feature] Photon aka "Image CDN". Feature developed in the Image CDN package and shipped in multiple plugins [Feature] Theme Tools [Package] Admin Ui [Package] Analyzer [Package] Backup Helper Script Manager [Package] Backup [Package] Blaze [Package] Blocks [Package] Boost Core [Package] Chatbot [Package] Classic Theme Helper [Package] Connection [Package] Forms [Package] Image CDN [Package] Import [Package] Jetpack mu wpcom WordPress.com Features [Package] Licensing [Package] Masterbar [Package] My Jetpack [Package] Password Checker [Package] Patchwork Redefine Exit [Package] Plans [Package] Post List [Package] Protect Models [Package] Protect Status [Package] Publicize [Package] Scheduled Updates [Package] Schema [Package] Search Contains core Search functionality for Jetpack and Search plugins [Package] Stats Admin [Package] Stats Data [Package] Stub Generator [Package] Sync [Package] Transport Helper [Package] VideoPress [Package] WAF [Package] WP JS Data Sync [Plugin] Automattic For Agencies Client [Plugin] Backup A plugin that allows users to save every change and get back online quickly with one-click restores. [Plugin] Beta For serving live branches and the beta versions. https://github.com/automattic/jetpack-beta [Plugin] Boost A feature to speed up the site and improve performance. [Plugin] Classic Theme Helper Plugin [Plugin] CRM Issues about the Jetpack CRM plugin [Plugin] Inspect [Plugin] Jetpack Issues about the Jetpack plugin. https://wordpress.org/plugins/jetpack/ [Plugin] mu wpcom jetpack-mu-wpcom plugin [Plugin] Protect A plugin with features to protect a site: brute force protection, security scanning, and a WAF. [Plugin] Search A plugin to add an instant search modal to your site to help visitors find content faster. [Plugin] Social Issues about the Jetpack Social plugin [Plugin] Starter Plugin [Plugin] VideoPress A standalone plugin to add high-quality VideoPress videos to your site. [Plugin] Wpcomsh [Tests] Includes Tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants