Releases: tylerbutler/repoverlay
v0.6.0 - 2026-02-16
Release Notes
Command: apply
Added
-
Deep merge
.jsonfiles during overlay applicationResolve
.jsonfile conflicts automatically instead of failing. When--mergeis enabled (via CLI flag orREPOVERLAY_MERGEenv var), JSON files are recursively deep merged — objects merge key-by-key with overlay values winning, arrays and scalars use overlay values directly, and type mismatches are logged with full dotted key paths. Merged files are tracked with a newMergedlink type in overlay state for correct cleanup on remove/update.
Fixed
-
Reload overlay targets after removing a conflicting overlay during re-apply
When
--forceremoved an existing overlay to make room for a re-apply, the in-memory target set was stale, causing subsequent conflict checks in the same batch to see phantom conflicts. The target set is now reloaded after each forced removal.
Command: edit
Added
-
Add
editcommand for modifying existing overlaysNew
editcommand with--add,--remove, and--interactiveflags for modifying applied overlays.--addadds files to an overlay,--removeremoves specific files without removing the whole overlay, and--interactivere-runs the file selection UI with currently-applied files pre-selected. The existingaddcommand is deprecated in favor ofedit --add.
Changed
-
editdefaults to interactive file selection when no flags givenRunning
repoverlay edit <name>without--add,--remove, or--interactivein an interactive terminal now launches interactive file re-selection automatically. Non-interactive environments are unaffected.
Command: remove
Changed
-
removedefaults to interactive selection when no arguments givenRunning
repoverlay removein an interactive terminal now launches the interactive overlay selection instead of printing a usage error. Non-interactive environments (CI, piped stdin, TERM=dumb) are unaffected.
Security
-
Reject git refs starting with
-to prevent flag injectionSource URLs with refs like
--upload-pack=evilcould be passed through to git commands as flags.GitRef::from_strnow rejects any ref beginning with-andwith_ref_overridepropagates the error instead of panicking via.unwrap(). -
Validate overlay mapping destinations against path traversal
Overlay configs with mappings like
secret.txt = ../etc/passwdcould write files outside the target repository. Mapping destinations are now canonicalized and verified to stay within the target directory before any files are copied. Symlinks in overlay sources are also skipped to prevent symlink-based escapes.
Install repoverlay 0.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.6.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.6.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.6.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.5.0 - 2026-02-14
Release Notes
Added
- support bare owner names in source URL validation (#89)
- (cli) add --force and --skip-conflicts flags for conflict handling (#36)
Fixed
- resolve overlay repo config from sources instead of legacy field (#86)
Other
- add badges and streamline README (#87)
- (deps) bump taiki-e/install-action from 2.67.18 to 2.67.26 (#71)
- (deps) bump release-plz/action from 0.5.124 to 0.5.126 (#72)
Install repoverlay 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.5.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.5.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.5.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.4.0 - 2026-02-12
Release Notes
Added
- validate and expand source URLs at deserialization time (#83)
- auto-migrate legacy overlay_repo config to sources format (#80)
- support multi-overlay selection in browse mode apply (#77)
- add tree navigation with multi-level hierarchy for create UX (#75)
Other
- (deps) bump tiny-update-check from 0.1.0 to 1.0.0 (#73)
- gitignore
Install repoverlay 0.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.4.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.4.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.4.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.3.3 - 2026-02-08
Release Notes
Other
- configure repo policies
Security
- bump deps to address vulnerabilities
Install repoverlay 0.3.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.3.3/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.3.3/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.3.3
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.3.2 - 2026-02-04
Release Notes
Fixed
- prevent restore from re-applying explicitly removed overlays (#67)
Other
- add Marp presentation slides for repoverlay (#63)
Install repoverlay 0.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.3.2/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.3.2/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.3.2
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.3.1 - 2026-02-04
Release Notes
Fixed
- support git worktrees for exclude file management (#65)
Install repoverlay 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.3.1/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.3.1/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.3.1
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.3.0 - 2026-02-03
Release Notes
Added
- (cli) add update notifications (#54)
- (cli) add shell completions command (#51)
- (ci) add PR binary size comparison workflow (#52)
- (sources) add unified overlay syntax (#48)
- (cli) improve version string format for local builds (#46)
- (cli) add dry-run flags, help headings, and create-local command (#45)
- (sources) add multi-source overlay sharing (#44)
- add debug logging and documentation improvements (#34)
Fixed
- (resolve) handle nested overlay repo structure correctly (#50)
- (ci) checkout PR branch before pushing metrics updates
Other
- (deps) bump dawidd6/action-download-artifact from 8 to 14 (#57)
- add workflow to close dependabot PRs for generated files
- cargo update
- (talk) restructure to apply-first flow with unified syntax (#47)
- (deps) bump the actions group with 5 updates (#42)
- (deps) bump the rust-deps group with 2 updates (#43)
- update sickle to pick up fixes
- add talk outline and Marp slide deck
- enhance justfile with organized recipes and bloat profile (#41)
- add reusable actions and improved workflows (#40)
- add Cargo.toml improvements for lints and profiles (#38)
- add conventional commit enforcement tooling (#39)
- add rust toolchain and formatting configuration (#37)
- add cargo binstall command
Install repoverlay 0.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.3.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.3.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.3.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.2.1 - 2026-01-28
Release Notes
Added
- (overlay) add directory symlink support (#31)
- (cli) add subcommand to add files to existing overlays (#30)
Install repoverlay 0.2.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.2.1/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.2.1/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.2.1
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.2.0 - 2026-01-26
Release Notes
Added
Other
Install repoverlay 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.2.0/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.2.0/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.2.0
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
0.1.6 - 2026-01-22
Release Notes
Added
- simplify overlay publishing workflow (#16)
- (create) add interactive file selection UI with category filters (#17)
- use ~/.config for config and default create to overlay repo (#12)
Fixed
- improve terminal interactivity detection
- use output_dir for create command default path (#15)
Other
- improve code coverage for overlay_repo and selection modules (#21)
- improve code coverage for cache, lib, and main modules (#20)
- (deps) upgrade dependencies (#19)
Install repoverlay 0.1.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tylerbutler/repoverlay/releases/download/v0.1.6/repoverlay-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tylerbutler/repoverlay/releases/download/v0.1.6/repoverlay-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install tylerbutler/tap/repoverlayDownload repoverlay 0.1.6
| File | Platform | Checksum |
|---|---|---|
| repoverlay-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| repoverlay-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| repoverlay-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| repoverlay-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| repoverlay-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |