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, andtrustlist 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
resolvecommand for debugging composition (87d33d1) - Protocol execution engine (Executor) with state tracking (
e80e979) - ExecutionContext, ExecutionTrace, and ExecutionStep types (
e80e979) - CLI
simulatecommand with verbose and JSON output (f6c8d38) - Protocol comparison with DiffItem, ProtocolDiff types (
53ab027) - CLI
diffcommand with text, JSON, markdown output (47c2fd4) - Execution trace visualization renderer (text, SVG, Mermaid) (
f6acc27) - Interactive protocol debugger (DebugSession) with breakpoints (
5745fdf) - CLI
debugcommand for step-through execution (47c2fd4) - Security analysis package with 10 built-in rules (SEC001-SEC010) (
0341d5b) - CLI
analyzecommand 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.animationfield (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-networkformat) (a145005) - Boundary inference from
entity.metadata.networkfield (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
--templateflag for selecting SVG templates (1742ea1) - CLI
--template-dirflag for custom template directories (1742ea1) - CLI
--themeflag for SVG theme selection (light, dark, auto) (1742ea1) - CLI
--boundaryflag 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 validatecommand for validating PIDL JSON files (8bf725d)pidl generatecommand for generating diagrams (PlantUML, Mermaid, DOT) (8bf725d)pidl examplescommand for listing and showing built-in examples (8bf725d)pidl initcommand 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)