summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2023-02-26 21:22:29 +0000
committerGitHub <noreply@github.com>2023-02-26 21:22:29 +0000
commitfe5f728aa6f060a9f2c4cbbb22c5e10ea2ffbff9 (patch)
tree2cfef16e7e4de2376d85054d3ba3ff9ce5021a79
parent8a2fa44b01b5a8a472dd592905ca0330f91b3199 (diff)
Release v13 (#727)v13.0.0
* Write release blog post * Bump versions * Update contributors
-rw-r--r--Cargo.lock8
-rw-r--r--Cargo.toml8
-rw-r--r--atuin-client/Cargo.toml4
-rw-r--r--atuin-common/Cargo.toml2
-rw-r--r--atuin-server/Cargo.toml4
-rw-r--r--docs/blog/2023/02-26-release-v13/index.md173
-rw-r--r--docs/blog/2023/02-26-release-v13/stats.pngbin0 -> 16672 bytes
-rw-r--r--docs/docs/commands/list.md17
-rw-r--r--docs/docs/config/config.md15
-rw-r--r--src/command/contributors.rs128
10 files changed, 285 insertions, 74 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 2b7786f7..41622a34 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -70,7 +70,7 @@ dependencies = [
[[package]]
name = "atuin"
-version = "12.0.0"
+version = "13.0.0"
dependencies = [
"async-trait",
"atuin-client",
@@ -108,7 +108,7 @@ dependencies = [
[[package]]
name = "atuin-client"
-version = "12.0.0"
+version = "13.0.0"
dependencies = [
"async-trait",
"atuin-common",
@@ -147,7 +147,7 @@ dependencies = [
[[package]]
name = "atuin-common"
-version = "12.0.0"
+version = "13.0.0"
dependencies = [
"chrono",
"serde",
@@ -156,7 +156,7 @@ dependencies = [
[[package]]
name = "atuin-server"
-version = "12.0.0"
+version = "13.0.0"
dependencies = [
"async-trait",
"atuin-common",
diff --git a/Cargo.toml b/Cargo.toml
index ebff2d56..c44e0b6f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin"
-version = "12.0.0"
+version = "13.0.0"
authors = ["Ellie Huxtable <ellie@elliehuxtable.com>"]
edition = "2021"
rust-version = "1.59"
@@ -44,9 +44,9 @@ sync = ["atuin-client/sync"]
server = ["atuin-server", "tracing-subscriber"]
[dependencies]
-atuin-server = { path = "atuin-server", version = "12.0.0", optional = true }
-atuin-client = { path = "atuin-client", version = "12.0.0", optional = true, default-features = false }
-atuin-common = { path = "atuin-common", version = "12.0.0" }
+atuin-server = { path = "atuin-server", version = "13.0.0", optional = true }
+atuin-client = { path = "atuin-client", version = "13.0.0", optional = true, default-features = false }
+atuin-common = { path = "atuin-common", version = "13.0.0" }
log = "0.4"
env_logger = "0.10.0"
diff --git a/atuin-client/Cargo.toml b/atuin-client/Cargo.toml
index c0b9c156..7284191e 100644
--- a/atuin-client/Cargo.toml
+++ b/atuin-client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-client"
-version = "12.0.0"
+version = "13.0.0"
authors = ["Ellie Huxtable <ellie@elliehuxtable.com>"]
edition = "2018"
license = "MIT"
@@ -23,7 +23,7 @@ sync = [
]
[dependencies]
-atuin-common = { path = "../atuin-common", version = "12.0.0" }
+atuin-common = { path = "../atuin-common", version = "13.0.0" }
log = "0.4"
chrono = { version = "0.4", features = ["serde"] }
diff --git a/atuin-common/Cargo.toml b/atuin-common/Cargo.toml
index 944d7fc6..636a51d5 100644
--- a/atuin-common/Cargo.toml
+++ b/atuin-common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-common"
-version = "12.0.0"
+version = "13.0.0"
authors = ["Ellie Huxtable <ellie@elliehuxtable.com>"]
edition = "2018"
license = "MIT"
diff --git a/atuin-server/Cargo.toml b/atuin-server/Cargo.toml
index b0857984..808826cc 100644
--- a/atuin-server/Cargo.toml
+++ b/atuin-server/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-server"
-version = "12.0.0"
+version = "13.0.0"
authors = ["Ellie Huxtable <ellie@elliehuxtable.com>"]
edition = "2018"
license = "MIT"
@@ -9,7 +9,7 @@ homepage = "https://atuin.sh"
repository = "https://github.com/ellie/atuin"
[dependencies]
-atuin-common = { path = "../atuin-common", version = "12.0.0" }
+atuin-common = { path = "../atuin-common", version = "13.0.0" }
tracing = "0.1"
chrono = { version = "0.4", features = ["serde"] }
diff --git a/docs/blog/2023/02-26-release-v13/index.md b/docs/blog/2023/02-26-release-v13/index.md
new file mode 100644
index 00000000..24936345
--- /dev/null
+++ b/docs/blog/2023/02-26-release-v13/index.md
@@ -0,0 +1,173 @@
+---
+title: Announcing Atuin v13
+description: Release notes for Atuin v13
+slug: release-v13
+authors: [ellie]
+tags: [release]
+---
+
+Announcing a new release of Atuin! v13 is out now. Atuin allows you to easily search and sync your shell history across many machines.
+
+You can update your installation via your system package manager, or by downloading the latest release from the [release page](https://github.com/ellie/atuin/releases).
+
+We had a lot of changes in this release - I'll call out a few, but this is not exhaustive.
+
+## Crossterm
+
+Deserving of a special callout, we now use [Crossterm](https://github.com/ellie/atuin/pull/331) as our TUI backend - this has been a huge effort, and has taken almost a year. Thank you to Conrad for pushing through it, and [@pdecat](https://github.com/pdecat) for your contributions!
+
+In the future this will allow for things like (possible) Windows support, and only using a small part of the screen for the search UI. It also handles async input better.
+
+Please let us know if you experience any issues!
+
+## New features
+
+### Pretty Stats
+
+<center>
+
+ ![stats image](stats.png)
+
+</center>
+
+While procrastinating writing [his talk](https://www.youtube.com/watch?v=7pU3gOVAeVQ), Conrad [added](https://github.com/ellie/atuin/pull/707) a new and improved stats display! Just run `atuin stats` to see your statistics. It'd be awesome to see what yours looks like, so please share it with us on [Twitter](https://twitter.com/atuinsh) or [Discord](https://discord.gg/Fq8bJSKPHh)!
+
+### Custom history list format
+List history however you want! You can now specify the output format of `atuin history list`
+
+Example
+
+```
+atuin history list --format "{time} - [{duration}] - {directory}$\t{command}"
+```
+
+See more on the [docs page](/docs/commands/list)!
+
+### History filter
+The history filter allows you to exclude commands from history tracking - maybe you want to keep ALL of your `curl` commands totally out of your shell history, or maybe just some matching a pattern.
+
+This supports regular expressions, so you can hide pretty much whatever you want! Thanks for the PR @jbaiter
+
+Configure it in your client-side Atuin config, for example
+
+```
+## Note that these regular expressions are unanchored, i.e. if they don't start
+## with ^ or end with $, they'll match anywhere in the command.
+history_filter = [
+ "^secret-cmd",
+ "^innocuous-cmd .*--secret=.+"
+]
+```
+
+### Mnemonic key (BIP39)
+Previously, it was awkward to copy your Atuin key from machine to machine. Even more awkward to back it up!
+
+We now use BIP39 to display your key in a nice + easily readable haiku-style format. Still - please don't share it!
+
+## Improvements
+- Better error messages
+- Nix install files + instructions
+- Exit when pushing the down arrow from the most recent entry
+- Refactor to support generic server-side databases
+- Make it easier to disable the ctrl-r and/or up arrow bindings
+- Update to axum6
+
+## Fixes
+- Fish now handles multi-line commands properly
+- Listing history for the current session now works
+- Fix `atuin init` for Fish
+
+## Contributor Shoutout!
+
+### [@patricksjackson](https://github.com/patricksjackson)
+* Fix minor typo in config.md in https://github.com/ellie/atuin/pull/615
+* Re-enable arm docker builds in https://github.com/ellie/atuin/pull/616
+* Handle multiline commands in fish shell in https://github.com/ellie/atuin/pull/623
+* install.sh: Fallback to using cargo in https://github.com/ellie/atuin/pull/639
+* Fix session history listing in https://github.com/ellie/atuin/pull/620
+
+### [@pdecat](https://github.com/pdecat)
+* Add support for some additional keys in interactive mode in https://github.com/ellie/atuin/pull/634
+* Allow overriding filter and search modes from CLI in https://github.com/ellie/atuin/pull/635
+
+### [@Sciencentistguy](https://github.com/Sciencentistguy)
+* Rework `atuin init` in https://github.com/ellie/atuin/pull/652
+* Improve error message when $AUTIN_SESSION is not set. in https://github.com/ellie/atuin/pull/654
+* Add nix files and install instructions in https://github.com/ellie/atuin/pull/477
+
+### [@BapRx](https://github.com/BapRx)
+* chore(#621): Exit atuin when pressing down arrow on most recent entry in https://github.com/ellie/atuin/pull/659
+* docs: Remove human short flag from docs, duplicate of help -h in https://github.com/ellie/atuin/pull/663
+* feat(history): Add new flag to allow custom output format in https://github.com/ellie/atuin/pull/662
+
+### [@yolo2h](https://github.com/yolo2h)
+* docs: Fix typo in zh-CN/README.md in https://github.com/ellie/atuin/pull/666
+
+### [@s1ck](https://github.com/s1ck)
+* Fix CI build badge in https://github.com/ellie/atuin/pull/683
+
+### [@conradludgate](https://github.com/conradludgate)
+* display mnemonic key in https://github.com/ellie/atuin/pull/694
+* axum6 with typesafe state in https://github.com/ellie/atuin/pull/674
+* crossterm support in https://github.com/ellie/atuin/pull/331
+* stats in https://github.com/ellie/atuin/pull/707
+
+### [@evanpurkhiser](https://github.com/evanpurkhiser)
+* Remove whitespace in template client config.tom in https://github.com/ellie/atuin/pull/697
+* Fix missing `-` in key-binding.md in https://github.com/ellie/atuin/pull/698
+
+### [@eripa](https://github.com/eripa)
+* docs(README): add static activity graph example by @eripa in https://github.com/ellie/atuin/pull/680
+
+### [@trygveaa](https://github.com/trygveaa)
+* Allow using existing key file on login by @trygveaa in https://github.com/ellie/atuin/pull/688
+
+### [@frukto](https://github.com/frukto)
+* Make the install script more robust by @frukto in https://github.com/ellie/atuin/pull/692
+
+### [@jbaiter](https://github.com/jbaiter)
+* Add `history_filter` setting to exclude commands from history by @jbaiter in https://github.com/ellie/atuin/pull/716
+
+### [@hunger](https://github.com/hunger)
+* fish: Fix `atuin init` for the fish shell by @hunger in https://github.com/ellie/atuin/pull/699
+
+### [@ekroon](https://github.com/ekroon)
+* Add support for generic database in AppState by @ekroon in https://github.com/ellie/atuin/pull/711
+
+
+## New Contributors
+I very much appreciate the work from all contributors, but a special mention to everyone who made their _first_ contribution in this release, no matter how large or small
+
+* [@pdecat](https://github.com/pdecat) made their first contribution in https://github.com/ellie/atuin/pull/634
+* [@BapRx](https://github.com/BapRx) made their first contribution in https://github.com/ellie/atuin/pull/659
+* [@yolo2h](https://github.com/yolo2h) made their first contribution in https://github.com/ellie/atuin/pull/666
+* [@s1ck](https://github.com/s1ck) made their first contribution in https://github.com/ellie/atuin/pull/683
+* [@evanpurkhiser](https://github.com/evanpurkhiser) made their first contribution in https://github.com/ellie/atuin/pull/697
+* [@eripa](https://github.com/eripa) made their first contribution in https://github.com/ellie/atuin/pull/680
+* [@trygveaa](https://github.com/trygveaa) made their first contribution in https://github.com/ellie/atuin/pull/688
+* [@frukto](https://github.com/frukto) made their first contribution in https://github.com/ellie/atuin/pull/692
+* [@jbaiter](https://github.com/jbaiter) made their first contribution in https://github.com/ellie/atuin/pull/716
+* [@hunger](https://github.com/hunger) made their first contribution in https://github.com/ellie/atuin/pull/699
+* [@ekroon](https://github.com/ekroon) made their first contribution in https://github.com/ellie/atuin/pull/711
+
+## Future plans
+I've been talking about it for ages and ages, but now that my life has _finally_ settled down I'm going to be focusing on getting [deletions](https://github.com/ellie/atuin/issues/592) out for the next release. We will be switching to an event-based sync, which should allow for many more features and cool things in the future!
+
+## Other changes
+
+### Talk
+I spoke about Atuin at FOSDEM! If you want to know more about the project + video is your thing, you can watch it here
+
+<iframe width="560" height="315" src="https://www.youtube.com/embed/uyRmV19qJ2o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
+
+### Website
+
+Well... this is new. Previously I never bothered writing much about new releases, and basically just used the autogenerated GitHub release. The docs should be much easier to find here too!
+
+### Twitter
+
+I also opened a Twitter account for Atuin - [@atuinsh](https://twitter.com/atuinsh)
+
+If you fancy chatting to us about anything here, or otherwise, please feel free to drop by the [Discord](https://discord.gg/Fq8bJSKPHh)!
+
+**Full Changelog**: https://github.com/ellie/atuin/compare/v12.0.0...v13.0.0
diff --git a/docs/blog/2023/02-26-release-v13/stats.png b/docs/blog/2023/02-26-release-v13/stats.png
new file mode 100644
index 00000000..e68d0579
--- /dev/null
+++ b/docs/blog/2023/02-26-release-v13/stats.png
Binary files differ
diff --git a/docs/docs/commands/list.md b/docs/docs/commands/list.md
index de9689e6..0aff88c1 100644
--- a/docs/docs/commands/list.md
+++ b/docs/docs/commands/list.md
@@ -11,3 +11,20 @@ title: Listing History
| `--session/-s` | Enable listing history for the current session only (default: false) |
| `--human` | Use human-readable formatting for the timestamp and duration (default: false) |
| `--cmd-only` | Show only the text of the command (default: false) |
+| `--format` | Specify the formatting of a command (see below) |
+
+## Format
+
+Customize the output of `history list`
+
+Example
+
+```
+atuin history list --format "{time} - {duration} - {command}"
+```
+
+Supported variables
+
+```
+{command}, {directory}, {duration}, {user}, {host} and {time}
+```
diff --git a/docs/docs/config/config.md b/docs/docs/config/config.md
index e5ae4adb..dd840017 100644
--- a/docs/docs/config/config.md
+++ b/docs/docs/config/config.md
@@ -191,6 +191,17 @@ or `py`.
^core go$ | rb$ | py$
```
-## Server config
+### history_filter
-`// TODO`
+The history filter allows you to exclude commands from history tracking - maybe you want to keep ALL of your `curl` commands totally out of your shell history, or maybe just some matching a pattern.
+
+This supports regular expressions, so you can hide pretty much whatever you want!
+
+```
+## Note that these regular expressions are unanchored, i.e. if they don't start
+## with ^ or end with $, they'll match anywhere in the command.
+history_filter = [
+ "^secret-cmd",
+ "^innocuous-cmd .*--secret=.+"
+]
+```
diff --git a/src/command/contributors.rs b/src/command/contributors.rs
index 564eb4ae..6f21b5fe 100644
--- a/src/command/contributors.rs
+++ b/src/command/contributors.rs
@@ -1,63 +1,73 @@
const CONTRIBUTORS: &str = r#"
-avinassh (@avinassh)
-b3nj5m1n (@b3nj5m1n)
-bl-ue (@bl-ue)
-Benjamin Vergnaud (@bvergnaud)
-Brad Robel-Forrest (@bradrf)
-Bruce Huang (@helbing)
-c-14 (@c-14)
-ConradLudgate (@conradludgate)
-CosmicHorror (@LovecraftianHorror)
-Daniel (@daniel0611)
-DanielAtCosmicDNA (@DanielAtCosmicDNA)
-Ellie Huxtable (@ellie)
-Eric Crosson (@EricCrosson)
-Frank Hamand (@frankh)
-Herby Gillot (@herbygillot)
-Ian Smith (@ismith)
-Ilkin Bayramli (@ibayramli)
-Jakob Schrettenbrunner (@schrej)
-Jakub Jirutka (@jirutka)
-Jakub Panek (@panekj)
-Jamie Quigley (@Sciencentistguy)
-Jannik (@mozzieongit)
-jean-santos (@jean-santos)
-Jerome Ducret (@DucretJe)
-Klas Mellbourn (@Mellbourn)
-Laurent le Beau-Martin (@laurentlbm)
-lchausmann (@lchausmann)
-Lucas Burns (@lmburns)
-Lucy (@Absolucy)
-Luke Baker (@lukebaker)
-Manel Vilar (@manelvf)
-Mark Wotton (@mwotton)
-Martin Indra (@Indy2222)
-Mat Jones (@mrjones2014)
-mb6ockatf (@mb6ockatf)
-Michael Bianco (@iloveitaly)
-Michael Mior (@michaelmior)
-morguldir (@morguldir)
-mundry (@mundry)
-networkException (@networkException)
-Noyzen (@noyez)
-Omer Katz (@thedrow)
-Orhun Parmaksız (@orhun)
-Patrick (@pmarschik)
-Patrick Jackson (@patricksjackson)
-Plamen Dimitrov (@pevogam)
-Sam Edwards (@dotsam)
-Sam Lanning (@s0)
-Sandro (@SuperSandro2000)
-Satyarth Sampath (@notsatyarth)
-Simon Elsbrock (@elsbrock)
-TymanWasTaken (@TymanWasTaken)
-Ubiquitous Photon (@UbiquitousPhoton)
-Violet (@shreve)
-Will Fancher (@ElvishJerricco)
-wpbrz (@wpbrz)
-xfzv (@xfzv)
-Yuvi Panda (@yuvipanda)
-ZhiHong Li (@OnePieceJoker)
+Baptiste
+Benjamin Vergnaud
+Brad Robel-Forrest <brad@bitpony.com>
+Bruce Huang <helbingxxx@gmail.com>
+Conrad Ludgate <conradludgate@gmail.com>
+CosmicHorror <LovecraftianHorror@pm.me>
+Daniel <daniel.hub@outlook.de>
+Ellie Huxtable <ellie@elliehuxtable.com>
+Eric Crosson
+Eric Ripa <eric@ripa.io>
+Erwin Kroon
+Evan Purkhiser <evanpurkhiser@gmail.com>
+Frank Hamand <frankhamand@gmail.com>
+Herby Gillot <herby.gillot@gmail.com>
+Ian Smith <ismith@mit.edu>
+Ilkin Bayramli
+Violet Shreve <github@shreve.io>
+Jakob Schrettenbrunner <dev@schrej.net>
+Jakob-Niklas See <github@nwex.de>
+Jakub Jirutka <jakub@jirutka.cz>
+Jakub Panek <me@panekj.dev>
+Jamie Quigley <jamie@quigley.xyz>
+Jannik <jannik.peters@posteo.de>
+Jerome Ducret <jdiphone34@gmail.com>
+Johannes Baiter <johannes.baiter@gmail.com>
+Klas Mellbourn <klas@mellbourn.net>
+Laurent le Beau-Martin
+Lucas Burns
+Lucy <lucy@absolucy.moe>
+Luke Baker <lukebaker@gmail.com>
+Manel Vilar <manelvf@gmail.com>
+Mark Wotton <mwotton@gmail.com>
+Martin Indra <martin.indra@mgn.cz>
+Martin Junghanns <m.junghanns@mailbox.org>
+Mat Jones <mat@mjones.network>
+Michael Bianco <iloveitaly@gmail.com>
+Michael Mior <michael.mior@gmail.com>
+Omer Katz <omer.drow@gmail.com>
+Orhun Parmaksız <orhunparmaksiz@gmail.com>
+Patrick
+Patrick Decat <pdecat@gmail.com>
+Patrick Jackson <patrick@jackson.dev>
+Plamen Dimitrov <pdimitrov@pevogam.com>
+Sam Edwards <sam@samedwards.ca>
+Sam Lanning <sam@samlanning.com>
+Sandro <sandro.jaeckel@gmail.com>
+Satyarth Sampath <satyarth.23@gmail.com>
+Simon Elsbrock <simon@iodev.org>
+Tobias Hunger <tobias.hunger@gmail.com>
+Trygve Aaberge <trygveaa@gmail.com>
+TymanWasTaken <tbeckman530@gmail.com>
+Ubiquitous Photon
+Webmaster At Cosmic DNA
+Will Fancher <elvishjerricco@gmail.com>
+Yolo <noah.chang@outlook.com>
+Yuvi Panda <yuvipanda@gmail.com>
+ZhiHong Li <joker_lizhih@163.com>
+avinassh
+b3nj5m1n
+c-14 <git@c-14.de>
+frukto <fruktopus@gmail.com>
+jean-santos <jeanpnsantos@gmail.com>
+lchausmann <jazz-github@zqz.dk>
+mb6ockatf
+morguldir <morguldir@protonmail.com>
+mundry
+noyez <noyez@ithryn.net>
+wpbrz
+xfzv
"#;
pub fn run() {