Skip to content

Latest commit

 

History

History
116 lines (79 loc) · 5.91 KB

File metadata and controls

116 lines (79 loc) · 5.91 KB

Changelog

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

The format is based on Keep a Changelog.

[0.5.0] - 2026-06-28

Added

  • C# (.NET) parser for the AWS Lambda Durable Execution SDK for .NET preview (Amazon.Lambda.DurableExecution 0.x). Detects all durable primitives from IDurableContext: StepAsync, WaitAsync, CreateCallbackAsync, WaitForCallbackAsync, WaitForConditionAsync, RunInChildContextAsync, InvokeAsync, ParallelAsync, MapAsync.
  • Supports both the executable programming model (Main + LambdaBootstrap) and the class-library model ([assembly: LambdaSerializer]).
  • Extracts names from C# name: named arguments and detects DurableBranch<T> patterns for parallel branches.
  • Handles Allman-style if/else braces (common C# convention) for condition detection.
  • Supports generic type arguments in method calls (e.g., StepAsync<T>(), InvokeAsync<TPayload, TResult>()).
  • Two example files: OrderWorkflow.cs (executable model) and OrderProcessor.cs (class-library model).
  • 16 test cases covering all primitives and both entry-point models.
  • VS Code extension activates for .cs files.

[0.4.1] - 2026-06-27

Fixed

  • Mermaid edge labels used invalid #nbsp; instead of &nbsp;, causing rendering errors
  • Pipe characters (|) in condition node labels (e.g., || operators) now escaped to prevent Mermaid 11 parse errors
  • Duplicate nodes generated from try/catch blocks inside condition branches (switched to getChildStatements)
  • Dynamic step names showing generic "step" label — TypeScript now handles PropertyAccessExpression, Identifier, TemplateExpression, and CallExpression; Python now extracts function references and variable name= arguments; Java now supports dotted identifiers, function refs, and variable refs
  • Java parser now handles nested generics in class declarations and multi-line method calls
  • Broken VS Code Marketplace badge replaced with shields.io

[0.4.0] - 2026-06-27

Added

  • Python with_retry support. Detects with_retry(context, func, config, name?) standalone function calls (SDK v1.6.0). Previously only supported for TypeScript and Java.
  • Java DurableFuture.allOf() / DurableFuture.anyOf() support. Detects static DurableFuture.allOf(futures...) and DurableFuture.anyOf(futures...) calls, rendered as promise combinator nodes (same as TypeScript context.promise.all() / context.promise.any()).
  • Config-level feature extraction across all three languages:
    • nestingType / NestingType.FLAT on parallel, map, runInChildContext, and withRetry nodes
    • completionConfig / completion rules (firstSuccessful, allCompleted, etc.) on parallel and map nodes
    • stepSemantics / StepSemantics.AT_MOST_ONCE_PER_RETRY on step nodes
    • tenantId on invoke nodes (multi-tenant isolation)
  • Config annotations displayed in Mermaid node labels (e.g. flat, first successful, AtMostOncePerRetry, tenant tenant-abc-123)
  • New example files exercising all new features: order_processor_with_retry.py, OrderProcessorFutures.java, order-workflow-config.ts

Changed

  • Updated supported primitives table in README with full three-language parity status
  • Mermaid renderer now appends config annotations below node labels using <br> separators

[0.3.0] - 2026-05-15

Added

  • withRetry primitive support for TypeScript and Java parsers
    • TypeScript: detects withRetry(context, "name", fn, config) calls (SDK v2.0.0-alpha.1)
    • Java: detects both ctx.withRetry(...) and static withRetry(ctx, "name", ...) calls (SDK v1.1.0)
    • Rendered as subroutine shape with teal color (same as Child Context)

[0.2.0] - 2026-04-23

Changed

[0.1.3] - 2026-03-25

Added

  • Direction toggle (TD/LR) in browser and VS Code extension, with state persisted across auto-refresh
  • Source view panel with Mermaid and JSON tabs in browser and VS Code extension
  • Fade-in transition on initial load to prevent layout blink

Fixed

  • Save PNG in VS Code extension (added img-src data: to Content Security Policy)
  • PNG export resolution for landscape (LR) diagrams by using SVG viewBox dimensions
  • Direction toggle re-render centering by resetting transform and deferring fit-to-view

Changed

  • PNG export now uses transparent background instead of solid color
  • PNG export resolution increased from 2x to 4x

[0.1.2] - 2026-03-25

Added

  • Save PNG button in browser and VS Code extension

Fixed

  • npm publish configuration

[0.1.1] - 2026-03-25

Added

  • README files with Mermaid diagram for npm and VS Code Marketplace

[0.1.0] - 2026-03-25

Added

  • TypeScript/JavaScript parser using ts-morph AST with function-reference following and registry key resolution
  • Python parser (regex-based) with @durable_execution decorator detection
  • Java parser (regex-based, preview) with DurableHandler class detection
  • All durable execution primitives: step, invoke, parallel, map, wait, waitForCallback, createCallback, waitForCondition, runInChildContext
  • Conditional branch detection with early-return handling
  • Mermaid flowchart renderer with color-coded node types
  • JSON output for custom tooling
  • CLI with --open browser output, --json, --direction, and --name options
  • VS Code extension with interactive side panel, click-to-navigate, scroll zoom, click-drag pan, auto-refresh on save
  • Browser output with dark theme, zoom controls, and color legend