Skip to content

Changelog

  • Nix flake modernization: migrated from flake-utils/eachDefaultSystem to flake-parts with treefmt-nix for standardized formatting checks.
  • Dependency updates: golang.org/x/sync, golang.org/x/sys, golang.org/x/term, nixpkgs bumped to latest.

A patch release: go-output hotfix bump. Non-breaking.

  • go-output v0.30.0 to v0.30.1: picked up upstream patch fixes across all go-output modules.

A maintenance release: go-output v0.30.0 API adoption. Non-breaking.

  • go-output v0.23.x to v0.30.0: adopted the go-output v0.30.0 API across diagram and table rendering code.
    • d2.NewD2Diagram() to d2.NewDiagram().
    • output.GraphStyle to output.NodeStyle (diagram theming).
    • output.TableData to output.Table, output.RenderTableData() to output.RenderTable().

A maintenance release: daghtml SDK adoption, hook refactoring, and dependency upgrades. Non-breaking.

  • daghtml SDK adoption: replaced 306 lines of inline Sugiyama DAG JavaScript in html.templ with the go-output/daghtml SDK.
  • Hook refactoring: centralized per-hook preamble logic into hookContext helpers in hooks.go.
  • CSS token extraction: extracted inline CSS color values into named constants for maintainability.
  • Test infrastructure: centralized test fixtures and extracted shared helpers into helpers_test.go.
  • Go 1.26.4: bumped Go version and updated tooling dependencies.

A feature release: tree and table export formats, plus CLI coverage. Non-breaking.

  • Tree export: dependency DAG rendered as ASCII tree or HTML nested-list tree.
  • Table export: service summary table in 16+ formats (table, json, csv, tsv, markdown, xml, d2, yaml, html, tree, mermaid, dot, jsonl, asciidoc, toml, plantuml).
  • CLI convert subcommand extensions: tree, htmltree, and table output formats.

A feature release: D2 diagram export, go-output adoption, and Plugin API parity. Non-breaking.

  • D2 diagram export via go-output/d2.
  • Plugin-level diagram wrappers: all 9 export formats now have both Write and Export methods.
  • Diagram rendering adopted go-output: replaced the hand-rolled diagramFormatter interface with validated go-output renderers.

A milestone release: CLI tool, replay engine, NDJSON import/export, JSON Schema, CSV/TSV/DOT export.

  • Replay engine (ReplayEvents): reconstructs a Report from a flat event stream.
  • NDJSON reader (ReadEvents): line-delimited JSON events with 1 MB max-line guard.
  • Loader API (LoadReport): auto-detects JSON vs NDJSON.
  • CSV/TSV export: service data as delimited values.
  • DOT diagram export: Graphviz digraph.
  • JSON Schema: Draft 2020-12 schema generated from Go types.
  • CLI tool (cmd/auditlog): info, convert, diff, validate, schema subcommands.
  • NewReport constructor: builds a validated Report from core data.
  • Real-time event streaming via Config.OnEvent callback.
  • Removed LoadReportFromJSON (use MigrateReport).
  • Removed LoadReportFromNDJSON (use LoadReportFromReader with FormatNDJSON).
  • MigrateReport scope counting: migration now reuses countScopeNodes.
  • Filtered reports: functional options to slice by name, type, scope, event type, time range.
  • PlantUML export: component diagram format.
  • Mermaid export: flowchart format for GitHub/GitLab/Notion.
  • Health check recording: RecordHealthCheck wrapper.
  • Config.OnEvent callback.
  • Initial release.
  • Plugin with hooks for registration, invocation, shutdown.
  • JSON and NDJSON export.
  • HTML visualization with warm amber dark theme.
  • Dependency graph inference via invocation stack.
  • Scope tree tracking.
  • Service type detection (lazy, eager, transient, alias).