Skip to content

Releases: Pectics/mihoto

v0.3.0 — Deployment Backends

Pre-release

Choose a tag to compare

@Pectics Pectics released this 25 Jun 11:14

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

Choose a tag to compare

@Pectics Pectics released this 24 Jun 16:32

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 !delete support.
  • Adds named profiles with active-profile selection and legacy remote_config_url compatibility.
  • 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-run and redacted semantic --diff output with managed Mihomo validation before activation.

Verification

  • cargo fmt --all -- --check
  • cargo check --all-targets
  • cargo clippy
  • cargo test (76 tests)
  • CLI help smoke checks for root, profile, apply, and update

Issues

v0.1.0 Safety Baseline

Pre-release

Choose a tag to compare

@Pectics Pectics released this 24 Jun 14:38

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.yaml is restored when a service restart fails.
  • Hardened controller defaults: generated configs now bind external_controller to 127.0.0.1:9090 by default.
  • Added a guard for unsafe controllers: non-loopback controller binds require mihomo_config.secret unless MIHORO_ALLOW_INSECURE_CONTROLLER=1 is 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.0 for this prerelease.

Validation

  • cargo fmt --all -- --check
  • cargo clippy
  • cargo check --all-targets
  • cargo test --all-targets
  • git diff --check origin/main..HEAD