All notable changes to this project will be documented in this file.
- (bash) Fix a workaround for bash-5.2 keybindings (#2060)
- (ci) Release workflow (#1978)
- (client) Better error reporting on login/registration (#2076)
- (config) Add quotes for strategy value in comment (#1993)
- (daemon) Do not try to sync if logged out (#2037)
- (deps) Replace parse_duration with humantime (#2074)
- (dotfiles) Alias import with init output (#1970)
- (dotfiles) Fish alias import (#1972)
- (dotfiles) More fish alias import (#1974)
- (dotfiles) Unquote aliases before quoting (#1976)
- (dotfiles) Allow clearing aliases, disable import (#1995)
- (stats) Generation for commands starting with a pipe (#2058)
- (ui) Handle being logged out gracefully (#2052)
- (ui) Fix mistake in last pr (#2053)
- Support not-mac for default shell (#1960)
- Adapt help to
enter_accept
config (#2001) - Add protobuf compiler to docker image (#2009)
- Add incremental rebuild to daemon loop (#2010)
- Alias enable/enabled in settings (#2021)
- Bogus error message wording (#1283)
- Save sync time in daemon (#2029)
- Redact password in database URI when logging (#2032)
- Save sync time in daemon (#2051)
- Replace serde_yaml::to_string with serde_json::to_string_yaml (#2087)
- (daemon) Add support for daemon on windows (#2014)
- (doctor) Detect active preexec framework (#1955)
- (doctor) Report sqlite version (#2075)
- (dotfiles) Support syncing shell/env vars (#1977)
- (gui) Work on home page, sort state (#1956)
- (history) Create atuin-history, add stats to it (#1990)
- (install) Add Tuxedo OS (#2018)
- (server) Add me endpoint (#1954)
- (ui) Scroll history infinitely (#1999)
- (ui) Add history explore (#2022)
- (ui) Use correct username on welcome screen (#2050)
- (ui) Add login/register dialog (#2056)
- (ui) Setup single-instance (#2093)
- (ui/dotfiles) Add vars (#1989)
- Allow ignoring failed commands (#1957)
- Show preview auto (#1804)
- Add background daemon (#2006)
- Support importing from replxx history files (#2024)
- Support systemd socket activation for daemon (#2039)
- (ci) Don't run "Update Nix Deps" CI on forks (#2070)
- (codespell) Ignore CODE_OF_CONDUCT (#2044)
- (install) Log cargo and rustc version (#2068)
- (release) V18.3.0-prerelease.1 (#2090)
- Move crates into crates/ dir (#1958)
- Fix atuin crate readme (#1959)
- Add some more logging to handlers (#1971)
- Add some more debug logs (#1979)
- Clarify default config file (#2026)
- Handle rate limited responses (#2057)
- Add Systemd config for self-hosted server (#1879)
- Switch to cargo dist for releases (#2085)
- Update email, gitignore, tweak ui (#2094)
- Show scope in changelog (#2102)
- (nushell) Use version.(major|minor|patch) if available (#1963)
- Only open the database for commands if strictly required (#2043)
- Preview_auto to use enum and different option (#1991)
- (bash) Do not use "return" to cancel initialization (#1928)
- (crate) Add missing description (#1861)
- (doctor) Detect preexec plugin using env ATUIN_PREEXEC_BACKEND (#1856)
- (install) Install script echo (#1899)
- (nu) Update atuin.nu to resolve 0.92 deprecation (#1913)
- (search) Allow empty search (#1866)
- (search) Case insensitive hostname filtering (#1883)
- Pass search query in via env (#1865)
- Pass search query in via env for Nushell (#1874)
- Report non-decodable errors correctly (#1915)
- Use spawn_blocking for file access during async context (#1936)
- (bash-preexec) Describe the limitation of missing commands (#1937)
- Add security contact (#1867)
- Add install instructions for cave/exherbo linux in README.md (#1927)
- Add missing cli help text (#1945)
- (bash/blesh) Use _ble_exec_time_ata for duration even in bash < 5 (#1940)
- (dotfiles) Add alias import (#1938)
- (gui) Add base structure (#1935)
- (install) Update install.sh to support KDE Neon (#1908)
- (search) Process [C-h] and [C-?] as representations of backspace (#1857)
- (search) Allow specifying search query as an env var (#1863)
- (search) Add better search scoring (#1885)
- (server) Check PG version before running migrations (#1868)
- Add atuin prefix binding (#1875)
- 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)
- (ci) Add codespell support (config, workflow) and make it fix some typos (#1916)
- (gui) Cargo update (#1943)
- Add issue form (#1871)
- Require atuin doctor in issue form (#1872)
- Add section to issue form (#1873)
- (dotfiles) Cache aliases and read straight from file (#1918)
- (bash) Rework #1509 to recover from the preexec failure (#1729)
- (build) Make atuin compile on non-win/mac/linux platforms (#1825)
- (client) No panic on empty inspector (#1768)
- (doctor) Use a different method to detect env vars (#1819)
- (dotfiles) Use latest client (#1859)
- (import/zsh-histdb) Missing or wrong fields (#1740)
- (nix) Set meta.mainProgram in the package (#1823)
- (nushell) Readd up-arrow keybinding, now with menu handling (#1770)
- (regex) Disable regex error logs (#1806)
- (stats) Enable multiple command stats to be shown using unicode_segmentation (#1739)
- (store-init) Re-sync after running auto store init (#1834)
- (sync) Check store length after sync, not before (#1805)
- (sync) Record size limiter (#1827)
- (tz) Attempt to fix timezone reading (#1810)
- (ui) Don't preserve for empty space (#1712)
- (xonsh) Add xonsh to auto import, respect $HISTFILE in xonsh import, and fix issue with up-arrow keybinding in xonsh (#1711)
- Fish init (#1725)
- Typo (#1741)
- Check session file exists for status command (#1756)
- Ensure sync time is saved for sync v2 (#1758)
- Missing characters in preview (#1803)
- Doctor shell wording (#1858)
- Minor formatting updates to the default config.toml (#1689)
- Update docker compose (#1818)
- Use db name env variable also in uri (#1840)
- (client) Add config option keys.scroll_exits (#1744)
- (dotfiles) Add enable setting to dotfiles, disable by default (#1829)
- (nix) Add update action (#1779)
- (nu) Return early if history is disabled (#1807)
- (nushell) Add nushell completion generation (#1791)
- (search) Process Ctrl+m for kitty keyboard protocol (#1720)
- (stats) Normalize formatting of default config, suggest nix (#1764)
- (stats) Add linux sysadmin commands to common_subcommands (#1784)
- (ui) Add config setting for showing tabs (#1755)
- 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)
- Add 'ignored_commands' option to stats (#1722)
- Support syncing aliases (#1721)
- Change fulltext to do multi substring match (#1660)
- 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
CTRL+[
binding as<Esc>
alias (#1787) - 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 automatic history store init (#1831)
- Adds info command to show env vars and config files (#1841)
- (ci) Add cross-compile job for illumos (#1830)
- (ci) Setup nextest (#1848)
- Do not show history table stats when using records (#1835)
- Optimize history init-store (#1691)
- (alias) Clarify operation result for working with aliases (#1748)
- (nushell) Update
commandline
syntax, closes #1733 (#1735) - Rename atuin-config to atuin-dotfiles (#1817)
- Reorder the exit of enhanced keyboard mode (#1694)
- (bash) Avoid unexpected
atuin history start
for keybindings (#1509) - (bash) Prevent input to be interpreted as options for blesh auto-complete (#1511)
- (bash) Work around custom IFS (#1514)
- (bash) Fix and improve the keybinding to
up
(#1515) - (bash) Work around bash < 4 and introduce initialization guards (#1533)
- (bash) Strip control chars generated by
\[\]
in PS1 with bash-preexec (#1620) - (bash/preexec) Erase the prompt last line before Bash renders it
- (bash/preexec) Erase the previous prompt before overwriting
- (bash/preexec) Support termcap names for tput (#1670)
- (docs) Update repo url in CONTRIBUTING.md (#1594)
- (fish) Integration on older fishes (#1563)
- (perm) Set umask 077 (#1554)
- (search) Fix invisible tab title (#1560)
- (shell) Fix incorrect timing of child shells (#1510)
- (sync) Save sync time when it starts, not ends (#1573)
- (tests) Add Settings::utc() for utc settings (#1677)
- (tui) Dedupe was removing history (#1610)
- (windows) Disables unix specific stuff for windows (#1557)
- Prevent input to be interpreted as options for zsh autosuggestions (#1506)
- Disable musl deb building (#1525)
- Shorten text, use ctrl-o for inspector (#1561)
- 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)
- Only escape control characters when writing to terminal (#1593)
- 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)
- Set durability for sqlite to recommended settings (#1667)
- Correct download list for incremental builds (#1672)
- (README) Clarify prerequisites for Bash (#1686)
- (readme) 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)
- (bash) Support high-resolution timing even without ble.sh (#1534)
- (search) Introduce keymap-dependent vim-mode (#1570)
- (search) Make cursor style configurable (#1595)
- (shell) Bind the Atuin search to "/" in vi-normal mode (#1629)
- BREAKING: bind the Atuin search to "/" in vi-normal mode (#1629)
- (ui) Add redraw (#1519)
- (ui) Vim mode (#1553)
- (ui) When in vim-normal mode apply an alternative highlighting to the selected line (#1574)
- (zsh) Update widget names (#1631)
- Enable enhanced keyboard mode (#1505)
- Rework record sync for improved reliability (#1478)
- Include atuin login in secret patterns (#1518)
- Make it clear what you are registering for (#1523)
- Add extended help (#1540)
- Add interactive command inspector (#1296)
- Add better error handling for sync (#1572)
- Add history rebuild (#1575)
- Make deleting from the UI work with record store sync (#1580)
- Add metrics counter for records downloaded (#1584)
- Make store init idempotent (#1609)
- Don't stop with invalid key (#1612)
- Add registered and deleted metrics (#1622)
- 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)
- (ci) Use github m1 for release builds (#1658)
- (ci) Re-enable test cache, add separate check step (#1663)
- (ci) Run rust build/test/check on 3 platforms (#1675)
- 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)
- (search) Refactor vim mode (#1559)
- (search) Refactor handling of key inputs (#1606)
- (shell) Refactor and localize
HISTORY => __atuin_output
(#1535) - Use enum instead of magic numbers (#1499)
- String -> HistoryId (#1512)
- (bash) Use consistent coding style (#1528)
- Add multi-user integration tests (#1648)
- Misc improvements (#1613)
- (server) Typo with default config (#1493)
- (bash) Fix loss of the last output line with enter_accept (#1463)
- (bash) Improve the support for
enter_accept
withble.sh
(#1465) - (bash) Fix small issues of
enter_accept
for the plain Bash (#1467) - (bash) Fix error by the use of ${PS1@P} in bash < 4.4 (#1488)
- (bash,zsh) Fix quirks on search cancel (#1483)
- (clippy) Ignore struct_field_names (#1466)
- (docs) Fix typo (#1439)
- (docs) Discord link expired
- (history) Disallow deletion if the '--limit' flag is present (#1436)
- (import/zsh) Zsh use a special format to escape some characters (#1490)
- (install) Discord broken link
- (shell) Respect ZSH's $ZDOTDIR environment variable (#1441)
- (stats) Don't require all fields under [stats] (#1437)
- (stats) Time now_local not working
- (zsh) Zsh_autosuggest_strategy for no-unset environment (#1486)
- (readme) Add actuated linkback
- (readme) Fix light/dark mode logo
- (readme) Use picture element for logo
- 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
- Add docs for zsh-autosuggestion integration (#1480)
- Remove stray character from README
- Update logo (#1481)
- (bash) Provide auto-complete source for ble.sh (#1487)
- (shell) Support high-resolution duration if available (#1484)
- Add semver checking to client requests (#1456)
- Add TLS to atuin-server (#1457)
- Integrate with zsh-autosuggestions (#1479)
- (bash) Factorize
__atuin_accept_line
(#1476) - (bash) Refactor and optimize
__atuin_accept_line
(#1482)
- (fish) Clean up the fish script options (#1370)
- (fish) Use fish builtins for
enter_accept
(#1373) - (fish) Accept multiline commands (#1418)
- (nix) Add Appkit to the package build (#1358)
- (zsh) Bind in the most popular modes (#1360)
- (zsh) Only trigger up-arrow on first line (#1359)
- Initial list of history in workspace mode (#1356)
- Make
atuin account delete
void session + key (#1393) - New clippy lints (#1395)
- Reenable enter_accept for bash (#1408)
- Respect ZSH's $ZDOTDIR environment variable (#942)
- Update sync.md (#1409)
- Update Arch Linux package URL in advanced-install.md (#1407)
- New stats config (#1412)
- (nix) 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)
- (readme) Add contributor image to README (#1430)
- 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)
- Setup git cliff (#1431)
- (bash) Improve output of
enter_accept
(#1342) - (enter_accept) Clear old cmd snippet (#1350)
- (fish) Improve output for
enter_accept
(#1341)
- (1220) Workspace Filtermode not handled in skim engine (#1273)
- (nu) Disable the up-arrow keybinding for Nushell (#1329)
- (nushell) Ignore stderr messages (#1320)
- (ubuntu/arm)* Detect non amd64 ubuntu and handle (#1131)
- Update
workspace
config key toworkspaces
(#1174) - Document the available format options of History list command (#1234)
- (installer) Try installing via paru for the AUR (#1262)
- (keyup) Configure SearchMode for KeyUp invocation #1216 (#1224)
- Mouse selection support (#1209)
- Copy to clipboard (#1249)
- Duplications reduced in order to align implementations of reading history files (#1247)
- Invert mode detailed options (#1225)
- (docs) List all presently documented commands (#1140)
- (docs) Correct command overview paths (#1145)
- (server) Teapot is a cup of coffee (#1137)
- Adjust broken link to supported shells (#1013)
- Fixes unix specific impl of shutdown_signal (#1061)
- Nushell empty hooks (#1138)
- Do not allow empty passwords durring account creation (#1029)
- Fix filtering aggregates (#1114)
- Add delete account option (attempt 2) (#980)
- Much like history_filter, only it applies to cwd (#904)
- (client) Always read session_path from settings (#757)
- (installer) Use case-insensitive comparison (#776)
- Many wins were broken 📝 (#789)
- Paste into terminal after switching modes (#793)
- Record negative exit codes (#821)
- Allow nix package to fetch dependencies from git (#832)
- (README) Fix activity graph link (#753)
- Add common default keybindings (#719)
- Add an inline view mode (#648)
- Add Nushell support (#788)
- Add github action to test the nix builds (#833)
- Add flake-compat (#743)
- (README) Add static activity graph example (#680)
- Remove human short flag from docs, duplicate of help -h (#663)
- Fix typo in zh-CN/README.md (#666)
- (history) Add new flag to allow custom output format (#662)
- Fix
atuin init
for the fish shell (#699)
- Fallback to using cargo (#639)
- Add more details about date parsing in the stats command (#579)
- Allow specifiying the limited of returned entries (#364)
- Add MacPorts installation instructions (#302)
- Get install.sh working on UbuntuWSL (#260)
- Resolve some issues with install.sh (#188)
- Login/register no longer blocking (#216)
- Dockerfile with correct glibc (#198)
- Allow input of credentials from stdin (#185)
- Some new linting (#201)
- Supply pre-build docker image (#199)
- Add more eyre contexts (#200)
- Improve build times (#213)
- Build individual crates (#109)
- Help text
- Use directories project data dir
- Use structopt wrapper instead of building clap by hand