Skip to content

Releases: WeirdBrains/muninn

Muninn v2.20.0

Choose a tag to compare

@m3talsmith m3talsmith released this 04 Nov 04:28
Immutable release. Only release title and notes can be modified.

Added

  • MCP server (mnnn mcp serve, stdio or HTTP on 127.0.0.1:4743): journals, entries, projects, models and records, reports, live searches, views, org resources and executables as MCP resources and tools
  • MCP clients are named, revocable and have a role (read by default; write, run, full); writes and runs are recorded in history, refusals as mcp.denied (mnnn mcp client …)
  • External MCP servers (mnnn mcp add/list/show/edit/remove/tools/call, Net ▸ MCP… in the TUI), with credentials kept in the encrypted store and never printed
  • Rule sets call external MCP tools (then mcp SERVER TOOL k=v) and read them in conditions (mcp:SERVER/TOOL.path); each tool needs approval before its first call (mnnn mcp approve)
  • Built-in HTTPS for the MCP server with automatic Let's Encrypt certificates, renewed while it runs (mnnn mcp serve --tls-domain mcp.example.com --tls-email you@example.com, --acme-staging, --acme-challenge http-01|tls-alpn-01, or your own --tls-cert/--tls-key; [mcp] and [mcp.acme] in preferences); with TLS it listens on 0.0.0.0:443
  • An nginx configuration and certbot guide for running the MCP server behind a proxy (packaging/nginx/muninn-mcp.conf, docs/mcp-proxy.md)

Fixed

  • Log lines no longer draw over the TUI: while it runs they go to <home>/logs/tui.log (MUNINN_LOG and -v still set the level), and a node with no known peers no longer warns "Failed to trigger bootstrap" every few seconds

Muninn v2.19.0

Choose a tag to compare

@m3talsmith m3talsmith released this 02 Nov 20:22
Immutable release. Only release title and notes can be modified.

Added

  • Live collaboration between nodes that exchanged keys (see docs/collaboration.md):
    • messages, direct or about an item (mnnn msg), kept on both sides, retried until delivered, and notifying as net.message
    • live editing of entries, journals, code spaces and records (mnnn live); edits merge without loss, and presence and cursors are shared
    • the peers view (mnnn peers, W in the TUI): what each peer shares, live sessions you're invited to, org executables and sites
    • running a peer's org executables with its role checks (mnnn peers run), with the output streamed back in chunks
  • muninn.live.v1 protobuf messages and the Live/Open gRPC bidirectional stream (proto/muninn/live/v1/live.proto): live sessions, messages and run output are pushed over TLS authenticated with each node's identity key (TCP 4742 by default; net config --collab-port/--collab-bind/--collab-advertise)
  • Polling over the peer connection as the other transport (--transport poll, MUNINN_COLLAB_TRANSPORT=poll or net config --collab-transport poll, for containers). Nodes fall back to it for each peer that polls, has no listener or can't be reached over a stream, and record why
  • mnnn live watch: follow a session as it changes

Muninn v2.18.0

Choose a tag to compare

@m3talsmith m3talsmith released this 02 Nov 06:06
Immutable release. Only release title and notes can be modified.

Added

  • Notifications: built-in events (exchange requests, org applications, review comments, suggestions and votes, sync conflicts, org code waiting for approval, Muninn warnings, broadcasts) notify you; kinds can be muted
  • A header bell with the unread count, and a Notifications window (!) whose Enter opens the linked review, org, journal, project, rule or history step
  • mnnn notify list/show/read/unread/send/kinds/mute/unmute
  • Rule sets: a notify then-action, and notification and net.broadcast triggers
  • Node broadcasts: mnnn net broadcast TOPIC TEXT --to nodes|connections|all|org:SLUG, and a broadcast rule action
  • Notifications are stored in their own table and synced to linked nodes

Muninn v2.17.0

Choose a tag to compare

@m3talsmith m3talsmith released this 02 Nov 04:08
Immutable release. Only release title and notes can be modified.

Added

  • Org site templates in the app: edit a template's HTML and CSS in the TUI (Orgs ▸ Templates, 7) or $EDITOR (mnnn org template edit ORG T [--css]), manage its files, and use it (u)
  • Live template previews through the local site, good for an hour: mnnn org template preview ORG T, p / Ctrl-P
  • Build steps for compiled templates (React, Jaspr, …), run in a scratch copy and asked for on each node before a new or changed command: mnnn org template build ORG T --cmd CMD --src DIR [--out DIR], b / B
  • Site announcements: a starting or stopping site tells the org's nodes, your linked nodes and (public orgs) connections where it is; mnnn org sites, mnnn org announce, the Site page
  • mnnn org template show and remove, and asset --remove

Muninn v2.16.1

Choose a tag to compare

@m3talsmith m3talsmith released this 02 Nov 01:56
Immutable release. Only release title and notes can be modified.

