Changelog

What's new in KulmanLab — shipped continuously, no restart required.

Trim: Arc, Circle, Ellipse & Polyline support

2026.07.26.70984c6 July 26, 2026
  • Trim now works on Arc, Circle, Ellipse, and Polyline, not just Line — hover the segment between two intersection points and click to cut it, exactly like Line trimming already worked
  • Circle, Ellipse, and a closed Polyline (including Rectangle) have no natural start or end, so trimming one now requires at least two intersection points; the piece between whichever pair the cursor is nearest becomes the removed segment, and a Circle trims down into an Arc
  • Fixed several intersection bugs surfaced while building this: Line trim no longer deletes the whole line on a touching (non-crossing) intersection, Circle/Ellipse intersections no longer miss a point that lands exactly on the other shape's endpoint or drift after repeated trims, and Circle/Arc no longer trims straight through an Ellipse without leaving the gap
  • Ellipse previews for Mirror, Rotate, and Trim now render at the correct orientation instead of resetting to the un-rotated axis
  • Legacy DXF POLYLINE entities (the format that predates LWPOLYLINE) now import correctly, including malformed or mesh-style data that previously failed to parse
  • Shapes toolbar reordered (Ellipse, stacked Splines, Arc last), markup toolbar icons grouped by tool family, the Array button restored, and the Dimension Linear icon's grip/arrow sizing fixed

Text editor: paragraph alignment, underline & rotated-text fixes

2026.07.23.49fac9a July 23, 2026
  • New paragraph alignment buttons in the text editor toolbar — Align Left, Align Center, Align Right, and Justify — layered on top of the attachment-point column; available for Text entities only, not Multileader or dimension labels
  • New underline toggle button next to Bold, Italic, and Strikethrough
  • The text cursor now slants to match italic text while editing, matching word-processor convention
  • Fixed click-to-place-caret resolving to the wrong character on text rotated to any angle other than 0°/180°
  • Fixed the text editor popup floating over the text instead of above it for Middle/Bottom-anchored attachment points, and overlapping rotated leader text on Multileaders
  • Fixed per-character height overrides (e.g. mixed font sizes imported from DXF) keeping their absolute size instead of scaling with the entity, on both Text and Multileader

How-to guides (25 languages) & responsive nav polish

2026.07.19.b22f372 July 19, 2026
  • How-to guides and the site header now render cleanly on phones and tablets — the mobile menu includes the new How-to link alongside Docs, Changelog, and FAQ
  • New How-to page with 9 step-by-step guides — opening DXF files, drawing with exact dimensions, organizing layers, dimensioning, measuring distance/angle/area, preparing files for laser cutting or CNC, paper layouts with viewports, printing, and backing up drawings — translated into all 25 site languages
  • Fixed language switching on English pages: with a language saved in the dropdown, pages like Privacy and About now redirect to the fully translated version instead of staying in English with only the navigation labels swapped
  • Shortened overly long page titles (homepage and About page) in 20+ languages so they display fully in search results

Privacy policy, About page & GDPR-compliant consent banner

2026.07.15.0c09002 July 15, 2026
  • New Privacy Policy page explains what data KulmanLab collects — local-only drawing storage, Google Analytics, and the advertising coming to the app via Google AdSense — translated into all 25 site languages
  • New About page tells the story behind KulmanLab — translated into all 25 site languages
  • Added a region-scoped cookie consent banner using Google Consent Mode v2: Analytics defaults to denied until accepted in the EEA, UK, and Switzerland, and to granted immediately everywhere else; a "Cookie settings" link in the footer reopens it at any time
  • Footer trimmed to About, Privacy, Cookie settings, GitHub, and Reddit — App, Docs, Changelog, and FAQ remain one click away in the header
  • Fixed Google Analytics silently not recording custom events (Launch App clicks, outbound link clicks, scroll depth) on the live site — the tracking script was being scoped by the bundler so window.gtag never actually existed

Vector pins: object snap tracking with angle-lock ray snapping

2026.07.12.16f6fe3 July 12, 2026
  • New Vector Pins toggle (Pins) in the control bar — hover a snap point or grip for 500ms to pin it, then track the cursor along dashed horizontal/vertical reference lines through the pinned point, with normal geometry snaps still taking priority
  • Angle-locked rays now snap to the intersection of the locked direction with pin reference lines in Line, Polyline, Arc, Circle, Move, Copy, Area, Leader, and ViewportCopy
  • Distance and Angle now keep their result on screen until Escape, with an accent-colored preview that is dashed while picking and solid once committed; Distance also shows grips at both endpoints
  • Fixed a bug where clicking model entities visible through a layout viewport selected phantom paper-space copies whose edits and deletes silently did nothing — viewport content is now display-only for selection (snapping through viewports is unaffected)
  • Intersection X markers now draw in the accent color instead of green, matching the rest of the snap and preview palette
  • Improved the ANGL control-bar dropdown layout

