Releases: AndreaBozzo/gitnodes
Release list
v0.2.0
A consolidation release. No new subsystems — packaging, dependencies, the demo, and the documentation are brought back in line with what GitNodes actually is.
The demo is now an engineering knowledge base
examples/demo-brain replaces the previous fictional space program with Harbor Engineering: 37 notes of ADRs, systems, incidents, runbooks, postmortems, and issues.
The point is the spine rather than the volume. ADR-0004 moves session state into Redis to make the gateway stateless, and records the benefit without stating what Redis must then guarantee. Fourteen months later a batch job fills the same cluster and its LRU policy evicts live sessions. The postmortem files four issues, and one of them becomes ADR-0009, which supersedes ADR-0004.
That loop is the argument for a typed graph. Reconstructing it by hand means reading a wiki, a tracker, and an incident log at once; node_links walks it in four calls. The new agent walkthrough traces exactly that question over MCP, with real tool calls and real output.
Some notes are deliberately wrong — a runbook that was stale during the incident that needed it, a sev-3 with no postmortem — because real knowledge bases are.
Security
- ammonia 4.1.4 for RUSTSEC-2026-0213: attribute filters were not applied by
attributeName, so ajavascript:URL survived in SVG<set>/<animate>tags. Ammonia is the sanitiser on the markdown rendering path. Only reachable where those tags are allowed, which is not the default. - h2 0.4.19 for RUSTSEC-2026-0258, event-listener 5.4.2 for RUSTSEC-2026-0221.
Dependencies
Migrated to reqwest 0.13, which is not a version bump: RequestBuilder::query and ::form moved behind opt-in features, now enabled per crate. The default TLS backend moves from native-tls to rustls, which removes OpenSSL from the dependency tree entirely — one less system library for the single-file binary to find at runtime.
Also cleared the remaining backlog: tower-http 0.7, rmcp 2.2, time 0.3.53, http-body-util 0.1.4, tailwindcss 4.3.3, and six pinned GitHub Actions.
Corrections
- WinGet has been live since 0.1.0. The README said "pending review" for a month after winget-pkgs#396497 merged. Both
winget install AndreaBozzo.GitNodesandbrew install andreabozzo/tap/gitnodesare documented as the working channels they are. - The WinGet manifest templates had drifted two schema versions behind what was actually published, and omitted a
Microsoft.VCRedist.2015+.x64dependency added during the 0.1.1 review. Fixed at the template, so it carries forward. - The
cargo auditCI job had been failing on a permissions error rather than on any finding — a security gate that can go red for non-security reasons teaches people to ignore it. AGENTS.mddocumented four subcommands where the binary dispatches six.- 0.1.1 shipped with no changelog entry at all; it is recorded retroactively.
Install
brew install andreabozzo/tap/gitnodes # macOS / Linux — live
winget install AndreaBozzo.GitNodes # Windows — 0.2.0 pending reviewOr download a binary below and put it on PATH. Verify against SHA256SUMS.
Full detail in the changelog.
v0.1.1
GitNodes 0.1.0 — First public release
GitNodes 0.1.0 — the first public release. 🎉
GitNodes points at a GitHub repository of markdown notes and makes it navigable: a force-directed graph of how your notes link together, a wiki-style reader, ranked full-text search, and an in-app editor that commits changes straight back to GitHub. Declare your own note types and relationships in one .gitnodes.yml and GitNodes builds the graph, the typed links, and the search index for you.
Git stays the single source of truth — there is no separate database to migrate into. Point a coding agent (Claude Code, Cursor, Codex, …) at the same repo over MCP and it can search and walk the graph instead of grepping blind, then write changes back as ordinary, reviewable commits.
▶ Try the live demo · 📖 Getting started
Install
No Rust toolchain, no compiling — a single gitnodes binary on your PATH.
macOS / Linux — download, review, run:
curl -fSLo install-gitnodes.sh https://raw.githubusercontent.com/AndreaBozzo/gitnodes/main/scripts/install.sh
less install-gitnodes.sh # review before running
sh install-gitnodes.shWindows (PowerShell) — download, review, run:
Invoke-WebRequest https://raw.githubusercontent.com/AndreaBozzo/gitnodes/main/scripts/install.ps1 -OutFile install-gitnodes.ps1
Get-Content .\install-gitnodes.ps1 # review before running
& .\install-gitnodes.ps1Both installers verify the download against SHA256SUMS before placing the binary. Prefer to fetch it yourself? Grab the archive for your platform from the assets below and put gitnodes (or gitnodes.exe) on PATH. Or build from source.
Homebrew and WinGet packages follow shortly after this release.
Verify a manual download
sha256sum -c SHA256SUMS --ignore-missing # Linux
shasum -a 256 -c SHA256SUMS --ignore-missing # macOSFirst run
gitnodes init my-brain # starter notes + .gitnodes.yml + AGENTS.md
cd my-brain
gitnodes preview # read-only graph; no GitHub, no loginThe same working tree is immediately available to coding agents over a read-only stdio MCP server:
gitnodes mcp .When you want collaborative editing and pull-request workflows, push the repo and run gitnodes serve — it discovers the target from the Git remote and reuses your gh auth login.
What's in 0.1.0
- Local read-only preview and MCP access over the working tree —
search_brain,list_nodes,read_node,node_links,validate_brain, uncommitted files included. - Single-user GitHub CLI / PAT serving mode —
gitnodes servereusesgh auth;GITHUB_PATas an explicit fallback. - Starter-brain scaffolding and a generated per-brain
AGENTS.mdthat teaches agents your taxonomy. - Single-file release builds for Linux, macOS (Intel + Apple Silicon), and Windows, plus Homebrew/WinGet metadata generation.
- GitNodes visual identity — prism-style graph nodes, the wordmark in the app header, and social/SEO metadata (description, Open Graph, Twitter card) so shared links render richly.
- End-to-end guides and an implementation-backed feature inventory.
Renamed from the former working name Brain UI to GitNodes across the workspace, crates, commit messages, and in-app copy.
Full notes: CHANGELOG.md
Under the hood
A mature core already in place: config-driven node types, an atomic multi-file Git commit layer, a rebuildable SQLite projection, webhook + SSE live sync, multi-repository routing, bidirectional work-item sync, and permission-aware direct-write vs. pull-request flows. Operational readiness (/healthz, /readyz, rate limiting, session encryption) is closed. See the roadmap for direction.
Assets
| File | Platform |
|---|---|
gitnodes-x86_64-unknown-linux-gnu.tar.gz |
Linux x86_64 |
gitnodes-x86_64-apple-darwin.tar.gz |
macOS Intel |
gitnodes-aarch64-apple-darwin.tar.gz |
macOS Apple Silicon |
gitnodes-x86_64-pc-windows-msvc.zip |
Windows x86_64 |
SHA256SUMS |
Checksums for all archives |
License
Split-licensed: the library crates (gitnodes-domain, gitnodes-graph, gitnodes-auth, gitnodes-storage) under Apache-2.0; the deployable app (gitnodes-app) under AGPL-3.0-or-later.
Copyright © 2026 Andrea Bozzo.
v0.1.0-rc.2
GitNodes 0.1.0-rc.2 — rehearsal (embedded hydration fix)