v1.3.0
snip-it v1.3.0
Added
- Halloy theme support. 50 bundled themes adapted from Halloy. Press
ein normal mode to open the theme picker; usej/kto preview themes live,ito filter, andEnterto save. Bundled themes are extracted to~/.config/snp/themes/on first launch. - Build pipeline for bundled themes.
scripts/build_themes.pyLZMA-compresses and base64-encodes every theme, keeping the binary lean. - New dependency:
lzma-rs = "0.3"(pure-Rust LZMA decoder; no C toolchain required).
Fixed
- Preserve the real in-memory API key when migrating legacy plaintext
sync.tomlvalues into the OS keychain. - Verify
sync.tomlintegrity checks against the exact saved TOML body. - Harden crates.io release. Remove
themes/from published package. Shrink public API surface. Replacegetrandomjitter withSystemTime. Splitget_config_dir()into pure getter +ensure_config_dir(). Hardenlist_librariespagination loop. Usefs::renamefor atomic backup restore. - Move
subtleto[dev-dependencies](only used in tests).
Changed
- Align release-facing documentation with the current Rust 1.94 MSRV.
Removed
- Remove inert
--non-interactivesync flag.
Crates.io
All three crates are now published on crates.io:
snip-it— CLI + librarysnip-proto— gRPC protocol definitionssnip-sync— sync server
Install
cargo install snip-it