Added

  • The Muninn 2.0 announcement, linking the 1.0 announcement for the core features: mnnn help announcement-2.0
  • A plan for deploying a public relay (systemd, DNS, firewall, ACME): mnnn help deploy-relay

Changed

  • License: BSD 3-Clause, copyright Weird Brains (was MIT)

Fixed

  • In-app help no longer treats links to images as broken help topics

Muninn v2.16.0

Choose a tag to compare

@m3talsmith m3talsmith released this 01 Nov 20:02
Immutable release. Only release title and notes can be modified.

Added

  • Pipes: run data from any live search, journal, model query, code space or standard input through code spaces and filters, saving to journals, models, projects, orgs or the network on the way: mnnn pipe, or > in the TUI
  • Pipelines: saved, versioned graphs of sources, code, views and filters ending in model tables, with export and import: mnnn pipeline create|run|export|import
  • Pipeline Designer and live tiles: build pipelines node by node and watch each view as a live chart or table beside a monitor: E in the TUI (Projects ▸ Pipelines…)
  • Parser code spaces: built-in CSV, JSON and NDJSON parsers and to-bars: mnnn code parsers, mnnn pipe - --format csv
  • Model design templates: export, import and share model designs; bars are a built-in template: mnnn model export|import, mnnn model templates
  • Org TLS: org domains with your own certificate, else Let's Encrypt (auto-renewed), else self-signed: mnnn org domain add, mnnn org cert status
  • Scheduled rule sets and a built-in certificate expiry watch: mnnn rule create … --every 6h or --cron "0 3 * * *"
  • Website and screenshots: a single-page site in the Muninn theme with a screenshot of every feature (site/, docs/website.md)

Changed

  • Standard input is no longer parsed by Muninn: add a parser step or --format
  • Bars are records of the built-in bars model; upgrading moves them losslessly

Fixed

  • Reviews: an untitled review's thread no longer names its subject twice, and a new comment is not repeated below the thread

Muninn v2.15.0

Choose a tag to compare

@m3talsmith m3talsmith released this 02 Nov 12:17
Immutable release. Only release title and notes can be modified.

Added

  • Share: send any view's item to anything that takes shares (projects, a new journal entry, code space inputs, connections). Press S or click the share button, or run mnnn share
  • Clickable hints: every key shown in a hint is also a button you can click

Changed

  • Docs cover every subcommand; the old net exchange man pages are gone; the repository is now WeirdBrains/muninn

Muninn v2.14.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 02:06
Immutable release. Only release title and notes can be modified.

Added

  • Review copies: joining copies what is reviewed to your node; mnnn review view|show refresh it when the author's node answers and show the copy otherwise (TUI Reviews, Joined tab: Enter)
  • Offline review work: comments, suggestions, highlights and votes made while the author's node is unreachable are kept and sent on mnnn review sync (or s in the TUI), and by a running node every few minutes
  • Record reviews make their model on the reviewer's node or add the missing fields, additively; recorded in history as review.model
  • Closed, dropped or left reviews keep their copy archived and read-only; mnnn review remove forgets it

Muninn v2.13.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 01:46
Immutable release. Only release title and notes can be modified.

Added

  • Code scopes: every code space is global, user or organization, shown and filtered with mnnn code list --scope user|org|org:NAME|global and in the TUI (C, f cycles)
  • Code permissions: roles grant code.view, code.run, code.edit and code.manage (nested); older roles carry over (resources.manage, call, read)
  • Per-node served code: mnnn org code list|serve|stop ORG [SPACE] picks which of an org's spaces this node runs, also for joined orgs
  • Give code to an org with mnnn org give ORG code SPACE or g in the TUI; members pull it with mnnn org sync-code ORG (new, changed or same; approval asked before running)
  • Executables in protobuf: GET /o/ORG/api/executables, POST /o/ORG/api/run/NAME, gRPC muninn.code.v1.Executables/List and <pkg>.<Service>/Run, .proto files under /o/ORG/proto/, and gRPC server reflection
  • Gated private sites: mnnn org edit ORG --gated on shows guests a landing, sign-in and join page only; members sign a browser in with mnnn org sign-in ORG --site URL (one-time link, 12-hour cookie)
  • Web invite links: mnnn org member invite prints https://HOST/o/ORG/join#… while the site is served; the invite stays in the fragment and the join page starts the key exchange
  • Built-in executables shipped with Muninn (invite-redeem, membership-apply): mnnn code builtin list|show|override

Muninn v2.12.1

Choose a tag to compare

@github-actions github-actions released this 30 Oct 23:13
Immutable release. Only release title and notes can be modified.

Added

  • Peers behind a relay stayed unreachable after connecting: each of the relay's addresses made its own circuit and the first failing one cancelled the rest; one circuit per relay is used now, the most reachable
  • Fe80 and Docker bridge addresses are never offered or announced, even inside relay circuits