Releases: lero003/hazakura-editor
Hazakura Editor v0.20.0 Developer / GitHub Preview
Hazakura Editor 0.20.0 Warning-expected DMG Preview
Developer / GitHub full preview after App Store approval
Status: Published as a warning-expected GitHub prerelease on
2026-06-18. Local and remote asset verification passed.
v0.20.0 is the Developer / GitHub lane checkpoint after the initial
0.19.0 Mac App Store approval. It collects the post-approval docs
closeout, v0.20 Sakura workspace ergonomics polish, and Developer /
GitHub DMG signing-lane cleanup into one warning-expected downloadable
preview.
The release boundary stays unchanged: Markdown source remains canonical,
Safe Editor remains primary, and Agent Workbench remains a separate
Developer / GitHub-lane trust boundary. The App Store lane remains
helper-free and omits Agent Workbench, CLI Agent launch, Apple Local
Assist helper, external AI/API calls, and arbitrary command execution
surfaces.
This is a warning-expected macOS DMG preview. The GitHub DMG app is
Developer ID Application signed, but it is not notarized or stapled, so
macOS security warnings may still appear.
This is not an App Store, TestFlight, notarized, stapled, updater, or
production-ready distribution.
Download
The Apple Silicon preview asset is:
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmgIt packages the Developer / GitHub lane bundle:
Hazakura Editor Dev.appThe Developer / GitHub lane keeps Agent Workbench and Apple Local Assist
helper behavior available under their existing explicit boundaries and
uses bundle identifier lab.hazakura.note.dev. The App Store lane
remains the separate helper-free published lane.
What Changed Since 0.19.0
App Store Approval Closeout
- Records that
0.19.0passed App Review and is published on the Mac
App Store. - Moves the tracked current queue away from App Store submission-prep
wording and toward post-approval cleanup plus v0.21 e-book Mode PoC
preparation. - Keeps App Store-specific account notes, reviewer material, signing
details, and screenshots out of tracked public docs.
v0.20 Sakura Workspace Ergonomics
- Makes the normal Safe Editor workspace sidebar collapse / restore
control easier to reach from the main chrome. - Keeps active file path context in a thin bottom full-path copy bar in
the central editor pane, clipped safely for long paths. - Strengthens Markdown preview hierarchy with a card-like reading
surface for headings, quote/readout areas, and code. - Uses Sakura accenting to make the selected workspace file clearer.
- Keeps New File on existing menu, shortcut, command-palette, and
workspace-file paths rather than reintroducing a tab-row+
affordance.
Developer / GitHub Preview Lane
- Updates the warning-expected DMG preview lane so GitHub release DMGs
require Developer ID Application signing. - Keeps Developer ID signing separate from notarization; the release is
still warning-expected until notarization and stapling are completed
in a future lane. - Clarifies that App Store submit packages, GitHub DMG previews, local
smoke apps, and Developer / GitHub builds remain separate artifacts.
Future Planning
- Reconstructs the next product arc around:
AIが書いたMarkdownを、本として読み、差分で直す。 - Adds or updates planning notes for e-book Mode / EPUB export, L Mode
relationship, AI Markdown proposal ingest, native-feeling macOS UI,
and speculative local AI boundaries.
Release Boundary
v0.20.0 does not add:
- New App Store submission or TestFlight upload.
- Notarization, stapling, updater, or installer-grade distribution.
- New Agent Workbench capability, provider-add UI, general terminal,
LSP, Git integration, arbitrary command input, project-wide indexing,
auto-apply, or auto-commit behavior. - Preview DOM editing,
contenteditable, HTML as the saved canonical
model, hidden save-time rewriting, network fallback, tool calling,
auto-save, or automatic AI application. - e-book Mode implementation; this release only prepares the docs and
roadmap for the v0.21 PoC.
Known Limitations
- The DMG is Apple Silicon /
aarch64only. - The DMG app is Developer ID signed but not notarized or stapled.
Gatekeeper may still warn or require explicit user approval. - Apple Local Assist remains alpha / experimental and depends on macOS
26+ Apple Foundation Models availability, local Apple Intelligence
state, and supported language / locale. - Agent Workbench remains outside the App Store lane and depends on the
selected allowlisted provider's own behavior. - The production bundle still carries the known Vite chunk-size warning
from editor / preview dependencies. - Broader native macOS appearance work is intentionally deferred until a
focused audit picks one surface. npm auditreports one low-severity DOMPurify advisory
(GHSA-vxr8-fq34-vvx9). The current Markdown preview sanitization
path does not useRETURN_TRUSTED_TYPE,trustedTypes, or
clearConfig; this is tracked as a dependency-update follow-up rather
than a v0.20 release blocker.
Local Verification Before Publication
Required gates for this warning-expected DMG preview:
npm ci
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
npm run build:apple-assist-helper:live
npm run build:dmg-preview
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lockReview-only dependency checks:
npm outdated
cargo update --manifest-path src-tauri/Cargo.toml --dry-runLocal Verification Result
Passed on 2026-06-18.
npm cipassed. It reported one low-severity DOMPurify advisory; no
high or critical npm advisory was reported.npm run testpassed: 99 files / 804 tests.npm run build:vitepassed with the existing chunk-size warnings.cargo fmt --manifest-path src-tauri/Cargo.toml -- --checkpassed.cargo test --manifest-path src-tauri/Cargo.tomlpassed: 283 tests.npm run build:apple-assist-helper:livepassed; the live helper build
completed and the availability probe returnedavailable.npm run build:dmg-previewpassed. It built the Developer / GitHub
lane, re-signedHazakura Editor Dev.appwith Developer ID
Application, built the helper-free App Store preview bundle, generated
the DMG, ranhdiutil verify, and verified the checksum file.- Developer / GitHub app metadata matched: version
0.20.0, bundle
identifierlab.hazakura.note.dev. - Developer / GitHub app passed
codesign --verify --deep --strict --verbose=2. spctl --assess --type executerejected the Developer / GitHub app
withsource=Unnotarized Developer ID, which is expected for this
warning-expected, not-notarized release lane.- Mounted DMG app metadata matched version
0.20.0and bundle
identifierlab.hazakura.note.dev, passed codesign verification, and
launched successfully; a newhazakura-editorprocess was observed
and then stopped. npm run probe:macos-distribution -- "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
passed for the helper-free App Store preview bundle: bundled notices
were present, the Apple Local Assist helper was absent, broad network
server / Apple-events entitlements were absent, and the local
entitlement gate was skipped as expected for the launchable preview.cargo audit --file src-tauri/Cargo.lockexited 0 with 17 allowed
warnings, primarily existing Tauri / GTK stack warnings,
proc-macro-error,unic-*, andglibunsoundness warnings.npm outdatedreported newer@tauri-apps/api,@types/react,
dompurify, andvitestversions. These are freshness signals only
and were not folded into this release.cargo update --manifest-path src-tauri/Cargo.toml --dry-run
reported compatible update candidates and did not update the lockfile.git diff --checkpassed.- Release pre-check grep hits were reviewed. Local-path hits were test
fixtures or existing historical release-precheck wording, GitHub /
TODO hits were public repository links or "TODO not needed" wording,
and security-word hits in source were diagnostics / sanitizer wording
or tests rather than credentials. Diff-scoped secret grep returned no
hits.
Local artifact:
src-tauri/target/release/bundle/dmg/hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmgSHA-256:
eaa5f576d4ec9aeb69429102d527778264f4d2776b03ba800c34911514fd92d9Publication State
- Tag:
v0.20.0. - GitHub Release:
https://github.com/lero003/hazakura-editor/releases/tag/v0.20.0. - DMG asset:
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmg. - Checksum asset:
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmg.sha256.
Older public tags and releases remain immutable.
Remote Verification Result
Passed on 2026-06-18.
- GitHub Release:
https://github.com/lero003/hazakura-editor/releases/tag/v0.20.0. - The release is a prerelease, not a draft.
- Uploaded assets:
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmgand
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmg.sha256. - The downloaded checksum file verified the downloaded DMG:
hazakura-editor-dev_0.20.0_aarch64-warning-expected.dmg: OK. hdiutil verifypassed on the downloaded DMG.- Mounted downloaded DMG app metadata matched version
0.20.0and
bundle identifierlab.hazakura.note.dev. - Mounted downloaded DMG app passed
codesign --verify --deep --strict --verbose=2. - Mounted downloaded DMG app launched successfully; a new
hazakura-editorprocess was observed and then stopped.
Hazakura Editor v0.19.0 Source / Local App Release
Hazakura Editor 0.19.0 Source / Local App Release
App Store Candidate Stabilization / Safe Editor Reliability
Status: Published as a GitHub source / local-app prerelease on
2026-06-12. No binary assets are attached.
v0.19.0 is the source / local-app checkpoint for the App Store
submission-candidate stabilization work after the v0.18.0
warning-expected Developer / GitHub DMG preview.
This release publishes the repository state, source archive, release
notes, and build-from-source path. It does not attach a DMG asset. The
latest downloadable warning-expected DMG preview remains v0.18.0.
The release boundary stays unchanged: Markdown source remains canonical,
Safe Editor remains primary, Agent Workbench remains a separate
Developer / GitHub-lane trust boundary, and the App Store lane omits
Agent Workbench, CLI Agent launch, dev mode, arbitrary command
execution, Apple Local Assist helper, external AI/API calls, Git, LSP,
terminal, plugins, workspace-wide indexing, auto-apply, and auto-commit
behavior.
This is not an App Store, App Review-approved, Developer ID signed,
notarized, installer, updater, or production-ready distribution.
Build From Source
npm ci
npm run buildThe local smoke bundle is generated at:
src-tauri/target/release/bundle/macos/Hazakura Editor.appThat local app is ad-hoc signed for local validation only. It is not
Developer ID signed or notarized.
What Changed Since 0.18.0
App Store Candidate Stabilization
- Keeps the helper-free App Store preview and submit lanes explicit for
0.19.0, with App Store build counter8tracked separately from
the user-visible version. - Preserves the App Store lane omission of Agent Workbench, CLI Agent,
Apple Local Assist helper, dev mode, arbitrary command execution, and
external AI/API calls. - Keeps bundled
LICENSEandTHIRD_PARTY_NOTICES.mdresources in the
generated macOS app bundle.
Safe Editor Reliability
- Pins bookmark-backed workspace restoration for repeated relaunch,
outside-workspace active-tab restore, and fast clean quit after
startup. - Uses the native macOS Trash API for App Store-lane Move to Trash,
avoidingosascript, AppleEvents, and automation entitlements. - Preserves direct-open save failure recovery and image import safety
from the v0.18 lane. - Fixes
Cmd+Shift+Fglobal-search result activation so clicking a
result opens the matched workspace file and jumps to the matching
line.
User-Facing Polish
- Keeps tab close affordances visible and reachable in the active tab
row. - Keeps the normal Safe Editor status bar from duplicating active
encoding / line-ending values in passive detail text. - Finalizes macOS About metadata from canonical Tauri bundle metadata.
Release Boundary
v0.19.0 does not add:
- App Store review approval.
- Developer ID signing, notarization, installer packaging, auto-update,
or a trusted macOS binary distribution. - A new GitHub DMG asset.
- New Agent Workbench capability, provider plugins, command execution,
terminal, LSP, Git integration, or workspace-wide indexing. - Preview DOM editing,
contenteditable, HTML as the saved canonical
model, hidden save-time rewriting, network fallback, tool calling,
auto-apply, or auto-save.
Known Limitations
- The latest downloadable warning-expected DMG preview remains
v0.18.0; users who want a binary preview should use that release
unless a later DMG preview is published. - The built local app is ad-hoc signed only and is not Developer ID
signed or notarized. - Workspace restore was acceptable in human-side smoke, but Google
Drive-backed folders and quit-before-interaction timing remain
residual risks until the exact signed TestFlight build is tied to the
upload record. - Save As has a UX observation: it did not show data loss, but the tab
transition after saving under another name can feel surprising. - VoiceOver is partially usable, but full live VoiceOver,
keyboard-only traversal, and Increase Contrast coverage remain
incomplete. - App Review submission, approval, screenshots, support URL, final
metadata, and reviewer notes remain App Store-lane work. - GitHub may report existing moderate dependency notices that require
separate dependency triage.
Local Verification Before Tagging
Required gates for this source / local-app release:
npm ci
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
npm run build
git diff --check
npm audit
cargo auditReview-only dependency checks:
npm outdated
cargo update --manifest-path src-tauri/Cargo.toml --dry-runLocal Verification Result
Passed on 2026-06-12.
npm cipassed; 0 npm vulnerabilities.npm run testpassed: 94 files / 774 tests.npm run build:vitepassed with the existing
INEFFECTIVE_DYNAMIC_IMPORTand chunk-size warnings.cargo fmt --manifest-path src-tauri/Cargo.toml -- --checkpassed.cargo test --manifest-path src-tauri/Cargo.tomlpassed: 280 tests.npm run buildpassed, producing the launchable helper-free local
preview bundle at
src-tauri/target/release/bundle/macos/Hazakura Editor.app.- Built app metadata matched: version
0.19.0, bundle identifier
dev.hazakura.editor, display nameHazakura Editor, executable
hazakura-editor. codesign --verify --deep --strict --verbose=2passed on the built
local app.npm run probe:macos-distribution -- "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
passed: bundledLICENSEandTHIRD_PARTY_NOTICES.mdwere present,
the Apple Local Assist helper was absent, and broad network server /
Apple-events entitlements were absent.spctlrejected the ad-hoc, not-notarized local preview with
source=Insufficient Context, which is expected for this local build
lane.- Built-app launch smoke passed:
open -nobserved a new
hazakura-editorprocess, and only that new process was stopped
afterward. npm auditpassed: 0 vulnerabilities.cargo audit --file src-tauri/Cargo.lockexited 0 with 17 allowed
warnings, primarily existing Tauri / GTK stack warnings,
proc-macro-error,unic-*, andglibunsoundness warnings.npm outdatedreported newer@types/reactanddompurifypatch
versions. These are freshness signals only and were not folded into
this release.cargo update --manifest-path src-tauri/Cargo.toml --dry-run
reported compatible update candidates and did not update the
lockfile.git diff --checkpassed.- Release pre-check grep hits were reviewed. Local-path hits were test
fixtures, GitHub hits were public release URLs, and security-word hits
were diagnostics / sanitizer wording or tests rather than
credentials.
Publication State
- Source / local-app tag:
v0.19.0. - GitHub Release: published as a prerelease.
- DMG asset: not published for this tag.
- Latest published warning-expected DMG preview:
v0.18.0.
Older public tags and releases remain immutable.
v0.18.0 Warning-expected DMG Preview
Hazakura Editor 0.18.0 Warning-expected DMG Preview
v0.18 UX Polish / App Store-lane Prep Checkpoint
Status: Published as a warning-expected GitHub prerelease on
2026-06-12. Local and remote asset verification passed.
v0.18.0 is a bounded Safe Editor polish checkpoint after the v0.17
App Store-quality closeout. It focuses on release-facing reliability:
workspace restore, direct-open save / image preview behaviour, keyboard
and accessibility risk reduction, version-surface alignment, and
helper-free App Store-lane packaging hygiene.
The release boundary stays unchanged: Markdown source remains
canonical, Safe Editor remains primary, Agent Workbench remains a
separate Developer / GitHub-lane trust boundary, and the App Store lane
does not include arbitrary command execution, Git, LSP, terminal,
plugins, workspace-wide indexing, auto-apply, or auto-commit behavior.
This is a warning-expected macOS DMG preview. The app is ad-hoc signed
and not notarized, so Gatekeeper warnings are expected.
This is not an App Store, TestFlight, Developer ID signed, notarized,
or production-ready distribution.
Download
The Apple Silicon preview asset is:
hazakura-editor-dev_0.18.0_aarch64-warning-expected.dmgIt packages the Developer / GitHub lane bundle:
Hazakura Editor Dev.appThe Developer / GitHub lane keeps Agent Workbench available and uses
bundle identifier lab.hazakura.note.dev. The normal App Store
preview / local build lane remains Hazakura Editor.app with bundle
identifier dev.hazakura.editor.
What Changed Since 0.17.0
Safe Editor Reliability
- Preserves the last good persisted workspace state when a restore
attempt returns an empty live result, so a sandbox-loss / moved-folder
/ missing-file path does not erase the saved workspace root bookmark. - Pins standalone direct-open save behaviour when no workspace is open.
- Keeps the normal atomic temp-file replace path, then falls back to
direct existing-file write only when creating the sibling temp file
fails withPermissionDenied. - Routes directly opened PNG/JPEG/GIF/WebP files to bounded read-only
image preview even when there is no active workspace. - Narrows L Mode table Backspace / Delete behaviour so ordinary
in-cell text selection falls through to CodeMirror, while explicit
whole-row selections still use the row-delete shortcut.
Accessibility And UX Polish
- Renders
MoveToTrashConfirmDialogthrough the shared modal focus
pattern: initial focus lands on Cancel, Tab / Shift+Tab stay inside
the dialog, and Escape cancels the pending trash action. - Keeps encoding-only changes visible through the shared dirty-state
contract and includes encoding in the auto-backup signature. - Renders Markdown preview task checkboxes as inert display-only
glyphs without changing saved Markdown. - Keeps the normal Safe Editor left workspace sidebar collapsible and
restorable without changing the file-tree model or L Mode drawer. - Cleans up WorkspaceTree rename markup so the rename input is not
nested inside a row button.
App Store-lane Prep
- Keeps the helper-free App Store preview packaging shape explicit by
preservingfrontendDist: "../dist"in the App Store configs and
keeping the sandbox entitlement needed by the Tauri / WebKit runtime. - Defines the App Store submission build number separately from the
user-visible version; the v0.18 App Store submit config carries
bundle.macOS.bundleVersion = "4". - Bundles repository-root
LICENSEandTHIRD_PARTY_NOTICES.mdinto
generated macOS app bundles and verifies those resources in the
macOS distribution probe. - Keeps App Store-lane Settings free of Apple Local Assist-specific
preference rows while the Developer / GitHub lane can still expose
those assist controls.
Release Boundary
v0.18.0 does not add:
- App Store or TestFlight submission.
- Apple Developer / App Store signing, provisioning, upload
validation, or review approval. - Developer ID signing, notarization, installer packaging, updater, or
a trusted distribution channel. - New Agent Workbench capability, provider plugins, command execution
beyond the existing explicit Developer / GitHub lane, terminal, LSP,
Git integration, or workspace-wide indexing. - Preview DOM editing,
contenteditable, HTML as the saved canonical
model, hidden save-time rewriting, network fallback, tool calling,
auto-apply, or auto-save.
Known Limitations
- The DMG is Apple Silicon /
aarch64only. - The packaged app is ad-hoc signed only and is not Developer ID signed
or notarized. macOS may show security warnings and may require the
user to explicitly allow opening the app. - VoiceOver tab-bar smoke, full keyboard-only traversal, Help
readability smoke, and Increase Contrast visual smoke still require
real-app human confirmation before App Store submission. - Help copy overlap cleanup and
data:imagesize wording alignment
remain follow-up items indocs/current-work.md. - App Store Connect upload, TestFlight validation, official App Store
signing/provisioning, screenshots, metadata, and final reviewer notes
remain outside this warning-expected Developer / GitHub release lane. - In this release-prep session,
open -non the helper-free App Store
preview bundle failed withRBSRequestErrorDomain Code=5/
Launchd job spawn failed. The Developer / GitHub lane app and the
mounted DMG app both launched successfully. Treat App Store-lane
launch as a separate submission-prep follow-up, not as proven by this
warning-expected DMG release. - Apple Local Assist remains alpha / experimental and depends on macOS
26+ Apple Foundation Models availability, local Apple Intelligence
state, and supported language / locale. - GitHub may report existing moderate dependency notices that require
the current release-readiness triage before publication.
Local Verification Before Publication
Required gates for this warning-expected DMG preview:
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
npm run build:apple-assist-helper:live
npm run build:dmg-preview
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lockThe built normal app must report version 0.18.0, bundle identifier
dev.hazakura.editor, product name Hazakura Editor, and executable
hazakura-editor.
The built Developer / GitHub DMG app must report version 0.18.0,
bundle identifier lab.hazakura.note.dev, product name
Hazakura Editor Dev, and executable hazakura-editor.
The local and mounted apps must pass:
codesign --verify --deep --strict --verbose=2 "<app>"Expected warning for the ad-hoc, not-notarized app:
spctl -a -vv -t open "<app>"Gatekeeper may reject the app with insufficient-context /
not-notarized style output.
Local Verification Result
Passed on 2026-06-12.
npm cipassed; 0 npm vulnerabilities.npm run testpassed after the clean install: 88 files / 739 tests.npm run build:vitepassed with the existing
INEFFECTIVE_DYNAMIC_IMPORTand chunk-size warnings.cargo fmt --manifest-path src-tauri/Cargo.toml -- --checkpassed
after formatting two long lines in an existing security test.cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
passed: 274 tests.npm run build:apple-assist-helper:livepassed; Swift helper build
completed and availability probe returnedavailable.npm run build:dmg-previewpassed. It built both macOS lanes,
generated the Developer / GitHub lane DMG, ranhdiutil verify, and
verified the checksum file.npm run buildpassed after the DMG build, rebuilding the helper-free
App Store preview lane with the expected Vite warnings and ad-hoc
notarization-skip warning.npm auditpassed: 0 vulnerabilities.cargo audit --file src-tauri/Cargo.lockexited 0 with 17 allowed
warnings, primarily existing Tauri / GTK stack warnings,
proc-macro-error,unic-*, andglibunsoundness warnings. No
release-blocking failure was reported by the command.npm outdatedreported newer@types/reactanddompurify
versions. These are freshness signals only and were not folded into
this release.cargo update --manifest-path src-tauri/Cargo.toml --dry-run
reported compatible update candidates and did not update the
lockfile.- Local normal app metadata matched: version
0.18.0, bundle
identifierdev.hazakura.editor, product nameHazakura Editor,
executablehazakura-editor. - Local Developer / GitHub app metadata matched: version
0.18.0,
bundle identifierlab.hazakura.note.dev, product name
Hazakura Editor Dev, executablehazakura-editor. - Local normal and Developer / GitHub apps passed
codesign --verify --deep --strict --verbose=2. spctl -a -vv -t openrejected both local apps with
source=Insufficient Context, the expected ad-hoc / not-notarized
warning-expected result.- Mounted DMG app metadata matched the intended Developer / GitHub
lane and passedcodesign --verify --deep --strict --verbose=2. open -n "src-tauri/target/release/bundle/macos/Hazakura Editor Dev.app"
launched the local Developer / GitHub app;pgrepobserved the
hazakura-editorprocess and the app was quit afterward.- Mounting the DMG and opening
Hazakura Editor Dev.appfrom the
mounted volume also launched successfully;pgrepobserved the
hazakura-editorprocess and the app was quit during cleanup. open -n "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
failed withRBSRequestErrorDomain Code=5/
Launchd job spawn failedin this ad-hoc App Store preview build
session. This was not the DMG release lane app.npm run probe:macos-distribution -- "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
passed; bundledLICENSEand ...
hazakura editor v0.17.0
hazakura editor 0.17.0 Warning-expected DMG Preview
Distribution Prep / Release Polish Closeout
Status: Published as a warning-expected GitHub prerelease on
2026-06-10. Local and remote asset verification passed.
v0.17.0 is a bounded release-prep checkpoint after the v0.16 L Mode
Live Source quality follow-up. It closes the App Store-facing quality
queues and the small non-smoke v0.17 follow-up requests without adding
a new product surface. It also includes bounded Apple Local Assist
operation feedback as Assist Window transparency, not as a provider
transcript or persistent log.
The release boundary stays unchanged: Markdown source remains
canonical, Safe Editor remains primary, Agent Workbench remains a
separate Developer / GitHub-lane trust boundary, and the App Store lane
does not include arbitrary command execution, Git, LSP, terminal,
plugins, workspace-wide indexing, auto-apply, or auto-commit behavior.
This is a warning-expected macOS DMG preview. The app is ad-hoc
signed and not notarized, so Gatekeeper warnings are expected.
This is not an App Store, TestFlight, Developer ID signed, notarized,
or production-ready distribution.
Download
The Apple Silicon preview asset is:
hazakura-editor-dev_0.17.0_aarch64-warning-expected.dmgIt packages the Developer / GitHub lane bundle:
hazakura editor Dev.appThe Developer / GitHub lane keeps Agent Workbench available and uses
bundle identifier lab.hazakura.note.dev. The normal App Store
preview / local build lane remains hazakura editor.app with bundle
identifier lab.hazakura.note.
What Changed Since 0.16.0
App Store Quality Queue Closeout
- Adds regression coverage around save / restore behaviour, including
UTF-8 BOM handling, Shift-JIS / EUC-JP open/save round-trip paths,
unmappable-character failure handling, dirty-tab close recovery,
and app-close recovery. - Strengthens Markdown preview / export safety coverage around
data:imagelimits, external fetch prevention, and active removal
of unsafe style / form / input-like markup from rendered Markdown. - Adds accessibility smoke coverage for tab-bar state, keyboard
navigation, L Mode task-widget labels, and high-contrast CSS. - Records support diagnostics and bundle-size baseline evidence for
the App Store-facing closeout.
Help And Store-Document Surfaces
- Moves the local-data explanation into the Help menu as a bundled
read-only Markdown document. - Adds Help-readable draft documents for
Privacy Policy,
Open Source Acknowledgements,Support Diagnostics, and
About hazakura editor. - Adds a small Support Diagnostics pane with user-reviewed JSON,
Copy, and Refresh actions. The snapshot is local, user-initiated,
and contains only the existing privacy-preserving diagnostics
envelope.
Accessibility And Release Polish
- Adds a CSS-only
prefers-contrast: morepass for release-facing
surfaces. - Records a WorkspaceTree accessibility decision: keep the current
button-based keyboard-operable model for v0.17 instead of adopting a
partial ARIArole="tree"pattern. Focused tests pin
aria-expanded, rename input keyboard behaviour, compare-selection
Escape handling, and context-menu dispatch. - Keeps manual VoiceOver, full keyboard-only traversal, Help copy
overlap cleanup, Store metadata, and official distribution work out
of v0.17. Those are deferred to v0.18 / submission-prep work.
Apple Local Assist Alpha Transparency
- Tightens Apple Local Assist's Assist Window layout so the request
field is compact, common requests sit under the instruction field,
and the primary action reads as a request action rather than an
apply action. - Removes the confusing target-refresh button. The app still refreshes
the current target when the user sends a request, but the UI no
longer exposes a low-value manual refresh control. - Adds compact operation feedback for target, request accepted, local
generation, edit reflected, and failure states. The trail is
window-local and ephemeral; it is not raw Foundation Models input /
output, model reasoning, a provider transcript, persistent logging,
or Support Diagnostics data. - Reduces selected-text generation context to the target plus bounded
surrounding document context, and instructs the helper not to copy
headings, list items, or wording from surrounding context unless it
is already part of the target. - Reduces horizontal-scroll pressure in the Apple Local Assist review
bar for short edits by allowing inline diff cells to wrap within the
available width.
Release Boundary
v0.17.0 does not add:
- App Store or TestFlight submission.
- Apple Developer / App Store signing, provisioning, upload
validation, or review approval. - Developer ID signing, notarization, installer packaging, updater, or
a trusted distribution channel. - New Agent Workbench capability, provider plugins, command execution
beyond the existing explicit Developer / GitHub lane, terminal, LSP,
Git integration, or workspace-wide indexing. - Preview DOM editing,
contenteditable, HTML as the saved canonical
model, hidden save-time rewriting, network fallback, tool calling,
auto-apply, or auto-save. - Final public Privacy Policy URL, App Store metadata, screenshots,
complete third-party license packet, or final App Review Notes.
Known Limitations
- The DMG is Apple Silicon /
aarch64only. - The packaged app is ad-hoc signed only and is not Developer ID signed
or notarized. macOS may show security warnings and may require the
user to explicitly allow opening the app. - Apple Local Assist remains alpha / experimental and depends on macOS
26+ Apple Foundation Models availability, local Apple Intelligence
state, and supported language / locale. - Help documents are available in-app, but final public Privacy Policy
URL / metadata copy and complete third-party license review are
deferred to v0.18 / submission-prep work. - Some Help document content intentionally overlaps for review
clarity; the final copy pass is deferred to v0.18. - VoiceOver tab-bar smoke, full keyboard-only traversal, Help
readability smoke, and Increase Contrast visual smoke still require
real-app human confirmation before App Store submission. - GitHub may report existing moderate dependency notices that require
the current release-readiness triage before publication. - Apple Local Assist remains an alpha writing aid. Even with bounded
surrounding context, Foundation Models output can still borrow the
wrong nearby wording or make a poor rewriting choice; users must
inspect the unsaved diff before saving. - The Apple Local Assist operation-feedback panel is an alpha smoke
aid. In repeated request sessions, it may not preserve or visually
surface every intermediate item after the first request. The
unsaved AI edit transaction, review bar, and diff remain the source
of truth for accepting or discarding changes.
Local Verification Before Publication
Required gates for this warning-expected DMG preview:
npm ci
npm run typecheck
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
npm run build:apple-assist-helper:live
npm run build:dmg-preview
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lockThe built normal app must report version 0.17.0, bundle identifier
lab.hazakura.note, product name hazakura editor, and executable
hazakura-editor.
The built Developer / GitHub DMG app must report version 0.17.0,
bundle identifier lab.hazakura.note.dev, product name
hazakura editor Dev, and executable hazakura-editor.
The local and mounted apps must pass:
codesign --verify --deep --strict --verbose=2 "<app>"Expected warning for the ad-hoc, not-notarized app:
spctl -a -vv -t open "<app>"Gatekeeper may reject the app with insufficient-context /
not-notarized style output.
Local Verification Result
Passed on 2026-06-10.
npm cipassed; 0 npm vulnerabilities.npm run typecheckpassed.npm run testpassed: 78 files / 639 tests.npm run build:vitepassed with the existing
INEFFECTIVE_DYNAMIC_IMPORTand chunk-size warnings.cargo fmt --manifest-path src-tauri/Cargo.toml -- --checkpassed.cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
passed: 265 tests.npm run build:apple-assist-helper:livepassed; Swift helper build
completed and availability probe returnedavailable.npm run build:dmg-previewpassed. It built both macOS lanes,
generated the Developer / GitHub lane DMG, ranhdiutil verify, and
verified the checksum file.npm auditpassed: 0 vulnerabilities.cargo audit --file src-tauri/Cargo.lockexited 0 with 17 recorded
RustSec warnings, primarily existing Tauri / GTK stack warnings and
unmaintained transitive crates. No release-blocking failure was
reported by the command.- Local normal app metadata matched: version
0.17.0, bundle
identifierlab.hazakura.note, product namehazakura editor,
executablehazakura-editor. - Local Developer / GitHub app metadata matched: version
0.17.0,
bundle identifierlab.hazakura.note.dev, product name
hazakura editor Dev, executablehazakura-editor. - Local normal and Developer / GitHub apps passed
codesign --verify --deep --strict --verbose=2. spctl -a -vv -t openrejected both local apps with
source=Insufficient Context, the expected ad-hoc / not-notarized
warning-expected result.- Mounted DMG app metadata matched the intended Developer / GitHub
lane and passedcodesign --verify --deep --strict --verbose=2. git diff --checkpassed before commit.
Local artifact:
src-tauri/target/release/bundle/dmg/hazakura-editor-dev_0.17.0_aarch64-warning-expected.dmgSHA-256:
a7587995e...hazakura editor 0.16.0 Warning-expected DMG Preview
hazakura editor 0.16.0 Warning-expected DMG Preview
Per-Surface Font Sizes (v0.16 L Mode Live Source Quality Follow-up)
v0.16.0 is the first source / settings polish slice in the v0.16 L Mode Live Source Quality Follow-up lane. The focus is small but real user-facing friction: the font size preference used to apply to the editor pane only, and the workspace file tree looked unchanged even after the user raised the workspace slider. v0.16.0 splits the single fontSize preference into four per-surface values (editor / preview / workspace / L Mode), wires them through :root CSS custom properties, and rewires the workspace tree CSS so every text-bearing element inside the tree pane (file names, folder names, the WORKSPACE kicker, the New File / New Folder popover, the empty-state Open Folder button, the rename input, and the tree-partial note) actually scales with the slider.
The release-prep pass also refreshes the app / README logo assets with the transparent hazakura flower-and-leaf mark and includes the later IPC status-feedback polish in the v0.16 release.
The boundary of the lane is unchanged: Markdown source remains canonical, L Mode still renders through CodeMirror decorations, no Preview DOM editing, no contenteditable, no hidden save-time rewriting, no network fallback, no auto-apply, no provider plugins. The font-size change is presentation-only, fully reversible, and does not touch the saved document model.
This is a warning-expected macOS DMG preview. The app is ad-hoc signed and not notarized, so Gatekeeper warnings are expected.
This is not an App Store, TestFlight, Developer ID signed, notarized, or production-ready distribution.
Download
The intended Apple Silicon preview asset is:
hazakura-editor-dev_0.16.0_aarch64-warning-expected.dmgIt packages the Developer / GitHub lane bundle:
hazakura editor Dev.appThe Developer / GitHub lane keeps Agent Workbench available and uses bundle identifier lab.hazakura.note.dev. The normal App Store preview / local build lane remains hazakura editor.app with bundle identifier lab.hazakura.note.
What Changed Since 0.15.0
Per-Surface Font Sizes
- Splits
EditorSettings.fontSizeinto four per-surface values:editorFontSize,previewFontSize,workspaceFontSize, andlModeFontSize. Each surface reads its own value through a:rootCSS custom property (--editor-font-size/--preview-font-size/--workspace-font-size/--lmode-font-size), so the editor pane, preview pane, file tree, and L Mode surface can scale independently. - Preserves the historical defaults of 14 / 15 / 13 / 15px so existing users see no visual change on first launch after upgrade.
- Reads the v0.15-era legacy
fontSizekey as a fallback foreditorFontSizeso v0.15 preferences survive the schema split. Missing per-surface values fall back to the per-surface defaults, so partial upgrades stay non-destructive.
Preferences UI
- Replaces the single
fontSizeslider in the editor-display section with four independent number inputs (Editor / Preview / Workspace / L Mode), each with its own min / max / step range and fallback. - Adds matching labels in all three menu languages: English (
Editor font size/Preview font size/Workspace font size/L Mode font size), Japanese (エディタのフォントサイズ/プレビューのフォントサイズ/ワークスペースのフォントサイズ/えるモードのフォントサイズ), and かなふみ (えでぃたのもじのおおきさ/したみのまどのもじのおおきさ/わーくすぺーすのもじのおおきさ/えるもーどのもじのおおきさ).
CSS Wiring
preview.css:.markdown-previewreadsfont-size: var(--preview-font-size, 15px).lMode.css::root[data-l-mode="on"] .cm-contentand.l-mode-empty-placeholder-textreadfont-size: var(--lmode-font-size, 15px)so L Mode prose and the L Mode empty state scale together.workspace.css: anchors.file-tree-pane { font-size: var(--workspace-font-size, 13px) }so the file tree base size actually flows into descendants. Removes the now-redundant absolutefont-size: 13pxfrom.workspace-treeand.workspace-empty.workspace.css: re-expresses the absolute10pxkicker as0.77emand the absolute11pxtree meta / partial text as0.85emso the WORKSPACE caption and the per-folder "Some entries are hidden" note stay visually proportional to the new base size.
Workspace Tree Linkage Fix
- Removes the now-incorrect
font-size: 13pxoverrides from.workspace-titleand thefont-size: 13pxfrom the New File / New Folder popover buttons so they inherit the workspace base. - Adds
.file-tree-pane button, .file-tree-pane input, .file-tree-pane select, .file-tree-pane textarea { font-size: inherit; }. Without this reset, Chromium / WebKit assign<button>to the OS's-webkit-small-controlfont (about 11-13px on macOS), which silently blocks the new base size from reaching the file-name / folder-name / popover text and made the workspace slider look like it did nothing. - Keeps button hit areas (28-30px) and SVG icon sizes (14px) at their previous pixel values, so the workspace stays clickable at the same density even when the user raises the slider to 18px.
Other
- Refreshes the app bundle icon, start-panel mark, and README logo to the transparent hazakura flower-and-leaf logo.
- Adds user-visible status feedback for two listener-registration failures that were previously console-only: window drag-drop listener setup and Apple Local Assist apply-status listener setup.
- Save / recovery, Apple Local Assist generation, Review Desk, L Mode editing, Diff, and Recovery Review are otherwise unchanged for this checkpoint.
Release Boundary
v0.16.0 does not add:
- App Store or TestFlight submission.
- Apple Developer / App Store signing, provisioning, upload validation, or review approval.
- Developer ID signing, notarization, installer packaging, updater, or a trusted distribution channel.
- New Agent Workbench capability, provider plugins, command execution beyond the existing explicit Developer / GitHub lane, terminal, LSP, Git integration, or workspace-wide indexing.
- Preview DOM editing,
contenteditable, HTML as the saved canonical model, hidden save-time rewriting, network fallback, tool calling, auto-apply, or auto-save. - A completed commercial-quality release process. The v0.16 L Mode Live Source Quality Follow-up lane is intended to carry additional source-preserving Live Source quality slices (table / checkbox / code-fence / quote / image / IME guardrails) before v0.17 Distribution Prep takes over.
Known Limitations
- The DMG is Apple Silicon /
aarch64only. - The packaged app is ad-hoc signed only and is not Developer ID signed or notarized. macOS may show security warnings and may require the user to explicitly allow opening the app.
- Apple Local Assist remains alpha / experimental and depends on macOS 26+ Apple Foundation Models availability, local Apple Intelligence state, and supported language / locale.
- The font-size preference is a presentation setting only. Saved Markdown text is never reformatted to match a chosen preview / L Mode / workspace size.
- Per-surface ranges were chosen to keep existing visual density stable at the defaults: editor 12-22, preview 12-24, workspace 10-18, L Mode 12-24. The em ratios used inside the workspace tree (
0.77emfor the kicker,0.85emfor tree meta / partial) preserve the 10 / 11 / 13 ratio at the 13px default but were not yet checked across the full 10-18px range on every theme; per-theme readability and chip headroom are an explicit v0.16 follow-up. - L Mode headings, image widgets, action-rail chips, and the typewriter cue keep their existing absolute sizes; they are not yet re-anchored against
--lmode-font-size. Resizing the L Mode slider scales only the prose body and the empty-state placeholder, not the surrounding chrome. - The workspace tree's row hit area (
min-height: 30px) and its 14px SVG icons stay at their previous pixel values across the full slider range, so very large workspace sizes will make the icons and the text look slightly underweight. This is intentional for the current checkpoint. - GitHub reports one moderate vulnerability notice on the repository (
GHSA-wrw7-89jp-8q8g/glib 0.18.5insrc-tauri/Cargo.lock); localnpm auditandcargo auditboth report 0 actionable vulnerabilities. The notice is a triaged Linux Tauri / wry GTK3-stack transitive item and is not a v0.16 macOS warning-expected preview blocker; revisit it only with a Tauri / wry dependency-refresh lane, distribution-readiness sign-off, severity escalation, or a compatible patched upstream path. - The native macOS Save As panel may not visibly expose extension filters even though the app passes text-file filters to Tauri's
saveAPI; saving and typed-extension normalization remain the practical boundary for this checkpoint.
Local Verification Before Publication
Required gates for this warning-expected DMG preview:
npm ci
npm run typecheck
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
npm run build:apple-assist-helper:live
npm run build:dmg-preview
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lockThe built normal app must report version 0.16.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor.
The built Developer / GitHub DMG app must report version 0.16.0, bundle identifier lab.hazakura.note.dev, product name hazakura editor Dev, and executable hazakura-editor.
The local and mounted apps must pass:
codesign --verify --deep --strict --verbose=2 "<app>"Expected warning for the ad-hoc, not-notarized app:
spctl -a -vv -t open "<app>"Gatekeeper may reject the app with insufficient-context / not-notarized style output.
Local Verification Result
Passed on 2026-06-08.
npm cicompleted from the committed lockfile and reported `0 v...
v0.15.0 Warning-expected DMG Preview
hazakura editor 0.15.0 Warning-expected DMG Preview
User-Test Quality Polish
v0.15.0 records a user-test polish checkpoint and publishes a warning-expected macOS DMG preview for other Macs. The focus is small issues found by using the app: stale-state prevention, L Mode lightness, Apple Local Assist rough-request quality, settings/theme clarity, and safe save/recovery behavior.
This is a warning-expected macOS DMG preview. The app is ad-hoc signed and not notarized, so Gatekeeper warnings are expected.
This is not an App Store, TestFlight, Developer ID signed, notarized, or production-ready distribution.
Download
The intended Apple Silicon preview asset is:
hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmgIt packages the Developer / GitHub lane bundle:
hazakura editor Dev.appThe Developer / GitHub lane keeps Agent Workbench available and uses bundle identifier lab.hazakura.note.dev. The normal App Store preview / local build lane remains hazakura editor.app with bundle identifier lab.hazakura.note.
What Changed Since 0.14.0
Stale-State And Save/Recovery Hardening
- Prevents stale async completions from overwriting newer compare, disk-change review, image preview, Apple Local Assist candidate, HTML export, Save As, and recovery-reopen state.
- Keeps Save As and HTML export tied to the latest same-tab buffer after the native dialog returns, while stopping if the active tab changed.
- Avoids showing
savedor removing a recovery draft when a save completes after the user has already typed more into the same buffer. - Makes recovery reopen ignore late success/failure when the original tab was closed, renamed, or moved.
- Cleans up descendant tabs, drafts, recents, and compare state when workspace folders are moved to Trash.
L Mode Polish
- Tightens L Mode action-rail behavior around IME composition, Escape handling, focus restoration, and short control titles.
- Hardens L Mode task widgets against stale ranges, IME keydown toggles, and uppercase checked markers.
- Adds measurement fixtures for decoration counts and typewriter no-op behavior near the current center.
- Fixes image URL/cache edge cases and aligns L Mode data-image handling with the safe preview boundary.
- Lets image previews appear as a closeable tab-row pseudo-tab, and removes the normal image preview divider in L Mode.
Apple Local Assist And Settings Polish
- Separates rough user requests from internal Apple Local Assist instructions so internal prompt text does not leak into the visible request payload.
- Adds a focused instruction helper for rough writing requests and guards stale Apple Local Assist review candidates.
- Improves Apple Assist window affordances around document refresh and target acquisition failure.
- Adds visible theme hints, clearer per-theme descriptions, menu-language hints, and more natural Japanese / かなふみ settings copy.
- Renames the most dramatic ambient option toward a vivid setting rather than an overly flashy tone.
Status And Window Behavior
- Surfaces theme, menu-state, and window-title IPC failures through status feedback instead of console-only warning paths.
- Localizes
Print unavailable. - Stabilizes macOS close/reopen flows so clean windows can close normally while dirty-window confirmation still protects unsaved edits.
Release Boundary
v0.15.0 does not add:
- App Store or TestFlight submission.
- Apple Developer / App Store signing, provisioning, upload validation, or review approval.
- Developer ID signing, notarization, installer packaging, updater, or a trusted distribution channel.
- New Agent Workbench capability, provider plugins, command execution beyond the existing explicit Developer / GitHub lane, terminal, LSP, Git integration, or workspace-wide indexing.
- Preview DOM editing,
contenteditable, HTML as the saved canonical model, hidden save-time rewriting, network fallback, tool calling, auto-apply, or auto-save. - A completed commercial-quality release process. v0.16 should carry heavier release-prep work; v0.17 can carry final release-facing polish.
Known Limitations
- The DMG is Apple Silicon /
aarch64only. - The packaged app is ad-hoc signed only and is not Developer ID signed or notarized. macOS may show security warnings and may require the user to explicitly allow opening the app.
- Apple Local Assist remains alpha / experimental and depends on macOS 26+ Apple Foundation Models availability, local Apple Intelligence state, and supported language / locale.
- The native macOS Save As panel may not visibly expose extension filters even though the app passes text-file filters to Tauri's
saveAPI; saving and typed-extension normalization remain the practical boundary for this checkpoint. - Some visual polish was confirmed by user-operated smoke rather than automated screenshot coverage.
- GitHub reports one moderate vulnerability notice on the repository, while local
npm auditcan still report no actionable vulnerabilities depending on advisory scope.
Local Verification Before Publication
Required gates for this warning-expected DMG preview:
npm ci
npm run typecheck
npm run test
npm run build:vite
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo test --manifest-path src-tauri/Cargo.toml
npm run build:apple-assist-helper:live
npm run build:dmg-preview
git diff --check
npm audit
cargo audit --file src-tauri/Cargo.lockThe built normal app must report version 0.15.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor.
The built Developer / GitHub DMG app must report version 0.15.0, bundle identifier lab.hazakura.note.dev, product name hazakura editor Dev, and executable hazakura-editor.
The local and mounted apps must pass:
codesign --verify --deep --strict --verbose=2 "<app>"Expected warning for the ad-hoc, not-notarized app:
spctl -a -vv -t open "<app>"Gatekeeper may reject the app with insufficient-context / not-notarized style output.
Local Verification Result
Passed on 2026-06-07.
npm cicompleted from the committed lockfile and reported0 vulnerabilities.npm run typecheckpassed.npm run testpassed: 67 files / 465 tests.npm run build:vitepassed with the existing large-chunk warning.cargo fmt --manifest-path src-tauri/Cargo.toml -- --checkpassed.cargo test --manifest-path src-tauri/Cargo.tomlpassed: 241 tests.npm run build:apple-assist-helper:livepassed and returned Apple Local Assist availabilityavailable.npm run build:dmg-previewpassed, building both macOS lanes and producing the warning-expected DMG.git diff --checkpassed before publication prep.npm auditreported0 vulnerabilities.cargo audit --file src-tauri/Cargo.lockexited 0 with 17 existing allowed warnings from the Tauri / Linux GTK stack and transitive dependencies.- Normal app metadata: version
0.15.0, bundle identifierlab.hazakura.note, product namehazakura editor, executablehazakura-editor. - Developer / GitHub app metadata: version
0.15.0, bundle identifierlab.hazakura.note.dev, product namehazakura editor Dev, executablehazakura-editor. codesign --verify --deep --strict --verbose=2passed for both the normal app and the Developer / GitHub app.spctl -a -vv -t openrejected both local apps withsource=Insufficient Context, expected for ad-hoc signed, not-notarized apps.- DMG checksum verification and
hdiutil verifypassed. - Mounted DMG app metadata and codesign verification passed.
- Built Developer / GitHub app launch smoke and mounted-DMG app launch smoke both observed a
hazakura-editorprocess.
DMG SHA-256:
e835a2052c47651134cf37c909501947e4fa407a97767b7d8856eb98ee5e9ec2Remote Verification Result
Passed on 2026-06-07 after publication.
- GitHub Release URL:
https://github.com/lero003/hazakura-editor/releases/tag/v0.15.0 - GitHub Release is marked as a prerelease.
- Remote assets present:
hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmghazakura-editor-dev_0.15.0_aarch64-warning-expected.dmg.sha256
- Assets were downloaded into a fresh temp directory with
gh release download v0.15.0 -R lero003/hazakura-editor. shasum -c hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmg.sha256passed against the downloaded DMG.hdiutil verify hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmgpassed against the downloaded DMG.- Mounted downloaded app metadata: version
0.15.0, bundle identifierlab.hazakura.note.dev, product namehazakura editor Dev, executablehazakura-editor. codesign --verify --deep --strict --verbose=2passed against the mounted downloaded app.
Publication State
- Tag:
v0.15.0. - GitHub Release: warning-expected DMG preview, prerelease.
- DMG asset:
hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmg. - Checksum asset:
hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmg.sha256.
Older public tags and releases remain immutable.
hazakura editor v0.11.0 Warning-expected DMG Preview
hazakura editor 0.11.0 Warning-expected DMG Preview
L Mode WYSIWYG-tier Polish
v0.11.0 turns えるモード / L Mode from an alpha focus surface into a more deliberate WYSIWYG-tier writing surface. The saved model remains Markdown, but the editing view now aims for a custom writing-app feel: magazine-style typography, rendered inline emphasis, quieter block structure, task checkbox widgets, image figures, table treatment, typewriter mode, and stable no-shift source-marker handling.
This release also adds practical safety polish around authoring and recovery: auto-backup restore through an explicit diff/apply flow, hash-based pasted-image deduplication, HTML export CSS parity with Preview, and bounded workspace path rekey behavior for rename/move cases.
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.10.0
えるモード / L Mode WYSIWYG-tier Polish
- Moves L Mode toward a document-like writing surface while keeping Markdown source as the saved truth.
- Renders emphasis, strong, strike, links, inline code, task checkboxes, horizontal rules, tables, blockquotes, code blocks, ordered/bullet lists, and images with display-only CodeMirror decorations.
- Adds magazine-feel typography: serif body text, stronger heading hierarchy, centered first H1, quieter H2/H3 rhythm, constrained reading width, and soft paper treatment.
- Keeps Markdown markers hidden without horizontal layout shift; active structural context appears as margin chips instead of reflowing prose.
- Adds optional typewriter mode that keeps the active line vertically centered.
- Adds a compact L Mode action rail for returning to workspace view and reviewing unsaved changes without mixing commands into status text.
- Adds a native View menu toggle for L Mode.
Authoring, Export, And Recovery
- Adds auto-backup restore UI: list backups for the active file, compare a selected backup against the live buffer, then explicitly apply the selected backup without saving to disk.
- Keeps backup application scoped to the compared document path, so switching tabs after opening the diff cannot restore into the wrong tab.
- Exits L Mode when a backup is selected for review, so the backup-vs-buffer Compare pane is visible before Apply.
- Uses hash-based pasted-image names so repeated pastes of the same image reuse the existing asset.
- Aligns Export HTML and Print to PDF styling with the live Markdown Preview CSS.
- Improves workspace rename/move path rekey behavior for tabs, drafts, recents, compare anchors, and backup directories.
- Adds a clear affordance for file-compare source/target selection.
- Expands save dialog filters for common text extensions.
Boundary And Release Posture
- Keeps the Safe Editor / Agent Workbench / Review Desk boundaries unchanged from v0.10.0.
- Keeps L Mode as CodeMirror display decoration, not Preview DOM editing,
contenteditable, AI generation, or automatic formatting. - Keeps auto-backup restore manual: compare explicitly, apply explicitly, save explicitly.
- Defers Apple Local Assist / Foundation Models product behavior to a later lane.
Boundary
v0.11.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 structural 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.11.0_aarch64-warning-expected.dmgPlatform:
macOS Apple Silicon / aarch64SHA-256:
09194d22ed6a61164fbf72b7a1b17301e530bca289f42a104d3bb6c4305767e8Checksum file:
hazakura-editor_0.11.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.11.0_aarch64-warning-expected.dmg.sha256Known Limitations
- L Mode is WYSIWYG-tier presentation, not structural WYSIWYG editing. Markdown source remains the truth, and toggling L Mode off remains the source-inspection escape hatch.
- Auto-backup restore applies to the in-memory buffer and marks the tab dirty; saving remains explicit.
- Workspace-internal drag/drop Move remains experimental; use New File, New Folder, Rename, and Move to Trash as the dependable bounded workspace operations in this preview.
- 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 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.11.0_aarch64-warning-expected.dmg.sha256
hdiutil verify hazakura-editor_0.11.0_aarch64-warning-expected.dmgThe built and mounted apps must report version 0.11.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.11.0 -R lero003/hazakura-editor --dir .release-verify/v0.11.0
cd .release-verify/v0.11.0
shasum -c hazakura-editor_0.11.0_aarch64-warning-expected.dmg.sha256
hdiutil verify hazakura-editor_0.11.0_aarch64-warning-expected.dmgThe downloaded assets must pass checksum verification and DMG verification, and the mounted app must report version 0.11.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.11.0
Beyond the v0.10.0 smoke surface, v0.11.0 should confirm:
Cmd+Shift+Land the View menu toggle enter/exit L Mode, and saved Markdown text is unchanged.- Inline emphasis, strong, strike, links, inline code, task checkboxes, HR, table delimiter rows, blockquotes, code blocks, ordered/bullet lists, and images render as document-like display without mutating source.
- The document layout does not shift horizontally as the cursor moves; structural chips appear in the margin only.
- Optional typewriter mode recenters the active line and can be toggled from Preferences.
- L Mode action-rail escape hatches return to workspace view and open change review for dirty buffers.
- Auto-backup restore lists entries for the active file, opens a backup-vs-buffer diff, applies only to the compared document, marks the tab dirty, and still requires Save.
- Export HTML and Print to PDF share the same preview CSS posture.
- 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-candidate verification passed on 2026-06-05:
npm run typechecknpm test— 188 tests passedcargo fmt --manifest-path src-tauri/Cargo.toml -- --checkcargo test --manifest-path src-tauri/Cargo.toml— 178 tests passednpm run build:vitenpm run buildgit diff --checknpm 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.11.0_aarch64-warning-expected.dmg.sha256hdiutil verify hazakura-editor_0.11.0_aarch64-warning-expected.dmg- built-app and mounted-app metadata checks for version
0.11.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 expected- built-app launch smoke via
open -n "src-tauri/target/release/bundle/macos/hazakura editor.app", followed by app quit - focused built-app L Mode smoke:
Cmd+Shift+Lentered L Mode on a mixed Markdown document, rendered the visible headings/inline emphasis/link/code, blockquote, tasks, lists, and table as document-like display, and did not mutate saved Markdown source - focused built-app auto-backup restore smoke: command-palette restore listed a scoped backup, opened backup-vs-buffer Compare, exited L Mode to keep Compare visible, applied the backup to the compared
smoke.mdafter switching toother.md, markedsmoke.mddirty without auto-saving, and persisted only `sm...
hazakura editor 0.10.0 Warning-expected DMG Preview
hazakura editor 0.10.0 Warning-expected DMG Preview
L Mode Alpha Preview
v0.10.0 promotes the えるモード / L Mode experiment from v0.9 into an alpha-quality preview. It focuses on the daily writing feel: scrolling, keyboard focus, source-marker suppression and reveal, code-block readability, floating chrome, and theme-aware status display.
This release keeps hazakura editor as a Markdown-first Safe Editor. Markdown source remains the saved document model. L Mode is a presentation layer, not WYSIWYG editing, Preview DOM editing, AI assistance, or automatic formatting.
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.9.0
えるモード / L Mode Alpha
- Restores long-document scrolling while keeping the page-like L Mode presentation.
- Improves keyboard focus behavior so line-level editing remains reachable in longer wrapped paragraphs.
- Keeps inactive Markdown source markers quiet while revealing markers on the active or hovered editing line.
- Hides reference-style link labels such as
[OpenCode][2]as source markers, while preserving the visible link text. - Keeps hidden markers from inheriting link underline or marker backgrounds.
- Tunes fenced code blocks and prose spacing for better readability.
- Keeps L Mode tabs and status details as quiet floating hints instead of normal chrome.
- Makes the floating status text theme-aware so it does not inherit high-contrast status-bar colors on a pale floating surface.
Boundary And Release Posture
- Keeps the Safe Editor / Agent Workbench / Review Desk boundaries unchanged from v0.9.0.
- Keeps workspace file-operation promises unchanged: New File, New Folder, Rename, and Move to Trash are the dependable bounded operations; workspace-internal drag/drop Move remains experimental.
- Defers Apple Local Assist / Foundation Models product behavior to a later lane.
Boundary
v0.10.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.10.0_aarch64-warning-expected.dmgPlatform:
macOS Apple Silicon / aarch64SHA-256:
a3dcbb5a2580639ae70060d1fe85d81ed298e33ffcfa7fe0498686faffadec05Checksum file:
hazakura-editor_0.10.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.10.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 alpha presentation layer. 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.10.0_aarch64-warning-expected.dmg.sha256The built and mounted apps must report version 0.10.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.10.0 -R lero003/hazakura-editor --dir .release-verify/v0.10.0
cd .release-verify/v0.10.0
shasum -c hazakura-editor_0.10.0_aarch64-warning-expected.dmg.sha256
hdiutil verify hazakura-editor_0.10.0_aarch64-warning-expected.dmgThe downloaded assets must pass checksum verification and DMG verification, and the mounted app must report version 0.10.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.10.0
Beyond the v0.9.0 smoke surface, v0.10.0 should confirm:
Cmd+Shift+Ltoggles L Mode, the exit pill exits it, and saved Markdown text is unchanged.- L Mode scrolls through long documents with mouse and keyboard.
- Keyboard focus reaches line-level editing positions in wrapped paragraphs.
- Inactive Markdown markers are visually quiet, while active or hovered lines reveal source markers.
- Reference-style links such as
[OpenCode][2]show readable link text without leaking the reference label in normal prose. - Fenced code blocks remain readable and do not overpower surrounding prose.
- The floating status bar uses theme-aware text rather than white status-bar text on a pale surface.
- 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 run typechecknpm test— 142 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.10.0_aarch64-warning-expected.dmg.sha256hdiutil verify hazakura-editor_0.10.0_aarch64-warning-expected.dmg- built-app and mounted-app metadata checks for version
0.10.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
Passed after publication on 2026-06-04.
Remote assets were downloaded into a fresh temp directory and verified:
shasum -c hazakura-editor_0.10.0_aarch64-warning-expected.dmg.sha256hdiutil verify hazakura-editor_0.10.0_aarch64-warning-expected.dmg- mounted-app metadata: version
0.10.0, bundle identifierlab.hazakura.note, product namehazakura editor, 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.
hazakura editor 0.9.0 Warning-expected DMG Preview
hazakura 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 imm...
hazakura editor 0.8.0 Warning-expected DMG Preview
hazakura editor 0.8.0 Warning-expected DMG Preview
Assist Surface Separation And Daily Editor Polish
v0.8.0 ships the detached Agent Window as the primary Agent route, adds daily-editor navigation polish, and keeps the Safe Editor boundary explicit.
This release does not turn hazakura editor into an IDE, Git client, general terminal, agent platform, or automatic edit-apply system. Safe Editor Mode remains primary. Agent Workbench remains opt-in, consent-gated, allowlisted, one-session, no-restore, and no-auto-apply.
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.7.0
Detached Agent Window
- Makes the detached Agent Window the primary Agent Workbench surface, with the old right-pane Agent route removed from the main Safe Editor layout.
- Keeps Agent launch behind the existing Agent Workbench mode gate, restart-required enablement, responsibility consent, selected workspace root, provider allowlist, and one-session runtime.
- Adds
claude/ Claude Code CLI as an allowlisted local CLI provider alongsidecodex,opencode, andpi, using the same provider-not-found and launch-gate path. - Improves Agent Window layout, theme handoff, xterm sizing, Start / Stop behavior, and terminal resize handling.
- Keeps Agent Workbench out of Safe Editor Mode by default and does not add Claude-specific permission UI, MCP UI, arbitrary arguments, provider-add UI, Git integration, auto-apply, or auto-commit.
Daily Editor Polish
- Adds Command Palette (
Cmd+Shift+P) as a thin launcher over existing safe app actions. - Adds bounded Global Search (
Cmd+Shift+F) as a workspace grep: no background indexing, no Git awareness, no project analyzer, and server-side caps on visited files, matches per file, total matches, line text, binary-looking files, excluded directories, and symlinks. - Adds pinned files on the start panel, with pinned entries separated from recents and preserved through the existing recent-file storage.
- Adds print-ready HTML export polish for both Print to PDF handoff and standalone HTML export: serif print body, page margins, page-break hints, code/table/image handling, and link URL annotations.
- Keeps Review Desk low-prominence and explicit: shortcut / View menu / slash entry points remain, but Review Desk is not elevated into a main top-chrome workbench.
Language, Tests, And Structure
- Fixes IME composition handling in Command Palette and Quick Open so Enter / Escape / Arrow keys are not intercepted during Japanese / kana conversion.
- Extends
かなふみcopy coverage across diff/review, slash commands, Agent status, document status, close dialogs, workspace context menus, and related editor chrome. - Adds a minimal Vitest + jsdom TypeScript hook test layer and focused tests for Agent preferences/output cursor, find state/matches, compare state, and document outline.
- Splits major frontend and Rust surfaces by feature area:
src/App.tsxis a small composition file, Tauri and locale helpers are feature-barreled, Rust tests are per-module, Agent session state is separate from command shims, and shared CodeMirror highlight / format / file-preflight helpers are deduplicated.
Boundary
v0.8.0 does not add:
- Git integration, merge editing, staging, commit, push, pull, or repository status.
- LSP, debugger, plugin system, package-manager UI, or 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.
- Developer ID signing, notarization, installer packaging, updater, or distribution-grade Gatekeeper approval.
Agent Workbench can directly launch only the allowlisted local CLI provider names codex, opencode, pi, and claude. What happens inside the provider process is outside hazakura's safety boundary and depends on the provider and the user's choices.
Artifact
hazakura-editor_0.8.0_aarch64-warning-expected.dmgPlatform:
macOS Apple Silicon / aarch64SHA-256:
c6e128b7519c5a3ffc16bd27cb32d804c1daff0b2f2530c5976925b18046659dChecksum file:
hazakura-editor_0.8.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.8.0_aarch64-warning-expected.dmg.sha256Known Limitations
- This release does not add Git integration, LSP, project-wide indexing, arbitrary command execution, auto-apply, or auto-commit behavior.
- Agent Workbench provider behavior remains outside hazakura's safety boundary.
- Claude Code CLI is only another allowlisted local CLI provider in the existing Agent Workbench boundary; there is no Claude-specific permission, MCP, argument, or provider configuration UI.
- Review Desk remains a manual candidate receiver and does not persist review logs, save candidate documents automatically, auto-apply Agent output, or replace Git/merge workflows.
- Global Search is bounded workspace grep, not background indexing or a project analyzer; results may truncate on large workspaces and should be narrowed by query.
- The JavaScript bundle remains large; code splitting is planned for a future product-preview hardening lane.
- 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.8.0_aarch64-warning-expected.dmg.sha256The built and mounted apps must report version 0.8.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.8.0 -R lero003/hazakura-editor --dir .release-verify/v0.8.0
cd .release-verify/v0.8.0
shasum -c hazakura-editor_0.8.0_aarch64-warning-expected.dmg.sha256
hdiutil verify hazakura-editor_0.8.0_aarch64-warning-expected.dmgThe downloaded assets must pass checksum verification and DMG verification, and the mounted app must report version 0.8.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.8.0
Beyond the v0.7.0 smoke surface, v0.8.0 should confirm:
Cmd+Shift+Popens / dismisses Command Palette, fuzzy filtering works, and Enter / click runs existing safe commands only.Cmd+Shift+Fopens / dismisses Global Search, returns file-grouped line results, and Enter / click opens the matched file at the matched line.- Global Search reports truncation on large result sets and does not scan through excluded directories, binary-looking files, or symlinks.
- Pinned file stars persist through restart and separate pinned entries from recent entries.
- Print to PDF / exported HTML uses the print-ready stylesheet and local workspace asset inlining still works.
- Agent Workbench opens through the detached Agent Window, respects mode / consent / workspace gates, and can start / stop one allowlisted provider session.
claudeappears as an allowlisted provider but does not gain Claude-specific settings, arbitrary arguments, provider-add UI, or auto-apply behavior.- Command Palette, Quick Open, and Global Search do not intercept IME composition Enter / Escape / Arrow keys.
かなふみstill renders kana copy across diff/review, slash menu, Agent status, document status, close dialogs, and workspace context menus.
Built-app Smoke Result
Local release verification passed on 2026-06-03:
npm cinpm run typechecknpm testcargo fmt --manifest-path src-tauri/Cargo.toml -- --checkcargo test --manifest-path src-tauri/Cargo.tomlnpm run build:vitenpm run buildgit diff --checknpm audit --audit-level=moderatecargo audit --file src-tauri/Cargo.lockexited 0 with the known allowed warnings.npm run build:dmg-preview- Local
shasum -c - Local
hdiutil verify - Built-app metadata check: version
0.8.0, bundle identifierlab.hazakura.note, executablehazakura-editor - Built-app
codesign --verify --deep --strict --verbose=2 - Mounted-DMG metadata check: version
0.8.0, bundle identifierlab.hazakura.note, executablehazakura-editor - Mounted-DMG
codesign --verify --deep --strict --verbose=2 - Expected Gatekeeper result:
spctl -a -vv -t openrejected the ad-hoc signed app withsource=Insufficient Context.
Interactive UI smoke is not re-claimed by this automation pass; the v0.8 UI direction had already been reviewed manually before publication.
Remote Verification Result
Remote release verification passed on 2026-06-03 after publishing `v0.8....