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.4.0 - 2026-06-28

Highlights

  • Protocol composition with imports and inheritance for modular protocol design
  • Runtime execution engine with state tracking and execution traces
  • Protocol comparison (diff) for detecting changes between protocols
  • Interactive step-through debugger with breakpoints and state inspection
  • Security analysis with 10 built-in attack surface detection rules

Added

  • Protocol roles, deployment components, and trust relationship types (f75f00b)
  • Schema and validation for protocol roles, components, trust relations (d96b81f)
  • SVG component diagram renderer (046206b)
  • SVG trust relationship diagram renderer (087d0f3)
  • Markdown protocol role matrix renderer (4e87b4e)
  • Mermaid component and trust diagram renderers (3ac8b80)
  • CLI roles, components, and trust list commands (c2aacc2)
  • CLI support for component and trust diagram formats (14d3ff8)
  • ProtocolImport and ProtocolExtends types for composition (69aa941)
  • Protocol resolver with circular import/extends detection (7339d66)
  • Standard library protocols: oauth_entities.json, mcp_entities.json (669a273)
  • CLI resolve command for debugging composition (87d33d1)
  • Protocol execution engine (Executor) with state tracking (e80e979)
  • ExecutionContext, ExecutionTrace, and ExecutionStep types (e80e979)
  • CLI simulate command with verbose and JSON output (f6c8d38)
  • Protocol comparison with DiffItem, ProtocolDiff types (53ab027)
  • CLI diff command with text, JSON, markdown output (47c2fd4)
  • Execution trace visualization renderer (text, SVG, Mermaid) (f6acc27)
  • Interactive protocol debugger (DebugSession) with breakpoints (5745fdf)
  • CLI debug command for step-through execution (47c2fd4)
  • Security analysis package with 10 built-in rules (SEC001-SEC010) (0341d5b)
  • CLI analyze command with severity filtering and CI fail-on (47c2fd4)
  • High-contrast SVG theme for accessibility (WCAG AA) (dd316a3)
  • Mermaid state diagram rendering (643e971)
  • OAuth2 examples with security and state features (898c711)
  • OAIAF architecture example with roles, components, trust (d3abf6e)

Documentation

  • Phase 12 features documentation in README and MkDocs (394ca1e)
  • CLI reference for new commands (simulate, diff, debug, analyze) (394ca1e)
  • Go library examples for comparison, simulation, debugging, analysis (394ca1e)
  • Protocol architecture tables for nodes and edges (619ef59)
  • Roadmap updates for Phases 8-12 completion (11222f2)

Tests

  • Execution engine tests for state tracking and trace recording (6a78105)
  • Protocol comparison tests for entities, flows, phases (53ab027)
  • Interactive debugger tests for breakpoints and stepping (5745fdf)
  • Security analysis tests for all 10 rules (0341d5b)

v0.3.0 - 2025-05-18

Highlights

  • Native SVG rendering with static sequence diagrams, animated flow visualizations, and network boundary diagrams
  • CSS animation support with per-message control and semantic presets (request, success, error, warning, highlight)
  • Template system with 5 built-in styles: default, minimal, sketch, blueprint, dark
  • Network boundary diagrams for visualizing trust zones and security boundaries

Added

  • SVG sequence diagram renderer with light/dark theme support (1b0ef7f)
  • SVG animated renderer with CSS offset-path flow dots (1b0ef7f)
  • Per-message animation control via flow.animation field (2ee5da6)
  • Semantic animation presets: request, success, error, warning, highlight, none (2ee5da6)
  • Global animation configuration via metadata.animation (2ee5da6)
  • Stagger modes for animation sequencing: sequential, overlap, parallel, phase (2ee5da6)
  • SVG template system with embedded template resources (18b9ad8)
  • Built-in templates: default, minimal, sketch, blueprint, dark (18b9ad8)
  • Custom template loading from directory via --template-dir (1742ea1)
  • Template configuration with layout, fonts, colors, and animation settings (18b9ad8)
  • Network boundary diagram renderer (svg-network format) (a145005)
  • Boundary inference from entity.metadata.network field (a145005)
  • Explicit boundary configuration via metadata.networks (a145005)
  • Boundary styles: trusted, dmz, external, cloud (a145005)
  • Horizontal and vertical layout directions for network diagrams (a145005)
  • Cross-boundary connection visualization (a145005)
  • CLI --template flag for selecting SVG templates (1742ea1)
  • CLI --template-dir flag for custom template directories (1742ea1)
  • CLI --theme flag for SVG theme selection (light, dark, auto) (1742ea1)
  • CLI --boundary flag for network boundary overrides (a59ebac)
  • EntityMetadata type with Network and ServiceType fields (a145005)
  • ProtocolMetadata type with Networks and NetworkLayout configuration (a145005)
  • FlowAnimation type for per-flow animation control (2ee5da6)
  • AnimationPreset type for semantic animation presets (2ee5da6)

Documentation

  • SVG renderer design document with animation and template specifications (e83e59d)
  • Release notes reorganization into docs/releases/ (b30a961)

Tests

  • SVG renderer tests for static and animated output (4b06b55)
  • Per-message animation tests with preset validation (4e03ce3)
  • Template system tests for loading and CSS generation (b0aebe6)
  • Network boundary diagram tests with layout verification (abd8e39)

