Releases: medz/patchwork
Releases · medz/patchwork
Release list
Patchwork 0.7.0
- Made the core
Patchworkfilesystem API synchronous and narrowed
Patchwork.opento string paths; hook and CLI adapters remain asynchronous
only where they run external processes. - Reorganized implementation and tests by domain, split public result models by
workflow, and separated pub parsing, package diagnostics, cleanup planning,
and text/JSON presentation responsibilities. - Reused one failure-safe package materializer across apply and overlay
workflows, consolidated overlay discovery/resolution, and removed repeated
marker scans and unchanged marker writes from multi-package activation. - Split override YAML I/O from ownership reconciliation, reused one override
editor per batch operation, and centralized normalized override-path logic. - Made public result collections immutable snapshots, replaced stringly typed
cleanup commands withCleanupCommand, and madePatchwork.opena factory. - Moved apply and cleanup filesystem execution into domain executors so the
publicPatchworkclass remains the composition root instead of a workflow
implementation. - Unified single-package and batch apply outcomes through
ApplyResult, made
source-tree hashing lazy, and kept eachPatchworkinstance on one workspace
snapshot. - Moved applied-state lifecycle rules under
state, made package directory
swaps failure-safe, and tightened cleanup and overlay path result semantics. - Fixed dependency-override mirror precedence, overlay patch read diagnostics,
and recursive gitignore wildcard handling found during review.
Patchwork 0.6.2
- Split Patchwork state planning into dedicated edit, apply, cleanup, and undo
planner components while keeping command execution behavior stable. - Made explicit
patchwork apply <pkg>validate committed patch content before
materializing generated output, matching apply-all validation. - Tightened artifact identity parsing and kept carry override-conflict hints
tied to the actualpatchwork carrycommand.
Patchwork 0.6.1
- Lowered the minimum Dart SDK to
3.10.0while keeping Patchwork's package-provided build hook and overlay behavior intact. - Added CI coverage for Dart
3.10.0, Dart stable, Flutter3.38.2, and Flutter stable dependency resolution. - Refined README positioning around package-provided patches and project-owned patch workflows.
patchwork 0.6.0
0.6.0 - 2026-06-23
- Added root-owned
patchwork patchandpatchwork carrysupport for transitive packages selected by the current pub resolution, while keeping package-provided overlays direct-only. - Switched Patchwork-owned YAML writes for
patchwork.yamlandpubspec_overrides.yamlto parser-backedyaml_editupdates. - Refreshed README guidance for package-provided patches and hook workflows.
patchwork 0.5.0
- Added
patchwork carry <pkg> [--from version]to carry stale patch files into
current-version edit sessions for dependency upgrades. - Removed
patchwork.lockfrom root patch workflows. Patch files are now the
committed patch truth; edit sessions keep hidden baselines under.patchwork/
and applied output keeps generated ownership markers under.dart_tool/. - Made CLI
applyandundorefresh pub resolution by default, with
--no-pub-getfor scripts that need the lower-level filesystem step. - Added
patchwork removeandpatchwork prunefor safe cleanup of stale patch
files, open edit directories, and Patchwork-owned generated state. - Added doctor setup checks and explain-mode remediation details for project
setup, generated state, and next-step guidance. - Added overlay inspection for provider manifests, matched contributions,
deduplication, and conflict diagnostics. - Reduced build hook no-op noise when overlay manifests are absent.
- Split Patchwork internals around edit preparation, patch commits, applied
output materialization/activation, dependency override state, status
inspection, and overlay publishing. - Reorganized README guidance around task-oriented workflows, generated state,
CI, hooks, and provider overlays.
patchwork 0.4.0
- Added package-provided overlays through
patchwork.yaml, thepatchwork overlay <pkg>command, and Patchwork built-inhook/build.dartfor composing matching dependency patch contributions in downstream apps. - Added opt-in Dart build hook helpers through
package:patchwork/hooks.dartfor automatically applying committed patches from user-ownedhook/build.dartfiles.
v0.3.0
Changes
- Added
--jsonoutput forpatch,commit,apply,undo,status, anddoctor. - Rejected same-package
dependency_overridesfrom projectpubspec.yamlfiles beforepatchorapplymutates Patchwork state. - Derived historical patch inventory from durable
patches/*.patchfiles while keeping current patch ownership inpatchwork.lock.
Published to pub.dev as patchwork 0.3.0.
patchwork 0.2.0
- Rebuilt Patchwork around a library-first programmable model with CLI commands
as thin adapters. - Replaced patch sessions, baselines, stores, manifests, and target syntax with
the v0.2 paths:.patchwork/<pkg>@<version>/,
patches/<pkg>@<version>.patch, and
.dart_tool/patchwork/<pkg>@<version>/. - Added
patchwork commit [pkg]and removedpatchwork patch --commit. - Added
patchwork undo <pkg>for safe removal of lock-owned
pubspec_overrides.yamlentries and generated applied directories. - Added
patchwork patch <pkg> [--continue [version]]for explicit patch
carry-forward across dependency upgrades. - Reworked
patchwork.lockinto a v2 lockfile with sourcesha256,
patch.commit-sha256, andapplied.patch-sha256records. - Added patch history
commit-sha256records so--continue <version>can
safely reuse older patch files after a dependency upgrade. - Removed obsolete historical patch files when an unchanged fresh edit proves
the upgraded dependency source already contains the fix. - Added source records for hosted, custom hosted, path, and git dependencies.
patchwork 0.1.1
Highlights
- Added clearer
dart pub getnext-step guidance after successfulpatchwork apply. - Hardened project-visible writes for
patchwork.lock, committed patch files, andpubspec_overrides.yaml. - Added CI release gates for
dart pub publish --dry-runand clean archive example smoke tests. - Updated pub.dev package positioning for reviewable Dart pub dependency patches without
.pub-cacheedits. - Rejected root packages as patch targets to avoid confusing self-patches.
patchwork 0.1.0
Patchwork 0.1.0
Initial pub package MVP release.
Highlights
- Adds the
patch,patch --commit,apply,status, anddoctorcommands. - Stores committed patch metadata in
patchwork.lockand patch files underpatches/pub/. - Applies patches through generated
pubspec_overrides.yamlpath overrides. - Adds package README, CHANGELOG, license metadata, funding metadata, and a runnable
examples/hello_patchworkflow. - Publishes the package to pub.dev: https://pub.dev/packages/patchwork/versions/0.1.0
Validation
- Main CI passed on the release commit.
dart pub publish --dry-runcompleted with 0 warnings before publish.