Another release Thank you so much to everyone who contributed to this one!
I’m not posting the changelog on the blog this time. I’d rather keep them here, and post more interesting things there!
Fixes for fish 4.0
Fish 4.0 was released with a few breaking changes that affected our shell integration. These should be resolved with 18.5.
Atuin Scripts
These will also be getting a post of their own! I’ll also be updating the docs asap. Atuin Scripts allow you to build, sync + execute scripts with Atuin.
Scripts can be built from shell history
atuin scripts new --help
Usage: atuin scripts new [OPTIONS] <NAME>
Arguments:
<NAME>
Options:
-d, --description <DESCRIPTION>
-t, --tags <TAGS>
-s, --shebang <SHEBANG>
--script <SCRIPT>
--last [<LAST>] Use the last command as the script content Optionally specify a number to use the last N commands
--no-edit Skip opening editor when using --last
-h, --help Print help
Creating a script out of the last command ran
Running
atuin scripts new --name my-script --last
will open up your editor with the last command pre-loaded. Save and quit the editor, and the script is saved to your account
atuin scripts list
You can then execute the script with atuin scripts run <name>
Scripts can be created from stdin, from file, or interactively from your editor
Variables
We also support variables within scripts. Specify those with Jinja2-style templating, for example
echo "Hello {{name}}"
Running the script will prompt the user to provide a value for the variable. Alternatively, variable values can be provided from the CLI interface
atuin scripts run my-script -v name=ellie -v foo=bar -v key=value
We have a bunch planned for these, including the ability to create them interactively, include them in the search TUI, and more. Let me know what you think!
Bug Fixes
- (1289) Clear terminal area if inline (#2600)
- (bash) Fix preexec of child Bash session started by enter_accept (#2558)
- (build) Change atuin-daemon build script .proto paths (#2638)
- (kv) Filter deleted keys from
kv list
(#2665) - (stats) Ignore leading environment variables when calculating stats (#2659)
- (wrapped) Fix crash when history is empty (#2508)
- (zsh) Fix an error introduced earilier with support for bracketed paste mode (#2651)
- (zsh) Avoid calling user-defined widgets when searching for history position (#2670)
- Add .histfile as file to look for when doing atuin import zsh (#2588)
- Panic when invoking delete on empty tui (#2584)
- Sql files checksums (#2601)
- Up binding with fish 4.0 (#2613) (#2616)
- Don’t save empty commands (#2605)
- Improve broken symlink error handling (#2589)
- Multiline command does not honour max_preview_height (#2624)
- Typeerror in client sync code (#2647)
- Add redundant clones to clippy and cleanup instances of it (#2654)
- Allow -ve values for timezone (#2609)
- Fish up binding bug (#2677)
Documentation
- Update logo and badges in README for zh-CN (#2392)
Features
- (client) Update AWS secrets env var handling checks (#2501)
- (health) Add health check endpoint at
/healthz
(#2549) - (kv) Add support for ‘atuin kv delete’ (#2660)
- (wrapped) Add more pkg managers (#2503)
- (zsh) Try to go to the position in zsh’s history (#1469)
- (zsh) Re-enable bracketed paste (#2646)
- Add the --print0 option to search (#2562)
- Make new arrow key behavior configurable (#2606)
- Use readline binding for ctrl-a when it is not the prefix (#2626)
- Option to include duplicate commands when printing history commands (#2407)
- Binaries as subcommands (#2661)
- Support storing, syncing and executing scripts (#2644)
- Add ‘atuin scripts rm’ and ‘atuin scripts ls’ aliases; allow reading from stdin (#2680)
Miscellaneous Tasks
- Remove unneeded dependencies (#2523)
- Update rust toolchain to 1.85 (#2618)
- Align daemon and client sync freq (#2628)
- Migrate to rust 2024 (#2635)
- Show host and user in inspector (#2634)
- Update to rust 1.85.1 (#2642)
- Update to rust 1.86 (#2666)
Performance
- Cache
SECRET_PATTERNS
’sRegexSet
(#2570)
Styling
- Avoid calling
unwrap()
when we don’t have to (#2519)
Build
- (nix) Bump
flake.lock
(#2637)
Flake.lock
- Update (#2463)