Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.

Unreleased

v0.2.0 - 2026-03-02

Highlights

  • ThreatModel canonical format for multi-diagram threat models with shared metadata and framework mappings
  • JSON Schema generation and embedding for validation support

Added

  • ThreatModel type as canonical format for multi-diagram threat models with shared metadata (70801bd)
  • schema/ package with JSON Schema generation and embedding (threat-model.schema.json, diagram.schema.json) (70801bd)
  • cmd/genschema tool for generating JSON schemas from Go types (70801bd)
  • CLI auto-detection of ThreatModel vs DiagramIR format (2763dc1)
  • CLI generates separate D2 files for each diagram when processing ThreatModel (2763dc1)
  • STIX 2.1 export for OpenClaw example (4d7e2f1)

Changed

  • Unified examples/openclaw/openclaw.json replaces separate diagram files (70801bd)
  • CLI validate command reports ThreatModel format and diagram count (2763dc1)
  • Consolidated STIX exports into single vulnerability file (65585f1)

Documentation

  • Architecture diagram added to README showing ThreatModel flow (433e1a2)
  • README updated for ThreatModel as recommended format (3d12567)
  • MkDocs documentation updated for ThreatModel format (6c120a5)
  • JSON Schema documentation page added (2763dc1)

v0.1.0 - 2026-03-01

Highlights

  • JSON-based intermediate representation for threat modeling diagrams with D2 and STIX 2.1 export
  • Comprehensive security framework mappings: MITRE ATT&CK, MITRE ATLAS, OWASP Top 10 (API/LLM/Web), CWE, CVSS, STRIDE

Added

  • JSON IR schema for threat modeling diagrams (DFD, Attack Chain, Sequence) (cf579f5)
  • ir package with types for elements, boundaries, flows, attacks, actors, and messages (cf579f5)
  • ir/mappings.go with framework mapping types for MITRE ATT&CK, ATLAS, OWASP, CWE, CVSS, and STRIDE (cf579f5)
  • diagram package for programmatic diagram construction with D2 rendering (622761e)
  • stix package for STIX 2.1 export (Bundle, AttackPattern, ThreatActor, Infrastructure, Indicator, Vulnerability) (a04d572)
  • stride package with STRIDE threat category types and color mappings (06828c7)
  • killchain package with MITRE ATT&CK tactics and Lockheed Martin Cyber Kill Chain phases (156ae02)
  • tms CLI with generate, validate, and version subcommands (38cb8fa)
  • tms generate --stix flag for STIX 2.1 JSON export (38cb8fa)
  • tms generate --svg flag to render D2 diagrams to SVG (38cb8fa)
  • D2 style library with classes for STRIDE threats, trust boundaries, DFD elements, and attack flows (fb84caf)
  • OpenClaw WebSocket vulnerability example with DFD, attack chain, and sequence diagrams (923f9b8)
  • Demo vulnerable server and malicious page for educational attack demonstration (29d839c)
  • Validation for diagram type-specific field requirements (cf579f5)

Changed

  • CLI migrated from flag to Cobra framework for consistent experience and extensibility (5c4bc99)

Documentation

  • README with installation, quick start, and framework mapping reference (084c3a1)
  • OpenClaw article.html with comprehensive vulnerability analysis and OWASP mappings (923f9b8)
  • D2 style reference for STRIDE threat annotations and trust boundaries (084c3a1)
  • README badges for CI, lint, SAST, Go Report Card, and docs (b356c7a)
  • MkDocs documentation site with Material theme (ece6be6)

Build

  • GitHub Actions workflows for CI, lint, and CodeQL SAST (cf9f749)
  • Dependabot configuration for Go modules and GitHub Actions (d9ddcdc)