v0.2.0 - 2025-04-18

Highlights

  • Add annotations, alternatives, conditions, notes, and nested phases to PIDL
  • Enhanced renderers with support for alt/else blocks, opt conditionals, and nested phase visualization
  • New D2 diagram format with sequence, flow, and architecture rendering styles
  • Comprehensive validation for phase hierarchies and new flow features

Added

  • D2 diagram renderer with sequence, flow, and architecture styles (a5f8f35)
  • AnnotationType enum: security, performance, deprecated, info, warning, error (843c18d)
  • Annotation type with Type, Text, and Details fields (843c18d)
  • Alternative type for alternative/error flow paths (843c18d)
  • Phase.Parent field for nested phase hierarchies (843c18d)
  • Flow.Condition field for conditional flows (when clause) (843c18d)
  • Flow.Note field for visible diagram notes (843c18d)
  • Flow.Annotations field for typed annotations (843c18d)
  • Flow.Alternatives field for alternative paths (843c18d)
  • Protocol.RootPhases(), ChildPhases(), PhaseDepth() helper methods (843c18d)
  • Flow.HasCondition(), HasNote(), HasAnnotations(), HasAlternatives() helper methods (843c18d)
  • IsValidAnnotationType() validation function (843c18d)
  • JSON Schema definitions for annotation and alternative types (fffad47)
  • Phase parent reference validation with cycle detection (37afe81)
  • Annotation type and text validation (37afe81)
  • Alternative condition and flows validation (37afe81)
  • Mermaid opt blocks for conditional flows (ab82c3b)
  • Mermaid alt/else blocks for alternatives (ab82c3b)
  • Mermaid note right of for flow notes and annotations (ab82c3b)
  • Mermaid colored rect blocks for nested phases (ab82c3b)
  • PlantUML opt/alt/else blocks for conditionals and alternatives (ab82c3b)
  • PlantUML colored box containers for nested phases (ab82c3b)
  • D2 condition label prefixes and grouped alternatives (ab82c3b)
  • D2 nested phase groups with hierarchy support (ab82c3b)
  • DOT condition edge labels and alternative edges (ab82c3b)

Tests

  • Tests for nested phases, phase parent validation, circular hierarchy detection (d9dd392)
  • Tests for annotation types and text validation (d9dd392)
  • Tests for alternative flows, conditions, and entity references (d9dd392)
  • Tests for flow helper methods (HasCondition, HasNote, etc.) (d9dd392)
  • Tests for phase hierarchy helpers (RootPhases, ChildPhases, PhaseDepth) (d9dd392)

v0.1.0 - 2025-04-18

Highlights

  • Protocol Interaction Description Language - a JSON-based DSL for describing protocol choreography that compiles to diagrams
  • Support for OAuth 2.0, PKCE, OIDC, MCP, and A2A protocol examples
  • Three diagram output formats: PlantUML, Mermaid, and Graphviz DOT

Added

  • Core PIDL library with Protocol, Entity, Flow, and Phase types (6555cbb)
  • JSON parser with file and reader support (6555cbb)
  • Validation logic with detailed error reporting (6555cbb)
  • High-level operations: ValidateFile, ValidateFiles, NewMinimalProtocol, WriteProtocolFile (6555cbb)
  • JSON Schema (draft 2020-12) for PIDL validation (61f0a39)
  • Embedded JSON Schema for programmatic access (61f0a39)
  • PlantUML sequence diagram renderer (524e920)
  • Mermaid sequence diagram renderer (524e920)
  • Graphviz DOT data flow diagram renderer (524e920)
  • Renderer interface with format parsing and file extension helpers (524e920)
  • Embedded protocol examples with API: List, Get, GetProtocol, GetJSON (66f6aa6)
  • OAuth 2.0 Authorization Code flow example (66f6aa6)
  • OAuth 2.0 + PKCE flow example (66f6aa6)
  • OpenID Connect Authentication flow example (66f6aa6)
  • MCP tool invocation flow example (66f6aa6)
  • A2A agent delegation flow example (66f6aa6)
  • pidl validate command for validating PIDL JSON files (8bf725d)
  • pidl generate command for generating diagrams (PlantUML, Mermaid, DOT) (8bf725d)
  • pidl examples command for listing and showing built-in examples (8bf725d)
  • pidl init command for creating new protocol files from templates (8bf725d)

Documentation

  • README with installation, quick start, CLI reference, and library usage (45e558b)
  • Full PIDL language specification document (45e558b)
  • Project roadmap with phased implementation plan (45e558b)
  • UTF-8 icons for README features list (e6830b0)

Build

  • Go module initialization (284d99a)
  • GitHub Actions CI/CD workflows (9e7c3af)
  • Linting fixes for golangci-lint compliance (03e1460)

Tests

  • Unit tests for core library: types, parser, validation, operations (d448ea7)
  • Tests for render package: format parsing, all renderers (524e920)
  • Tests for examples package: embedding, listing, retrieval (66f6aa6)
  • 60 tests total with full linting compliance (d448ea7)

Infrastructure

  • MIT License (bc35c74)
  • Gitignore with binary and ideation file patterns (284d99a)