Releases: tattersoftware/codeigniter4-patches
Bugfixes and Enhancements
What's Changed
- Requirements updated by @gitchak in #27
- Avoid git-switch for better backwards compatibility by @whoisninjaturtle in #29
- Add framework versions in commit message by @kenjis in #35
- Provide script login switch by @MGatner in #36
New Contributors
- @gitchak made their first contribution in #27
- @whoisninjaturtle made their first contribution in #29
- @kenjis made their first contribution in #35
Full Changelog: v2.0.5...v2.1.0
Commit Hooks
Adds --no-verify
arguments to skip post-commit hooks which may disrupt the patching process.
What's Changed
- Bump actions/checkout from 2 to 3 by @dependabot in #22
- Skip post-commit hooks by @MGatner in #25
Full Changelog: v2.0.4...v2.0.5
With Dependencies
Adds the Composer directive with-all-dependencies
to decrease the likelihood of failure due to upstream dependency issues.
What's Changed
Full Changelog: v2.0.3...v2.0.4
Remove writable
Since writable/ will often contain many ignored items that a project wants to keep, it should not be removed. It does not really need patching anyways.
Formatting
- Improves formatting on display output
- Fixes a bug where the final message after conflict was not displayed
- New feature: restores the state of vendor/ after completing
Hotfix: Binary
Fixes a typo in the Composer binary name.
Library Refactor
This is a complete overhaul of this library into a single shell script. You can read about the reasons why in the release notes for version 1.2.0
, but basically Patches
as a CodeIgniter module was overly complex and under-performing. This simplified version is vastly more useful for accomplishing the end goal: patching project files to their framework equivalents.
Library Deprecation
This is a minor release with no content changes simply to notify users that this version of the library is deprecated in its entirety.
Patches
began as a concept for alleviating the very rote task of comparing framework revisions to their project equivalent. A tremendous amount of effort went into the handlers and interactive command, which amounted to the following:
- Auto-merging updated files that were untouched in the project
- Notifying the developer (with optional diff) about updated files that were touched and needed conflict resolution
The eventual goal was to offer an additional, more complex Merger to handle three-way merges, thus relieving some of the work hidden in point 2 above. There were a handful of abandoned attempts at this, with the final conclusion: Git already does this better.
What else does Git do great? Point number one. Basically I realized that Patches
had become an effort at recreating some of the power of Git in a PHP backend framework, very unnecessarily. So instead of pressing further into this approach, I will be ending support for this library as a PHP module and refactoring it into a command-line script that leverages git
and composer
to handle the heavy lifting.
Version 2 of this library is around the corner! For those who prefer the current approach: version 1.2
will remain available, or check out Liaison Revision.
Composer Updates
- Loosens dependencies to actual requirements
- Updates PHPUnit to version 9
Composer v2
- Updates Composer dependency to version 2 (note: does not affect library)
- Adds development tools and applies numerous static analysis fixes
- Improves Command readability
- Bugfixes