Releases: ilianAZZ/mutka
Releases · ilianAZZ/mutka
Release list
v2.1.0
2.1.0 (2026-07-04)
Features
- macos: register Mutka as a folder handler and mutka:// scheme (f5f066d)
- macos: register Mutka as a folder handler and mutka:// scheme (2b0c583), closes #62
Bug Fixes
- open-with: make the "Open With…" picker fast (async + icon caching) (0761940)
- open-with: render the app picker off the main thread (d9225f3)
Performance Improvements
v2.0.0
2.0.0 (2026-07-03)
⚠ BREAKING CHANGES
- permissions: modules calling host.fs.openItem / host.sys.openWith must now declare the
launchpermission (previouslyfs:read).
Features
- add Ideas & Feature Ledger for envisioned modules and core feasibility (98c4285)
- cli: disable
--run <action>by default (opt-in build flag) (4688943) - cli: disable
--run <action>by default (opt-in build flag) (32e4d53) - cli: move --run setting from build-time to Keychain + add settings UI toggle (e9dc4fc)
- errors: enhance error handling and notification integration across modules (4099a7d)
- fs: default Delete to Trash, keep permanent delete (2b50a1c)
- fs: default Delete to Trash, keep permanent delete as a second action (14d4ed4)
- modules: purge a module's secrets and cache on uninstall (0fe93d5)
- modules: purge a module's secrets and cache on uninstall (e46f017)
- permissions: implement PermissionError class and update error handling in dispatchCapability (c19689d)
- permissions: split app-launching out of fs:read into a
launchpermission (ca1a7cb) - reveal: update version to 1.0.1 and restore launch permission (bcb5de1)
- telemetry: add Settings toggle + declarative consent modal (d5e31fa)
- telemetry: opt-in consent before any usage reporting (f5674c1)
- telemetry: require opt-in consent before any usage reporting (7346a70)
- website: add article authors, sources, comparison page, cover images and SEO (d336a58)
- website: article authors, sources, comparison, cover images & SEO (b73456f)
Bug Fixes
- articles: fix twitter name ilianazz_ (cfe9254)
- file-list: roll size units over on rounding so files near 1 MB do not show "1024.0 KB" (749744c)
- file-list: roll size units over on rounding so files near 1 MB don't show "1024.0 KB" (0f3757e)
- fs: refuse mutations targeting ~/.mutka (module persistence escape) (5c7d8e7)
- fs: refuse mutations targeting ~/.mutka (module persistence escape) (76fe316)
- security: don't ship the web inspector in release builds (dd9ee86)
- security: don't ship the web inspector in release builds (0803102)
- ui: resolve react-hooks lint warnings in the desktop app (f0b0c83)
- ui: resolve react-hooks lint warnings in the desktop app (252279f)
- website: add twitter url to author card (88af843)
v1.1.0
1.1.0 (2026-06-29)
Features
- cli: run --list-actions/--run/--help as headless commands (6af99ba)
- cli: run --list-actions/--run/--help as headless commands (6dc7e5f), closes #36
- modules: fix module delete + visible error/success toasts (b7db4d0)
- modules: fix module delete + visible error/success toasts (644981f)
- modules: source-agnostic author (link + avatar), clickable via the OS (d3068b8)
- modules: source-agnostic author (link + avatar), clickable via the OS (9efa130)
- sandbox: deliver action:dispatch payload to subscribers (567bbbe)
- sandbox: expose app version via sys.appVersion (31eb2c1)
- telemetry: anonymous usage reporting to PostHog (ed959c8)
- telemetry: report anonymous usage to PostHog (c445f64)
- updater: add in-app update notification with progress (5d9b17e)
- updater: VSCode-style update notification with progress (9ab1076)
- website: add "trusted by employees at" section with 5 logos (272f1f2)
- website: add "trusted by employees at" section with 5 logos (338c170)
Bug Fixes
- backend: poison-safe FFI locks, clean exit, drop hot-path log (a05e4dd)
- breadcrumb: scheme-aware segmentation so virtual paths (webdav:) aren't mangled (#34) (30879f0)
- builtins: catch floating async host calls in event handlers (#31) (145d5a0)
- ci: add pnpm-workspace.yaml so root install covers website/ (3acd44f)
- ci: install website deps before running typedoc (960a0c4)
- cli: canonicalize relative path args so
mutka .opens the correct directory (#35) (a03c72a) - clipboard: only 'cut' moves, and always refresh after a paste (#32) (4100c9d)
- clipboard: sync ClipboardStore after copy/cut, unique name on paste conflict (4a94523)
- clipboard: sync ClipboardStore after copy/cut, unique name on paste conflict (8725769)
- codebase audit hardening — crashes, blocking ops, correctness, perf (55703d4)
- context-menu: a module isEnabled throw must not crash the whole menu (#29) (a808505)
- discovery: log failing sources + max next-page across sources (#24,25) (681ac96)
- drag: resolve merge conflict — keep both shrinkIcon and safeDragIcon (921ebc7)
- drop-import: skip malformed drops + don't abort the batch on one bad file (#33) (77c4560)
- event-bus: isolate subscriber errors so one bad handler can't starve others (#7) (ee1afc6)
- file-list: prioritize internal drag over external drop, shrink drag icon (cf039dc)
- file-list: remove aggressive body click handler and duplicate drag handlers (2a7044c)
- file-list: use top positioning instead of transform on virtual rows (d7ff71e)
- file-ops: root/scheme-safe path join + per-item delete that reports failures (#17,18) (1fbfb8b)
- fs: error on a cross-provider move instead of silently dropping files (#6) (d2088c6)
- home: fall back to home when the restored dir no longer exists (#20) (4fd8e98)
- listing: drop a stale directory read so fast navigation can't show the wrong folder (#16) (a472b05)
- sandbox: reject in-flight calls when a worker crashes, instead of hanging forever (#19) (bcb6a19)
- sandbox: type the event whitelist against EventMap to prevent drift (#13) (7e7fe63)
- stores: validate persisted localStorage values + drop dead token (e0ea953)
- ui: scheme-gate the dialog choose icon + native drag preview (#21,46) (a2c70f1)
Performance Improvements
- columns: batch custom-column cell resolution (c0ff76a)
- columns: batch custom-column cell resolution (1 call per column, not per row) (0aff599), closes #25
- columns: memoize column/cell computation so it doesn't re-run every App render (#10) (24d4e7f)
- file-list: virtualize rows and memo with lifted icons (c05e992), closes #24
- file-list: virtualize rows, memo FileRow, lift icon resolution (3237448)
- fs: run dir/copy/move/delete/read off the main thread + lowercase ext (bf559c5)
- module-registry: sort open handlers once per module, not per insertion (#14) (4e02d43)
- watcher: replace per-nav thread::spawn with one long-lived worker (c7c7028)
- watcher: replace per-nav thread::spawn with one long-lived worker (907d122), closes #27
v1.0.0
1.0.0 (2026-06-28)
⚠ BREAKING CHANGES
- stabilize the module API for the first stable release
Features
- add dev community modules for folder inspection, image dimensions, SQLite browsing, and WebDAV support (31e376f)
- add DownloadIcon component and enhance HomePage layout with GitHub and download links (ce50f78)
- add feature articles and visuals components (b9f2bfd)
- cli: add CLI support — mutka <path>, --picker, --run, --list-actions (56feab2)
- create-module: ship a build workflow so discovery finds TS modules (5a951b8)
- create-module: ship a build workflow so discovery finds TS modules (2f178fe)
- discovery: fall back to dist/index.js for TS modules (6cde555)
- discovery: transform module discovery into a pluggable module system (746f2ab)
- docs: update installation instructions and permissions for modules (56a9c4a)
- events: expand event whitelist for sandboxed modules with two tiers (ac498cd)
- icons: improve folder opening speed by rendering icons off the main thread and caching (f84d1f6)
- modules: infer command ids → type-check host.onCommand (5877d97)
- modules: infer command ids → type-check host.onCommand (b8499cd)
- modules: install a local index.js from the explorer context menu (994d32e)
- modules: make the install review update-aware (f928aa4)
- modules: module-contributed buttons + a Mutka file picker (local install Stage 2) (f9339c8)
- modules: pluggable discovery registry + richer module cards (715364f)
- modules: typed host + @mutka-explorer npm tooling for authors (60b41ac)
- modules: typed host + @mutka-explorer npm tooling for authors (e4a282d)
- permissions: split network into network:public / network:local tiers (b01c396)
- picker: add mode option (file/folder/any) to file picker (462f37a)
- stabilize the module API for the first stable release (1fe13cc)
- telemetry: add core.telemetry module to track folder open timing with lifecycle events (125ed48)
Bug Fixes
- build: drop deprecated cocoa crate, silence objc cfg warnings (ed9b3ca)
- cli: add missing trait imports and Result return types (d2738f6)
- cli: remove unsupported
longfield from CLI arg config (b1a8881) - create-module: force-add dist in the build workflow (613cfc9)
- module-sdk: keep author-facing types React-free (no react dep) (28e9cdc)
- module-sdk: keep author-facing types React-free (no react dep) (355e220)
- module-sdk: keep author-facing types React-free (no react dep) (34f3387)
- modules: cap module source size on install, read, and probe (5 MiB) (c025de8)
- network: make the network capability pure I/O (one role, one permission) (7da819d)
- picker: clarify button labels — "Open Current Folder" vs "Open <file>" (89cf7ef)
- release: create annotated tag so --follow-tags pushes it (09816a9)
- security: disable withGlobalTauri (drop the ambient window.TAURI) (3c875c3)
- security: force module network egress through the gated host.net via CSP (325b3f7)
- security: no redirect-following, tighter IP tiers, config + module-file isolation (e68c6f5)
- security: require fs:read to receive file:external-drop (it carries file bytes) (3a15ce2)
- sidebar: ensure activeId syncs correctly on tab click (b82f980)
Mutka v1.0.0-rc.4
rc build from main (new release-please pipeline)
Mutka v0.2.0
Minor
- Add changeset to handle versionning and auto release pipeline
- Manage modules with UI, store config in home dir