pentoolopen source Menu

Release notes

What changed.

Release history synced from GitHub, with repository notes available as a build-time fallback.

October 1, 2026

Pentool v0.4.0 — pages and .pen composition

View on GitHub ↗

Pentool v0.4.0 — pages and .pen composition

Pentool v0.4.0 turns .pen into a multi-page, composable design format while keeping every operation available without a browser.

Highlights

  • Format v3 adds ordered pages with independent canvases and layer stacks.
  • v1/v2 files remain readable as page-1 and upgrade without visual changes.
  • Page-aware CLI editing, discovery, geometry, export, and browser controls.
  • Transactional .pen import with dry runs, revision guards, backups, placement transforms, deterministic ID prefixes, font deduplication, and canvas expansion.
  • Unknown source extension fields survive imports.
  • Search supports compact pagination with --offset and --limit.
  • Indexed layer/object lookup improves targeted agent operations.
  • A repeatable benchmark command covers parsing, validation, indexing, search, one-object editing, SVG generation, and optional PNG rendering.
  • Browser object results are debounced and bounded, and .pen files can be imported into the active page through the same Rust engine used by the CLI.

Examples

pentool page design.pen add mobile --name Mobile --width 390 --height 844
pentool --page mobile import design.pen icons.pen --prefix icons --at 100 80 --dry-run
pentool --page mobile search design.pen arrow --offset 0 --limit 25
pentool --page mobile export design.pen mobile.png
pentool benchmark --layers 1000 --objects 100000

Imports copy editable content; they are not live links. Every committed import creates a numbered recovery snapshot beside the destination.

Full Changelog: https://github.com/agkomyint/pentoolgg/compare/v0.3.0...v0.4.0

October 1, 2026

Pentool v0.2.0 — editable text, fonts & sharp edges

View on GitHub ↗

v0.2.0 — Editable typography and sharp edges

Release highlights and compatibility notes.

  • Real editable text objects, CLI create/update/remove, and browser text tool.
  • Configurable sharp/round/beveled stroke joins, flat/round/square caps, miter limit, browser controls, and geometry-preserving CLI path styling.
  • Font family, size, weight, italic, color, alignment, spacing, and multiline leading.
  • Bundled Atkinson Hyperlegible in four styles; installed font discovery and custom TTF/OTF embedding.
  • Native browser-free text shaping, PNG rendering, live SVG with embedded fonts, and optional outlined SVG export.
  • Text bounds and affine transforms, including atomic whole-layer path/text transforms and layer locks.
  • Version 2 documents with version 1 reading compatibility and retained extension fields.
  • Revision-token shared saves avoid browser integer/float comparison conflicts while rejecting stale edits.
  • Typography demo, license attribution, and typography regression tests.

Limitations: explicit line breaks only; no rich text, automatic wrapping, variable-font axes, or text-on-path. SVG consumer support for embedded fonts varies; use outlined SVG when exact portability matters. Fonts must cover the characters used; the bundled font does not cover every writing system.

Release workflow tests and builds Windows, Linux, Intel macOS, and Apple Silicon macOS, then creates a draft release with archives and SHA256 checksums. Publishing requires the release tag and review of the resulting CI artifacts.

October 1, 2026

Pentool v0.1.0 — agent-driven vector drawing

View on GitHub ↗

Pentool v0.1.0

An agent-friendly vector editor in one Rust binary. Draw with CLI commands, export without a browser, and edit the same layered artwork visually.

Included

  • Canvas creation, backgrounds, and editable .pen JSON documents.
  • Layer creation, ordering, visibility, locks, and whole-layer transforms.
  • SVG-compatible strokes, fills, Bézier curves, and arcs.
  • Shared Rust geometry for translation, rotation, scaling, anchor and handle editing, curve splitting, bounds, and hit testing.
  • Native PNG and SVG export; no Node.js, browser, or server required for CLI work.
  • Embedded browser editor, JSON rendering/geometry API, and explicit shared-file save/reload with stale-save detection.
  • Editable eye and XYSKID examples and their exported previews.

Quick start

Download and extract the archive for your operating system, then run:

pentool serve examples/eye.pen

Open http://127.0.0.1:4711. For browser-free output:

pentool export examples/eye.pen eye.png --scale 2
pentool layer-geometry examples/xyskid.pen --layer symbol translate 40 20

On Windows the executable is pentool.exe; macOS/Linux users can run ./pentool from the extracted folder or add it to PATH.

Early release limitations

This is a geometry foundation, not a complete replacement for Figma or Photoshop. Shape boolean operations, automatic snapping/alignment, complete undo history, and a native desktop window are not included. Browser synchronization is explicit. Transforms preserve stroke width, and SVG arcs become Bézier approximations when edited. Binaries are not code-signed.