Files
gosick/changelog.md
Micheal Wilkinson 195b936de6
Some checks failed
Push Validation / validate (push) Failing after 6m32s
docs(changelog): note coverage artefact publishing
2026-03-20 11:46:12 +00:00

5.7 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Native Go implementations for clone, link, unlink, and track.
  • Containerized behavior test suite for command parity validation.
  • Dedicated test suites for list, show_path, status, diff, and version.
  • Just workflow support for building and running the Linux behavior binary.
  • Coverage reports and badges published to shared object storage for branches and pull requests.
  • Pull requests now receive coverage report links in CI comments.

Changed

  • CLI argument parsing migrated to Kong.
  • Git operations for clone and track migrated to go-git.
  • Build and behavior workflows now produce and run the gosick binary name.
  • CI validation is unified into push events, running behavior tests only on main pushes.
  • Gitea workflow and README badge updated from push-unit-tests to push-validation.
  • CLI help now uses the invoked binary name (defaulting to gosick) in usage output.
  • CLI help description now reflects Homesick's purpose for managing precious dotfiles.
  • Release notes standardized to Keep a Changelog format.

Fixed

  • status and diff now consistently write through configured app output writers.

Removed

  • Legacy Ruby implementation and Ruby toolchain.

[1.1.6] - 2017-12-20

Fixed

  • Ensure FileUtils is imported correctly to avoid a potential error.
  • Fix an issue where comparing a diff did not use the content of the new file.

Changed

  • Small documentation fixes.

[1.1.5] - 2017-03-23

Fixed

  • Problem with version number being incorrect.

[1.1.4] - 2017-03-22

Fixed

  • Ensure symlink conflicts are explicitly communicated to users and symlinks are not silently overwritten.
  • Fix a problem in diff when asking a user to resolve a conflict.

Changed

  • Use real paths of symlinks when linking a castle into home.
  • Code refactoring and fixes.

[1.1.3] - 2015-10-31

Added

  • Allow a destination to be passed when cloning a castle.

Fixed

  • Make sure homesick edit opens the default editor in the root of the given castle.
  • Bug when diffing edited files.
  • Crashing bug when attempting to diff directories.
  • Ensure that messages are escaped correctly on git commit all.

[1.1.2] - 2015-01-02

Added

  • --force option to the rc command to bypass confirmation checks when running a .homesickrc file.
  • Check to ensure that at least Git 1.8.0 is installed.

Fixed

  • Stop Homesick failing silently when Git is not installed.

Changed

  • Code refactoring and fixes.

[1.1.0] - 2014-04-28

Added

  • exec and exec_all commands to run commands inside one or all cloned castles.

Changed

  • Code refactoring.

[1.0.0] - 2014-01-15

Added

  • version command.

Removed

  • Support for Ruby 1.8.7.

[0.9.8] - 2014-01-02

Added

  • homesick cd command.
  • homesick open command.

[0.9.4] - 2013-07-31

Added

  • homesick unlink command.
  • homesick rc command.

Changed

  • Use HTTPS protocol instead of git protocol.

[0.9.3] - 2013-07-07

Added

  • Recursive option to homesick clone.

[0.9.2] - 2013-06-27

Added

  • homesick show_path command.
  • homesick status command.
  • homesick diff command.

Changed

  • Set dotfiles as default castle name.

[0.9.1] - 2013-06-17

Fixed

  • Small bugs: #35, #40.

[0.9.0] - 2013-06-06

Added

  • .homesick_subdir (#39).

[0.8.1] - 2013-05-19

Fixed

  • homesick list bug on Ruby 2.0 (#37).

[0.8.0] - 2013-04-06

Added

  • commit and push command.
  • Commit changes in a castle and push to remote.
  • Enable recursive submodule update.
  • Git add when using track.

[0.7.0] - 2012-05-28

Added

  • New option for pull command: --all.
  • Pull each castle instead of just one.

Fixed

  • Double-cloning (#14).

[0.6.1] - 2010-11-13

Added

  • License.

[0.6.0] - 2010-10-27

Added

  • .homesickrc support.
  • Castles can now have a .homesickrc inside them.
  • On clone, this is eval'd inside the destination directory.
  • track command.
  • Allows easily moving an existing file into a castle and symlinking it back.

[0.5.0] - 2010-05-18

Added

  • homesick pull <CASTLE> for updating castles (thanks Jorge Dias).
  • A very basic homesick generate <CASTLE>.

Fixed

  • Listing of castles cloned using homesick clone <github-user>/<github-repo> (issue 3).

[0.4.1] - 2010-04-02

Fixed

  • Improve error message when a castle's home dir does not exist.

[0.4.0] - 2010-04-01

Added

  • homesick clone can take a path to a directory on the filesystem, which is symlinked into place.
  • homesick clone tries to run git submodule init and git submodule update if git submodules are defined for a cloned repo.

Changed

  • Use HOME environment variable for where to store files, instead of assuming ~.

Fixed

  • Missing dependency on thor and others.

[0.3.0] - 2010-04-01

Changed

  • Rename link to symlink.

Fixed

  • Conflict resolution when symlink destination exists and is a normal file.

[0.2.0] - 2010-03-19

Added

  • Better support for recognizing git URLs (thanks jacobat).
  • If it looks like a GitHub user/repo, use that.
  • Otherwise hand off to git clone.
  • Listing now displays in color and shows git remote.
  • Support pretend, force, and quiet modes.

[0.1.1] - 2010-03-17

Fixed

  • Trying to link against castles that do not exist.
  • Linking now excludes . and .. from the list of files to link (thanks Martinos).

[0.1.0] - 2010-03-10

Added

  • Initial release.