# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [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. ### 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. - 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 ` for updating castles (thanks Jorge Dias). - A very basic `homesick generate `. ### Fixed - Listing of castles cloned using `homesick clone /` (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.