From f940b67f771d2619b89c913548bf3289a4b1e660 Mon Sep 17 00:00:00 2001 From: Aaron Allen Date: Sat, 4 Apr 2026 11:01:42 -0500 Subject: [PATCH] --- CHANGELOG.md | 24 ++++++++++++++++++++++-- Cargo.lock | 6 +++--- Cargo.toml | 6 +++--- crates/ops/Cargo.toml | 2 +- crates/plugins/Cargo.toml | 2 +- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 440b3a2..20d4f1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,22 @@ and this project adheres to [Break Versioning]. ## [Unreleased] +## [v0.1.13] - 2026-04-04 + +### Changed + +- Listing and searching commands are faster on large doing files thanks to reduced sorting overhead + and fewer temporary allocations during text matching (see [#408]) +- **Breaking (`doing-plugins`):** `Registry::register` and `default_registry` now return `Result` + instead of panicking on invalid trigger patterns (see [#406]) + +### Fixed + +- `template` command no longer allows path traversal in template names, preventing reads or writes + outside the configured templates directory (see [#405]) +- Undo and redo restores now use unique temporary files instead of a fixed `.tmp` path, preventing + collisions and stale residue from interrupted operations (see [#407]) + ## [v0.1.12] - 2026-04-02 ### Changed @@ -595,7 +611,10 @@ Initial alpha release [#400]: https://github.com/aaronmallen/doing/issues/400 [#402]: https://github.com/aaronmallen/doing/issues/402 [#404]: https://github.com/aaronmallen/doing/issues/404 - +[#405]: https://github.com/aaronmallen/doing/issues/405 +[#406]: https://github.com/aaronmallen/doing/issues/406 +[#407]: https://github.com/aaronmallen/doing/issues/407 +[#408]: https://github.com/aaronmallen/doing/issues/408 [#393]: https://github.com/aaronmallen/doing/issues/393 [#394]: https://github.com/aaronmallen/doing/issues/394 [#395]: https://github.com/aaronmallen/doing/issues/395 @@ -603,7 +622,7 @@ Initial alpha release [#397]: https://github.com/aaronmallen/doing/issues/397 [#398]: https://github.com/aaronmallen/doing/issues/398 -[Unreleased]: https://github.com/aaronmallen/doing/compare/0.1.12...main +[Unreleased]: https://github.com/aaronmallen/doing/compare/0.1.13...main [v0.0.1-alpha.2]: https://github.com/aaronmallen/doing/compare/0.0.1-alpha.1...0.0.1-alpha.2 [v0.0.1-alpha.3]: https://github.com/aaronmallen/doing/compare/0.0.1-alpha.2...0.0.1-alpha.3 [v0.0.1-alpha.4.1]: https://github.com/aaronmallen/doing/compare/0.0.1-alpha.3...0.0.1-alpha.4.1 @@ -623,3 +642,4 @@ Initial alpha release [v0.1.10]: https://github.com/aaronmallen/doing/compare/0.1.9...0.1.10 [v0.1.11]: https://github.com/aaronmallen/doing/compare/0.1.10...0.1.11 [v0.1.12]: https://github.com/aaronmallen/doing/compare/0.1.11...0.1.12 +[v0.1.13]: https://github.com/aaronmallen/doing/compare/0.1.12...0.1.13 diff --git a/Cargo.lock b/Cargo.lock index e656ec3..95e324b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -465,7 +465,7 @@ dependencies = [ [[package]] name = "doing" -version = "0.1.12" +version = "0.1.13" dependencies = [ "assert_cmd", "chrono", @@ -523,7 +523,7 @@ dependencies = [ [[package]] name = "doing-ops" -version = "0.2.2" +version = "0.2.3" dependencies = [ "chrono", "doing-config", @@ -538,7 +538,7 @@ dependencies = [ [[package]] name = "doing-plugins" -version = "0.2.4" +version = "0.3.0" dependencies = [ "chrono", "chrono-tz", diff --git a/Cargo.toml b/Cargo.toml index 1318c1a..feab377 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ name = "doing" readme = "README.md" repository.workspace = true rust-version.workspace = true -version = "0.1.12" +version = "0.1.13" [package.metadata.binstall] bin-dir = "{ bin }{ binary-ext }" @@ -40,8 +40,8 @@ dialoguer = "0.12" dir_spec = "0.5" doing-config = { path = "crates/config", version = "0.1.4" } doing-error = { path = "crates/error", version = "0.1.1" } -doing-ops = { path = "crates/ops", version = "0.2.2" } -doing-plugins = { path = "crates/plugins", version = "0.2.4" } +doing-ops = { path = "crates/ops", version = "0.2.3" } +doing-plugins = { path = "crates/plugins", version = "0.3.0" } doing-taskpaper = { path = "crates/taskpaper", version = "0.3.0" } doing-template = { path = "crates/template", version = "0.1.9" } doing-time = { path = "crates/time", version = "0.1.6" } diff --git a/crates/ops/Cargo.toml b/crates/ops/Cargo.toml index cb606ad..034b33e 100644 --- a/crates/ops/Cargo.toml +++ b/crates/ops/Cargo.toml @@ -8,7 +8,7 @@ name = "doing-ops" readme = "README.md" repository.workspace = true rust-version.workspace = true -version = "0.2.2" +version = "0.2.3" [package.metadata.workspaces] independent = true diff --git a/crates/plugins/Cargo.toml b/crates/plugins/Cargo.toml index 9525f82..1f29551 100644 --- a/crates/plugins/Cargo.toml +++ b/crates/plugins/Cargo.toml @@ -8,7 +8,7 @@ name = "doing-plugins" readme = "README.md" repository.workspace = true rust-version.workspace = true -version = "0.2.4" +version = "0.3.0" [package.metadata.workspaces] independent = true -- knotmirror 0.0.1