Skip to content

v0.15.0 Warning-expected DMG Preview

Pre-release
Pre-release

Choose a tag to compare

@lero003 lero003 released this 07 Jun 03:42
· 250 commits to main since this 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.