Release v18.4.0-beta.1

If you’re interested in testing out the GUI and giving feedback, please let me know!

Caveats

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!

Download

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

atuin-update --prerelease

Otherwise, you can download prerelease binaries here: Release 18.4.0-beta.1 - 2024-06-25 · atuinsh/atuin · GitHub

Or use the installer

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

This will download a binary to ~/.atuin/bin/atuin, and add it to PATH. It will also install a binary called atuin-update, which will update users to the latest stable version by default. atuin-update --prerelease will update to the latest prerelease

Otherwise, the following command will work

cargo install --git https://github.com/atuinsh/atuin atuin --tag v18.4.0-beta.1

Testing

Nothing major! If you’re using Atuin Cloud, I would appreciate if you can test running

atuin account verify

You should get an email with a command to run, in order to verify your email address. In a future release, this will be used to allow users to reset their passwords (without requiring that they have a valid email)

It can be configured for self-hosted users with Postmark, though password recovery is far easier to do manually there than setting up/maintaining emails.

Bug Fixes

  • (crate) Add missing description (#2106)
  • (crate) Add description to daemon crate (#2107)
  • (gui) Update deps (#2116)
  • (gui) Add support for checking if the cli is installed on windows (#2162)
  • Cargo binstall config (#2112)
  • Unitless sync_frequence = 0 not parsed by humantime (#2154)
  • Some --help comments didn’t show properly (#2176)
  • Ensure we cleanup all tables when deleting (#2191)

Features

  • (daemon) Follow XDG_RUNTIME_DIR if set (#2171)
  • (gui) Automatically install and setup the cli/shell (#2139)
  • (gui) Add activity calendar to the homepage (#2160)
  • (gui) Cache zustand store in localstorage (#2168)
  • (gui) Toast with prompt for cli install, rather than auto (#2173)
  • (history) Filter out various environment variables containing potential secrets (#2174)
  • (tui) Configurable prefix character (#2157)
  • Use cargo-dist installer from our install script (#2108)
  • Add user account verification (#2190)

Miscellaneous Tasks

  • (build) Compile protobufs with protox (#2122)
  • (ci) Do not run current ci for ui (#2189)
  • (deps-dev) Bump @tauri-apps/cli in /ui (#2135)
  • (deps-dev) Bump vite from 5.2.13 to 5.3.1 in /ui (#2150)
  • (nix) De-couple atuin nix build from nixpkgs rustc version (#2123)
  • Add installer e2e tests (#2110)
  • Remove unnecessary proto import (#2120)
  • Update to rust 1.78
  • Add audit config, ignore RUSTSEC-2023-0071 (#2126)
  • Setup dependabot for the ui (#2128)
  • Cargo and pnpm update (#2127)
  • Update to rust 1.79 (#2138)
  • Update to cargo-dist 0.16, enable attestations (#2156)
3 Likes

Hello again. I am interested in testing out the GUI. Please, let me know if I can help in any way.

atuin account verify seems to work as expected and there seem to be no issues otherwise as well.

1 Like

Excellent, glad it worked :slight_smile:

Thank you, will do! I’ll add you to the list, will reach out when it’s ready :pray:

1 Like

Tested atuin account verify and was able to complete the verification

1 Like

Hello, I would like to check out the gui if possible. I ran the account verification with no problem at all.

Thanks!

Hey!! Would be interested in testing especially with my large dataset.

Hey @Taubin and @Kysh! Thanks for the interest, will drop you a note when it’s ready :smiley:

$ atuin account verify
Error: There was an error with the atuin sync service: Status 502.
If the problem persists, contact the host

Location:
    /Users/runner/work/atuin/atuin/crates/atuin-client/src/api_client.rs:163:9

Hey Andy! Welcome to the community :pray:

Are you self hosting or using Atuin Cloud?

1 Like

Hi @ellie :wave:

Atuin Cloud here.

Additional debugging info - this is on macOS Sonoma, and with I’ve tried changing network / VPN / etc to narrow down anything specific to my networking config.

ran with ATUIN_LOG=debug atuin account verify

[... sqlx stuff ...]
2024-08-04T23:19:31.801726Z DEBUG sqlx::query: summary="SELECT version, checksum FROM …" db.statement="\n\nSELECT\n  version,\n  checksum\nFROM\n  _sqlx_migrations\nORDER BY\n  version\n" rows_affected=0 rows_returned=2 elapsed=16.625µs elapsed_secs=1.6625e-5
2024-08-04T23:19:31.950194Z DEBUG reqwest::connect: starting new connection: https://api.atuin.sh/
2024-08-04T23:19:31.950305Z DEBUG hyper::client::connect::dns: resolving host="api.atuin.sh"
2024-08-04T23:19:32.035458Z DEBUG hyper::client::connect::http: connecting to 104.26.6.205:443
2024-08-04T23:19:32.112274Z DEBUG hyper::client::connect::http: connected to 104.26.6.205:443
2024-08-04T23:19:32.112306Z DEBUG rustls::client::hs: No cached session for DnsName("api.atuin.sh")
2024-08-04T23:19:32.112352Z DEBUG rustls::client::hs: Not resuming any session
2024-08-04T23:19:32.209549Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384
2024-08-04T23:19:32.209569Z DEBUG rustls::client::tls13: Not resuming
2024-08-04T23:19:32.209631Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: [ServerNameAck, Protocols([ProtocolName(6832)])]
2024-08-04T23:19:32.209637Z DEBUG rustls::client::hs: ALPN protocol is Some(b"h2")
2024-08-04T23:19:32.210510Z DEBUG h2::client: binding client connection
2024-08-04T23:19:32.210528Z DEBUG h2::client: client connection bound
2024-08-04T23:19:32.210541Z DEBUG h2::codec::framed_write: send frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2024-08-04T23:19:32.210593Z DEBUG Connection{peer=Client}: h2::codec::framed_write: send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
2024-08-04T23:19:32.210625Z DEBUG hyper::client::pool: pooling idle connection for ("https", api.atuin.sh)
2024-08-04T23:19:32.210659Z DEBUG Connection{peer=Client}: h2::codec::framed_write: send frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
2024-08-04T23:19:32.293456Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=Settings { flags: (0x0), max_concurrent_streams: 100, initial_window_size: 65536, max_frame_size: 16777215 }
2024-08-04T23:19:32.293474Z DEBUG Connection{peer=Client}: h2::codec::framed_write: send frame=Settings { flags: (0x1: ACK) }
2024-08-04T23:19:32.293480Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 2147418112 }
2024-08-04T23:19:32.293485Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=Settings { flags: (0x1: ACK) }
2024-08-04T23:19:32.293488Z DEBUG Connection{peer=Client}: h2::proto::settings: received settings ACK; applying Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2024-08-04T23:19:32.487615Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2024-08-04T23:19:32.487661Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=Data { stream_id: StreamId(1) }
2024-08-04T23:19:32.488159Z DEBUG Connection{peer=Client}: h2::codec::framed_read: received frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
Error: There was an error with the atuin sync service: Status 502.
If the problem persists, contact the host

Location:
    /Users/runner/work/atuin/atuin/crates/atuin-client/src/api_client.rs:163:9

and, output from atuin doctor

{
  "atuin": {
    "version": "18.4.0-beta.3",
    "sync": {
      "cloud": true,
      "records": true,
      "auto_sync": true,
      "last_sync": "2024-08-04 23:12:52.929238 +00:00:00"
    },
    "sqlite_version": "3.44.0"
  },
  "shell": {
    "name": "zsh",
    "default": "zsh",
    "plugins": [
      "atuin"
    ],
    "preexec": "built-in"
  },
  "system": {
    "os": "Darwin",
    "arch": "arm64",
    "version": "14.6",
    "disks": [
      {
        "name": "Macintosh HD",
        "filesystem": "apfs"
      },
      {
        "name": "Macintosh HD",
        "filesystem": "apfs"
      }
    ]
  }
}

(sorry, I realise I’m commenting on the beta.1 thread instead of the beta.3 thread, but that’s where I saw this feature mentioned…)

Also, open to trying any GUI stuff if you’d like me to poke at that, curious to learn more about it!

1 Like

Thanks for all the info! I managed to replicate it, and as of this PR the issue should now be resolved

If you run the command again it should work :crossed_fingers:

Fantastic, thank you! I’ll drop you a message when it’s ready :smiley: