Skip to main content

max / quasi

0.5.0: the carousel says Showing::One and stops carrying its own chrome A position, prev, next and a dot strip were listed as parts of this assembly when it was designed. None of them is in the body: they are chrome, and chrome is what a recognising renderer draws its own way. What the widget says now is an ordered set of pictures with one showing, and everything a host draws around that falls out of it. 0.5.0 across the workspace: Slot gained three fields and Key two variants, both breaking pre-1.0.
Author: Max Johnson <me@maxj.phd> · 2026-08-14 22:35 UTC
Signed with PGP, not checked
Commit: 4ba827edacf695dd8d5f4409df06382423744015
Parent: 1e7d9c5
11 files changed, +70 insertions, -41 deletions
M Cargo.lock +17 -17
@@ -3015,11 +3015,11 @@
3015 3015
3016 3016 [[package]]
3017 3017 name = "quasi"
3018 - version = "0.4.0"
3018 + version = "0.5.0"
3019 3019
3020 3020 [[package]]
3021 3021 name = "quasi-axum"
3022 - version = "0.4.0"
3022 + version = "0.5.0"
3023 3023 dependencies = [
3024 3024 "axum",
3025 3025 "http",
@@ -3033,7 +3033,7 @@
3033 3033
3034 3034 [[package]]
3035 3035 name = "quasi-basics"
3036 - version = "0.4.0"
3036 + version = "0.5.0"
3037 3037 dependencies = [
3038 3038 "makeover-layout",
3039 3039 "quasi-http",
@@ -3043,7 +3043,7 @@
3043 3043
3044 3044 [[package]]
3045 3045 name = "quasi-http"
3046 - version = "0.4.0"
3046 + version = "0.5.0"
3047 3047 dependencies = [
3048 3048 "form_urlencoded",
3049 3049 "http",
@@ -3052,7 +3052,7 @@
3052 3052
3053 3053 [[package]]
3054 3054 name = "quasi-immediate"
3055 - version = "0.4.0"
3055 + version = "0.5.0"
3056 3056 dependencies = [
3057 3057 "docengine",
3058 3058 "egui",
@@ -3062,7 +3062,7 @@
3062 3062
3063 3063 [[package]]
3064 3064 name = "quasi-router"
3065 - version = "0.4.0"
3065 + version = "0.5.0"
3066 3066 dependencies = [
3067 3067 "makeover-layout",
3068 3068 ]
@@ -3079,7 +3079,7 @@
3079 3079
3080 3080 [[package]]
3081 3081 name = "quasi-tauri"
3082 - version = "0.4.0"
3082 + version = "0.5.0"
3083 3083 dependencies = [
3084 3084 "http",
3085 3085 "quasi-http",
@@ -3090,7 +3090,7 @@
3090 3090
3091 3091 [[package]]
3092 3092 name = "quasi-tui"
3093 - version = "0.4.0"
3093 + version = "0.5.0"
3094 3094 dependencies = [
3095 3095 "docengine",
3096 3096 "makeover",
@@ -3102,7 +3102,7 @@
3102 3102
3103 3103 [[package]]
3104 3104 name = "quasi-webview"
3105 - version = "0.4.0"
3105 + version = "0.5.0"
3106 3106 dependencies = [
3107 3107 "docengine",
3108 3108 "makeover-layout",
@@ -5515,12 +5515,8 @@
5515 5515 checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
5516 5516
5517 5517 [[patch.unused]]
5518 - name = "synckit-client"
5519 - version = "0.8.0"
5520 -
5521 - [[patch.unused]]
5522 - name = "synckit-config"
5523 - version = "0.2.0"
5518 + name = "makeover-build"
5519 + version = "0.32.0"
5524 5520
5525 5521 [[patch.unused]]
5526 5522 name = "kberg"
@@ -5539,5 +5535,9 @@
5539 5535 version = "0.4.0"
5540 5536
5541 5537 [[patch.unused]]
5542 - name = "makeover-build"
5543 - version = "0.32.0"
5538 + name = "synckit-client"
5539 + version = "0.8.0"
5540 +
5541 + [[patch.unused]]
5542 + name = "synckit-config"
5543 + version = "0.2.0"
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-axum"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The axum host adapter for quasi-router: an HTTP request in, a rendered description out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,14 +13,14 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
17 - quasi-http = { path = "../quasi-http", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 + quasi-http = { path = "../quasi-http", version = "0.5.0" }
18 18 axum = "0.8.8"
19 19 http = "1.3.1"
20 20 tokio = { version = "1.50.0", features = ["rt"] }
21 21
22 22 [dev-dependencies]
23 - quasi-webview = { path = "../quasi-webview", version = "0.4.0" }
23 + quasi-webview = { path = "../quasi-webview", version = "0.5.0" }
24 24 tokio = { version = "1.50.0", features = ["macros", "rt-multi-thread"] }
25 25 tower = { version = "0.5.3", features = ["util"] }
26 26 http-body-util = "0.1.3"
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-basics"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The first-party widget set: named assemblies of primitives, shared across our apps"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,12 +13,12 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 17 makeover-layout = "0.23.0"
18 18
19 19 [dev-dependencies]
20 20 # A widget's guarantees are claims about what a renderer draws, so they are
21 21 # tested against a real one rather than by walking the tree the assembly just
22 22 # built. The webview is the renderer that recognises names today.
23 - quasi-webview = { path = "../quasi-webview", version = "0.4.0" }
24 - quasi-http = { path = "../quasi-http", version = "0.4.0" }
23 + quasi-webview = { path = "../quasi-webview", version = "0.5.0" }
24 + quasi-http = { path = "../quasi-http", version = "0.5.0" }
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-http"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The http-shaped seam quasi's webview host adapters share: decoding in, a rendered description out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,6 +13,6 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 17 http = "1.3.1"
18 18 form_urlencoded = "1.2.2"
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-immediate"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 edition = "2024"
5 5 description = "The immediate-mode renderer for quasi-router: a described screen in, an egui frame out. Immediate mode is the constraint that matters, not the library."
6 6 license = "MIT"
@@ -10,7 +10,7 @@
10 10 categories = ["gui"]
11 11
12 12 [dependencies]
13 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
13 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
14 14 # The node drawing, which is the makeover layer's and not this crate's. Every
15 15 # widget here that is not a container comes from it: a screen walk that painted
16 16 # its own meter would be the divergence the suite exists to end, one copy per
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-router"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "Host-agnostic router: a request in, a renderer-agnostic description out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-tauri"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The Tauri custom-protocol host adapter for quasi-router: a webview request in, a rendered description out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,8 +13,8 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
17 - quasi-http = { path = "../quasi-http", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 + quasi-http = { path = "../quasi-http", version = "0.5.0" }
18 18 http = "1.3.1"
19 19 # Default features off: this crate uses tauri's protocol registration and its
20 20 # blocking pool, and nothing else. An app brings the features it wants, and the
@@ -22,7 +22,7 @@
22 22 tauri = { version = "2.11.5", default-features = false }
23 23
24 24 [dev-dependencies]
25 - quasi-webview = { path = "../quasi-webview", version = "0.4.0" }
25 + quasi-webview = { path = "../quasi-webview", version = "0.5.0" }
26 26 # The doctest names a concrete `Runtime`, and `Wry` is behind a default feature
27 27 # this crate does not otherwise ask for. Only the example needs it: nothing in
28 28 # the test module builds a window, which is what keeps them runnable with no
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-tui"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The terminal renderer for quasi: a screen description in, cells in a ratatui buffer out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,7 +13,7 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 17 makeover-layout = "0.23.0"
18 18 # The depth palette, the theme bridge and the table. Everything else this crate
19 19 # draws is written here first and lifted upstream once a second consumer wants
@@ -1,6 +1,6 @@
1 1 [package]
2 2 name = "quasi-webview"
3 - version = "0.4.0"
3 + version = "0.5.0"
4 4 description = "The webview renderer for quasi: a screen description in, an htmx document out"
5 5 edition.workspace = true
6 6 rust-version.workspace = true
@@ -13,8 +13,8 @@
13 13 workspace = true
14 14
15 15 [dependencies]
16 - quasi-router = { path = "../quasi-router", version = "0.4.0" }
17 - quasi-http = { path = "../quasi-http", version = "0.4.0" }
16 + quasi-router = { path = "../quasi-router", version = "0.5.0" }
17 + quasi-http = { path = "../quasi-http", version = "0.5.0" }
18 18 makeover-layout = "0.23.0"
19 19 makeover-webview = "0.39.0"
20 20 # `Node::Rich` carries markdown source and this is what turns it into markup.