# Cargo.toml — Phase 1 (Bootstrap). # # Dependency rationale lives in AGENTS.md §44. Only the crates actually used # by Phase 1 are listed; the remaining crates (reqwest / tungstenite / serde / # url / anyhow / ...) are added in later phases when their modules land. [package] name = "windows-gotify-client-rust" version = "0.1.0" edition = "2021" rust-version = "1.75" description = "Lightweight, modern, Windows-native Gotify desktop client (Rust + Slint)" license = "MIT" readme = "README.md" authors = ["KennethCheng "] [[bin]] name = "windows-gotify-client-rust" path = "src/main.rs" [dependencies] # --- UI --- # `slint` crate. The `slint!{}` macro is compiled in via the default feature # set in 1.x (verified against 1.18.0 — `internal-interpreter` was removed in # 1.x). The Windows GUI backend (`backend-winit`) is also part of defaults. # Phase 2 will likely switch from the embedded macro to `include_slint!()` # + standalone .slint files under `ui/`. slint = "1" # --- Logging --- tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } # --- Error handling --- thiserror = "2" # Slint's `.slint` files are compiled by `build.rs`; see build.rs. [build-dependencies] slint-build = "1" [profile.release] # See AGENTS.md §42. The `release-balanced` profile below is the practical # default after benchmarking — adjust if startup time regresses. opt-level = "z" lto = true codegen-units = 1 panic = "abort" strip = true [profile.release-balanced] inherits = "release" opt-level = 3