Skip to content

Releases: atuinsh/atuin

v17.2.1

03 Jan 15:52
9f79a34
Compare
Choose a tag to compare

Bug Fixes

  • Typo with default config (#1493)

Full Changelog: v17.2.0...v17.2.1

v17.2.0

03 Jan 12:48
999a98c
Compare
Choose a tag to compare

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

#1493

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 with ble.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

  • Remove issue config (#1433)
  • Remove issue template (#1444)

Refactor

  • Factorize __atuin_accept_line (#1476)
  • Refactor and optimize __atuin_accept_line (#1482)

New Contributors

Full Changelog: v17.1.0...v17.2.0

v17.1.0

10 Dec 13:12
da2e58f
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v17.0.1...v17.1.0

v17.0.1

28 Oct 19:30
2959891
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v17.0.0...v17.0.1

v17.0.0

26 Oct 07:16
1a20afe
Compare
Choose a tag to compare

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

New Contributors

Read more

v16.0.0

07 Aug 10:35
0d5332a
Compare
Choose a tag to compare

Announcing a new release of Atuin! v16 is out now.

This has been an interesting one. Two pretty core parts of the Atuin sync have
remained the same for the past couple of years, and performed better than I
ever anticipated. I'd always intended to replace the sync, but initially just
released something that worked "fine".

We've had issues though. In some rare circumstances, sync just won't complete.
In others, it requires atuin sync -f, which attempts to upload/download all
history again in case some has been missed. As we grow, it becomes increasingly
important that we revisit sync and ensure it is as reliable as possible - with
lots of users, "rare" circumstances happen more often.

In this release we're introducing the "key value store". This is a new feature,
built on top of new sync and new cryptography.

The reasoning behind this is two-fold - we'd like to extend Atuin's sync and
storage capabilities, but also build a sync protocol we can truly rely upon.

Conrad did an excellent job explaining the
crypto
we are using for this feature,
and I'll be following up with a similar post about the new sync protocol soon!

The goal here is to first prove that this crypto + sync are stable and
scalable, and then switch history sync over. Once done, we should be syncing
history much faster, with fewer errors, and with less data transferred. Your
data will also be kept safe with newer crypto algorithms, and we will have the
ability to upgrade and replace them as needed.

Community

kv store

So first! Atuin v16 adds a kv store. This can be used for storing small
snippets of text and syncing them encrypted across machines. Env, small shell
scripts, whatever you can fit into 100KiB. After a sync, all kv pairs you set
will be available across machines.

Presently this should be considered "beta". Data loss is unlikely, and it has
been tested pretty thoroughly. However we don't make any promises for the
longer-term life or scalability of this, and you probably don't want to go
putting production secrets in there. There are many improvements we can make
to performance and user experience here.

We will also be using it to generally enhance Atuin (eg, synced config, host
aliases, etc). With v17, we hope to polish this off and release it fully.

Please do give it a try and let us know what you think!

# set foo = bar
atuin kv set -k foo bar

# kv supports namespaces
# set foo = bar in the "nsp" namespace
atuin kv set -n nsp -k foo baz

atuin kv get foo => prints "bar"

atuin kv get -n nsp foo => prints "baz"

# run sync to ensure you are up to date
atuin sync

Workspaces

Atuin now has workspaces! This is a pseudo filter-mode, which automatically
enables when you are in a git repository.

To enable workspaces, try

workspaces = true

in your Atuin config. With workspace filtering enabled, Atuin will filter for
commands executed in any directory within a git repo tree! Filtering modes can
still be cycled with ctrl-r.

Self hosted

This release runs database migrations on both the client and the server, though
nothing touching the history tables. No dependency versions have changed.

GitHub org

Atuin now lives in an org! The project has grown a lot since I first released
it back in 2021, and it's reached the point where an org makes more sense. Please ensure
you update any references to https://github.com/atuinsh/atuin!

ARM Builds

For a long time, Atuin has lacked aarch64 builds, which has been in demand
(especially for M1 mac). Cross compilation was never very reliable for us, but
GitHub actions does not offer runners for ARM.

For this release I bought an older M1 mac, which is now setup as a runner on
the main branch. All future releases will have ARM binaries available.

Growth stats

Atuin sync continues to grow! api.atuin.sh, at time of writing:

  • serves 2300 registered users
  • stores 27m (or 35GiB) of shell history
  • averages around 100,000 new lines of history per day
  • sees 40 signups per week
  • gets 1200 MAU, 1000 WAU, and 800 DAU

This data is gathered only from what we can infer from usage patterns, which
are tracked in order to prevent abuse. Your data is end-to-end encrypted and
can only be read by you.

Full changelog

Read more

v15.0.0

28 May 18:41
9e3fa8b
Compare
Choose a tag to compare

Announcing a new release of Atuin! v15 is out now. This release is not particularly feature-heavy, instead we have focused on a number of bugfixes and improvements - with lots of new shiny things planned for v16.

Community

Sync changes

For the first time in a long while, we have made an adjustment to how sync functions. In the longer term, we intend on replacing our current sync algorithm with something that better handles consistency, but v15 should at least ship some performance improvements.

Older versions of Atuin used a fixed page size of 100. This meant that for each request, we could only upload or download 100 history items at a time. For larger histories, this meant a lot of HTTP requests + a fairly slow sync.

Atuin v15 ships a variable page size, defaulting to 1100. This is configurable on the server, via the page_size parameter. A smaller number of larger requests generally performs better in our testing.

For self hosted servers, please note that reverse proxies may require configuration changes to allow for larger requests.

What's Changed

New Contributors

Full Changelog: v14.0.0...v15.0.1

v14.0.1

16 Apr 11:32
7c07907
Compare
Choose a tag to compare

Releasing this now to get some fixes out - will write proper notes including this for v15 :)

Please note that this release had some issues with the binary builds, and as such they were delayed. Apologies for any issues caused!

Also - the deb build was based on a very slightly different branch, patch-deb. This included some fixes so that the package built correctly. It has no changes in the actual binary.

What's Changed

New Contributors

Full Changelog: v14.0.0...v14.0.1

v14.0.0

01 Apr 17:33
4e4fdb9
Compare
Choose a tag to compare

See the full release notes here! https://atuin.sh/blog/release-v14

v13.0.1

28 Feb 21:56
e4fde80
Compare
Choose a tag to compare

This is a patch release, and fixes user registration on Atuin Server. If you are self hosting Atuin, please update!

I'll credit the contributors to the other commits here in the blog post for v14 <3

What's Changed

New Contributors

Full Changelog: v13.0.0...v13.0.1