Release Notes
What is new: engine, families, automation, server, ecosystem, collaboration, editor and quality
This release is a large step for Beep.Skia: the canvas engine was stabilized and extended, every diagram family was deepened with the analysis features professionals expect, and four new subsystems were added — an automation runtime, a server execution SKU, an extension ecosystem, and collaboration.
Table of Contents
Highlights
- 16 diagram families, each with real analysis behind it — not just shapes.
- Diagrams are executable. Any diagram built from automation nodes runs as a workflow, locally or as a queued job on a server.
- Extensible by design. Components and commands ship as
.beepkgpackages and appear in the palette. - Multi-user ready. Sharing, review comments, presence and audit, all thread-safe and persisted.
- 501 tests, seven whole-surface sweeps, and a hardening record of 24 fixed defects.
Core Engine
- Undo/redo repaired and completed — every action is undoable and redoable, history depth is capped, and replay no longer records nested history.
- Interaction — middle-button panning, Tab/Shift+Tab selection cycling, working context menu, corrected hit-testing and drag behaviour.
- Rendering — single-pass component partitioning, reused drawing contexts, cached connection-line paints and typefaces; 199 lines went from +17 KB/frame of allocation to effectively zero with pixel-identical output.
- Serialization v2 — schema version, typed property bag for complex values, theme, and connection-point identity so lines survive a save/load round-trip.
- Export and print — export render path excludes overlays, PDF tiling, print preview.
- Component fixes — setting
Width/Heightnow refreshesBounds; the text box highlights its selection; palette categories rebuild when items are added after first render.
Diagram Families
| Family | What is new |
|---|---|
| Flowchart | Structured code generation (pseudocode, Python, C#) and a step-through simulator with branch selection |
| ERD | DDL import, schema comparison, and forward/rollback migration script generation with UNIQUE/CHECK and dialect handling |
| UML | Component, deployment and artifact nodes, sequence activation bars and combined fragments, XMI export |
| DFD | Levelled drill-down navigation and balancing validation |
| State Machine | Guard conditions, transition actions and triggers, composite regions, validation |
| Mind Map | Radial auto-layout, collapse/expand with connection visibility, rich text |
| BPMN / Business | Diagram-interchange export, task types, an importer, pools, lanes and message flows |
| Project Management | Dependency lag, critical-path computation (early/late, float), Gantt timeline node |
| ETL | Expression engine, data profiler and preview table, pipeline metrics, JSON/XML flattening with schema inference |
| Network | PageRank, shortest and simple paths, connected components |
| Quantitative | Real chart rendering across chart types with a series model |
| Security | STRIDE analysis, DREAD scoring and MITRE ATT&CK mapping |
| Machine Learning | Pipeline topology export to JSON |
| ECAD | Electrical pin model and electrical rules checking (short circuits, unconnected pins) |
| Well Logs | LAS parsing with multi-track grouping |
| Cloud | Branded AWS, Azure and GCP nodes |
Automation Runtime
WorkflowEnginecompleted: retry policies, workflow variables, real pause/resume/cancel, per-node results and events.- Trigger pack: manual, schedule, event and file-watch triggers with validation, activation counters and disposal.
- Credential vault (AES with PBKDF2-SHA256) and a connection manager, both thread-safe, with tamper detection and masked listing.
- Diagram bridge:
ToWorkflowDefinition()turns the canvas into an executable workflow, and saved diagrams keep their wiring and configuration.
Server Execution SKU
WorkflowExecutionService— publish workflows, submit jobs with inputs, bounded-concurrency queue, job states, pause/resume/cancel, listing and events.WorkflowExecutionApi— JSON facade that can publish a saved diagram as an executable workflow.WorkflowRequestRouter— HTTP routing with proper status codes, kept transport-agnostic and unit-tested.Beep.Skia.Sample.Server— a runnable ASP.NET minimal-API host with demo and publish options.
Extension Ecosystem
ISkiaExtensioncontract plusSkiaExtensionHost(discovery, validation, custom categories, commands, diagnostics)..beepkgpackages with manifests (host version, dependencies, tags) and a builder that computes the SHA-256.ExtensionPackageManager— install, update, uninstall, catalog persistence and load directories.- Security: zip-slip rejection, decompression-bomb limits, dependency and host-version gates, no partial state on failure.
Collaboration
- Sharing with Viewer / Commenter / Editor / Admin roles and public read-only links.
- Comments anchored to components, rendered as numbered review pins on the canvas.
- Presence with activity and expiry, plus a full audit trail of sharing and review actions.
- JSON persistence next to the diagram, thread-safe operation and snapshot reads.
Assisted Generation
IDiagramAssistantprovider contract with a priority registry and automatic fallback.- Offline rule-based assistant: a compact flowchart DSL and indented mind-map outlines, with ranked and radial layout.
- Generated diagrams are ordinary
DiagramDtos — editable, savable and executable.
Editor Experience
- Palette search with live filtering and correct handling of late-added items.
- Minimap with viewport rectangle and exposed mapping maths.
- Property editing that writes back through public setters, edits colours as hex, and supports multi-selection.
- Twelve templates with explicit wiring, and keyboard/high-contrast accessibility.
Platforms
- Five hosts in the solution: WinForms (flagship), WPF, Blazor, MAUI and Avalonia.
- Avalonia renders through an offscreen Skia surface, so it needs no SkiaSharp view package and stays on the same SkiaSharp version as the core.
- Shared design-time descriptor types moved into the core, which is what let all hosts come back into the build.
Quality and Release Engineering
- 501 tests covering every library, with seven whole-surface sweeps over all 293 component types.
- Zero warnings across the solution, enforced by warnings-as-errors in CI.
- MinVer versioning from git tags, a CI solution filter, and a GitHub Actions pipeline that builds, tests and packs on tags.
- 23 packages with audited metadata (descriptions, project and repository URLs, copyright), verified by consuming them from standalone projects on
net8.0,net9.0andnet10.0.
Notable Fixes
- Save/load lost data silently — automation connections, automation configuration and ML connections are now preserved.
- Six crash paths — hostile input to the expression parser and evaluator, the mind-map layout, and a component drawing a disposed path could terminate the process; all are now bounded with clear errors.
- Thread safety — the collaboration service, credential vault and package catalog are safe under concurrent use, and role state is no longer handed out by reference.
- Packaging — placeholder descriptions, wrong repository URLs, unused dependencies and a hidden .NET Framework asset fallback were corrected.