1 Commits

Author SHA1 Message Date
forust 69e20c89ee chore: release v1.2.2
ci / rust (push) Successful in 53s
ci / lint-yaml (push) Successful in 5s
release / verify (push) Successful in 27s
release / linux-amd64 (push) Successful in 38s
2026-07-05 03:26:48 +02:00
5 changed files with 1128 additions and 187 deletions
+8
View File
@@ -4,6 +4,13 @@ All notable changes to this project are documented here.
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
## [1.2.2] - 2026-07-05
### Changed
- Updated Ratatui to 0.30.2 to remove the unmaintained `paste` transitive dependency and pick up the fixed `lru` dependency line.
- Replaced deprecated `serde_yaml`/`unsafe-libyaml` with the pure-Rust `noyalib` YAML parser.
## [1.2.1] - 2026-07-05
### Changed
@@ -48,6 +55,7 @@ The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`
- Added YAML configuration, CLI `init`, `preview`, and `run` commands.
- Added Gitea CI and tag-based release workflows.
[1.2.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.2
[1.2.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.1
[1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
Generated
+1107 -174
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,8 +1,8 @@
[package]
name = "gosleep-timer"
version = "1.2.1"
version = "1.2.2"
edition = "2024"
rust-version = "1.85"
rust-version = "1.88"
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
license = "MIT"
repository = "https://gitea.forust.xyz/forust/gosleep"
@@ -18,9 +18,9 @@ path = "src/main.rs"
anyhow = "1.0"
clap = { version = "4.5", features = ["derive"] }
crossterm = "0.29"
ratatui = "0.29"
ratatui = "0.30.2"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
noyalib = "0.0.12"
[profile.release]
codegen-units = 1
+1 -1
View File
@@ -1 +1 @@
1.2.1
1.2.2
+8 -8
View File
@@ -351,7 +351,7 @@ fn ensure_config(path: &Path) -> Result<Config> {
return Ok(config);
}
let data = fs::read_to_string(path).with_context(|| format!("read {}", path.display()))?;
let mut config: Config = serde_yaml::from_str(&data).context("parse config")?;
let mut config: Config = noyalib::from_str(&data).context("parse config")?;
normalize_config(&mut config);
validate_config(&config)?;
Ok(config)
@@ -364,7 +364,7 @@ fn save_config(path: &Path, config: &Config) -> Result<()> {
if let Some(parent) = path.parent() {
fs::create_dir_all(parent).with_context(|| format!("create {}", parent.display()))?;
}
let data = serde_yaml::to_string(&config).context("serialize config")?;
let data = noyalib::to_string(&config).context("serialize config")?;
fs::write(path, data).with_context(|| format!("write {}", path.display()))?;
Ok(())
}
@@ -385,7 +385,7 @@ fn read_history(path: &Path) -> Result<Vec<HistoryEntry>> {
return Ok(Vec::new());
}
let data = fs::read_to_string(path).with_context(|| format!("read {}", path.display()))?;
serde_yaml::from_str(&data).with_context(|| format!("parse {}", path.display()))
noyalib::from_str(&data).with_context(|| format!("parse {}", path.display()))
}
fn append_history(path: &Path, entry: HistoryEntry) -> Result<()> {
@@ -394,7 +394,7 @@ fn append_history(path: &Path, entry: HistoryEntry) -> Result<()> {
if let Some(parent) = path.parent() {
fs::create_dir_all(parent).with_context(|| format!("create {}", parent.display()))?;
}
let data = serde_yaml::to_string(&entries).context("serialize history")?;
let data = noyalib::to_string(&entries).context("serialize history")?;
fs::write(path, data).with_context(|| format!("write {}", path.display()))?;
Ok(())
}
@@ -1229,10 +1229,10 @@ impl App {
match key {
KeyCode::Esc => self.edit = None,
KeyCode::Enter => {
if let Some(edit) = self.edit.take() {
if let Err(err) = self.apply_edit(edit.field, edit.value) {
self.status = format!("edit failed: {err}");
}
if let Some(edit) = self.edit.take()
&& let Err(err) = self.apply_edit(edit.field, edit.value)
{
self.status = format!("edit failed: {err}");
}
}
KeyCode::Backspace => {