Add CHANGELOG.md

This commit is contained in:
Ajeet D'Souza 2020-03-30 05:25:56 +05:30
parent 3c7d100ab1
commit ad96db844c
2 changed files with 109 additions and 11 deletions

93
CHANGELOG.md Normal file
View File

@ -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

View File

@ -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 <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