Align command: translate, rotate & scale with point pairs

2026.07.09.cecea22 July 9, 2026
  • New Align command repositions entities using one or two pairs of source/destination points — translate only with one pair, or translate + rotate + optional scale with two
  • One-point alignment (press Enter at the second source point) works exactly like Move — translate only, no rotation
  • Two-point alignment computes the rotation from the source and destination segment directions, then prompts Yes/No to also scale so the segment lengths match
  • Live canvas preview at every step: a ghost move preview while placing the first destination point, then a dashed rotated preview once both destination points are set
  • Accessible via the new Align button in the Edit toolbar panel, or by typing `align` (as few as `al` is enough) in the terminal
  • Fixed Align prompt wording to match the "pick" phrasing used by other commands

Area measure command & toolbar icon refresh

2026.07.07.dca1eff July 7, 2026
  • New Area command measures the enclosed area and perimeter of a polygon — click 3 or more points, then press Enter to close the shape
  • Area supports angle-locked directional entry: snap to the configured angle-tracking increment and type an exact edge length
  • The closed polygon — fill, outline, and vertex grips — stays highlighted on the canvas until you dismiss the result
  • Measure panel is now a 2×2 grid: Distance and Angle on the top row, Area on the row below
  • Distance and Angle toolbar icons redrawn with solid strokes and a filled wedge instead of dashed lines
  • Area toolbar icon simplified to a chamfered square with vertex snap points
  • Fixed terminal prompt text jumping when the key badge appears

Text editor copy/paste, feedback bar & theme-aware arrowheads

2026.07.01.41031df July 1, 2026
  • Text editor: Ctrl/Cmd+C, Ctrl/Cmd+X, and Ctrl/Cmd+V now copy, cut, and paste the selected text
  • Pasted text always takes on the formatting already at the cursor rather than the formatting it had when copied; rich mode keeps line breaks, simple mode (dimension labels) strips them
  • New feedback bar in the toolbar links to Reddit, GitHub Issues, and email — appears after 10 minutes of use and can be dismissed
  • Arrowhead previews in the Properties panel and arrowhead picker now render in a theme-aware color instead of always white
  • Improved contrast for toolbar panel captions (e.g. "STYLE", "LAYERS") in light theme
  • Coordinate and zoom readout in the toolbar now sit closer to their labels instead of a fixed-width right-aligned column

Text editor modes: rich and simple

2026.06.28.8f3519f June 28, 2026
  • Text editor header now shows a mode chip — "rich" (accent color) for Text and Multileader, "simple" (muted) for dimension entities
  • Double-click any linear, aligned, angular, radius, or diameter dimension to open its label in the text editor
  • Simple mode: editor is pre-seeded with the current rendered label so you can position the cursor with ← / → and edit the value directly
  • Simple mode: pressing Enter commits the value and closes the editor — no line break is inserted
  • Simple mode: bold, italic, font, and height changes apply to the entire dimension label at once
  • Rich mode (Text, Multileader): per-character formatting, multi-line Enter, and word-wrap remain fully supported
  • Blinking cursor now animates inside the dimension text editor popup
  • Text cursor offset corrected — was rendering up to 2× too high after certain font changes

Urdu and Greek — 22 languages, 1 320 pages

2026.06.20.a4f91c3 June 20, 2026
  • Added Urdu (اردو 🇵🇰) — full RTL support using Arabic script; docs, FAQ, and changelog fully translated
  • Added Greek (Ελληνικά 🇬🇷) — complete docs, FAQ, and changelog in Greek
  • KulmanLab now ships in 22 languages: EN, DE, ES, FR, IT, PT, PL, UK, EL, HI, UR, BN, ZH, JA, KO, VI, TH, ID, MS, TR, AR, SW
  • Total site size: 1 320 static pages — all command references, FAQ, and changelogs localised
  • RTL layout applied automatically for Urdu (Arabic script) alongside existing Arabic support
  • Language switcher row added to the site footer — visible plain-HTML links for all 22 locales so search engines can discover every language version without JavaScript
  • All language pages include hreflang alternate links pointing to every other locale

