summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2024-01-01 14:12:20 +0000
committerEllie Huxtable <ellie@elliehuxtable.com>2024-01-01 18:09:23 +0000
commit29f4a93e300a2eca9af2f878bb4808e68ff32966 (patch)
tree3de5babf72ad6e09166ff43ad53637cc19c08651
parente2a4e9cf13c939e8b158c58cbc5c4f8af8e994e3 (diff)
feat: rework record sync for improved reliabilityellie/history-store
So, to tell a story 1. We introduced the record sync, intended to be the new algorithm to sync history. 2. On top of this, I added the KV store. This was intended as a simple test of the record sync, and to see if people wanted that sort of functionality 3. History remained syncing via the old means, as while it had issues it worked more-or-less OK. And we are aware of its flaws 4. If KV syncing worked ok, history would be moved across KV syncing ran ok for 6mo or so, so I started to move across history. For several weeks, I ran a local fork of Atuin + the server that synced via records instead. The record store maintained ordering via a linked list, which was a mistake. It performed well in testing, but was really difficult to debug and reason about. So when a few small sync issues occured, they took an extremely long time to debug. This PR is huge, which I regret. It involves replacing the "parent" relationship that records once had (pointing to the previous record) with a simple index (generally referred to as idx). This also means we had to change the recordindex, which referenced "tails". Tails were the last item in the chain. Now that we use an "array" vs linked list, that logic was also replaced. And is much simpler :D Same for the queries that act on this data. ---- This isn't final - we still need to add 1. Proper server/client error handling, which has been lacking for a while 2. The actual history implementation on top This exists in a branch, just without deletions. Won't be much to add that, I just don't want to make this any larger than it already is The _only_ caveat here is that we basically lose data synced via the old record store. This is the KV data from before. It hasn't been deleted or anything, just no longer hooked up. So it's totally possible to write a migration script. I just need to do that.
-rw-r--r--.github/DISCUSSION_TEMPLATE/support.yml84
-rw-r--r--.gitignore1
-rw-r--r--Cargo.lock324
-rw-r--r--Cargo.toml14
-rw-r--r--Dockerfile2
-rw-r--r--README.md21
-rw-r--r--atuin-client/Cargo.toml1
-rw-r--r--atuin-client/config.toml2
-rw-r--r--atuin-client/record-migrations/20231127090831_create-store.sql15
-rw-r--r--atuin-client/src/api_client.rs89
-rw-r--r--atuin-client/src/history.rs210
-rw-r--r--atuin-client/src/history/store.rs52
-rw-r--r--atuin-client/src/kv.rs99
-rw-r--r--atuin-client/src/record/encryption.rs29
-rw-r--r--atuin-client/src/record/sqlite_store.rs260
-rw-r--r--atuin-client/src/record/store.rs35
-rw-r--r--atuin-client/src/record/sync.rs493
-rw-r--r--atuin-client/src/settings.rs22
-rw-r--r--atuin-common/Cargo.toml3
-rw-r--r--atuin-common/src/api.rs11
-rw-r--r--atuin-common/src/record.rs171
-rw-r--r--atuin-common/src/utils.rs30
-rw-r--r--atuin-server-database/src/lib.rs6
-rw-r--r--atuin-server-postgres/migrations/20231202170508_create-store.sql15
-rw-r--r--atuin-server-postgres/migrations/20231203124112_create-store-idx.sql2
-rw-r--r--atuin-server-postgres/src/lib.rs98
-rw-r--r--atuin-server-postgres/src/wrappers.rs7
-rw-r--r--atuin-server/Cargo.toml5
-rw-r--r--atuin-server/server.toml5
-rw-r--r--atuin-server/src/handlers/mod.rs1
-rw-r--r--atuin-server/src/handlers/record.rs106
-rw-r--r--atuin-server/src/handlers/v0/mod.rs1
-rw-r--r--atuin-server/src/handlers/v0/record.rs111
-rw-r--r--atuin-server/src/lib.rs75
-rw-r--r--atuin-server/src/router.rs28
-rw-r--r--atuin-server/src/settings.rs54
-rw-r--r--atuin/Cargo.toml2
-rw-r--r--atuin/src/command/client.rs24
-rw-r--r--atuin/src/command/client/history.rs25
-rw-r--r--atuin/src/command/client/record.rs63
-rw-r--r--atuin/src/command/client/search.rs12
-rw-r--r--atuin/src/command/client/sync.rs28
-rw-r--r--atuin/src/command/server.rs5
-rw-r--r--atuin/src/interactive/inspector.rs37
-rw-r--r--atuin/src/shell/atuin.bash5
-rw-r--r--atuin/tests/sync.rs5
-rw-r--r--docs/docs/advanced-install.md10
-rw-r--r--docs/docs/guide/index.md14
-rw-r--r--docs/docs/self-hosting/self-hosting.md11
-rwxr-xr-xinstall.sh2
50 files changed, 1515 insertions, 1210 deletions
diff --git a/.github/DISCUSSION_TEMPLATE/support.yml b/.github/DISCUSSION_TEMPLATE/support.yml
deleted file mode 100644
index b6a6ae40..00000000
--- a/.github/DISCUSSION_TEMPLATE/support.yml
+++ /dev/null
@@ -1,84 +0,0 @@
-body:
- - type: input
- attributes:
- label: Operating System
- description: What operating system are you using?
- placeholder: "Example: macOS Big Sur"
- validations:
- required: true
-
- - type: input
- attributes:
- label: Shell
- description: What shell are you using?
- placeholder: "Example: zsh 5.8.1"
- validations:
- required: true
-
- - type: dropdown
- attributes:
- label: Version
- description: What version of atuin are you running?
- multiple: false
- options: # how often will I forget to update this? a lot.
- - v17.0.0 (Default)
- - v16.0.0
- - v15.0.0
- - v14.0.1
- - v14.0.0
- - v13.0.1
- - v13.0.0
- - v12.0.0
- - v11.0.0
- - v0.10.0
- - v0.9.1
- - v0.9.0
- - v0.8.1
- - v0.8.0
- - v0.7.2
- - v0.7.1
- - v0.7.0
- - v0.6.4
- - v0.6.3
- default: 0
- validations:
- required: true
-
- - type: checkboxes
- attributes:
- label: Self hosted
- description: Are you self hosting atuin server?
- options:
- - label: I am self hosting atuin server
-
- - type: checkboxes
- attributes:
- label: Search the issues
- description: Did you search the issues and discussions for your problem?
- options:
- - label: I checked that someone hasn't already asked about the same issue
- required: true
-
- - type: textarea
- attributes:
- label: Behaviour
- description: "Please describe the issue - what you expected to happen, what actually happened"
-
- - type: textarea
- attributes:
- label: Logs
- description: "If possible, please include logs from atuin, especially if you self host the server - ATUIN_LOG=debug"
-
- - type: textarea
- attributes:
- label: Extra information
- description: "Anything else you'd like to add?"
-
- - type: checkboxes
- attributes:
- label: Code of Conduct
- description: The Code of Conduct helps create a safe space for everyone. We require
- that everyone agrees to it.
- options:
- - label: I agree to follow this project's [Code of Conduct](https://github.com/atuinsh/atuin/blob/main/CODE_OF_CONDUCT.md)
- required: true
diff --git a/.gitignore b/.gitignore
index 17c0b070..64caee2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.DS_Store
/target
*/target
.env
diff --git a/Cargo.lock b/Cargo.lock
index 440f3024..adae9140 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -57,9 +57,9 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
name = "anstream"
-version = "0.6.5"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -77,30 +77,30 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
name = "anstyle-parse"
-version = "0.2.3"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.0.2"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.48.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.2"
+version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [
"anstyle",
- "windows-sys 0.52.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -110,12 +110,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
[[package]]
-name = "arc-swap"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
-
-[[package]]
name = "argon2"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -135,7 +129,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -148,12 +142,6 @@ dependencies = [
]
[[package]]
-name = "atomic"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
-
-[[package]]
name = "atomic-write-file"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -186,7 +174,7 @@ dependencies = [
"fuzzy-matcher",
"indicatif",
"interim",
- "itertools 0.12.0",
+ "itertools",
"log",
"ratatui",
"rpassword",
@@ -221,7 +209,7 @@ dependencies = [
"generic-array",
"hex",
"interim",
- "itertools 0.12.0",
+ "itertools",
"lazy_static",
"log",
"memchr",
@@ -242,6 +230,7 @@ dependencies = [
"shellexpand",
"sql-builder",
"sqlx",
+ "thiserror",
"time",
"tokio",
"typed-builder",
@@ -255,10 +244,8 @@ name = "atuin-common"
version = "17.1.0"
dependencies = [
"eyre",
- "lazy_static",
"pretty_assertions",
"rand",
- "semver",
"serde",
"sqlx",
"time",
@@ -275,20 +262,15 @@ dependencies = [
"atuin-common",
"atuin-server-database",
"axum",
- "axum-server",
"base64 0.21.5",
"config",
"eyre",
"fs-err",
"http",
- "hyper",
- "hyper-rustls",
"metrics",
"metrics-exporter-prometheus",
"rand",
"reqwest",
- "rustls",
- "rustls-pemfile",
"semver",
"serde",
"serde_json",
@@ -384,26 +366,6 @@ dependencies = [
]
[[package]]
-name = "axum-server"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "447f28c85900215cc1bea282f32d4a2f22d55c5a300afdfbc661c8d6a632e063"
-dependencies = [
- "arc-swap",
- "bytes",
- "futures-util",
- "http",
- "http-body",
- "hyper",
- "pin-project-lite",
- "rustls",
- "rustls-pemfile",
- "tokio",
- "tokio-rustls",
- "tower-service",
-]
-
-[[package]]
name = "backtrace"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -581,9 +543,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.11"
+version = "4.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
dependencies = [
"clap_builder",
"clap_derive",
@@ -591,9 +553,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.4.11"
+version = "4.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
dependencies = [
"anstream",
"anstyle",
@@ -619,7 +581,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -661,10 +623,11 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "colored"
-version = "2.1.0"
+version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
dependencies = [
+ "is-terminal",
"lazy_static",
"windows-sys 0.48.0",
]
@@ -698,9 +661,9 @@ dependencies = [
[[package]]
name = "const-oid"
-version = "0.9.6"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
[[package]]
name = "core-foundation"
@@ -744,21 +707,22 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crossbeam-epoch"
-version = "0.9.16"
+version = "0.9.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
"memoffset 0.9.0",
+ "scopeguard",
]
[[package]]
name = "crossbeam-queue"
-version = "0.3.9"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
dependencies = [
"cfg-if",
"crossbeam-utils",
@@ -766,9 +730,9 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.17"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
"cfg-if",
]
@@ -860,7 +824,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -876,11 +840,10 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.10"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
+checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
dependencies = [
- "powerfmt",
"serde",
]
@@ -924,11 +887,11 @@ dependencies = [
[[package]]
name = "directories"
-version = "5.0.1"
+version = "4.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
+checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210"
dependencies = [
- "dirs-sys",
+ "dirs-sys 0.3.7",
]
[[package]]
@@ -937,7 +900,18 @@ version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
dependencies = [
- "dirs-sys",
+ "dirs-sys 0.4.1",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
]
[[package]]
@@ -1070,9 +1044,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "eyre"
-version = "0.6.11"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799"
+checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd"
dependencies = [
"indenter",
"once_cell",
@@ -1215,7 +1189,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -1372,9 +1346,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hkdf"
-version = "0.12.4"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
+checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
dependencies = [
"hmac",
]
@@ -1390,11 +1364,11 @@ dependencies = [
[[package]]
name = "home"
-version = "0.5.9"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1410,9 +1384,9 @@ dependencies = [
[[package]]
name = "http-body"
-version = "0.4.6"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [
"bytes",
"http",
@@ -1476,9 +1450,7 @@ dependencies = [
"futures-util",
"http",
"hyper",
- "log",
"rustls",
- "rustls-native-certs",
"tokio",
"tokio-rustls",
]
@@ -1602,19 +1574,10 @@ dependencies = [
]
[[package]]
-name = "itertools"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
-dependencies = [
- "either",
-]
-
-[[package]]
name = "itoa"
-version = "1.0.10"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "js-sys"
@@ -1636,9 +1599,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.151"
+version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "libm"
@@ -1710,7 +1673,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex-syntax 0.6.29",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -1811,9 +1774,9 @@ dependencies = [
[[package]]
name = "metrics-exporter-prometheus"
-version = "0.12.2"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d4fa7ce7c4862db464a37b0b31d89bca874562f034bd7993895572783d02950"
+checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5"
dependencies = [
"base64 0.21.5",
"hyper",
@@ -1835,7 +1798,7 @@ checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -1882,9 +1845,9 @@ checksum = "1269a17ac308ae0b906ec1b0ff8062fd0c82f18cc2956faa367302ec3380f4e8"
[[package]]
name = "mio"
-version = "0.8.10"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
"log",
@@ -1936,15 +1899,6 @@ dependencies = [
]
[[package]]
-name = "nu-ansi-term"
-version = "0.49.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
-dependencies = [
- "windows-sys 0.48.0",
-]
-
-[[package]]
name = "num"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2104,9 +2058,9 @@ dependencies = [
[[package]]
name = "once_cell"
-version = "1.19.0"
+version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "opaque-debug"
@@ -2250,7 +2204,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.41",
+ "syn 2.0.39",
]
[[package]]
@@ -2311,15 +2265,9 @@ dependencies = [
[[package]]
name = "portable-atomic"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
-
-[[package]]
-name = "powerfmt"
-version = "0.2.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b"
[[package]]
name = "ppv-lite86"
@@ -2411,7 +2359,7 @@ dependencies = [
"cassowary",
"crossterm",
"indoc",
- "itertools 0.11.0",
+ "itertools",
"lru",
"paste",
"strum",
@@ -2549,9 +2497,9 @@ dependencies = [
[[package]]
name = "ring"
-version = "0.17.7"
+version = "0.17.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
+checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866"
dependencies = [
"cc",
"getrandom",
@@ -2645,9 +2593,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.28"
+version = "0.38.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
dependencies = [
"bitflags 2.4.1",
"errno",
@@ -2658,12 +2606,12 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.21.10"
+version = "0.21.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
dependencies = [
"log",
- "ring 0.17.7",
+ "ring 0.17.6",
"rustls-webpki",
"sct",
]
@@ -2695,7 +2643,7 @@ version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
- "ring 0.17.7",
+ "ring 0.17.6",
"untrusted 0.9.0",
]
@@ -2748,9 +2696,9 @@ dependencies = [
[[package]]
name = "ryu"
-version = "1.0.16"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "salsa20"
@@ -2782,7 +2730,7 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"