Skip to content

Releases: lero003/hazakura-editor

Hazakura Editor v0.20.0 Developer / GitHub Preview

18 Jun 10:34

Choose a tag to compare

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.dmg

It packages the Developer / GitHub lane bundle:

Hazakura Editor Dev.app

The 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.0 passed 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 / aarch64 only.
  • 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 audit reports one low-severity DOMPurify advisory
    (GHSA-vxr8-fq34-vvx9). The current Markdown preview sanitization
    path does not use RETURN_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.lock

Review-only dependency checks:

npm outdated
cargo update --manifest-path src-tauri/Cargo.toml --dry-run

Local Verification Result

Passed on 2026-06-18.

  • npm ci passed. It reported one low-severity DOMPurify advisory; no
    high or critical npm advisory was reported.
  • npm run test passed: 99 files / 804 tests.
  • npm run build:vite passed with the existing chunk-size warnings.
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check passed.
  • cargo test --manifest-path src-tauri/Cargo.toml passed: 283 tests.
  • npm run build:apple-assist-helper:live passed; the live helper build
    completed and the availability probe returned available.
  • npm run build:dmg-preview passed. It built the Developer / GitHub
    lane, re-signed Hazakura Editor Dev.app with Developer ID
    Application, built the helper-free App Store preview bundle, generated
    the DMG, ran hdiutil verify, and verified the checksum file.
  • Developer / GitHub app metadata matched: version 0.20.0, bundle
    identifier lab.hazakura.note.dev.
  • Developer / GitHub app passed
    codesign --verify --deep --strict --verbose=2.
  • spctl --assess --type execute rejected the Developer / GitHub app
    with source=Unnotarized Developer ID, which is expected for this
    warning-expected, not-notarized release lane.
  • Mounted DMG app metadata matched version 0.20.0 and bundle
    identifier lab.hazakura.note.dev, passed codesign verification, and
    launched successfully; a new hazakura-editor process 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.lock exited 0 with 17 allowed
    warnings, primarily existing Tauri / GTK stack warnings,
    proc-macro-error, unic-*, and glib unsoundness warnings.
  • npm outdated reported newer @tauri-apps/api, @types/react,
    dompurify, and vitest 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 --check passed.
  • 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.dmg

SHA-256:

eaa5f576d4ec9aeb69429102d527778264f4d2776b03ba800c34911514fd92d9

Publication 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.dmg and
    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 verify passed on the downloaded DMG.
  • Mounted downloaded DMG app metadata matched version 0.20.0 and
    bundle identifier lab.hazakura.note.dev.
  • Mounted downloaded DMG app passed
    codesign --verify --deep --strict --verbose=2.
  • Mounted downloaded DMG app launched successfully; a new
    hazakura-editor process was observed and then stopped.

Hazakura Editor v0.19.0 Source / Local App Release

12 Jun 12:05

Choose a tag to compare

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 build

The local smoke bundle is generated at:

src-tauri/target/release/bundle/macos/Hazakura Editor.app

That 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 counter 8 tracked 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 LICENSE and THIRD_PARTY_NOTICES.md resources 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,
    avoiding osascript, AppleEvents, and automation entitlements.
  • Preserves direct-open save failure recovery and image import safety
    from the v0.18 lane.
  • Fixes Cmd+Shift+F global-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 audit

Review-only dependency checks:

npm outdated
cargo update --manifest-path src-tauri/Cargo.toml --dry-run

Local Verification Result

Passed on 2026-06-12.

  • npm ci passed; 0 npm vulnerabilities.
  • npm run test passed: 94 files / 774 tests.
  • npm run build:vite passed with the existing
    INEFFECTIVE_DYNAMIC_IMPORT and chunk-size warnings.
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check passed.
  • cargo test --manifest-path src-tauri/Cargo.toml passed: 280 tests.
  • npm run build passed, 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 name Hazakura Editor, executable
    hazakura-editor.
  • codesign --verify --deep --strict --verbose=2 passed on the built
    local app.
  • npm run probe:macos-distribution -- "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
    passed: bundled LICENSE and THIRD_PARTY_NOTICES.md were present,
    the Apple Local Assist helper was absent, and broad network server /
    Apple-events entitlements were absent.
  • spctl rejected 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 -n observed a new
    hazakura-editor process, and only that new process was stopped
    afterward.
  • npm audit passed: 0 vulnerabilities.
  • cargo audit --file src-tauri/Cargo.lock exited 0 with 17 allowed
    warnings, primarily existing Tauri / GTK stack warnings,
    proc-macro-error, unic-*, and glib unsoundness warnings.
  • npm outdated reported newer @types/react and dompurify patch
    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 --check passed.
  • 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

