Skip to content

Releases: mdostal/portunus

v0.26.0

Choose a tag to compare

@mdostal mdostal released this 19 Aug 03:53
2132b50

What's Changed

  • plan(portunus-petitio-rbac): activate Petitio -- per-agent scoped access control by @mdostal in #98
  • plan(portunus-petitio-rbac): resolve open questions by @mdostal in #100
  • feat: portunus agent init/status -- one-command onboarding (v0.26.0) by @mdostal in #101
  • feat: portunus update check/run -- CLI self-update, security-hardened by @mdostal in #102
  • chore: pre-release hygiene -- PII scrub, SECURITY.md/CODE_OF_CONDUCT.md by @mdostal in #103
  • Promote: dev -> main by @github-actions[bot] in #99
  • chore: reconcile stale epic bookkeeping (provenance-graph, session-vault) by @mdostal in #104
  • [01-identity-plumbing] thread Identity through check_injectable() -- zero behavior change by @mdostal in #106
  • [02-policy-schema-and-audit-only-evaluation] PolicyRecord.principal + repo scope + audit-only evaluation by @mdostal in #107
  • [03-opt-in-enforcement] portunus roles enforce on|off|status -- NotAuthorized by @mdostal in #108
  • [04-closeout] portunus-petitio-rbac epic complete -- default-on for new vaults, docs, live proof by @mdostal in #109
  • Promote: dev -> main by @github-actions[bot] in #105

Full Changelog: v0.25.2...v0.26.0

v0.25.2

Choose a tag to compare

@mdostal mdostal released this 16 Aug 18:37
e944f4b

Fix: desktop app icon (and the landing page hero image sharing its source art) had a white-corner artifact from an opaque white background baked into the source art. Clean master source established, full icon set regenerated. See CHANGELOG.md.

v0.25.1

Choose a tag to compare

@mdostal mdostal released this 16 Aug 18:25
cad3c1e

Fix: portunus reg rm now purges the underlying stored value from the local-encrypted backend, not just the registry pointer. See CHANGELOG.md.

v0.25.0

Choose a tag to compare

@mdostal mdostal released this 16 Aug 18:08
ef38877

Git-repo scan targets + source classification

Following up on manual verification that no real leak-scan finding had ever touched this codebase's own history, that manual technique is now built in.

  • portunus leak-scan config add-repo <path> -- scans a repo's FULL git history (all branches, all commits), not just the working tree
  • Every finding classified by source: log / local / git-history, and for the latter, public/private/unknown via gh repo view (never a guess)
  • Public-repo findings get the loudest treatment anywhere they render -- the single most severity-relevant fact this feature can surface

See CHANGELOG.md for full details.

v0.24.0

Choose a tag to compare

@mdostal mdostal released this 16 Aug 14:54
ce0d3b8

Leak visibility across the UI + in-app report view

