David Manners edited this page Oct 16, 2018 · 25 revisions

This is the project for implementing support of PHP 7.2 in Magento 2.

Approach to Implementation

See Approach to Implementation for the requirements and restrictions of the implementation process.

Issues Board

See Issues Board on ZenHub for the list of issues.

Pipelines:

  • To Investigate - requires some investigation before being taken to work
  • Backlog - ready for development
  • In Progress - in progress by someone
  • Review/QA - in review or QA by Magento team
  • Merging in Progress - the PR is in being processed by Magento team to be merged to target branch. ❕ The pipeline may also contain items that wait for a related PR in another repository (can be an internal repository and so not visible for community)
  • Icebox - candidates for backlog items, but are under question now. Do not take items from this pipeline
  • Closed - closed issues

Feel free to add an issue to the list of issues if you know such ones. Those will be reviewed by the core team to confirm before being taken to work.

Labels

  • 3rd-party dependency - the issue is caused by dependency on a 3rd-party library. For example, a library doesn't support PHP 7.2
  • backward-incompatible - the fix/implementation might be backward incompatible. Must be resolved before Magento 2.3 release
  • blocker - the issue blocks resolution of other issue(s). For example, the issue causes a fatal error, which terminates execution of the application and so blocks validation/fixing of other scenarios
  • deprecated - usages of functionality deprecated in PHP 7.2
  • investigation-needed - an investigation is needed. A clear solution is not known yet, the issue can't be taken into development
  • requires-ee-changes - requires changes in Magento EE being merged together with the CE fix. Example: update of composer.json in CE requires same changes being applied to composer.json in Magento EE
  • requires-b2b-changes - requires changes in Magento B2B being merged together with the CE fix. Example: update of composer.json in CE requires same changes being applied to composer.json in Magento B2B

Repository

There are the following branches in the repository:

  • 2.3-develop - target branch for the fixes
  • workarounds - this is a branch with quick-fixes/workarounds to bypass fatal errors and other blockers. The purpose of this branch is to uncover as many issues as possible not waiting for final fixes of blocking issues
  • libs-upgrade - a collaborative branch for a set of tasks that can't be merged separately. Those include upgrade of a set of libraries and fixes of Magento code to be compatible with new libraries interfaces. It's explicitly specified in an issue if its target branch is libs-upgrade

Development Environment

There are two Docker based environments to choose from.

The first environment uses a shared directory between the host Magento repository (local box) and the container website (Docker). When you make changes to your local repository the changes are also made in the container. The downside is you might have a performance degradation due to the vast size of the Magento code base.

The second environment uses file syncronization instead of a shared file system. The performance is better but you have to manually copy your changes into the container in order to evaluate your code changes.

Contact Information

Status meeting: every Thursday at 10am CST (4pm UTC) https://magento.zoom.us/j/804681785

Slack channel: #feature-php-72. (Use http://tinyurl.com/engcom-slack to register)

Events

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.