Skip to content

Releases: STAIxBWLB/maru

v1.1.19 - Steady Workspace

Choose a tag to compare

@entelecheia entelecheia released this 07 Oct 13:39
9ba75ed

v1.1.19 - Steady Workspace

  • Preserve the latest application mode and terminal layout choices when settings reads or save acknowledgements arrive late (#388, #442).
  • Isolate native test workspaces and browser profiles, identify the visible owned terminal session, and propagate setup failures through the runner.
  • Verify native menu actions, PTY text and paint, and terminal split restoration with five consecutive runs on the reviewed fix commit.

This patch follows v1.1.18. The proposal approval, durable job receipt, and Cmd+R workspace reload features remain included.

v1.1.18 - Bound Intent

Choose a tag to compare

@entelecheia entelecheia released this 05 Oct 12:55
7f3c201

Maru v1.1.18 - Bound Intent

  • Bind one-time proposal approvals to the exact workspace, provider, operations, file bytes and policy. Private audit receipts record grants and reject stale or replayed approvals (#426).
  • Retain durable job run receipts across app and CLI restarts, including process ownership, termination and launcher recovery evidence (#427).
  • Route Cmd+R to Reload Workspace through the native menu (#438).

Includes the reviewed changes in #439.

v1.1.17 - Structured Canvas

Choose a tag to compare

@entelecheia entelecheia released this 05 Oct 06:53
bd2b18f

v1.1.17 - Structured Canvas

  • Add pinned Archify 3.0.0 interchange and architecture/workflow generation with strict validation, preview, scoped apply, stale-result rejection and one-step undo.
  • Copy validated Architecture gallery specs into new Diagram documents without modifying source submodules or overwriting existing files.
  • Preserve legacy v7/v8 documents through schema v9 migration and guarded backups; conditional saves compare the exact loaded file bytes.
  • Bundle the pinned engine in desktop artifacts, resolve installed Node through the existing runtime paths, and preserve dirty documents when cancelling new-generation replacement.
  • Validate imports against pinned schemas, enforce UTF-8 payload budgets and portable output paths, and choose semantic export types correctly.

This release delivers the architecture/workflow MVP for #433. Sequence/dataflow/lifecycle editing, verified HTML publication and exploration remain open in P2-P4.

v1.1.16 - Recovered Rhythm

Choose a tag to compare

@entelecheia entelecheia released this 04 Oct 03:51
d861011
  • Calendar jobs can recover missed daily fires (#420). An opt-in
    missedFire schedule uses a lightweight interval guard and durable run
    state, preserving the calendar cadence and retrying unsuccessful runs.
  • Six-agent skill sync reports effective profiles and link sources
    (#396, #422).
    Mixed sticky roots fail with an explicit retarget remedy;
    selected sync keeps unrelated installs intact.
  • The Kakao relay operator console is available in Comms (#419, #421).
    It follows the app theme and supports local-network relay connections.
  • Source builds now require Rust 1.89 or newer. The application and CLI
    declare the same MSRV, while the verification toolchain remains pinned.
  • The offline skill bootstrap includes the corrected summary-schema
    example (#417, skills#73).
    The snapshot was refreshed from the signed
    OTA channel.

v1.1.15 - Clear Path

Choose a tag to compare

@entelecheia entelecheia released this 30 Sep 23:06
893d3fd

v1.1.15 - Clear Path

  • Skills bundle updates no longer fail with uv: command not found when
    Maru is opened from Finder or the Dock (#414, #415).
    The skills
    environment setup now gets the same augmented PATH as Maru's other tool
    calls, so it finds uv, Homebrew and pnpm in ~/.local/bin or
    /opt/homebrew/bin. The bundled setup script reuses an existing uv
    instead of reinstalling it, no longer edits shell profiles, and runs the
    Homebrew step without auto-update or upgrades, warning instead of failing.
  • The native responsiveness e2e waits for the app to boot (#413). It
    polls for the harness bridge before sampling, like the other native specs,
    instead of failing about 300 ms after launch on a slow start.

v1.1.14 - Blueprint Gallery

Choose a tag to compare

@entelecheia entelecheia released this 29 Sep 15:58
9df1eff

v1.1.14 - Blueprint Gallery

  • An Architecture mode (설계도) gathers archify blueprints (#410, #411).
    Every <slug>-rendered.html viewer that a dev/ or sites/ submodule keeps
    in docs/architecture/, docs/ or architecture/ is listed by repo group
    with its spec title (or slug) and search, read straight from the working
    tree. The selected viewer runs in a sandboxed iframe over a single-file
    asset grant, follows the app theme live, and offers reveal in Files and
    opening the file outside the app. Stray clones, symlinks leaving a
    submodule, and plain-folder workspaces list nothing.
  • Remote links no longer replace app content in the main webview (#411).
    A navigation to a remote http(s) page inside the main webview, such as a
    viewer or preview link, is cancelled and handed to the system browser,
    at most one per second. On Windows, viewer links stay inert; Sites
    browsing is unchanged.
  • Skill federation reaches six agents (#401). Claude, Codex, Kimi, Qwen,
    Grok and OpenCode can each receive an explicit skill selection through
    maru skills sync --check|--apply --tools <csv> --skills <csv>,
    discoverable with maru skills capabilities --json; native, plugin and
    system skills keep their own installers.
  • Adaptive agent runtime policy (#404, #405). An opt-in policy picks the
    runtime, model, effort and permissions per task before provider argv is
    built, native Claude/Codex flags derive from typed policy, and exact
    memory/vault no-confirmation grants carry across chat, structured and
    background runs. Manual selections and legacy schedules are unchanged.

v1.1.13 - Guarded State

Choose a tag to compare

@entelecheia entelecheia released this 27 Sep 10:51
275def8

v1.1.13 - Guarded State

  • A failed Today brain-dump autosave is reported immediately, not silently
    kept pending (#381, #393).
    The text is written to a recovery copy in its
    own workspace with the usual notice, so typing after a workspace switch can
    no longer replace it; when the recovery copy itself cannot be written, the
    value stays pending and the quit flush reports the failure instead of
    clean.
  • An app mode picked during boot stays picked (#387, #394). A selection
    made in the first second after launch is queued and persisted once settings
    become writable, and boot, settings hydration, and the save-echo listener no
    longer revert it to the stored mode.
  • Preview links open in the system browser (#382, #395). Clicking a link
    inside the HWPX or Markdown preview no longer navigates Maru's own webview:
    http(s) links open externally and other schemes are ignored. The Files
    trash confirmation also names one selected file correctly and counts "and N
    others" as N minus one (#389).
  • Studio's HWPX fill keeps template text for blank fields (#380, #397).
    Only fields with an entered value are sent, so label cells and inline
    라벨: 값 text survive; an explicit per-field clear sends an empty value
    on purpose, and the clear marks persist with the document's Studio state.
  • Browser dialogs are gone (#377, #384). window.confirm/prompt paths
    now use native and in-app dialogs, so the confirmations above actually
    appear in the shipped app, and the file watcher ignores recovery copies
    under .maru/recovery/ (#390).
  • HWPX checks, preview, forms, and fill run on the released hwp (#364,
    #379).
    kordoc_lite is retired; Maru now requires hwp 1.3.0 or newer
    (#399), and v1.3.1 fixes the inline-label fields that always reported
    unmatched (hwp-cli#385).
  • Skill editor saving works (#370, #371, #376). Cmd+S and Save As apply
    to the skill editor, and its confirm queue handles one dialog at a time.
    Terminal tab close also ends SIGHUP-catching children without job control
    (#372, #375), and switch-time brain-dump edits keep their recovery copy
    tidy (#378).

v1.1.12 - Durable Sessions

Choose a tag to compare

@entelecheia entelecheia released this 26 Sep 22:43
1a2ffb4

v1.1.12 - Durable Sessions

  • Closing a terminal tab or quitting ends what it should, and only that
    (#353, #361).
    A tab close runs SIGHUP, then SIGTERM after 2 s, then
    SIGKILL after 4 s: SIGHUP reaches the tab's process group and the pty's
    foreground job, SIGTERM and SIGKILL reach the shell or agent itself and the
    foreground job. A shell that traps SIGHUP, and a foreground job such as
    trap '' HUP; sleep 600, no longer outlive the tab, while disowned jobs
    and nohup'd processes started from an agent tab keep running. Quitting
    sweeps every terminal within the 3 s quit window.
  • Edits are saved, not dropped, on unmount and quit (#353, #361).
    Scratchpad, meeting sources, Studio, graph layout, and the Today brain dump
    save a pending edit when their view closes or the app quits, and all but the
    brain dump also when the workspace switches (#369 tracks the brain dump).
    Quit waits up to 3 s for those saves and shows "saving" after 300 ms.
  • A save that fails on close or quit leaves a recovery copy and says so
    (#353, #361).
    The unsaved content is written under .maru/recovery/, a
    notification names the file and the reason with "Open recovery copy", and a
    failed or timed-out quit keeps Maru open with Retry, Quit anyway, and
    Cancel.
  • Cmd+Q and the close button share one guard, including the skill editor
    (#353, #361).
    Cmd+Q is now Maru's own menu item: it asks an open skill
    editor about unsaved changes with one native dialog at a time, then applies
    main's own guard, and quits from either window. The quit dialogs now show
    above Settings, and the main window's close button now actually closes it in
    shipped builds (a missing window permission had blocked it).
  • The Scratchpad folder tree no longer covers the memo list (#365). With a
    terminal docked on the right, the tree, list, and editor stay side by side
    instead of the tree opening as a drawer over the list.
  • HWPX export, fields, fill, and PDF run on the released hwp (#359, #360,
    #362, #363).
    HWPX export and legacy hwpx_skill templates route to native
    hwp, and workspace .hwpx field scans, fills, and PDF conversion use the
    same released binary. Without it, export and fill fail closed with a named
    reason, field scans fall back to the built-in scanner with a warning, and PDF
    conversion falls back to pandoc.
  • The context hint writes AGENTS.md only (#355, #356). Writing the hint
    no longer creates CLAUDE.md, and removing it deletes a CLAUDE.md it left
    empty. The bundled skills environment's instruction file is AGENTS.md too
    (#354).
  • The bundled skills snapshot is refreshed (#357, #358). Fresh and offline
    installs get the current skills bundle: yunmun, linkedin-manager, and
    ship are added, and the retired hwpx skill is removed in favor of the
    released hwp (see the HWPX entry above). The bundle now carries 39 skills.

v1.1.11 - Lighter Start

Choose a tag to compare

@entelecheia entelecheia released this 25 Sep 06:51
08d4024

v1.1.11 - Lighter Start

  • Startup warms only the modes that need it (#340, #341). The idle-time
    preload now warms just Today, Tasks, Meetings, Drafts, Gap, and Agents, the
    modes whose styles moved out of the startup stylesheet in v1.1.10. Studio,
    Graph, Diagram, and the other modes load when first opened, so a session
    that never uses them no longer evaluates Studio's rich-text editor (about
    1.3 MB) or the Graph renderer (about 335 KB) at launch. Every mode still
    opens fully styled.

v1.1.10 - Tighter Bundle

Choose a tag to compare

@entelecheia entelecheia released this 25 Sep 05:17
cfca652

v1.1.10 - Tighter Bundle

  • v1.1.10 ships the v1.1.9 changes (#338). The v1.1.9 release was tagged
    but published no installers: its Windows build stopped at the mode CSS
    ownership guard, which compared Windows-style paths against /-separated
    ones. The guard now compares POSIX paths, so the stricter CSP and the
    per-mode lazy stylesheets below reach every platform in this release.

Carried over from v1.1.9 (no installers were published for it)

  • The shipped CSP no longer lets scripts load from blob: URLs (#334,
    #335).
    script-src is now 'self' only, so content injected into the
    webview cannot mint executable script URLs; worker-src keeps blob: for
    the graph layout worker. The build fails if a Tauri config, the bundle, or
    the compiled binary would bring script-src blob: back.
  • Each mode's styles load with that mode (#334, #335). Today, Tasks,
    Calendar, Meetings, Drafts, Gap, and Agents CSS moved out of the startup
    stylesheet into their lazy chunks, cutting the initial CSS to about 45 KiB
    gzip against the 70 KiB budget. Mode chunks are warmed one at a time in idle
    time after launch, and shared chrome such as task dialogs stays in the
    startup stylesheet so it is styled before any mode loads.