Release 0.20.1: repair Flatpak update checks and self-updates (#2627)

* Release 0.20.1: fix Flatpak update permissions

* test: avoid unchecked option parsing in Flatpak regression
This commit is contained in:
Dylan M. Taylor authored and GitHub committed 2026-11-11 14:27:23 -05:00
1 parent 7e2a123494
commit 741ccbbabb
5 files changed
+53 -22

No files matched your search

Generated
+21 -21
View File
@@ -1306,7 +1306,7 @@ dependencies = [
[[package]]
name = "designcraft"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"arboard",
"craft-update",
@@ -1331,7 +1331,7 @@ dependencies = [
[[package]]
name = "designcraft-cli"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-color",
"designcraft-compose",
@@ -1348,7 +1348,7 @@ dependencies = [
[[package]]
name = "designcraft-color"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"craft-cms",
"kurbo",
@@ -1360,7 +1360,7 @@ dependencies = [
[[package]]
name = "designcraft-compose"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-color",
"designcraft-doc",
@@ -1380,7 +1380,7 @@ dependencies = [
[[package]]
name = "designcraft-doc"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"chrono",
"designcraft-color",
@@ -1393,7 +1393,7 @@ dependencies = [
[[package]]
name = "designcraft-engine"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"caseless",
"craft-atomic",
@@ -1433,7 +1433,7 @@ dependencies = [
[[package]]
name = "designcraft-epub"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"chrono",
"designcraft-color",
@@ -1443,7 +1443,7 @@ dependencies = [
[[package]]
name = "designcraft-fonts"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"core-text",
"harfrust 0.13.3",
@@ -1456,7 +1456,7 @@ dependencies = [
[[package]]
name = "designcraft-format"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-doc",
"designcraft-images",
@@ -1468,7 +1468,7 @@ dependencies = [
[[package]]
name = "designcraft-geom"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"flo_curves",
"kurbo",
@@ -1481,7 +1481,7 @@ dependencies = [
[[package]]
name = "designcraft-idml"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-color",
"designcraft-compose",
@@ -1496,7 +1496,7 @@ dependencies = [
[[package]]
name = "designcraft-images"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"craft-cms",
"designcraft-color",
@@ -1514,7 +1514,7 @@ dependencies = [
[[package]]
name = "designcraft-mcp"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-engine",
"designcraft-geom",
@@ -1527,7 +1527,7 @@ dependencies = [
[[package]]
name = "designcraft-pdf"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"chrono",
"craft-cms",
@@ -1553,7 +1553,7 @@ dependencies = [
[[package]]
name = "designcraft-pptx"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"chrono",
"designcraft-color",
@@ -1571,7 +1571,7 @@ dependencies = [
[[package]]
name = "designcraft-render"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"craft-pdf",
"designcraft-color",
@@ -1590,7 +1590,7 @@ dependencies = [
[[package]]
name = "designcraft-textimport"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-doc",
"quick-xml 0.41.0",
@@ -1599,7 +1599,7 @@ dependencies = [
[[package]]
name = "designcraft-tools"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-color",
"designcraft-compose",
@@ -1611,7 +1611,7 @@ dependencies = [
[[package]]
name = "designcraft-ui-egui"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"craft-dialogs",
"craft-keymap",
@@ -1645,7 +1645,7 @@ dependencies = [
[[package]]
name = "designcraft-web"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"designcraft-engine",
"designcraft-format",
@@ -7679,7 +7679,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee"
[[package]]
name = "xtask"
version = "0.20.0"
version = "0.20.1"
dependencies = [
"serde_json",
]
+1 -1
View File
@@ -4,7 +4,7 @@ members = ["crates/*", "apps/*", "xtask"]
default-members = ["crates/*", "apps/designcraft", "apps/designcraft-cli", "xtask"]
[workspace.package]
version = "0.20.0"
version = "0.20.1"
edition = "2024"
license = "MIT OR Apache-2.0"
rust-version = "1.95"
+27
View File
@@ -0,0 +1,27 @@
//! Release and source Flatpaks must allow release checks and host update helpers.
fn finish_args(manifest: &str) -> Vec<&str> {
manifest
.split("finish-args:")
.nth(1)
.unwrap_or_default()
.lines()
.take_while(|line| line.is_empty() || line.starts_with(' ') || line.starts_with('#'))
.filter_map(|line| line.trim().strip_prefix("- "))
.map(|arg| arg.trim_matches(['\'', '"']))
.collect()
}
#[test]
fn flatpak_update_permissions() {
let manifests = [
include_str!("../../../packaging/linux/flatpak/ai.storyteller.designcraft.bundle.yml"),
include_str!("../../../packaging/linux/flatpak/ai.storyteller.designcraft.yml"),
];
let args = manifests.map(finish_args);
assert_eq!(args[0], args[1], "source and release permissions must agree");
for permissions in args {
for required in ["--share=network", "--talk-name=org.freedesktop.Flatpak"] {
assert!(permissions.contains(&required), "missing update permission: {required}");
}
}
}
@@ -17,6 +17,8 @@ runtime-version: '25.08'
sdk: org.freedesktop.Sdk
command: designcraft
finish-args:
# The shared updater inspects and updates this installation via flatpak-spawn --host.
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-data/ArtCraft/versions:ro
# Display: Wayland first; X11 only when no Wayland compositor is running.
- --socket=wayland
@@ -18,6 +18,8 @@ sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
command: designcraft
finish-args:
# The shared updater inspects and updates this installation via flatpak-spawn --host.
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-data/ArtCraft/versions:ro
# Display: Wayland first; X11 only when no Wayland compositor is running.
- --socket=wayland