4.2 KiB
Executable File
4.2 KiB
Executable File
Changelog
All notable changes to deskify will be documented in this file.
The format is based on Keep a Changelog,
and this project follows early MVP/alpha versioning with tags like v0.1.0-alpha.1.
[Unreleased]
[v0.1.0-alpha.6] - 2026-02-23
Added
chromiumcompatibility backend via--backend chromiumusing an installed Chromium-based browser in app mode (no local Tauri build for generated apps)build/updateflags for Chromium backend selection and runtime control:--backend <tauri|chromium>--browser-bin <PATH>--profile-scope <isolated|shared>
- Chromium app install flow with XDG
.desktoplaunchers and per-app metadata (X-Deskify-Backend=chromium) - Optional isolated Chromium profiles under
~/.local/share/deskify/profiles/<id> doctornow reports whether a Chromium-based browser is available inPATH
Changed
update <id>now keeps the internal app ID stable even when the display name changeslistnow derives the internal ID from the.desktopfilename (works for both Tauri and Chromium backends)removenow also cleans up Chromium profile directories (when present)updatekeeps Chromium isolated profiles by default to preserve sessions/cookies during reinstall
Fixed
- Tauri wrapper generation now consistently uses the existing internal ID for generated app identifiers (prevents accidental ID drift during updates)
.desktopcommand generation for Chromium backend now escapes arguments (URLs / user agents with spaces or special characters)
Documentation
- README now documents backend modes (
taurivschromium) and recommends--backend chromiumfor sites that fail in the system WebView backend - Added Chromium backend usage examples (
--browser-bin,--profile-scope) and updated compatibility notes
Added
build --no-decorationsoption to create frameless windows (decorations: false) for kiosk/dashboard-style setups- README screenshots for KDE/Arch showing launcher integration, running app window, and
deskify listworkflow
Fixed
- Icon handling now normalizes downloaded and custom icons to RGBA PNG before Tauri build (prevents
icon ... is not RGBAbuild failures)
[v0.1.0-alpha.2] - 2026-02-23
Fixed
- Resolved a CI failure caused by Clippy (
items_after_test_module) by moving the test module to the end ofsrc/main.rs
Changed
- No functional CLI behavior changes; this is a release/CI correctness follow-up to
v0.1.0-alpha.1
[v0.1.0-alpha.1] - 2026-02-23
Added
- Initial public MVP/alpha release of
deskify(Linux-only) - CLI commands:
deskify build --url <URL> --name <NAME>deskify listdeskify remove <internal-id>
buildsupports advanced options:--icon--fullscreen--user-agent--dark-mode--width--height
- Tauri-based wrapper generation in a temporary build directory
- XDG desktop integration:
- installs wrapper binary into local executable directory (
~/.local/binfallback) - creates
.desktoplauncher in~/.local/share/applications - installs app icon into
~/.local/share/icons/hicolor/128x128/apps
- installs wrapper binary into local executable directory (
- Automatic favicon download from Google Favicon API with dummy-icon fallback
.desktopmetadata marker (X-Deskify-Managed=true) for more reliable app discovery- Unit tests for:
- app ID sanitization
removeID validation- Deskify desktop entry detection (marker + legacy fallback)
- GitHub CI workflow (
cargo fmt --check,cargo clippy,cargo test,cargo check) - Tag-based GitHub Release workflow to upload a Linux
deskifyCLI binary - GitHub PR template and release-note categorization config
Changed
tauri.conf.jsongeneration now uses structured JSON serialization (serde_json) instead of manual string interpolation- App discovery in
listprefers the Deskify marker and keeps a legacy heuristic fallback for older installs - Documentation updated for alpha/MVP positioning, known limitations, smoke tests, and release tagging (
v0.1.0-alpha.N)
Fixed
removenow validates internal IDs and rejects unsafe values (for example path traversal inputs like../foo)- Generated Tauri config creation is more robust for names/URLs/user agents containing special characters