New website: landing page, docs & FAQ

2026.06.12.0269290 June 12, 2026
  • Brand-new landing page at kulmanlab.com — hero with screenshot carousel, feature grid, and a three-step workflow overview
  • Comparison table: KulmanLab vs LibreCAD, QCAD, BricsCAD, and browser-based CAD tools
  • Command reference docs moved to kulmanlab.com/docs with a collapsible tree sidebar
  • FAQ page covering storage, DXF compatibility, features, and privacy
  • This changelog page — release notes for every version
  • llms.txt and full command reference published for AI assistants
  • GitHub repository and r/kulmanlab community links in the site navigation

Text editor polish & web fonts

2026.06.10.580dba5 June 10, 2026
  • Text mirror now adjusts rotation and attachment point for readability
  • Web fonts available in the text editor font picker
  • Cursor height dynamically matches the text size at the cursor position
  • Strikethrough added to the text editor toolbar alongside Bold/Italic
  • Per-row line height and per-character text height & font (MTEXT)
  • MTEXT editor: frame sizing, live resize grip, and font dropdown
  • Empty lines now inherit height from the preceding text row
  • Text editing creates a single undo history entry on close

On-canvas text editing

2026.06.06.c01c797 June 6, 2026
  • Edit text directly on the canvas with a blinking caret — no dialog needed
  • Text selection: Shift+Arrow keys, click, and click-drag
  • I-beam cursor while the text editor is active
  • Text editor toolbar: Bold and Italic toggles with cursor-aware active state
  • Caret and selection follow the active theme accent color
  • Move command shows a fully-opaque shadow preview of entities being moved
  • MTEXT wrap frame with four side-midpoint resize grips
  • Text frame grips work on text without an explicit reference width

Angle tracking, snap-to-grid & MTEXT

2026.06.03.7a0070a June 3, 2026
  • Configurable angle tracking: 10°, 15°, 20°, 30°, 45°, 90° increments via toolbar dropdown
  • Angle tracking arc indicator shown in sticky mode with crash recovery
  • Snap-to-grid toggle with dot grid rendered at grid intersections
  • Grid dots drawn on layout paper space, not inside viewports
  • Custom scale input added to the viewport scale dropdown
  • Multi-line MTEXT parsing and rendering with wrap box
  • Adaptive coordinate display precision scales with zoom level

Keyboard X,Y entry for all commands & leader improvements

2026.05.31.c0decec May 31, 2026
  • Type X,Y coordinates at any point prompt across Line, Polyline, Circle, Arc, Rectangle, Ellipse, Spline, Move, Copy, Rotate, Scale, Mirror, and more
  • Space bar confirms numeric input across all commands
  • Copy command is now sticky — place multiple copies until Enter or Esc
  • Distance and Angle measure commands now support keyboard entry with canvas labels
  • Dimension linear/aligned/continue support keyboard X,Y entry
  • Dimensions inherit the current color, linetype, and lineweight from the toolbar
  • Leader and Leader+/− improved: chain mode, X,Y typing, cursor navigation in text input
  • ViewportCopy and ViewportRectangle commands support X,Y point typing
  • Highlight locked length input in terminal prompts

Print manager overhaul & toolbar icon redesign

2026.05.27.60851ce May 27, 2026
  • Ctrl+P / Cmd+P intercepts browser print and opens the KulmanLab print manager
  • Print manager: zoom and pan the preview canvas, area selection mode
  • DPI/quality selector for PNG and WebP export
  • Exported PDFs now include title, creator, and date metadata
  • Render layout viewports in print manager preview
  • Layout context menu: rename layouts, delete layouts, right-click to open
  • Layout tabs: add, rename, delete layouts with alphanumeric validation
  • All toolbar icons redesigned: teal accent color, custom SVGs for Move, Mirror, Extend, Trim, Scale, Copy, and more
  • Dimension markup icons: grips on all arrow endpoints, improved arrow geometry
  • Paper format label shown on page manager preview
  • Ctrl/Cmd+P intercepted to prevent accidental browser print dialog

Layout mode & viewport editing

2026.05.24.1a2d9cf May 24, 2026
  • Select, move, and grip-edit viewports in layout space
  • Scroll and pan model content inside a selected viewport independently
  • ISO 5455 scale selector in the control bar; apply viewport scale live
  • Snap to model entities through viewport transforms in layout mode
  • Draw entities on layout paper space
  • Grid drawn inside viewports in layout mode
  • Undo/redo now covers layout entities and viewport structure changes
  • Lock toggle for viewports in the control bar
  • Auto-fit to paper when switching between layouts
  • Lineweight toggle button in the control bar

