From ad96db844cddcf96d498240d977d9fc5d6ea27b6 Mon Sep 17 00:00:00 2001 From: Ajeet D'Souza <98ajeet@gmail.com> Date: Mon, 30 Mar 2020 05:25:56 +0530 Subject: [PATCH] Add CHANGELOG.md --- CHANGELOG.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 27 ++++++++------- 2 files changed, 109 insertions(+), 11 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6d37ff7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,93 @@ +# 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.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.3.0] - 2020-03-30 + +### Added + +- Automatic migration from `v0.2.x` databases. +- `$_ZO_EXCLUDE_DIRS` to prevent certain directories from being added to the database. +- Support for POSIX-compliant shells. + +### Changed + +- Database location defaults to user's local data directory. +- Database schema now includes a version number. +- `migrate` subcommand renamed to `import`. + +### Fixed + +- Achieve thread safety using unique temporary database file names for each `zoxide` instance. +- Incomprehensive "could not allocate" message on database corruption. + +## [0.2.2] - 2020-03-20 + +### Fixed + +- Incorrect exit codes in `z` command on `fish`. + +### Removed + +- File locks on database. + +## [0.2.1] - 2020-03-16 + +### Added + +- `$_ZO_ECHO` to echo match before `cd`ing. +- Minimal `ranger` plugin. +- PWD hook to only update the database when the current directory is changed. +- Support for the `bash` shell. +- `migrate` subcommand to allow users to migrate from `z`. + +### Fixed + +- Interactive queries causing other open shells to hang. + +## [0.2.0] - 2020-03-11 + +### Added + +- `init` subcommand to remove dependency on shell plugin managers. +- Support for `z -` command to go to previous directory. +- `Cargo.lock` for more reproducible builds. +- Support for the `fish` shell. + +### Fixed + +- `_zoxide_precmd` overriding other precmd hooks on `zsh`. + +## [0.1.1] - 2020-03-08 + +### Added + +- Install script for Linux/macOS users. +- Aging algorithm to remove stale entries. + +### Changed + +- Database schema now uses `f64` values for rank instead of `i32`. + +### Fixed + +- Multiple hooks being added upon initializing `zoxide` multiple times. + +## [0.1.0] - 2020-03-05 + +### Added + +- GitHub Actions pipeline to build and upload releases. +- Support for the `zsh` shell. + +[0.3.0]: https://github.com/ajeetdsouza/zoxide/compare/v0.2.2...v0.3.0 +[0.2.2]: https://github.com/ajeetdsouza/zoxide/compare/v0.2.1...v0.2.2 +[0.2.1]: https://github.com/ajeetdsouza/zoxide/compare/v0.2.0...v0.2.1 +[0.2.0]: https://github.com/ajeetdsouza/zoxide/compare/v0.1.1...v0.2.0 +[0.1.1]: https://github.com/ajeetdsouza/zoxide/compare/v0.1.0...v0.1.1 +[0.1.0]: https://github.com/ajeetdsouza/zoxide/commits/v0.1.0 diff --git a/README.md b/README.md index 6b59dda..516e2c6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,10 @@ A cd command that learns your habits ## Introduction -`zoxide` is a blazing fast alternative to `cd`, inspired by [`z`](https://github.com/rupa/z) and [`z.lua`](https://github.com/skywind3000/z.lua). It keeps track of the directories you use most frequently, and uses a ranking algorithm to navigate to the best match. +`zoxide` is a blazing fast alternative to `cd`, inspired by +[`z`](https://github.com/rupa/z) and [`z.lua`](https://github.com/skywind3000/z.lua). +It keeps track of the directories you use most frequently, and uses a ranking algorithm +to navigate to the best match. ## Examples @@ -56,11 +59,13 @@ Otherwise, try the install script: curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ajeetdsouza/zoxide/master/install.sh | sh ``` -If you want the interactive fuzzy selection feature, you will also need to install [`fzf`](https://github.com/junegunn/fzf.git). +If you want the interactive fuzzy selection feature, you will also need to install +[`fzf`](https://github.com/junegunn/fzf.git). ### Step 2: Adding `zoxide` to your shell -If you currently use `z`, `z.lua`, or `zsh-z`, you may want to first import your existing database into `zoxide`: +If you currently use `z`, `z.lua`, or `zsh-z`, you may want to first import +your existing database into `zoxide`: ```sh zoxide import /path/to/db @@ -92,17 +97,17 @@ zoxide init fish | source #### POSIX -Add the following line to your shell's configuration file (or, run it manually): +Add the following line to your shell's configuration file: -``` sh +```sh eval "$(zoxide init posix)" ``` NOTE: If you modify your `PS1` at any point, you may need to re-run the above command. This is due -to the fact that we store our hook in `PS1`, in order to be evaluated every time the prompt is +to the fact that the hook is stored in `PS1`, in order to be evaluated every time the prompt is displayed. -NOTE: There is no PWD hook provided for POSIX shells. +NOTE: PWD hooks are currently not supported for POSIX shells. ## Configuration @@ -110,18 +115,18 @@ NOTE: There is no PWD hook provided for POSIX shells. - `--no-define-aliases`: don't define extra aliases like `zi`, `zq`, `za`, and `zr` - `--hook `: change the event that adds a new entry to the database (default: `prompt`) - - `none`: never add entries - this will make `zoxide` useless unless you manually configure a hook + - `none`: never add entries (this will make `zoxide` useless unless you manually configure a hook) - `prompt`: add an entry at every prompt - `pwd`: add an entry whenever you change directories ### Environment variables - `$_ZO_DATA_DIR`: directory where `zoxide` will store its data files (default: - platform-specific; see the [`dirs` documentation] for more information) + platform-specific; see the [`dirs` documentation] for more information) - `$_ZO_ECHO`: `z` will print the matched directory before navigating to it - `$_ZO_EXCLUDE_DIRS`: list of directories separated by platform-specific - characters (`:` on Linux and macOS, and `;` on Windows) to be excluded from - the database + characters ("`:`" on Linux and macOS, and "`;`" on Windows) to be excluded from + the database - `$_ZO_MAXAGE`: sets the maximum total rank after which entries start getting deleted [`dirs` documentation]: https://docs.rs/dirs/latest/dirs/fn.data_local_dir.html