v2.4.0
Features
- Frecency aging. Ranks no longer grow without bound. Once the total rank mass crosses an internal cap, every rank is scaled down and stale entries are pruned, the way zoxide ages, so a project you leaned on last month stops outranking the one you are on today.
- Import from zoxide with
hop import --from zoxide. Already running zoxide? Seed hop from your learned history instead of starting cold. It readszoxide query --list --score(the stable text interface, never the binary database): a git repository hop does not index yet is added to the search list and ranked, a directory hop already indexes is re-ranked, anything else is skipped.--dry-runpreviews without writing, and it always reportsimported N, tracked M, skipped K. hop queryfor scripting. Print the resolved path as plain text, no cd and no shell sentinel, so you can compose hop with other tools:cd "$(hop query api)",hop query --list | fzf, orcode "$(hop query acme web)".- tmux or zellij session per project. The
taction now drives either multiplexer, attaches or creates a session named after the project, and never nests when you are already inside one. Pick it with[actions] multiplexer = "auto" | "tmux" | "zellij" | "off"; it hides itself when the chosen multiplexer is not installed.
Install
brew install philippe-desplats/tap/hop
# or
go install github.com/philippe-desplats/hop/cmd/hop@latestPrebuilt binaries for macOS and Linux (amd64 and arm64) are attached below, with signed checksums (cosign) and an SBOM per artifact.
Full changelog: v2.3.0...v2.4.0