Repository navigation
Releases
Release v0.1.9-beta
What's Changed
- Rename Tapes-v2 crate to tapes-rs by @futurekismo-oss in #29
- Featured Subcommand to install tapes straight from Featured-tapes repo by @futurekismo-oss in #28
Full Changelog: v0.1.8-beta.1...v0.1.9-beta
A breaking change, we're renaming the crate from tapes-v2 to tapes-dotfiles and since the crates registry is immutable, we have to make a new crate and drop the old one
this is the old abandoned crate
https://crates.io/crates/tapes-v2
and this is the new one
https://crates.io/crates/tapes-dotfiles
The proper renaming in readme has been done and a caution has been added in the older one
This change should only affect people who use binstall or install
A new repo, https://github.com/futurekismo-oss/featured-tapes contains ready made tapes, they contain scripts and tape.toml configured to work with tapes with a single install, you can install a packaged tape from the repo with the featured command. e.g caelestia, nebula or end-4
tapes featured caelestia
tapes featured nebula
tapes featured end-4 --name iiRelease v0.1.8-beta.1
Full Changelog: v0.1.8-beta...v0.1.8-beta.1
Minimal changes to the logger
- No more targets list in the logs, it was long and annoying
- The logger has a better cleanup
- the install scripts now deletes the previous log file in order to ensure pristine state
Release v0.1.8-beta
What's Changed
- Tests for Tapes by @futurekismo-oss in #23
- Change Tapes Lincese from MIT to GPL-3.0 by @futurekismo-oss in #24
- Feat/faq by @LilaccFlowerr in #25
- docs: added to FAQs by @LilaccFlowerr in #26
Full Changelog: v0.1.7-beta...v0.1.8-beta
Pretty clear what changed from the release notes but i'll write it again
- Tapes has a few tests now, cause we wanna be reliable software
- The tapes license is now GPL-3.0. I think its a better choice for the future of tapes
- We have an FAQ section now, so less questions hopefully, but the team will happily answer an uncertainty you have
Release v0.1.7-beta
What's Changed
- fix: update legacy tapes-v2 strings and harden install script by @amitxd75 in #18
- feat(install): rework install hooks, add git shorthands, and improve clone speeds (#13) by @amitxd75 in #19
- feat/global config by @amitxd75 in #20
Full Changelog: v0.1.6-beta...v0.1.7-beta
- A speed up in the install command
- git shorthands. You can now use
github:,gh:,cb:etc - Tapes now has a config file, read the readme for more details
Release v0.1.6-beta
What's Changed
Full Changelog: v0.1.5-beta...v0.1.6-beta
A few changes, The most important one is
-
The binary name is now
tapes, just tapes, its no longertapes-v2, it is just tapes, it was heavily requested and since no one knew what the OG tapes was, it is fine I feel like some users will be rejoicing because of this as they complained it was quite annoying. -
Depending on how you installed, i recommend you remove the previous binary to avoid confusion, with the script it should be in
~/.local/bin, and cargo install stores its binaries in~/.cargo/bin -
Thanks for @amitxd75 (again) as he introduced mold and sccache, making the builds even faster
-
An FAQ is in the work to properly tell beginners what tapes is
-
Tapes now has a gui, Thanks to @LilaccFlowerr see it here, https://github.com/LilaccFlowerr/tapes-deck
Release v0.1.5-beta
What's Changed
- docs: refactor readme by @futurekismo-oss in https://github.com/futurekismo-oss/tapes-v2/pull/6
- Refactor logging by @futurekismo-oss in https://github.com/futurekismo-oss/tapes-v2/pull/12
New Contributors
- @futurekismo-oss made their first contribution in https://github.com/futurekismo-oss/tapes-v2/pull/6
Full Changelog: https://github.com/futurekismo-oss/tapes-v2/compare/v0.1.4-beta...v0.1.5-beta
Release v0.1.4-beta
What's Changed
- fix: eject panic (#4) and lifecycle hook bugs by @amitxd75 in https://github.com/futurekismo-oss/tapes-v2/pull/5
New Contributors
- @amitxd75 made their first contribution in https://github.com/futurekismo-oss/tapes-v2/pull/5
Full Changelog: https://github.com/futurekismo-oss/tapes-v2/compare/v0.1.3-beta...v0.1.4-beta
- General bug fixes
- Tapes now has shell completion, just follow the instructions in the installation part of the readme
- An handy dandy script for version bumping, useful for our developers
- Logging to a file ( ~/.local/share/tapes/tapes.log ), this should make debugging issues easier as user can know just provide the log file, unfortunately i have not yet implemented periodic cleanup for this file, something for the future
- On the talk of logging, amitxd75 has ripped out env_logger for a minimal custom made logger, this change has fastened build times as env_logger was a bloated dependency, builds on my celeron n4020 halved
- Dev: 1m 10s -> 40s
- Release: 2m 40s -> 1m 17s
Release v0.1.3-beta
Full Changelog: https://github.com/futurekismo-oss/tapes-v2/compare/v0.1.2-beta...v0.1.3-beta
Some bug fixes
Eject can delete data. After swapping back, eject runs remove_dir_all on the staging tree. That tree is only symlinks if nothing new happened. But anything created at the top level of ~/.config while a tape is live is a real file in the staging tree: a new app’s config dir, or a top-level file an app rewrites by atomic rename (like mimeapps.list). Eject deletes those permanently.
Switching skips the outgoing tape’s eject hooks. Insert calls the swap-back helper directly, and only the eject command runs hooks. For shells that is the worst gap, because stopping the old shell is exactly what an eject hook does.
Symlink failures are swallowed. symlink_targets logs the error and continues, so the swap proceeds and that app’s config silently disappears from the live ~/.config until eject. It should abort before the swap.
Hooks run through $SHELL -c, synchronously. If your login shell is fish (the default in Caelestia’s setup), hooks written in sh syntax can break. A hook that starts a long-running shell blocks tapes until it exits. The README’s own eject example has qs -c caelestia, which as far as I know runs in the foreground unless daemonized.
The ignore list is four names (tape.toml, .git, README.md, .github). A tape repo with LICENSE, .gitignore or .editorconfig at the top level gets those symlinked into ~/.config.
Dry-run doesn’t match the docs. It returns before building anything, but INTERNALS.md says it builds the staging tree and prints the plan.
All these bugs have been fixed, thankfully reported by erotic-erox
release 0.1.3-beta also introduces install hooks
[tape]
name="caelestia"
desc = "A fluid morphing shell"
...
[hooks.install] # run during tapes-v2 install /path_or_repo/caelestia
value = [
"git clone https://github.com/caelestia-dots/shell.git ${XDG_CONFIG_HOME:-$HOME/.config}/quickshell/caelestia",
"cd ${XDG_CONFIG_HOME:-$HOME/.config}/quickshell/caelestia",
"cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/",
"cmake --build build",
"sudo cmake --install build"
]these hooks are run during installation and should be used by public repos to run install scripts or whatnot, or maybe users who wanna dont wanna redo the manual installation of a tape
Full Changelog: https://github.com/futurekismo-oss/tapes-v2/compare/v0.1.2-beta...v0.1.3-beta
Release v0.1.2-beta
Full Changelog: https://github.com/futurekismo-oss/tapes-v2/compare/v0.1.1-beta...v0.1.2-beta
- introduces a --dir argument for the install command, this allows you to install any directory or sub directory of a public repo and tapes will find that dir in the repo and make a tape out of it, this removes the need for repos to conform to a strict top-level .config folders.
- a useless resolve tilde util helper has been removed, this command existed to handle the conversion of paths like "~/config" to "/home/user/config" and was made with my inadequate knowledge of tilde resolving at the time, i have now been informed that shells (bash, zsh, ...) do this automatically and there is no need for tapes to do this in its own code. this note is for contributors, for real users this change has no effect