Toolbar redesign & layer commands

2026.05.21.4ddef0d May 21, 2026
  • Layer panel moved into the main toolbar with a two-row layout and larger icons
  • Teal (#4A8580) introduced as the app accent color
  • All toolbar panels restructured: Shapes, Edit, Markup, Navigate, Measure, Style
  • LayerIsolate command: freeze all layers except the active one
  • LayerUnfreezeAll command: unfreeze all layers at once
  • LayerMatch command: copy the layer from one entity to others
  • Match Properties available as a big-button in the Style panel
  • Toolbar labels renamed: ByLayer → From Layer for color, lineweight, and linetype
  • Command names rendered in UpperCamelCase in cursor widget and terminal
  • Enter/Esc/Space/Delete rendered as key chip badges in terminal prompts

Match Properties, color picker & Properties panel

2026.05.18.8af6a0c May 18, 2026
  • Match Properties command: copy color, layer, linetype, and lineweight between entities, supports area selection
  • Properties panel added to the toolbar showing entity details
  • Color selector in the toolbar with ByLayer/ByBlock support
  • Linetype selector in the Properties panel
  • Lineweight picker with graphical bars and ByLayer resolution
  • Lineweight support for all dimension entities
  • Persist layer, color, linetype, and lineweight settings across page refreshes
  • Google Material Symbols Outlined replaces older toolbar icon set
  • Default sample file loaded on first launch

Angular dimension command

2026.05.15.56cc287 May 15, 2026
  • DimAngular command: measure angles between two lines or on arcs and circles
  • Angular dimension grips: radial/tangential snap modes for arc-endpoint grips
  • Text position controls (vertical and horizontal) for angular dimensions
  • Extension line extension (dimexe) applied to angular dimensions
  • Angular dimension arc correctly splits when text is inside
  • Arrowhead geometry: tip positioned at extension line, base midpoint on arc
  • Properties window is content-sized when small and scrollable when tall

Dimension grips, extension lines & arrowhead picker

2026.04.30.8731507 April 30, 2026
  • Grip editing for all dimension entities: tips, arrowheads, and text position
  • Extension line offset (DIMEXO) and extension (DIMEXE) rendered per DXF spec
  • Arrowhead picker: square preview with leader line stub, filters anonymous blocks
  • Dimension text attachment point (group code 71) respected on import
  • Dimension hit-testing restricted to lines and text — not the full bounding box
  • Origin tick rendered as a dot sized to match line width

Command terminal & line chaining

2026.04.28.e887839 April 28, 2026
  • Full command terminal: history log, command recall with arrow keys, floating layout
  • Line command is now continuous and chainable — each segment feeds the next start point
  • Tab cycles through command suggestions; arrow keys navigate the suggestion list
  • Blinking cursor in terminal during numeric input phases
  • "Command >" prefix shown while typing a command name
  • Leader+ command: append a new arm to an existing multileader
  • Polyline midpoint grips added — drag to insert a vertex or move the whole segment
  • Cancel active command when a new command is activated

Multileader command (MLEADER)

2026.04.25.37963b5 April 25, 2026
  • MLEADER command: draw a multileader with arrowhead, dogleg, and text block
  • Angle locking for multileader arrowhead, arm vertex, and dogleg grips
  • Length input while angle-locked in MLEADER command
  • Green X marker shown at the locked endpoint during angle-locked drawing
  • Circle command: radius line preview and intersection marker on canvas
  • Ellipse command: axis-locked length input added
  • Unified prompt vocabulary across all commands
  • Default multileader landing gap increased from 0.09 to 0.2

Command terminal (preview) & UI improvements

2026.04.21.3ee6fcd April 21, 2026
  • Early version of the full command terminal with history and suggestions
  • Blinking cursor added to terminal for numeric input phases
  • Ellipse grip editing with constrained orthogonal axes and on-canvas preview
  • Toolbar overflow fixed on narrow windows; status bar layout restored
  • Coordinates widget shown when there is enough horizontal space
  • Tab command suggestion cycling introduced

Angular upgrade, docs site & adaptive grid

2026.04.15.5fcb626 April 15, 2026
  • Upgraded from Angular 19 → 20 → 21 with block control flow syntax
  • Full command reference documentation site launched
  • Adaptive CAD grid added to the canvas
  • History panel added to the toolbar (Undo / History / Redo)
  • Documentation button added to the help panel