Releases: devasishpal/PiDraw
Releases · devasishpal/PiDraw
v1.3.0
v1.3.0 — Batteries-included: native converters for all 18 languages
Breaking changes
drawsvg,cairosvg,python-docxmoved from optional extras to hard dependencies — singlepip install pidrawnow covers all 18 languages + PNG + DOCX export
New features
- TikZ native converter — parses
\node,\draw,\path,\scope, matrix of nodes, basic shapes/colors/arrows/styles - Mermaid native parsers —
sequenceDiagram,classDiagram,stateDiagram/stateDiagram-v2,erDiagram,pie,gantt - Auto-fallback — Mermaid engine tries native first; if SVG is blank, falls back to
mmdcCLI
Bug fixes
- Pie chart regex was matching
""Label""instead of"Label"— pie SVGs no longer blank - BPMN CLI output with only markers (no visible shapes) falls back to native renderer
- Excalidraw arrows without
pointsfield now render properly - Excalidraw SVG now includes a
<marker>definition — fixes cairosvg PNG crash - TikZ nodes get a default size — no more invisible nodes
- ASCII parser now handles multiple boxes per line,
<--arrows, and scans all content lines for labels - Language detection: fixed broken BPMN regex, added Nomnoml/TikZ/WaveDrom patterns
Quality of life
ruff check,ruff format, andmypyall clean- CI now enforces lint + format + types on every push
- 529 tests all passing
v1.2.1
v1.2.1 — 2026-06-08
Fixed
- CLI
rendercrash without-oflag —sys.stdout.write()received aRenderResultobject instead of a string, crashing on stdout output. Now correctly writesresult.svg. - Markmap import crash on fresh install —
markmap_render.jswas missing from the PyPI wheel because*.jsfiles weren't included in package data. Fixed via[tool.setuptools.package-data]. - Entire CLI crashing from one broken engine —
MarkmapRenderer.__init__raisedRenderError(uncatched), blocking all commands. Addedexcept PiDrawErrorcatch-all in engine registration so a single broken engine registers as unavailable instead of crashing. - File output with RenderResult —
_write_outputnow handlesRenderResultobjects via.save(), fixing write-to-file for all callers.
Changed
- Package data now includes
**/*.jsassets in the wheel.
v1.2.0
v1.2.0
Added
- Support for 20 Mermaid diagram types (flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, Gantt charts, pie charts, git graphs, mindmaps, timelines, block diagrams, C4 diagrams, network diagrams, packet diagrams, quadrant diagrams, requirement diagrams, Sankey diagrams, XY charts, and large diagrams)
- SVG and PNG export for all diagram types
Fixed
- Mermaid arrow label parsing (
-->|label|syntax) - Arrow style detection (dotted vs dashed)
- Layout viewport recalculation — prevents PNG cropping
- Improved PNG margins to ensure no content is cut off
Changed
- Migrated to pyproject.toml based build system
- CI pipeline with ruff, mypy, and pytest
Notes
- Minimum Python: 3.10
- For PNG export, Playwright is required (
playwright install chromium)
Full changelog: https://github.com/devasishpal/PiDraw/blob/main/CHANGELOG.md