hazakura editor 0.9.0 Warning-expected DMG Preview
Pre-releasehazakura editor 0.9.0 Warning-expected DMG Preview
L Mode Experiment And Product Preview Hardening
v0.9.0 ships the first えるモード / L Mode experiment, bounded workspace file operations, Agent provider-availability polish, and a large structure/test hardening pass.
This release keeps hazakura editor as a Markdown-first Safe Editor. It does not turn the app into a full WYSIWYG editor, IDE, Git client, general terminal, agent platform, or automatic edit-apply system.
This is a warning-expected macOS DMG preview. The app is ad-hoc signed and not notarized, so Gatekeeper warnings are expected.
Only use this preview if you are comfortable evaluating unsigned and not-notarized macOS preview binaries.
What Changed Since 0.8.0
えるモード / L Mode
- Adds an experimental one-pane writing surface for prose-like Markdown editing.
- Keeps Markdown source as the only saved document model; L Mode uses CodeMirror display decorations and does not mutate saved text.
- Hides surrounding chrome and reduces file tree, tabs, status details, side panes, Review Desk, and Agent surfaces while L Mode is active.
- Tunes document width, rhythm, headings, blockquotes, lists, code blocks, and inline image rendering for calmer rereading.
- Suppresses Markdown marker glyphs outside the active block and reveals the editing context around the cursor.
- Adds a Preference toggle, Command Palette command,
Cmd+Shift+Lshortcut, and a quiet visible exit pill.
Workspace File Operations
- Adds bounded in-app workspace file operations for daily editing:
- New File / New Folder at workspace root
- New File Here / New Folder Here from folder context menus
- inline Rename for file and folder rows
- Move to Trash with explicit confirmation
- Keeps operations inside the selected workspace root and rejects outside-root, overwrite, symlink-escape, and missing-parent cases in Rust tests.
- Rekeys open file tabs, recents, drafts, and compare anchors for exact-path rename / move operations.
- Preserves tree expansion by reloading affected parents instead of refreshing the whole workspace tree.
Agent Workbench Polish
- Adds provider availability detection using the same search path as the backend launch gate.
- Marks missing providers as not installed in Preferences and the detached Agent Window.
- Disables unavailable provider choices and the detached Agent Window Start button when the selected CLI is missing.
- Hides the main-window Agent button when Agent Workbench is not available for the current session.
Structure And Test Hardening
- Splits the app shell controller into named composition hooks while preserving behavior.
- Splits Tauri, locale, and Rust test surfaces by feature area.
- Adds focused Vitest coverage for app-shell composers, Agent provider availability, L Mode copy and display behavior, workspace file operations, tab path rekeying, and tab/context interactions.
- Keeps the Safe Editor / Agent Workbench / Review Desk boundaries unchanged.
Boundary
v0.9.0 does not add:
- Git integration, merge editing, staging, commit, push, pull, or repository status.
- LSP, debugger, plugin system, package-manager UI, or broad project-wide indexing.
- General shell prompt, arbitrary command input UI, arbitrary path input UI, provider-add UI, or arbitrary provider configuration.
- Agent auto-apply, auto-commit, auto-push, session restore, multiple sessions, background agent execution, or persistent terminal history.
- Foundation Models-backed behavior, Apple Local Assist behavior, generic chat, automatic candidate generation, or automatic file application.
- Full WYSIWYG editing, direct Preview DOM editing, visual table editing, Mermaid/math/image-layout editing, irreversible Markdown conversion, or save-time auto-formatting.
- Developer ID signing, notarization, installer packaging, updater, or distribution-grade Gatekeeper approval.
Artifact
hazakura-editor_0.9.0_aarch64-warning-expected.dmgPlatform:
macOS Apple Silicon / aarch64SHA-256:
8fffb2284c07b430e9fa76515ae31f8ac8ef9999e6615ce1c22a099795c2b75dChecksum file:
hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256Verify The Download
Download both the .dmg and .dmg.sha256 assets into the same directory, then run:
shasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256Known Limitations
- This release does not add Git integration, LSP, broad project-wide indexing, arbitrary command execution, auto-apply, or auto-commit behavior.
- えるモード is an experiment. Markdown source remains the truth, and display bugs should be resolved by returning to normal mode rather than by trusting a visual transformation.
- Workspace-internal drag/drop Move is implemented but remains experimental; recent built-app feedback says it is still unreliable. Use New File, New Folder, Rename, and Move to Trash as the dependable bounded workspace operations in this preview.
- Folder descendant rekey is deferred: renaming a folder does not yet rewrite already-open descendant tab paths.
- Auto-backup path rekey after rename/move is deferred; stale backup entries are not user-visible and remain subject to retention pruning.
create_text_fileandsave_text_file_asstill rely on the native dialog path boundary and have not yet been retrofitted to the new workspace-root containment helper.- Agent Workbench provider behavior remains outside hazakura's safety boundary.
- The JavaScript bundle remains large; code splitting is still a future hardening task.
- The bundled macOS binary is ad-hoc signed only and is not Developer ID signed or notarized.
Local Verification Before Publication
Required gates to rerun before publishing this preview:
npm ci
npm run typecheck
npm test
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
npm run build:vite
npm run build
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lock
npm run build:dmg-preview
cd src-tauri/target/release/bundle/dmg
shasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256The built and mounted apps must report version 0.9.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor.
The built app must still pass:
codesign --verify --deep --strict --verbose=2 "src-tauri/target/release/bundle/macos/hazakura editor.app"Expected warning:
spctl -a -vv -t open "src-tauri/target/release/bundle/macos/hazakura editor.app"The app is expected to be rejected by Gatekeeper with source=Insufficient Context, because this preview is ad-hoc signed and not notarized.
Remote Verification After Publication
After publishing the GitHub Release:
gh release download v0.9.0 -R lero003/hazakura-editor --dir .release-verify/v0.9.0
cd .release-verify/v0.9.0
shasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256
hdiutil verify hazakura-editor_0.9.0_aarch64-warning-expected.dmgThe downloaded assets must pass checksum verification and DMG verification, and the mounted app must report version 0.9.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor, with codesign --verify --deep --strict --verbose=2 passing.
Built-app Smoke Focus For v0.9.0
Beyond the v0.8.0 smoke surface, v0.9.0 should confirm:
Cmd+Shift+Ltoggles L Mode, the exit pill exits it, and saved Markdown text is unchanged.- L Mode hides surrounding chrome, centers the document, suppresses inactive Markdown markers, reveals the active editing block, and returns cleanly to normal mode.
- Workspace
+creates files/folders at root, folder context menus create files/folders inside that folder, and inline Rename commits/cancels as expected. - Move to Trash asks for confirmation and removes the selected file/folder only after explicit confirmation.
- Missing Agent providers show as not installed and cannot be selected; missing selected providers disable Start in the detached Agent Window.
- The app still respects Safe Editor boundaries: no Git UI, no terminal prompt in Safe Editor Mode, no arbitrary command/path fields, and no auto-apply.
Built-app Smoke Result
Local release verification passed on 2026-06-04:
npm cinpm run typechecknpm test— 123 tests passedcargo fmt --manifest-path src-tauri/Cargo.toml -- --checkcargo test --manifest-path src-tauri/Cargo.toml— 160 tests passednpm run build:vitenpm run buildnpm audit— 0 vulnerabilitiescargo audit --file src-tauri/Cargo.lock— exit 0 with already-allowed Tauri/Linux GTK andunicwarningsnpm run build:dmg-previewshasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256hdiutil verify hazakura-editor_0.9.0_aarch64-warning-expected.dmg- built-app and mounted-app metadata checks for version
0.9.0, bundle identifierlab.hazakura.note, product namehazakura editor, and executablehazakura-editor codesign --verify --deep --strict --verbose=2on the built and mounted appsspctl -a -vv -t openrejected the ad-hoc signed app withsource=Insufficient Context, as expectedgit diff --check
Remote Verification Result
Remote release verification passed on 2026-06-04 after publishing the GitHub Release:
gh release download v0.9.0 -R lero003/hazakura-editorshasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256hdiutil verify hazakura-editor_0.9.0_aarch64-warning-expected.dmg- mounted-app metadata checks for version
0.9.0, bundle identifierlab.hazakura.note, product namehazakura editor, and executablehazakura-editor codesign --verify --deep --strict --verbose=2on the mounted app
Boundary Reminder
Do not treat this as a signed, notarized, trusted, installer-grade, stable, or production-ready distribution.
Older public tags and releases remain immutable.