Community contributions play an important role in ensuring the platform remains modern, secure, and stable. In the most recent release, the community contributed fixes to resolve over 300 GitHub issues. Currently, when contributions by the community are accepted, they are included in the next patch release. In addition, fixes are only accepted to the latest release line. Merchants and systems integrators needing to apply critical fixes have to wait for the next release or build and manage patches themselves.
To address this challenge, Adobe Commerce announced a new delivery process that will allow the community to access contributions as they are approved, without having to wait for a core code release. With this new process, contributions will be delivered using the quality patches tool for Adobe Commerce & Magento Open Source, allowing all customers to have quick access to these fixes.
This process will initially be available for the 2.3.7 release and will eventually be expanded for other released versions as well.
This delivery process will be driven by community maintainers. When an issue is reported, a community developer can create a Pull Request (PR) for the fix. This request is automatically tested and then verified by maintainers. Once reviewed, the PR is merged and published as a quality patch. The fix will be publicly accessible via the quality patches tool within a day after being merged.
Also, all P0/P1 issues, along with some high-impact P2s, will be delivered as part of the next release. The contributing author will be kept and highlighted on release notes, as is done currently.
Benefits and Goals
In the previous process, only contributions to the latest release were accepted. E.g. the 2.3 release line was closed for community contributions. This new delivery process will allow the community to contribute to already released versions, starting with 2.3.7. In the future, we could potentially accept contributions to any version.
By automating the delivery process and empowering the community maintainers to accept these contributions, they will be able to significantly decrease the time to market a contribution. Once they are accepted and merged, an automated process will pack it and release it into the quality patches tool, allowing merchants to apply the fix to their instance immediately.
While all P1 and P0 fixes will be included in the next release, merchants have flexibility in choosing lower priority patches that are relevant to their application. The core product codebase remains lightweight resulting in lower costs to maintain and upgrade.
Quality Patches Tool for Adobe Commerce & Magento Open Source
The quality patches tool is designed to deliver patches created by Adobe for Adobe Commerce and Magento Open Source customers, with the package easily installed via composer. The tool identifies the version of Adobe Commerce / Magento Open Source your installation is running and lists the patches available for it. Patches can then be applied and reverted using the tool.
The quality patches tool will now be made available to distribute patches created by the community and approved by community maintainers, allowing merchants quick access to important fixes for their instances.
Frequently Asked Questions
Q: When will this process start?
A: The community can expect this new delivery process to be launched on August 1, 2021.
Q: Which versions is this process applicable to?
A: This delivery process is only applicable to the 2.3.7 release, with additional releases being added over time.
Q: How do I deliver a patch to the 2.3.7 release?
A: Submit a pull request to the 2.3.7-release branch and the maintainer’s team will handle the delivery process.
Q: How can we contribute to the 2.4.x release line?
A: Currently, the contributions to the current release line (2.4.x) will continue as usual with the previous process.
Q: How can the community provide direct code contributions to the core?
A: Adobe is investing in joint development projects with the community. Currently, we are running a Platform Health project and additional projects are being evaluated.
Q: How do customers/developers tell which patches have been included in future core code releases?
A: Community submissions and patch delivery pull requests will have a comment with information about the release in which it will be accepted if applicable.
Q: Who will be responsible for maintaining and upgrading patches that do not become part of the core code?
A: While Adobe will provide the tools to manage and simplify the process, the community will be responsible for maintaining and updating patches.
Q: Do patches need to be updated to the latest version by a certain timeframe?
A: The driver of the community patches support is the community itself. The timeframe for a patch to be updated will depend on the need of the community.
Q: How can we report issues or provide feedback on the process?
A: You can contact the Community Engineering team at email@example.com or through the #github slack channel to report any unexpected issue or provide feedback on the process.