11 Jun 21:07

Choose a tag to compare

Pre-release

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.dmg

It packages the Developer / GitHub lane bundle:

Hazakura Editor Dev.app

The 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 with PermissionDenied.
  • 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 MoveToTrashConfirmDialog through 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
    preserving frontendDist: "../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 LICENSE and THIRD_PARTY_NOTICES.md into
    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 / aarch64 only.
  • 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:image size wording alignment
    remain follow-up items in docs/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 -n on the helper-free App Store
    preview bundle failed with RBSRequestErrorDomain 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.lock

The 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 ci passed; 0 npm vulnerabilities.
  • npm run test passed after the clean install: 88 files / 739 tests.
  • npm run build:vite passed with the existing
    INEFFECTIVE_DYNAMIC_IMPORT and chunk-size warnings.
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check passed
    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:live passed; Swift helper build
    completed and availability probe returned available.
  • npm run build:dmg-preview passed. It built both macOS lanes,
    generated the Developer / GitHub lane DMG, ran hdiutil verify, and
    verified the checksum file.
  • npm run build passed after the DMG build, rebuilding the helper-free
    App Store preview lane with the expected Vite warnings and ad-hoc
    notarization-skip warning.
  • npm audit passed: 0 vulnerabilities.
  • cargo audit --file src-tauri/Cargo.lock exited 0 with 17 allowed
    warnings, primarily existing Tauri / GTK stack warnings,
    proc-macro-error, unic-*, and glib unsoundness warnings. No
    release-blocking failure was reported by the command.
  • npm outdated reported newer @types/react and dompurify
    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
    identifier dev.hazakura.editor, product name Hazakura Editor,
    executable hazakura-editor.
  • Local Developer / GitHub app metadata matched: version 0.18.0,
    bundle identifier lab.hazakura.note.dev, product name
    Hazakura Editor Dev, executable hazakura-editor.
  • Local normal and Developer / GitHub apps passed
    codesign --verify --deep --strict --verbose=2.
  • spctl -a -vv -t open rejected 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 passed codesign --verify --deep --strict --verbose=2.
  • open -n "src-tauri/target/release/bundle/macos/Hazakura Editor Dev.app"
    launched the local Developer / GitHub app; pgrep observed the
    hazakura-editor process and the app was quit afterward.
  • Mounting the DMG and opening Hazakura Editor Dev.app from the
    mounted volume also launched successfully; pgrep observed the
    hazakura-editor process and the app was quit during cleanup.
  • open -n "src-tauri/target/release/bundle/macos/Hazakura Editor.app"
    failed with RBSRequestErrorDomain Code=5 /
    Launchd job spawn failed in 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; bundled LICENSE and ...
Read more

hazakura editor v0.17.0

10 Jun 00:01

Choose a tag to compare

Pre-release

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.dmg

It packages the Developer / GitHub lane bundle:

hazakura editor Dev.app

The 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:image limits, 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: more pass 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 ARIA role="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 / aarch64 only.
  • 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.lock

The 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 ci passed; 0 npm vulnerabilities.
  • npm run typecheck passed.
  • npm run test passed: 78 files / 639 tests.
  • npm run build:vite passed with the existing
    INEFFECTIVE_DYNAMIC_IMPORT and chunk-size warnings.
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check passed.
  • cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
    passed: 265 tests.
  • npm run build:apple-assist-helper:live passed; Swift helper build
    completed and availability probe returned available.
  • npm run build:dmg-preview passed. It built both macOS lanes,
    generated the Developer / GitHub lane DMG, ran hdiutil verify, and
    verified the checksum file.
  • npm audit passed: 0 vulnerabilities.
  • cargo audit --file src-tauri/Cargo.lock exited 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
    identifier lab.hazakura.note, product name hazakura editor,
    executable hazakura-editor.
  • Local Developer / GitHub app metadata matched: version 0.17.0,
    bundle identifier lab.hazakura.note.dev, product name
    hazakura editor Dev, executable hazakura-editor.
  • Local normal and Developer / GitHub apps passed
    codesign --verify --deep --strict --verbose=2.
  • spctl -a -vv -t open rejected 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 passed codesign --verify --deep --strict --verbose=2.
  • git diff --check passed before commit.

Local artifact:

src-tauri/target/release/bundle/dmg/hazakura-editor-dev_0.17.0_aarch64-warning-expected.dmg

SHA-256:

a7587995e...
Read more

hazakura editor 0.16.0 Warning-expected DMG Preview

07 Jun 23:15

Choose a tag to compare

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.dmg

It packages the Developer / GitHub lane bundle:

hazakura editor Dev.app

