Releases: neat-technologies/neat
Release list
v0.4.28
NEAT 0.4.28
This is the release where connecting a provider stops being an internal API and becomes a command.
Turn on a connector from the CLI. neat connector add <provider> wires a pull-based OBSERVED connector for Supabase, Railway, Cloudflare, or Firebase — validated against the provider on the way in, credentials kept as $VAR references and never written into the graph. list, remove, and test round it out, and the daemon reads connectors.json at boot and runs each poll loop. No more hand-editing daemon internals to see live data.
See it in the dashboard. A new Connectors page shows every configured connector and its poll health, credentials redacted.
The graph fills in. Real Divergences, Find, Policies, Logs, and Settings pages; distinct canvas shapes for routes, GraphQL, gRPC, and WebSocket operations; blast-radius and dependency actions on any node. Cloudflare edges now route to file-grain when a Hono route matches.
The agent isn't blind to any of it. The skill docs now say OBSERVED can come from a connector's poll, not only OTel — so an integration NEAT never traced can still carry live edges, incidents, and staleness.
Full diff: v0.4.27...v0.4.28
v0.4.27
What's Changed
- Fix a calendar-flaky test in the Railway connector by @dcdeniz in #681
- Design connector configuration: ~/.neat/connectors.json + neat connector CLI (ADR-130) by @dcdeniz in #678
- Implement the Supabase connector (ADR-124) by @dcdeniz in #682
- Design a shared junction layer for connector outbound calls (ADR-131) by @dcdeniz in #684
- Route every connector's outbound call through a shared junction (ADR-131) by @dcdeniz in #686
- Design a unified logs surface: native OTLP logs + connector log retention (ADR-132) by @dcdeniz in #688
- Stop the Inspector panel crashing on nodes with missing fields by @dcdeniz in #710
- Make the observed=0 overlay dismissable again by @dcdeniz in #711
- Bump to v0.4.27 by @dcdeniz in #721
Full Changelog: v0.4.26...v0.4.27
v0.4.26
What's Changed
- Share the repo into tart VMs with a named --dir mount by @dcdeniz in #644
- Prefer a running daemon for /api/config's no-project default by @dcdeniz in #645
- Signal when the OTLP receiver drops spans for a bad token by @dcdeniz in #646
- Run the staleness loop on the per-project daemon by @dcdeniz in #647
- Mint an OBSERVED CONNECTS_TO edge for in-process database reads by @dcdeniz in #648
- Extract server routes and match HTTP client calls to them by @dcdeniz in #649
- Mint an observed edge for queue consumers and producers by @dcdeniz in #650
- Give GraphQL services an observed operation-grain topology by @dcdeniz in #651
- Give gRPC a method-grain, two-sided topology by @dcdeniz in #652
- Connectors plane + Supabase connector design (ADR-124) by @dcdeniz in #654
- Give WebSocket apps a channel-grain observed topology by @dcdeniz in #655
- Design the Railway connector (ADR-127) by @dcdeniz in #660
- Design the Firebase connector, scoped to Functions/Run/Hosting by @dcdeniz in #662
- Cloudflare Workers/Pages connector design (ADR-129) by @dcdeniz in #663
- Document the Vercel edge-runtime installer path (ADR-126) by @dcdeniz in #661
- Connectors plane: shared pull/map/fuse scaffold by @dcdeniz in #665
- Add the Vercel edge-runtime installer path for Next.js (ADR-126) by @dcdeniz in #668
- Implement the Railway connector (ADR-127) by @dcdeniz in #673
- Implement the Firebase connector for Cloud Functions / Cloud Run / Hosting request logs by @dcdeniz in #672
- Implement the Cloudflare Workers/Pages connector, v1 whole-file grain (ADR-129) by @dcdeniz in #669
- Fix a raw NUL byte in the Firebase connector's map.ts by @dcdeniz in #675
- Bump to v0.4.26 by @dcdeniz in #676
Full Changelog: v0.4.25...v0.4.26
v0.4.25
v0.4.24
v0.4.23
v0.4.22
What's Changed
- Publish a nightly channel to npm by @dcdeniz in #527
- Caret-pin nightly cross-deps to satisfy the lockstep contract by @dcdeniz in #528
- Anchor the parent-span fallback edge to the parent's call site by @dcdeniz in #537
- Drive the Prisma facade through a real client in the capture tests by @dcdeniz in #538
- Cover the neat sync remote round-trip by @dcdeniz in #539
- Behavioral tests for the untested MCP wrappers by @dcdeniz in #540
- Report a TypeScript service's language as typescript by @dcdeniz in #543
- Discover Python projects with a root manifest by @dcdeniz in #544
- Make the runtime layer engage on more app shapes, and say so when it can't by @dcdeniz in #547
- GUI-redo contracts: web shell IA, live canvas layout, design system by @dcdeniz in #548
- GUI redo (core): multi-page shell, ELK canvas, two-mode observed overlay by @dcdeniz in #549
- Govern the client profile seam (GUI · CLI · MCP) + remote mode by @dcdeniz in #551
- Record the hosted storage substrate: one Postgres (graph + pgvector + CTE traversal) by @dcdeniz in #554
- Govern how contracts are enforced: four pillars + a per-contract enforcement tag by @dcdeniz in #556
- Align the design-system Base UI clause with ADR-101 and the shipped @base-ui/react@^1.6.0 by @dcdeniz in #558
- Rework the GUI to one shell over many daemons via per-daemon profiles (ADR-101) by @dcdeniz in #552
- Open the governance-kernel arc: the policy overlay (L1) over the graph by @dcdeniz in #561
- Kernel contract (ADR-094): FRONTIER provenance gains staged-proposal write semantics by @dcdeniz in #563
- Govern the rest of the launch sprint: kernel contracts, runner, hosted, soft policies by @dcdeniz in #565
- Wire the contracts to Claude on read, not only on edit by @dcdeniz in #567
- Lint that every contract names its enforcement pillar by @dcdeniz in #571
- Make worker and queue app shapes engage, or say why they can't by @dcdeniz in #572
- Surface the policies that apply where an agent is working by @dcdeniz in #573
- Stability patches: daemon ports, OTLP ingest, graph fusion, and extraction by @dcdeniz in #606
- Stability patches (2): precision, cross-service root-cause, query surfaces, daemon, infra, blast radius by @dcdeniz in #613
- Stability patches (3): trace-stitcher provenance, watch re-extract, fusion incidents, daemon OTLP, incident quality by @dcdeniz in #628
- Reconcile contracts to ADRs 110-116 and revert daemon uncaught-exception handling by @dcdeniz in #630
- Release 0.4.22 by @dcdeniz in #631
Full Changelog: v0.4.19...v0.4.22
v0.4.19
What's Changed
- Report only this daemon's own project from GET /projects by @dcdeniz in #517
- Let the daemon finish its graceful shutdown before exiting by @dcdeniz in #516
- Resolve unprefixed routes to the daemon's own project by @dcdeniz in #520
- Drop live dashboard sockets so a graceful stop doesn't hang by @dcdeniz in #521
- Bump to 0.4.19 by @dcdeniz in #522
- Build each package before testing it by @dcdeniz in #523
Full Changelog: v0.4.18...v0.4.19
v0.4.18
What's Changed
- Add the project-daemon contract: one daemon per project (ADR-096) by @dcdeniz in #503
- Per-project daemon: one daemon per project on its own ports (Wave 1) by @dcdeniz in #508
- Fresh-macOS-VM e2e pipeline (e2e/tart) by @dcdeniz in #507
- Lead NEAT's framing with the AI coding context problem by @dcdeniz in #512
- Bind the dashboard to its project's daemon.json port and spawn it lazily by @dcdeniz in #511
- Re-home machine-wide discovery off the write-locked registry by @dcdeniz in #510
- Resolve the MCP server's daemon per project from neat-out/daemon.json by @dcdeniz in #509
- Bump to 0.4.18 by @dcdeniz in #515
Full Changelog: v0.4.17...v0.4.18
v0.4.17
What's Changed
- README pass: lead with file-grained divergence, one-command path, security policy by @dcdeniz in #486
- User guide: getting-started, concepts, querying, AI agents, troubleshooting by @dcdeniz in #487
- Record incidents from failing HTTP responses, not just ERROR spans by @dcdeniz in #490
- Update README.md by @dcdeniz in #491
- Point the MCP server at the daemon URL neat skill writes by @dcdeniz in #489
- Open the SSE stream at connect time with an initial comment frame by @dcdeniz in #492
- Prune dead-path entries from the project registry by @dcdeniz in #493
- Update README.md by @dcdeniz in #494
- Surface @supabase/supabase-js calls as declared edges by @dcdeniz in #497
- Disambiguate the graph counters and quiet Next's lockfile patch on build by @dcdeniz in #496
- Make the docs match the shipped tool surface and current contracts by @dcdeniz in #498
- Lead user-facing copy with the graph engine; surface policies by @dcdeniz in #499
- Resolve the bare verb's project from the registry by @dcdeniz in #501
- Bump to 0.4.17 by @dcdeniz in #502
Full Changelog: v0.4.16...v0.4.17