Following a real-vault dogfooding pass that surfaced genuine leaked secrets (a Google Generative AI key found in 48 locations), the leak-scan feature's findings are now visible everywhere, not just in Settings.

  • LeakBadge -- an independent "⚠ leak: severity" flag on Console (+ a new "Leaked" facet), Vault Map, Project Explorer, and DetailDrawer (full history + Mark rotated action)
  • "Leaked in N conversations" counts distinct files, not raw finding count
  • In-app report view (Settings' "View report") -- a small custom renderer, no new dependency

Verified against the real production desktop app and real vault before release.

See CHANGELOG.md for full details.

v0.23.1

Choose a tag to compare

@mdostal mdostal released this 16 Aug 02:29
b7ec2bd

Container deployment (sidecar / Kubernetes)

Most real installs won't be "download the desktop app" -- pull an image and run it alongside another service.

  • New Dockerfile (CLI + MCP server, non-root, persistent-volume PORTUNUS_HOME, gcloud CLI included)
  • New docker-compose.yml sidecar worked example
  • README "Running in a container" -- deployment shapes, the persistent-volume hazard, per-backend auth paths (GKE Workload Identity recommended for production k8s)

Deliberately scoped to same-pod/same-host reachability for v1 (the MCP server is stdio-only today) -- not a network-shared broker service, which would need the currently-stub RBAC actually enforced.

See CHANGELOG.md for full details.

v0.23.0

Choose a tag to compare

@mdostal mdostal released this 15 Aug 23:57
ed52da8

Leak detection across logs/.claude/local files

Detects whether a managed secret's actual value shows up somewhere it shouldn't -- logs, .claude conversation transcripts, shell history, or any other explicitly configured local path. Advisory only, detective not preventive.

  • portunus leak-scan -- incremental, line-based scanning, never touches a value beyond an in-memory comparison
  • Escalating severity (warn -> urgent -> critical) as time passes without rotation
  • Settings "Leak scan" UI section
  • Full MCP automation surface (portunus_run_leak_scan and friends) -- an agent can trigger a scan, but only over paths a human already configured
  • New portunus-vault-audit Claude Code skill + documented cron/launchd scheduling

See CHANGELOG.md for full details.

v0.22.0

Choose a tag to compare

@mdostal mdostal released this 15 Aug 20:42
bd7dc61

Metadata crawl + deploy-docs report

Follow-on to v0.21.0's suggest/confirm workflow -- the "bulk-suggest" work that epic explicitly deferred.

  • portunus crawl / portunus_crawl_candidates MCP tool -- discovery bundler (sm_name, group, project, org, repo, vault binding, rotation binding) for references missing metadata. Never a writer, never an LLM caller -- bundles context for an external LLM/human to act on via the existing portunus_suggest_metadata.
  • portunus report -- Markdown vault-state report (org -> project structure, per-reference metadata, explicit Gaps section). A real deploy-docs starting point, independent of crawl.
  • Settings "Crawl & report" UI -- fetch the crawl bundle (framed honestly as LLM context, never automatic), download the report.

See CHANGELOG.md for full details.

v0.21.0

Choose a tag to compare

@mdostal mdostal released this 15 Aug 18:25
e43e504

portunus-vault-trust-and-access (Chain C -- epic complete, 10/10)

Follow-on to v0.20.0. Completes the epic.

  • LLM-suggests, human-confirms metadata -- portunus_suggest_metadata MCP tool proposes description/purpose/tags/group into a pending sidecar, never the live field. Confirm applies via the same retag() a manual edit would use; reject discards without ever touching the live field.
  • Role/policy schema -- STUB ONLY -- portunus roles set/delete/show + a new Settings page. Writes genuinely persist, but check_injectable()/retag() are byte-identical whether or not any policy exists -- proven directly, not just asserted. Deliberate groundwork for Petitio's future access-level engine.
  • Settings page -- org/project hierarchy overview + roles config, always visibly labeled "not yet enforced."
  • Expanded first-run setup wizard -- explains Portunus, walks through your first vault's backend choice (including a real in-UI trigger for gcloud auth login), a literally-disabled roles preview, and a first discover pass. Only ever shown once, on a genuinely uninitialized vault.
  • In-app About/Help page.

Full changelog: https://github.com/mdostal/portunus/blob/main/CHANGELOG.md#0210---2026-08-15

v0.20.0

Choose a tag to compare

@mdostal mdostal released this 15 Aug 17:10
d1e7e51

portunus-vault-trust-and-access (checkpoint 1 of 2)

Checkpoint release -- the metadata-quality + organization half of a larger epic. A stubbed role/policy schema, LLM-suggests/human-confirms metadata workflow, Settings page, expanded setup wizard, and About/Help page are planned as a follow-on release.

  • org field -- an organizational umbrella one level above project, e.g. firefly-events spanning ffe-cicd/shindig. Fully additive.
  • Sub-vault navigation -- Vault Map is now a real org -> project drill-down instead of one flat card wall.
  • Missing-metadata warning -- a real badge + clickable Metadata facet in Console.
  • Custom views -- named, human-curated reference collections (portunus views create/add/remove/delete/show), locked from day one with a real multi-process-proven store.
  • Fixed: repo/source_files already worked in the CLI but never reached the UI.

Full changelog: https://github.com/mdostal/portunus/blob/main/CHANGELOG.md#0200---2026-08-15