The 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.fontSize into four per-surface values: editorFontSize, previewFontSize, workspaceFontSize, and lModeFontSize. Each surface reads its own value through a :root CSS 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 fontSize key as a fallback for editorFontSize so 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 fontSize slider 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-preview reads font-size: var(--preview-font-size, 15px).
  • lMode.css: :root[data-l-mode="on"] .cm-content and .l-mode-empty-placeholder-text read font-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 absolute font-size: 13px from .workspace-tree and .workspace-empty.
  • workspace.css: re-expresses the absolute 10px kicker as 0.77em and the absolute 11px tree meta / partial text as 0.85em so 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: 13px overrides from .workspace-title and the font-size: 13px from 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-control font (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 / aarch64 only.
  • 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.77em for the kicker, 0.85em for 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.5 in src-tauri/Cargo.lock); local npm audit and cargo audit both 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 save API; 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.lock

The 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 ci completed from the committed lockfile and reported `0 v...
Read more

v0.15.0 Warning-expected DMG Preview

07 Jun 03:42

Choose a tag to compare

Pre-release

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.dmg

It packages the Developer / GitHub lane bundle:

hazakura editor Dev.app

The 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 saved or 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 / aarch64 only.
  • 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 save API; 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 audit can 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.lock

The 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 ci completed from the committed lockfile and reported 0 vulnerabilities.
  • npm run typecheck passed.
  • npm run test passed: 67 files / 465 tests.
  • npm run build:vite passed with the existing large-chunk warning.
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check passed.
  • cargo test --manifest-path src-tauri/Cargo.toml passed: 241 tests.
  • npm run build:apple-assist-helper:live passed and returned Apple Local Assist availability available.
  • npm run build:dmg-preview passed, building both macOS lanes and producing the warning-expected DMG.
  • git diff --check passed before publication prep.
  • npm audit reported 0 vulnerabilities.
  • cargo audit --file src-tauri/Cargo.lock exited 0 with 17 existing allowed warnings from the Tauri / Linux GTK stack and transitive dependencies.
  • Normal app metadata: version 0.15.0, bundle identifier lab.hazakura.note, product name hazakura editor, executable hazakura-editor.
  • Developer / GitHub app metadata: version 0.15.0, bundle identifier lab.hazakura.note.dev, product name hazakura editor Dev, executable hazakura-editor.
  • codesign --verify --deep --strict --verbose=2 passed for both the normal app and the Developer / GitHub app.
  • spctl -a -vv -t open rejected both local apps with source=Insufficient Context, expected for ad-hoc signed, not-notarized apps.
  • DMG checksum verification and hdiutil verify passed.
  • Mounted DMG app metadata and codesign verification passed.
  • Built Developer / GitHub app launch smoke and mounted-DMG app launch smoke both observed a hazakura-editor process.

DMG SHA-256:

e835a2052c47651134cf37c909501947e4fa407a97767b7d8856eb98ee5e9ec2

Remote 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.dmg
    • hazakura-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.sha256 passed against the downloaded DMG.
  • hdiutil verify hazakura-editor-dev_0.15.0_aarch64-warning-expected.dmg passed against the downloaded DMG.
  • Mounted downloaded app metadata: version 0.15.0, bundle identifier lab.hazakura.note.dev, product name hazakura editor Dev, executable hazakura-editor.
  • codesign --verify --deep --strict --verbose=2 passed 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

04 Jun 23:38

Choose a tag to compare

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.dmg

Platform:

macOS Apple Silicon / aarch64

SHA-256:

09194d22ed6a61164fbf72b7a1b17301e530bca289f42a104d3bb6c4305767e8

Checksum file:

hazakura-editor_0.11.0_aarch64-warning-expected.dmg.sha256

Verify 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.sha256

Known 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.dmg

The 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.dmg

The 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+L and 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 typecheck
  • npm test — 188 tests passed
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
  • cargo test --manifest-path src-tauri/Cargo.toml — 178 tests passed
  • npm run build:vite
  • npm run build
  • git diff --check
  • npm audit — 0 vulnerabilities
  • cargo audit --file src-tauri/Cargo.lock — exit 0 with already-allowed Tauri/Linux GTK and unic warnings
  • npm run build:dmg-preview
  • shasum -c hazakura-editor_0.11.0_aarch64-warning-expected.dmg.sha256
  • hdiutil verify hazakura-editor_0.11.0_aarch64-warning-expected.dmg
  • built-app and mounted-app metadata checks for version 0.11.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor
  • codesign --verify --deep --strict --verbose=2 on the built and mounted apps
  • spctl -a -vv -t open rejected the ad-hoc signed app with source=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+L entered 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.md after switching to other.md, marked smoke.md dirty without auto-saving, and persisted only `sm...
