Releases: adampoit/patchlane
Releases · adampoit/patchlane
Release list
v0.5.2
Improvements
- Support custom workflow authentication sources including step outputs, repository secrets, and custom token providers. Remove the
verify-authcommand in favor of confirming authentication with the first workflow-driven published sync. - Detect the fork repository from the origin push URL instead of relying on
gh repo set-default, with--repositoryand--origin-remote-nameoptions available for override. - Allow custom job IDs in sync workflows;
doctornow locates the sync job by itspatchlane synccommand invocation rather than requiring a hardcoded job name.
v0.5.1
Improvements
- Doctor now supports GitHub App token wrapper actions and validates that checkout and Patchlane steps consume the same token output
v0.5.0
Features
- Generated workflows now authenticate via a GitHub App instead of the built-in
GITHUB_TOKEN, ensuring pushes reliably trigger downstream CI and promotion workflows. A newpatchlane verify-authcommand validates App credentials with a no-push workflow run. - Added configurable automation failure notifications through GitHub Issues. A new
patchlane notifycommand creates, updates, or closes issues for sync, CI, or promotion failures based on the newnotifications.githubIssuesconfiguration. - Added workflow allowlist enforcement.
.patchlane.ymlnow requiresallowedWorkflowsto explicitly declare which repository workflows are permitted alongside Patchlane's generated workflows; doctor, sync, and promotion validate the composed workflow tree against this policy.
Improvements
bootstrap --waitis now more resilient when waiting for CI: it queries the Actions API directly with configurable timeout and poll intervals, reads the published SHA from the remote, and reports progress while polling.
v0.4.1
Bugfixes
patchlane doctornow composes workflow changes from multiple independent patches.
v0.4.0
Features
- Add
init,doctor, andbootstrapcommands alongside.patchlane.ymlconfig support, letting you scaffold, validate, and run Patchlane without repeating CLI flags. Agent skills now default to the installed package version instead ofmain.
Improvements
- Reject patch branches that contain upstream commits not present in the selected source, preventing unsafe rebases. Add the
--sourceoption as a cleaner way to specify upstream releases or branches.
v0.3.1
Features
- Added
--force-pushflag to push the sync branch even when it appears unchanged.
Improvements
- Dry-run now applies patches in a temporary worktree to accurately detect conflicts without modifying local state.
v0.3.0
Features
- Patch changes are now replayed as individual commits with preserved metadata, and patches that depend on generated sync output are rejected by default (use
--allow-dependent-patchesto override).
Improvements
--dry-runnow validates patches without creating a local branch; use--no-pushto build the sync branch locally without pushing.- Sync output now includes rich patch diagnostics showing commit counts, changed files, and ancestry warnings.
v0.2.4
v0.2.3
v0.2.2
What's New
Fixes a bug with divergent branches
When a patch branch is based on an upstream release that is not an
ancestor of the target upstreamBase (e.g., v1.14.25 patch applied on
v1.14.28), the three-dot diff upstreamBase...resolved includes
intermediate upstream changes from the merge-base, causing spurious
conflicts.
This fix detects when upstreamBase is not an ancestor of the patch
branch, finds the oldest unique commit in the patch history, and uses
a smarter diff base:
- If that commit is tagged (likely a release the patch was based on),
use the tagged commit itself as the diff base. - Otherwise, use the parent of the oldest unique commit.
This ensures only the actual patch changes are applied, excluding
upstream release changes that may conflict with the target base.