Releases: Pectics/mihoto
Releases · Pectics/mihoto
Release list
v0.3.0 — Deployment Backends
Summary
- Add persisted systemd-user/systemd-system deployment backends.
- Add hardened system service rendering, ownership markers, adoption safety, import/migrate/rollback flows, and systemd timer scheduling.
- Add v0.3.0 docs, version bump, and gated systemd backend smoke coverage.
Verification
- cargo fmt --all -- --check
- cargo check --all-targets
- cargo clippy
- cargo test --all-targets
- mihoro --help / init --help / deploy --help / schedule --help / apply --help / update --help
v0.2.0 - Config Engine
Pre-release for the v0.2.0 Config Engine milestone.
Highlights
- Adds generic recursive YAML overlay rendering with array replacement, scalar replacement, unknown-field preservation, and
!deletesupport. - Adds named profiles with active-profile selection and legacy
remote_config_urlcompatibility. - Adds URL, local-file, and existing-config source adapters with staged writes.
- Adds per-profile User-Agent and private authenticated header metadata.
- Classifies subscription responses before activation, including empty, HTML, V2Ray JSON, Base64 Mihomo YAML, invalid YAML, and 16 MiB cap handling.
- Adds
apply --dry-runand redacted semantic--diffoutput with managed Mihomo validation before activation.
Verification
cargo fmt --all -- --checkcargo check --all-targetscargo clippycargo test(76 tests)- CLI help smoke checks for root,
profile,apply, andupdate
Issues
v0.1.0 Safety Baseline
This prerelease establishes Mihoto's first safety-focused baseline on top of the Mihoro fork.
What's changed
- Preserved the imported roadmap planning request and response under
docs/for auditability. - Added transactional Mihomo config activation: remote config downloads are staged, candidate configs are validated with Mihomo before activation, active/runtime configs are switched atomically, and
last-good.yamlis restored when a service restart fails. - Hardened controller defaults: generated configs now bind
external_controllerto127.0.0.1:9090by default. - Added a guard for unsafe controllers: non-loopback controller binds require
mihomo_config.secretunlessMIHORO_ALLOW_INSECURE_CONTROLLER=1is explicitly set. - Tightened sensitive config storage with private file and directory modes.
- Redacted URL credentials, query tokens, and secrets from download and validation output.
- Set crate metadata to
0.1.0for this prerelease.
Validation
cargo fmt --all -- --checkcargo clippycargo check --all-targetscargo test --all-targetsgit diff --check origin/main..HEAD