From be163399a59743ec76bc29d4b0c2d70fcd8d41d5 Mon Sep 17 00:00:00 2001 From: Martin Donath Date: Fri, 11 Sep 2026 20:23:50 +0200 Subject: [PATCH] chore: release v0.0.61 ## Summary This version adds comprehensive support for documentation redirects in `mkdocs.yml` and `zensical.toml`. Zensical supports page and anchor redirects, resolves redirect chains, rejects cycles, and preserves links when pages are moved or split. ### Anchor redirects Renaming a heading normally breaks bookmarks and external links to its old anchor. For example, after renaming `## Installation` to `## Getting started`, add: ```toml [project.plugins.redirects.redirect_maps] "guide.md#installation" = "guide.md#getting-started" ``` Existing links to `/guide/#installation` will then redirect to `/guide/#getting-started`. The same configuration can redirect anchors between pages or preserve individual sections when splitting a page. ### Automatic redirects [Zensical Studio](https://zensical.org/studio/) detects renamed headings and offers an **Add anchor redirect** CodeLens. It can complete, validate, navigate to, and repair redirect targets while compacting repeated changes, updating redirect chains, and removing redundant self-redirects. Signed-off-by: squidfunk --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- crates/zensical-serve/Cargo.toml | 2 +- crates/zensical/Cargo.toml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fe4168d..8b0c906 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2579,7 +2579,7 @@ dependencies = [ [[package]] name = "zensical" -version = "0.0.60" +version = "0.0.61" dependencies = [ "ahash", "anyhow", @@ -2621,7 +2621,7 @@ dependencies = [ [[package]] name = "zensical-serve" -version = "0.0.6" +version = "0.0.7" dependencies = [ "base64", "crossbeam", diff --git a/Cargo.toml b/Cargo.toml index 68499cd..f157a9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ all = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } [workspace.dependencies] -zensical-serve = { version = "0.0.6", path = "crates/zensical-serve" } +zensical-serve = { version = "0.0.7", path = "crates/zensical-serve" } zensical-watch = { version = "0.0.6", path = "crates/zensical-watch" } ahash = "0.8" diff --git a/crates/zensical-serve/Cargo.toml b/crates/zensical-serve/Cargo.toml index 8f08f5a..c10b7bf 100644 --- a/crates/zensical-serve/Cargo.toml +++ b/crates/zensical-serve/Cargo.toml @@ -23,7 +23,7 @@ [package] name = "zensical-serve" -version = "0.0.6" +version = "0.0.7" description = "HTTP server" edition.workspace = true rust-version.workspace = true diff --git a/crates/zensical/Cargo.toml b/crates/zensical/Cargo.toml index c66c7f5..a3140d6 100644 --- a/crates/zensical/Cargo.toml +++ b/crates/zensical/Cargo.toml @@ -23,7 +23,7 @@ [package] name = "zensical" -version = "0.0.60" +version = "0.0.61" description = "Zensical" edition.workspace = true rust-version.workspace = true