# Changelog All notable changes to **HopsMD** are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [1.0.0] - 2026-05-19 Promotion to 1.0 — no functional changes vs. 0.1.1. Phase 1 (read-only viewer) is considered feature-complete and the version label is bumped accordingly. Future breaking work (e.g. an editing mode, plugin surface) is reserved for 2.0; additive Phase-1 polish continues to ship as 1.x. ## [0.1.1] - 2026-05-19 First public release. Bundles everything from the initial scaffold plus the Phase-1 read-only feature set (folder picker, recursive Markdown tree, GitHub-flavoured rendering with live Mermaid, hot-reload on external edits, runtime DE/EN, TOC, code-block toolbar, Mermaid fullscreen with pan + zoom, pinned Stammsudhaus, content zoom). ### Added - Tauri v2 + Angular 21 scaffold with brewing-themed UI ("Sudhaus", "Rezeptbuch", "Maischen", "Anstich") - Folder picker via native Tauri dialog; recursive Markdown tree scan in Rust with depth cap (16), asset-folder preservation, and noise-dir filtering (`.git`, `node_modules`, `target`, …) - GitHub-flavoured Markdown rendering with `marked` + DOMPurify - Live MermaidJS diagram rendering with per-diagram error isolation — one broken diagram surfaces as `
` inside its own container without
  taking down the page
- Local image resolution via Tauri's asset protocol
- Filesystem watcher (`notify-debouncer-mini`) with 250 ms debounce;
  external edits (e.g. saving from VS Code) refresh the open file
  automatically
- "Aktualisiert vor X" relative-time badge in the filebar (live-ticking
  every 5 s, absolute timestamp on hover)
- Windows MSI + NSIS installer bundling (per-machine NSIS,
  download-bootstrapper WebView2, en-US WiX, German/English NSIS UI)
- GitHub Actions release pipeline: `tauri-apps/tauri-action` builds on
  `v*` tag, `vedantmgoyal2009/winget-releaser` auto-PRs new versions to
  `microsoft/winget-pkgs`
- Winget manifest templates under `winget/` for the first manual
  submission
- In-app updater scaffold via `tauri-plugin-updater` (feature-gated; off
  by default until an ed25519 keypair exists — see `docs/RELEASE.md`)
- **Ctrl + Mausrad** zoomt jetzt den Inhalt der gerenderten Markdown-Ansicht
  (Bereich: 60 %–250 %, Schrittweite 10 %), gesteuert über
  `ContentZoomService`. Der Zoomfaktor wird in `localStorage` persistiert,
  sodass der Sud beim nächsten Start mit der gleichen Schriftgröße zapft.
  Sidebar, Toolbar und Filebar bleiben stabil — nur die Lese-Spalte skaliert.
  Die `max-width` der Lese-Spalte wächst 1:1 mit dem Zoom mit, damit auf
  großen Displays die Zeichen-pro-Zeile-Proportion erhalten bleibt.

### Fixed
- Mermaid placeholders showed only "🍺 Maischt…" forever because Angular's
  `DomSanitizer` was stripping `id` and `data-*` attributes during
  `[innerHTML]` binding. Fixed by wrapping `marked` + DOMPurify output in
  `bypassSecurityTrustHtml`, and switching the post-binding hook from
  `effect + queueMicrotask` to `afterRenderEffect` for reliable DOM
  timing.

[Unreleased]: https://github.com/lootwitch/HopsMD/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/lootwitch/HopsMD/releases/tag/v1.0.0
[0.1.1]: https://github.com/lootwitch/HopsMD/releases/tag/v0.1.1