Read more

hazakura editor 0.10.0 Warning-expected DMG Preview

04 Jun 03:11

Choose a tag to compare

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.dmg

Platform:

macOS Apple Silicon / aarch64

SHA-256:

a3dcbb5a2580639ae70060d1fe85d81ed298e33ffcfa7fe0498686faffadec05

Checksum file:

hazakura-editor_0.10.0_aarch64-warning-expected.dmg.sha256

Verify 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.sha256

Known 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_file and save_text_file_as still 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.sha256

The 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.dmg

The 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+L toggles 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 typecheck
  • npm test — 142 tests passed
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
  • cargo test --manifest-path src-tauri/Cargo.toml — 160 tests passed
  • npm run build:vite
  • npm run build
  • npm audit — 0 vulnerabilities
  • cargo audit --file src-tauri/Cargo.lock — exit 0 with already-allowed Tauri/Linux GTK and unic warnings
  • npm run build:dmg-preview
  • shasum -c hazakura-editor_0.10.0_aarch64-warning-expected.dmg.sha256
  • hdiutil verify hazakura-editor_0.10.0_aarch64-warning-expected.dmg
  • built-app and mounted-app metadata checks for version 0.10.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor
  • codesign --verify --deep --strict --verbose=2 on the built and mounted apps
  • spctl -a -vv -t open rejected the ad-hoc signed app with source=Insufficient Context, as expected
  • git 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.sha256
  • hdiutil verify hazakura-editor_0.10.0_aarch64-warning-expected.dmg
  • mounted-app metadata: version 0.10.0, bundle identifier lab.hazakura.note, product name hazakura editor, executable hazakura-editor
  • codesign --verify --deep --strict --verbose=2 on 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

03 Jun 23:08

Choose a tag to compare

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+L shortcut, 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.dmg

Platform:

macOS Apple Silicon / aarch64

SHA-256:

8fffb2284c07b430e9fa76515ae31f8ac8ef9999e6615ce1c22a099795c2b75d

Checksum file:

hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256

Verify 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.sha256

Known 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_file and save_text_file_as still 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.sha256

The 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.dmg

The 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+L toggles 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 ci
  • npm run typecheck
  • npm test — 123 tests passed
  • cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
  • cargo test --manifest-path src-tauri/Cargo.toml — 160 tests passed
  • npm run build:vite
  • npm run build
  • npm audit — 0 vulnerabilities
  • cargo audit --file src-tauri/Cargo.lock — exit 0 with already-allowed Tauri/Linux GTK and unic warnings
  • npm run build:dmg-preview
  • shasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256
  • hdiutil verify hazakura-editor_0.9.0_aarch64-warning-expected.dmg
  • built-app and mounted-app metadata checks for version 0.9.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor
  • codesign --verify --deep --strict --verbose=2 on the built and mounted apps
  • spctl -a -vv -t open rejected the ad-hoc signed app with source=Insufficient Context, as expected
  • git 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-editor
  • shasum -c hazakura-editor_0.9.0_aarch64-warning-expected.dmg.sha256
  • hdiutil verify hazakura-editor_0.9.0_aarch64-warning-expected.dmg
  • mounted-app metadata checks for version 0.9.0, bundle identifier lab.hazakura.note, product name hazakura editor, and executable hazakura-editor
  • codesign --verify --deep --strict --verbose=2 on 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...

Read more

hazakura editor 0.8.0 Warning-expected DMG Preview

03 Jun 04:01

Choose a tag to compare

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 alongside codex, opencode, and pi, 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.tsx is 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.dmg

Platform:

macOS Apple Silicon / aarch64

SHA-256:

c6e128b7519c5a3ffc16bd27cb32d804c1daff0b2f2530c5976925b18046659d

Checksum file:

hazakura-editor_0.8.0_aarch64-warning-expected.dmg.sha256

Verify 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.sha256

Known 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.sha256

The 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.dmg

The 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+P opens / dismisses Command Palette, fuzzy filtering works, and Enter / click runs existing safe commands only.
  • Cmd+Shift+F opens / 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.
  • claude appears 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 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 --audit-level=moderate
  • cargo audit --file src-tauri/Cargo.lock exited 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 identifier lab.hazakura.note, executable hazakura-editor
  • Built-app codesign --verify --deep --strict --verbose=2
  • Mounted-DMG metadata check: version 0.8.0, bundle identifier lab.hazakura.note, executable hazakura-editor
  • Mounted-DMG codesign --verify --deep --strict --verbose=2
  • Expected Gatekeeper result: spctl -a -vv -t open rejected the ad-hoc signed app with source=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....

Read more