Releases: atuinsh/atuin
v18.2.0
Bug Fixes
- Add missing description (#1861)
- Allow empty search (#1866)
- Pass search query in via env (#1865)
- Pass search query in via env for Nushell (#1874)
- Case insensitive hostname filtering (#1883)
- Update atuin.nu to resolve 0.92 deprecation (#1913)
- Detect preexec plugin using env ATUIN_PREEXEC_BACKEND (#1856)
- Install script echo (#1899)
- Report non-decodable errors correctly (#1915)
- Do not use "return" to cancel initialization (#1928)
- Use spawn_blocking for file access during async context (#1936)
Documentation
- Add security contact (#1867)
- Add install instructions for cave/exherbo linux in README.md (#1927)
- Describe the limitation of missing commands (#1937)
- Add missing cli help text (#1945)
Features
- Process [C-h] and [C-?] as representations of backspace (#1857)
- Allow specifying search query as an env var (#1863)
- Check PG version before running migrations (#1868)
- Add atuin prefix binding (#1875)
- Update install.sh to support KDE Neon (#1908)
- Add better search scoring (#1885)
- Sync v2 default for new installs (#1914)
- Add 'ctrl-a a' to jump to beginning of line (#1917)
- Prevents stderr from going to the screen (#1933)
- Add alias import (#1938)
- Use _ble_exec_time_ata for duration even in bash < 5 (#1940)
- Add base structure (#1935)
Miscellaneous Tasks
- Add issue form (#1871)
- Require atuin doctor in issue form (#1872)
- Add section to issue form (#1873)
- Add codespell support (config, workflow) and make it fix some typos (#1916)
- Cargo update (#1943)
Performance
- Cache aliases and read straight from file (#1918)
New Contributors
- @dacog made their first contribution in #1908
- @ivan-toriya made their first contribution in #1899
- @yarikoptic made their first contribution in #1916
- @davlgd made their first contribution in #1927
Full Changelog: v18.1.0...v18.2.0
v18.1.0
Bug Fixes
- Don't preserve for empty space (#1712)
- Fish init (#1725)
- Add xonsh to auto import, respect $HISTFILE in xonsh import, and fix issue with up-arrow keybinding in xonsh (#1711)
- Rework #1509 to recover from the preexec failure (#1729)
- Typo (#1741)
- Missing or wrong fields (#1740)
- Check session file exists for status command (#1756)
- Ensure sync time is saved for sync v2 (#1758)
- No panic on empty inspector (#1768)
- Enable multiple command stats to be shown using unicode_segmentation (#1739)
- Readd up-arrow keybinding, now with menu handling (#1770)
- Missing characters in preview (#1803)
- Check store length after sync, not before (#1805)
- Disable regex error logs (#1806)
- Attempt to fix timezone reading (#1810)
- Use a different method to detect env vars (#1819)
- Record size limiter (#1827)
- Make atuin compile on non-win/mac/linux platforms (#1825)
- Set meta.mainProgram in the package (#1823)
- Re-sync after running auto store init (#1834)
Documentation
- Minor formatting updates to the default config.toml (#1689)
- Update docker compose (#1818)
- Use db name env variable also in uri (#1840)
Features
- Use ATUIN_TEST_SQLITE_STORE_TIMEOUT to specify test timeout of SQLite store (#1703)
- Add 'a', 'A', 'h', and 'l' bindings to vim-normal mode (#1697)
- Add xonsh history import (#1678)
- Process Ctrl+m for kitty keyboard protocol (#1720)
- Add 'ignored_commands' option to stats (#1722)
- Support syncing aliases (#1721)
- Change fulltext to do multi substring match (#1660)
- Add config option keys.scroll_exits (#1744)
- Add history prune subcommand (#1743)
- Add alias feedback and list command (#1747)
- Add PHP package manager "composer" to list of default common subcommands (#1757)
- Add '/', '?', and 'I' bindings to vim-normal mode (#1760)
- Add update action (#1779)
- Normalize formatting of default config, suggest nix (#1764)
- Add linux sysadmin commands to common_subcommands (#1784)
- Add
CTRL+[
binding as<Esc>
alias (#1787) - Add nushell completion generation (#1791)
- Add atuin doctor (#1796)
- Add checks for common setup issues (#1799)
- Support regex with r/.../ syntax (#1745)
- Guard against ancient versions of bash where this does not work. (#1794)
- Add config setting for showing tabs (#1755)
- Return early if history is disabled (#1807)
- Add enable setting to dotfiles, disable by default (#1829)
- Add automatic history store init (#1831)
- Adds info command to show env vars and config files (#1841)
Miscellaneous Tasks
- Add cross-compile job for illumos (#1830)
- Do not show history table stats when using records (#1835)
- Setup nextest (#1848)
Performance
- Optimize history init-store (#1691)
Refactor
- Update
commandline
syntax, closes #1733 (#1735) - Clarify operation result for working with aliases (#1748)
- Rename atuin-config to atuin-dotfiles (#1817)
New Contributors
- @hack3ric made their first contribution in #1703
- @drmorr0 made their first contribution in #1689
- @alerque made their first contribution in #1697
- @jfmontanaro made their first contribution in #1678
- @c-git made their first contribution in #1741
- @tessus made their first contribution in #1744
- @xvello made their first contribution in #1743
- @Aloxaf made their first contribution in #1740
- @Adda0 made their first contribution in #1748
- @KorvinSzanto made their first contribution in #1757
- @mwpastore made their first contribution in #1760
- @github-actions made their first contribution in #1780
- @liljaylj made their first contribution in #1787
- @remmycat made their first contribution in #1770
- @fragmede made their first contribution in #1794
- @digital-cuttlefish made their first contribution in #1755
- @IanManske made their first contribution in #1807
- @sunshowers made their first contribution in #1825
- @macno made their first contribution in #1840
Full Changelog: v18.0.2...v18.1.0
v18.0.2
[18.0.2] - 2024-02-26
The included fix should make bash support a bit better. For further improvement, please update bash-preexec with
curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.sh
If you are using ble.sh, this is not required + this release will change nothing for you.
There are also no changes for any shell other than bash, and no serverside changes either
Bug Fixes
Full Changelog: v18.0.1...v18.0.2
v18.0.1
Patch release - fixing an issue with enhanced keyboard mode. Thanks @candrewlee14!
What's Changed
- fix: reorder the exit of enhanced keyboard mode by @candrewlee14 in #1694
- chore(release): prepare for release v18.0.1 by @ellie in #1706
New Contributors
- @candrewlee14 made their first contribution in #1694
Full Changelog: v18.0.0...v18.0.1
v18.0.0
Please see the full release notes here: https://blog.atuin.sh/release-v18/
Bug Fixes
- Prevent input to be interpreted as options for zsh autosuggestions (#1506)
- Avoid unexpected
atuin history start
for keybindings (#1509) - Prevent input to be interpreted as options for blesh auto-complete (#1511)
- Work around custom IFS (#1514)
- Fix and improve the keybinding to
up
(#1515) - Fix incorrect timing of child shells (#1510)
- Disable musl deb building (#1525)
- Work around bash < 4 and introduce initialization guards (#1533)
- Set umask 077 (#1554)
- Disables unix specific stuff for windows (#1557)
- Fix invisible tab title (#1560)
- Shorten text, use ctrl-o for inspector (#1561)
- Integration on older fishes (#1563)
- Save sync time when it starts, not ends (#1573)
- Print literal control characters to non terminals (#1586)
- Escape control characters in command preview (#1588)
- Use existing db querying for history list (#1589)
- Add acquire timeout to sqlite database connection (#1590)
- Update repo url in CONTRIBUTING.md (#1594)
- Dedupe was removing history (#1610)
- Only escape control characters when writing to terminal (#1593)
- Strip control chars generated by
\[\]
in PS1 with bash-preexec (#1620) - Check for format errors when printing history (#1623)
- Skip padding time if it will overflow the allowed prefix length (#1630)
- Never overwrite the key (#1657)
- Erase the prompt last line before Bash renders it
- Erase the previous prompt before overwriting
- Support termcap names for tput (#1670)
- Set durability for sqlite to recommended settings (#1667)
- Correct download list for incremental builds (#1672)
- Add Settings::utc() for utc settings (#1677)
Documentation
- Add repology badge (#1494)
- Add forum link to contributing (#1498)
- Refer to image with multi-arch support (#1513)
- Remove activity graph
- Fix
Destination file already exists
in Nushell (#1530) - Clarify enter/tab usage (#1538)
- Improve style (#1537)
- Remove old docusaurus (#1581)
- Mention environment variables for custom paths (#1614)
- Create pull_request_template.md (#1632)
- Update CONTRIBUTING.md (#1633)
Features
- Enable enhanced keyboard mode (#1505)
- Rework record sync for improved reliability (#1478)
- Include atuin login in secret patterns (#1518)
- Add redraw (#1519)
- Make it clear what you are registering for (#1523)
- Support high-resolution timing even without ble.sh (#1534)
- Add extended help (#1540)
- Add interactive command inspector (#1296)
- Vim mode (#1553)
- Add better error handling for sync (#1572)
- Add history rebuild (#1575)
- Introduce keymap-dependent vim-mode (#1570)
- Make deleting from the UI work with record store sync (#1580)
- Add metrics counter for records downloaded (#1584)
- Make cursor style configurable (#1595)
- Make store init idempotent (#1609)
- Don't stop with invalid key (#1612)
- Add registered and deleted metrics (#1622)
- When in vim-normal mode apply an alternative highlighting to the selected line (#1574)
- [breaking] Bind the Atuin search to "/" in vi-normal mode (#1629)
- Update widget names (#1631)
- Make history list format configurable (#1638)
- Add change-password command & support on server (#1615)
- Automatically init history store when record sync is enabled (#1634)
- Add store push (#1649)
- Reencrypt/rekey local store (#1662)
- Add prefers_reduced_motion flag (#1645)
- Add verify command to local store
- Add store purge command
- Failure to decrypt history = failure to sync
- Add
store push --force
- Add
store pull
- Disable auto record store init (#1671)
- Add progress bars to sync and store init (#1684)
Miscellaneous Tasks
- Remove the teapot response (#1496)
- Schema cleanup (#1522)
- Update funding (#1543)
- Make clipboard dep optional as a feature (#1558)
- Add feature to allow always disable check update (#1628)
- Use resolver 2, update editions + cargo (#1635)
- Disable nix tests (#1646)
- Set ATUIN_ variables for development in devshell (#1653)
- Use github m1 for release builds (#1658)
- Re-enable test cache, add separate check step (#1663)
- Run rust build/test/check on 3 platforms (#1675)
Refactor
- Use enum instead of magic numbers (#1499)
- String -> HistoryId (#1512)
- Refactor and localize
HISTORY => __atuin_output
(#1535) - Refactor vim mode (#1559)
- Refactor handling of key inputs (#1606)
Styling
- Use consistent coding style (#1528)
Testing
- Add multi-user integration tests (#1648)
Stats
- Misc improvements (#1613)
New Contributors
- @snaggen made their first contribution in #1506
- @matthewberryman made their first contribution in #1518
- @azzamsa made their first contribution in #1530
- @sowbug made their first contribution in #1537
- @mattgodbolt made their first contribution in #1563
- @tpoliaw made their first contribution in #1576
- @dongxuwang made their first contribution in #1594
- @philn made their first contribution in #1614
- @eatradish made their first contribution in #1628
- @Matthieu-LAURENT39 made their first contribution in #1375
- @matthiasbeyer made their first contribution in #1653
- @nebkor made their first contribution in #1667
Full Changelog: https://github.com/atuinsh/atuin/compa...
v17.2.1
v17.2.0
Release v17.2.0 is out now! Thank you to all contributors, new and old ❤️
We have always recommended that self-hosters keep their servers up to date. From this point forwards, this is now enforced. If clients are running a newer major version of Atuin than the server, they will not sync.
See more: https://forum.atuin.sh/t/release-v17-2-0/36
Community
Self hosting
There's a small issue with this release, currently fixed in v17.2.1
The TLS config defaults are not quite setup properly, so self hosted users will need to add
[tls]
enable = false
cert_path = ""
pkey_path = ""
to their config.
Bug Fixes
- Fix typo (#1439)
- Don't require all fields under [stats] (#1437)
- Disallow deletion if the '--limit' flag is present (#1436)
- Respect ZSH's $ZDOTDIR environment variable (#1441)
- Fix loss of the last output line with enter_accept (#1463)
- Ignore struct_field_names (#1466)
- Improve the support for
enter_accept
withble.sh
(#1465) - Discord link expired
- Discord broken link
- Fix small issues of
enter_accept
for the plain Bash (#1467) - Time now_local not working
- Fix quirks on search cancel (#1483)
- Zsh_autosuggest_strategy for no-unset environment (#1486)
- Fix error by the use of ${PS1@P} in bash < 4.4 (#1488)
- Zsh use a special format to escape some characters (#1490)
Documentation
- Add actuated linkback
- Add link to forum
- Align setup links in docs and readme (#1446)
- Add Void Linux install instruction (#1445)
- Add fish install script (#1447)
- Correct link
- Fix light/dark mode logo
- Use picture element for logo
- Add docs for zsh-autosuggestion integration (#1480)
- Remove stray character from README
- Update logo (#1481)
Features
- Add semver checking to client requests (#1456)
- Add TLS to atuin-server (#1457)
- Integrate with zsh-autosuggestions (#1479)
- Support high-resolution duration if available (#1484)
- Provide auto-complete source for ble.sh (#1487)
Miscellaneous Tasks
Refactor
New Contributors
- @Josef-Friedrich made their first contribution in #1439
- @r-vdp made their first contribution in #1437
- @sdr135284 made their first contribution in #1436
- @tranzystorekk made their first contribution in #1445
- @drbrain made their first contribution in #1457
- @akinomyoga made their first contribution in #1463
- @lilydjwg made their first contribution in #1490
Full Changelog: v17.1.0...v17.2.0
v17.1.0
Bug Fixes
- Initial list of history in workspace mode (#1356)
- Add Appkit to the package build (#1358)
- Bind in the most popular modes (#1360)
- Only trigger up-arrow on first line (#1359)
- Clean up the fish script options (#1370)
- Use fish builtins for
enter_accept
(#1373) - Make
atuin account delete
void session + key (#1393) - New clippy lints (#1395)
- Accept multiline commands (#1418)
- Reenable enter_accept for bash (#1408)
- Respect ZSH's $ZDOTDIR environment variable (#942)
Documentation
- Update sync.md (#1409)
- Update Arch Linux package URL in advanced-install.md (#1407)
- New stats config (#1412)
Features
- Add a nixpkgs overlay (#1357)
- Add metrics server and http metrics (#1394)
- Add some metrics related to Atuin as an app (#1399)
- Allow configuring stats prefix (#1411)
- Allow spaces in stats prefixes (#1414)
Miscellaneous Tasks
- Update to sqlx 0.7.3 (#1416)
cargo update
(#1419)- Update rusty_paseto and rusty_paserk (#1420)
- Run dependabot weekly, not daily (#1423)
- Don't group deps (#1424)
- Add contributor image to README (#1430)
- Setup git cliff (#1431)
Other
- Add Kris Nova to X-Clacks-Overhead by @ellie in #1355
- Bump debian from bullseye-20231009-slim to bullseye-20231030-slim by @dependabot in #1366
- Update docs by @ellie in #1367
- Bash
enter_accept
best effort fixes by @arcuru in #1384 - Disable enter-accept for bash by @ellie in #1385
- Make
atuin account delete
void session + key by @shymega in #1393 - Update sync.md by @jingmian in #1409
- Update Arch Linux package URL in advanced-install.md by @felixonmars in #1407
- Bump debian from bullseye-20231030-slim to bullseye-20231120-slim by @dependabot in #1406
- Bump lukemathwalker/cargo-chef from latest-rust-1.73.0-buster to latest-rust-1.74.0-buster by @dependabot in #1401
- Bump serde_json from 1.0.107 to 1.0.108 by @dependabot in #1363
- Bump futures from 0.3.28 to 0.3.29 by @dependabot in #1345
- Bump futures-util from 0.3.28 to 0.3.29 by @dependabot in #1344
- Bump unicode-width from 0.1.10 to 0.1.11 by @dependabot in #1243
- respect ZSH's $ZDOTDIR environment variable by @dennis-tra in #942
New Contributors
- @shymega made their first contribution in #1393
- @jingmian made their first contribution in #1409
- @felixonmars made their first contribution in #1407
- @dennis-tra made their first contribution in #942
Full Changelog: v17.0.1...v17.1.0
v17.0.1
A few small issues were found with enter_accept after releasing - patch release to sort them out
Thanks @arcuru for fixing a bunch of things!
What's Changed
- Add release blog post and update docs by @ellie in #1332
- Fix cargo deb usage by @ellie in #1337
- Silence fish string match by @ellie in #1336
- Remove duplicate "invert" in default config by @Vynce in #1338
- update support template by @ellie in #1340
- fix(fish): improve output for
enter_accept
by @arcuru in #1341 - fix(bash): improve output of
enter_accept
by @arcuru in #1342 - Fix for breaking change in ratatui 0.24.0 by @tobiasge in #1352
- fix(enter_accept): clear old cmd snippet by @arcuru in #1350
- Release v17.0.1 by @ellie in #1354
New Contributors
Full Changelog: v17.0.0...v17.0.1
v17.0.0
A new release! Thank you so much to everyone that contributed
Self hosted changes
We are no longer building docker images for main
, and all images are now tagged either by release (17.0.0
) or by short commit sha (1a20afe
).
We advise that users stick to running tagged releases, and do not track an unstable branch. If you wish to run potentially unstable and unreleased code, then please do watch the repo and keep your install up to date!
We now also build docker images for ARM! This has been an issue for a long time for us, as GitHub does not provide ARM runners + emulation is very very slow. Thank you so much to @alexellis and @self-actuated for helping us out there!
enter_accept
and keybinding changes
For a long time, we have been asked about Atuin requiring two enter presses - once to select the search item, and then once more to run it from your shell. While some users were happy with this, many felt that the additional keypress slowed them down unnecessarily.
v17 introduces the enter_accept
config option. If set to true
, pressing enter will immediately select and execute the search result selected. If you'd rather select the item and then edit it in your shell, you can press tab instead.
This is enabled by default for new users only. Existing users will need to edit their config. Currently, this does not support NuShell.
We have also temporarily disabled the "up" arrow keybinding by default for NuShell, while awaiting an upstream fix, see #1329 for more.
What's Changed
- Fix client-only builds by @ellie in #1155
- Update(docs) Add
workspace
to config.toml and config.md by @thePanz in #1157 - Bump lukemathwalker/cargo-chef from latest-rust-1.71.0 to latest-rust-1.71.1 by @dependabot in #1154
- Fix index tail leak by @ellie in #1159
- Include revision in status by @ellie in #1166
- Run check for client-only feature set by @tobiasge in #1167
- Fix nix build by @ellie in #1171
- Update to ratatui 0.22 by @ellie in #1168
- Remove terminal mode switching by @ellie in #1170
- Only setup shell plugin if it's not already there by @ellie in #1178
- docs: update
workspace
config key toworkspaces
by @tombh in #1174 - Bump debian from bullseye-20230703-slim to bullseye-20230814-slim by @dependabot in #1176
- Fix keybinding link in README by @edwardloveall in #1173
- fix(ubuntu/arm*): detect non amd64 ubuntu and handle by @jinnko in #1131
- Add kv map builder and list function by @ellie in #1179
- Dependency updates by @conradludgate in #1181
- Automatically filter out secrets by @ellie in #1182
- Remove fig from README by @ellie in #1197
- Run formatting by @ellie in #1202
- Bump lukemathwalker/cargo-chef from latest-rust-1.71.1 to latest-rust-1.72.0 by @dependabot in #1196
- Explicitly use buster image for cargo-chef, mitigates #1204 by @Artanicus in #1205
- feat: mouse selection support by @YummyOreo in #1209
- Use
case
for Linux distro choice ininstall.sh
by @mentalisttraceur in #1200 - replace chrono with time by @conradludgate in #806
- Run
cargo update
by @ellie in #1218 - Move contributors list to top-level file by @utterstep in #931
- Bump itertools from 0.10.5 to 0.11.0 by @dependabot in #1223
- Bump crossterm from 0.26.1 to 0.27.0 by @dependabot in #1222
- Bump debian from bullseye-20230814-slim to bullseye-20230904-slim by @dependabot in #1213
- Bump tower-http from 0.3.5 to 0.4.4 by @dependabot in #1210
- Bump shellexpand from 2.1.2 to 3.1.0 by @dependabot in #1186
- Bump ratatui from 0.22.0 to 0.23.0 by @dependabot in #1221
- Update config.toml: List inverted mode by @mateuscomh in #1226
- config.md: invert mode detailed options by @mateuscomh in #1225
- docs: document the available format options of History list command by @deicon in #1234
- Fix selecting complex fish commands by @ellie in #1237
- feat(keyup): Configure SearchMode for KeyUp invocation #1216 by @deicon in #1224
- Add connect timeout and overall timeout by @ellie in #1238
- Bump debian from bullseye-20230904-slim to bullseye-20230919-slim by @dependabot in #1242
- Refactor/duplicates removed by @deicon in #1247
- better sync error messages by @conradludgate in #1254
- handle missing entries (fixes #1236) by @conradludgate in #1253
- feat(installer): try installing via paru for the AUR by @orhun in #1262
- Add support template by @ellie in #1267
- Update support.yml by @ellie in #1268
- fix sync timestamps by @conradludgate in #1258
- add --reverse to history list by @kiran-4444 in #1252
- handle empty keybindings list for nushell by @dcarosone in #1270
- calendar timezones by @conradludgate in #1259
- feat: copy to clipboard by @YummyOreo in #1249
- Re-enable
linux/arm64
platform in CI docker build by @rriski in #1276 - Revert "Re-enable
linux/arm64
platform in CI docker build" by @ellie in #1278 - Use github runners for unit tests (for now) by @ellie in #1279
- Add --print0 to
history list
by @offbyone in #1274 - A man is not dead while his name is still spoken by @offbyone in #1280
- Fix/1207 deleted entries shown in interactive search by @deicon in #1272
- fix(1220): Workspace Filtermode not handled in skim engine by @deicon in #1273
- clear history id by @conradludgate in #1263
- Revert "Use github runners for unit tests (for now)" by @ellie in #1294
- Revert "Revert "Use github runners for unit tests (for now)"" by @ellie in #1295
- Update key-binding.md by @AtomicRobotMan0101 in #1291
- Add commands to print the default configuration by @tobiasge in #1241
- Bump debian from bullseye-20230919-slim to bullseye-20231009-slim by @dependabot in #1304
- Bump semver from 1.0.18 to 1.0.20 by @dependabot in #1299
- Bump lukemathwalker/cargo-chef from latest-rust-1.72.0-buster to latest-rust-1.73.0-buster by @dependabot in #1297
- Bump @babel/traverse from 7.21.2 to 7.23.2 in /docs by @dependabot in #1309
- Switch to Actuated for docker builds by @ellie in #1312
- use the short sha to tag images by @ellie in #1313
- Checkout repo so the manifest publish step can read git by @ellie in #1314
- Add enter_accept to immediately execute an accepted command by @ellie in #1311
- Add fish support for
enter_accept
by @ellie in #1315 - allow binding server to hostname by @conradludgate in #1318
- Add bash support to
enter_accept
by @ellie in #1316 - Document that the self-hosted port is TCP by @Nemo157 in #1317
- fix(nushell): Ignore stderr messages by @arcuru in #1320
- Revert "Revert "Revert "Use github runners for unit tests (for now)""" by @ellie in #1325
- Correct some secrets filter regex by @ellie in #1326
- Prepare release v17.0.0 by @ellie in #1327
- Fix deleted history count by @ellie in #1328
- fix(nu): disable the up-arrow keybinding for Nushell by @arcuru in #1329