Release 18.12-beta.2

I just released 18.12-beta.2, with more fixes and some notable new features on top of beta.1. These will make their way into a stable release next week.

Install

This is a pre-release, and is not as tested as a production build

  1. It may not always be easy and without manual steps to downgrade from a prerelease build to the last stable. It will be possible to upgrade automatically to the next stable after a prerelease.
  2. Prerelease builds are more likely to contain bugs or regressions. They are unlikely to lose data, but do be cautious when running the bleeding edge.
  3. Prerelease builds may contain functionality not yet in a production release. Please let us know what you think!

If you’ve previously used our installer and have atuin-update in your path, you can use

bash

atuin-update --prerelease

Otherwise

bash

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/download/v18.12.0-beta.2/atuin-installer.sh | sh

Highlights

Custom keybinding system

You can now configure custom keybindings for the search TUI. Remap keys to suit your workflow!

Full docs: Advanced Key Binding - Atuin Documentation

Examples

Simple binding

[keymap.emacs]
"ctrl-c" = "return-original"

Conditional binding (first matching rule wins)

[keymap.emacs]
"left" = [
  { when = "cursor-at-start", action = "exit" },
  { action = "cursor-left" },
]

Boolean condition expressions

[keymap.emacs]
"ctrl-d" = [
  { when = "cursor-at-start && input-empty", action = "return-original" },
  { action = "delete-char-after" },
]

SQLite-backed config storage

We’ve replaced several loose files with a SQLite database. This should improve reliability and make things easier to manage internally.

Sync page size parameter

You can now specify the download/upload page size for sync (#2408) — helpful for tuning sync performance, especially on slower connections or large histories.

Dotfiles: sort and filter for aliases/vars

atuin dotfiles alias and var listing now supports sort and filter options, making it easier to manage larger sets of aliases and variables.

More bug fixes

  • PowerShell users: $LASTEXITCODE is now preserved correctly
  • Searching for hyphen-prefixed args like --- now works as expected
  • Fixed a sync loop issue where the server returning an empty page could cause a hang
  • Better home directory resolution via the directories crate
  • Wider exit column on Windows

Everything from beta.1 is also included (custom columns, custom data dir, separate atuin-server binary, and more).

Changelog (since beta.1)

Bug Fixes

  • (powershell) Preserve $LASTEXITCODE (#3120)
  • (search) Allow hyphen-prefixed query args like --- (#3129)
  • Larger exit column width on Windows (#3119)
  • Halt sync loop if server returns an empty page (#3122)
  • Use directories crate for home dir resolution (#3125)

Features

  • (dotfiles) Add sort and filter options to alias/var list (#3131)
  • Add a parameter to the sync to specify the download/upload page (#2408)
  • Replace several files with a sqlite db (#3128)
  • Add new custom keybinding system for search TUI (#3127)

Documentation

  • (CONTRIBUTING) Update links (#3117)
  • (README) Update links (#3116)
  • Update the [keys] docs (#3114)
  • Add history deletion guide (#3130)
2 Likes