diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 58868068..8784435c 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -10,6 +10,9 @@ on:
tags:
- "v*"
+ release:
+ types: [created]
+
jobs:
build:
name: ${{ matrix.job.os }} (${{ matrix.job.target }})
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..761243e4
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,56 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project (mostly) adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [0.7.0] - 2021-05-10
+
+Thank you so much to everyone that started contributing to Atuin for this release!
+
+- [@yuvipanda](https://github.com/yuvipanda)
+- [@Sciencentistguy](https://github.com/Sciencentistguy)
+- [@bl-ue](https://github.com/bl-ue)
+- [@ElvishJerricco](https://github.com/ElvishJerricco)
+- [@avinassh](https://github.com/avinassh)
+- [@ismith](https://github.com/ismith)
+- [@thedrow](https://github.com/thedrow)
+
+And a special thank you to [@conradludgate](https://github.com/conradludgate) for his ongoing contributions :)
+
+### Added
+
+- Ctrl-C to exit (#53)
+- Ctrl-D to exit (#65)
+- Add option to not automatically bind keys (#62)
+- Add importer for Resh history (#69)
+- Retain the query entered if no results are found (#76)
+- Support full-text querying (#75)
+- Allow listing or searching with only the command as output (#89)
+- Emacs-style ctrl-g, ctrl-n, ctrl-p (#77)
+- `atuin logout` (#91)
+- "quick access" to earlier commands via Alt-N (#79)
+
+### Changed
+
+- CI build caching (#49)
+- Use an enum for dialect (#80)
+- Generic importer trait (#71)
+- Increased optimisation for release builds (#101)
+- Shellcheck fixes for bash file (#81)
+- Some general cleanup, bugfixes, and refactoring (#83, #90, #48)
+
+### Deprecated
+
+### Removed
+
+### Fixed
+
+- Ubuntu install (#46)
+- Bash integration (#88)
+- Newline when editing shell RC files (#60)
+
+### Security
diff --git a/Cargo.lock b/Cargo.lock
index 0369c712..d42c01df 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -76,7 +76,7 @@ dependencies = [
[[package]]
name = "atuin"
-version = "0.6.4"
+version = "0.7.0"
dependencies = [
"async-trait",
"atuin-client",
@@ -108,7 +108,7 @@ dependencies = [
[[package]]
name = "atuin-client"
-version = "0.6.2"
+version = "0.7.0"
dependencies = [
"async-trait",
"atuin-common",
@@ -142,7 +142,7 @@ dependencies = [
[[package]]
name = "atuin-common"
-version = "0.6.2"
+version = "0.7.0"
dependencies = [
"chrono",
"eyre",
@@ -158,7 +158,7 @@ dependencies = [
[[package]]
name = "atuin-server"
-version = "0.6.2"
+version = "0.7.0"
dependencies = [
"async-trait",
"atuin-common",
diff --git a/Cargo.toml b/Cargo.toml
index ca3df5b4..999b7feb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin"
-version = "0.6.4"
+version = "0.7.0"
authors = ["Ellie Huxtable "]
edition = "2018"
license = "MIT"
@@ -29,9 +29,9 @@ atuin = { path = "/usr/bin/atuin" }
members = ["./atuin-client", "./atuin-server", "./atuin-common"]
[dependencies]
-atuin-server = { path = "atuin-server", version = "0.6.2" }
-atuin-client = { path = "atuin-client", version = "0.6.2" }
-atuin-common = { path = "atuin-common", version = "0.6.2" }
+atuin-server = { path = "atuin-server", version = "0.7.0" }
+atuin-client = { path = "atuin-client", version = "0.7.0" }
+atuin-common = { path = "atuin-common", version = "0.7.0" }
log = "0.4"
pretty_env_logger = "0.4"
diff --git a/README.md b/README.md
index c79e7811..795cbdc3 100644
--- a/README.md
+++ b/README.md
@@ -46,6 +46,7 @@ I wanted to. And I **really** don't want to.
- log exit code, cwd, hostname, session, command duration, etc
- calculate statistics such as "most used command"
- old history file is not replaced
+- quick-jump to previous items with Alt-\
## Documentation
diff --git a/atuin-client/Cargo.toml b/atuin-client/Cargo.toml
index 1dcb9aae..52d0d2fc 100644
--- a/atuin-client/Cargo.toml
+++ b/atuin-client/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-client"
-version = "0.6.2"
+version = "0.7.0"
authors = ["Ellie Huxtable "]
edition = "2018"
license = "MIT"
@@ -11,7 +11,7 @@ repository = "https://github.com/ellie/atuin"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-atuin-common = { path = "../atuin-common", version = "0.6.0" }
+atuin-common = { path = "../atuin-common", version = "0.7.0" }
log = "0.4"
fern = {version = "0.6.0", features = ["colored"] }
diff --git a/atuin-client/config.toml b/atuin-client/config.toml
index 33e5b545..c8926297 100644
--- a/atuin-client/config.toml
+++ b/atuin-client/config.toml
@@ -22,3 +22,7 @@
## address of the sync server
# sync_address = "https://api.atuin.sh"
+
+## which search mode to use
+## possible values: prefix, fulltext
+# search_mode = "prefix"
diff --git a/atuin-common/Cargo.toml b/atuin-common/Cargo.toml
index 2282f52d..a30bb50c 100644
--- a/atuin-common/Cargo.toml
+++ b/atuin-common/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-common"
-version = "0.6.2"
+version = "0.7.0"
authors = ["Ellie Huxtable "]
edition = "2018"
license = "MIT"
diff --git a/atuin-server/Cargo.toml b/atuin-server/Cargo.toml
index 24529bac..c615a0e4 100644
--- a/atuin-server/Cargo.toml
+++ b/atuin-server/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "atuin-server"
-version = "0.6.2"
+version = "0.7.0"
authors = ["Ellie Huxtable "]
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 = "0.6.0" }
+atuin-common = { path = "../atuin-common", version = "0.7.0" }
log = "0.4"
fern = {version = "0.6.0", features = ["colored"] }
diff --git a/demo.gif b/demo.gif
index 1da6c0b6..6eac1abf 100644
Binary files a/demo.gif and b/demo.gif differ
diff --git a/docs/config.md b/docs/config.md
index 7c042251..29ce770c 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -94,6 +94,17 @@ The path to the Atuin server session file. Defaults to
key = "~/.atuin-session"
```
+### `search_mode`
+
+Which search mode to use. Atuin supports both "prefix" and full text search
+modes. The former will essentially search for "query*", and the latter "*query\*"
+
+Defaults to "prefix"
+
+```
+search_mode = "fulltext"
+```
+
## Server config
`// TODO`
diff --git a/src/command/search.rs b/src/command/search.rs
index 2dcdecc8..d3807bca 100644
--- a/src/command/search.rs
+++ b/src/command/search.rs
@@ -103,10 +103,7 @@ impl State {
None => Span::raw(" "),
Some(diff) => {
if 0 < diff && diff < 10 {
- Span::styled(
- format!(" {} ", diff),
- Style::default().fg(Color::DarkGray),
- )
+ Span::raw(format!(" {} ", diff))
} else {
Span::raw(" ")
}
@@ -275,7 +272,7 @@ fn draw(f: &mut Frame<'_, T>, history_count: i64, app: &mut State) {
.split(top_chunks[1]);
let title = Paragraph::new(Text::from(Span::styled(
- format!("A'tuin v{}", VERSION),
+ format!("Atuin v{}", VERSION),
Style::default().add_modifier(Modifier::BOLD),
)));