What's Changed
- AUDIT and RECOVER: find and fix database errors, open damaged drawings repaired (part of #406) by @vangel76 in #411
- Plot styles: colour-dependent tables (monochrome, grayscale) apply to PDF plots and layouts (part of #410) by @vangel76 in #412
- MTEXT: Height, Justify, Line spacing, Rotation, Style, Width, Columns (part of #408) by @vangel76 in #415
- SPLINE: Knots, start/end Tangency, toLerance and Object (part of #408) by @vangel76 in #413
- MLEADER: spline and no-leader types, block content (fixes #408) by @vangel76 in #419
- Groups: GROUP, UNGROUP and GROUPEDIT; erased members leave their groups (part of #417) by @vangel76 in #422
- Plot styles: named styles (STB), PLOTSTYLE, STYLESMANAGER, table files and the Plot Style Manager (part of #410) by @vangel76 in #418
- Add shared workspace docking to CADCraft by @skylartaylor in #456
- IMPORT, EXPORT, Plot Preview and Batch Publish; ATTACH, SHARE, 3DORBIT say not available yet (part of #9) by @vangel76 in #186
- Print opens a Plot dialog (#160) by @vangel76 in #200
- Transparent 'ZOOM/'PAN run nested and resume the interrupted command (fixes #220) by @vangel76 in #221
- Select objects: W, C, F, WP and CP selection modes (fixes #224) by @vangel76 in #226
- Scripts and the command line read a trailing or double space as Enter (fixes #227) by @vangel76 in #229
- Right-to-left drawing text: bidi and Arabic-script shaping (Persian, Arabic, Urdu) by @vangel76 in #315
- fonts: embed craft-fonts when built with CRAFT_FONTS_DIR by @vangel76 in #321
- Autosave (SAVETIME, SAVEFILEPATH) and Drawing Recovery after a crash (fixes #406) by @vangel76 in #416
- Groups: PICKSTYLE group selection, Ctrl+Shift+A and -GROUP options (fixes #417) by @vangel76 in #424
- DXF/DWG at a chosen version 2000–2018 and binary DXF (part of #421) by @vangel76 in #426
- TOLERANCE: GD&T feature control frames (fixes #420) by @vangel76 in #427
- SAVEAS version and binary DXF, default save version (fixes #421) by @vangel76 in #431
- SELECTSIMILAR and object isolation: ISOLATEOBJECTS, HIDEOBJECTS, UNISOLATEOBJECTS (part of #428) by @vangel76 in #434
- Grips: hot-grip options (Base point/Copy/Undo/Reference/eXit) and multiple hot grips (part of #425) by @vangel76 in #435
- Select objects: BOX, AUto, SIngle, Multiple, Group and Undo keywords (fixes #428) by @vangel76 in #438
- Grips: multifunctional grip menus for polylines, lines and arcs (fixes #425) by @vangel76 in #440
- BATTMAN: edit, remove and reorder attribute definitions; references follow (part of #433) by @vangel76 in #444
- Temporary tracking point TT and tracking TK at every point prompt (part of #441) by @vangel76 in #445
- Draw order: DRAWORDER Above/Under objects, TEXTTOFRONT, HATCHTOBACK, SORTENTSTABLE read (part of #439) by @vangel76 in #446
- DATAEXTRACTION and EATTEXT: block and attribute data to rows, CSV and a table (fixes #433) by @vangel76 in #447
- MATCHPROP: source/destination picker and Settings (part of #439) by @vangel76 in #449
- PolarSnap, relative polar angles, Extension on ellipse and spline ends, tracking options in Drafting Settings (fixes #441) by @vangel76 in #450
- OVERKILL: tolerance, ignored properties, overlapping and end-to-end lines and arcs, polyline segments (fixes #439) by @vangel76 in #452
- Hatch: associative hatches follow their boundary objects; DXF 97/330 source objects (part of #451) by @vangel76 in #454
- Associative arrays: ASsociative, Levels and polar ROWs (part of #448) by @vangel76 in #455
- Hatch: HPGAPTOL, pattern origin, separate hatches, island style; HATCHEDIT options and -HATCHEDIT (fixes #451) by @vangel76 in #457
- Viewports: polygonal, object and clipped viewports, VPCLIP, MVIEW ON/OFF/Lock/Restore (part of #453) by @vangel76 in #458
- ARRAYEDIT and ARRAYCLOSE for associative arrays (fixes #448) by @vangel76 in #460
- Status bar: viewport scale list and lock toggle (fixes #453) by @vangel76 in #462
- UNDO Mark/Back, BEgin/End, Auto and Control; MREDO; UNDOCTL (part of #461) by @vangel76 in #464
- DXF: native MULTILEADER read and write instead of LEADER + MTEXT (fixes #459) by @vangel76 in #465
- SETVAR/GETVAR: header variables the commands keep, TRANSPARENCYDISPLAY, dimension variables in SETVAR ? (fixes #461) by @vangel76 in #467
- EXTEND, JOIN and LENGTHEN on elliptical arcs and splines (part of #466) by @vangel76 in #469
- FILLET with elliptical arcs and splines (part of #466) by @vangel76 in #470
- Annotative scaling: scale list, CANNOSCALE, OBJECTSCALE, ANNOALLVISIBLE (part of #468) by @vangel76 in #486
- Annotative scaling: DXF and status bar annotation scale list (fixes #468) by @vangel76 in #506
- FILLET and CHAMFER with polyline segments (fixes #466) by @vangel76 in #502
- Named views (VIEW), Zoom Realtime and Dynamic, ZOOMFACTOR (part of #463) by @vangel76 in #503
- Tiled model viewports: VPORTS, saved viewport configurations, DXF VPORT table (part of #463) by @vangel76 in #504
- DXF: reopen-and-save keeps one *D block per dimension and stable handles (fixes #495) by @vangel76 in #508
- Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #509
- DXF: read pre-2007 files in their $DWGCODEPAGE (CJK, Cyrillic, Central European…) (fixes #505) by @vangel76 in #511
- Dimension styles: fit, text movement, suppressed halves, fixed extension lines, linetypes and lineweights and more DIM variables (part of #507) by @vangel76 in #514
- Shortcut menus: command menu while a command runs, selection menu with object edits (part of #512) by @vangel76 in #515
- MLINE: multiline entity, MLSTYLE and MLEDIT (part of #510) by @vangel76 in #517
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #605
- Shortcut menus: command line, drawing and layout tabs, Layers and Properties palettes (fixes #512) by @vangel76 in #518
- Dimension text: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in #520
- HELIX: helix entity drawn as a spline (part of #510) by @vangel76 in #521
- Dimension edits: DIMEDIT Oblique/New/Rotate/Home, DIMJOGGED, DIMJOGLINE, DIMBREAK, DIMINSPECT (part of #507) by @vangel76 in #522
- Dynamic Input options menu (DYNPROMPT), second-value lock; INS on ATTDEF/MLEADER, GCEN on closed splines (part of #519) by @vangel76 in #523
- QDIM: Staggered, Baseline, Ordinate, Radius, Diameter, datumPoint and Edit (fixes #507) by @vangel76 in #524
- Grip dimensional input: length, angle and radius fields while stretching a grip, DYNDIVIS/DYNDIGRIP (part of #519, stacked on #440) by @vangel76 in #527
- Xrefs: XATTACH, -XREF, XBIND, XOPEN; load at open, save only the reference (part of #525) by @vangel76 in #530
- Xrefs: External References palette and XREF (fixes #525) by @vangel76 in #533
- REGION: region entity, UNION/SUBTRACT/INTERSECT, MASSPROP (fixes #510) by @vangel76 in #526
- OPTIONS: preferences dialog, JSON form and a user profile that survives restarts (fixes #23) by @vangel76 in #531
- Add Brazilian Portuguese (pt-BR) interface language by @WladmirJunior in #539
- DXF: keep what we don't model on save — unknown entities and objects, foreign xdata, extension dictionaries, reactors, colour books (fixes #528) by @vangel76 in #545
- feat(text): MTEXT paragraph formatting (indents, tabs, lists) and columns by @vangel76 in #547
- Tables: cell styles, formulas, TABLEDIT and TABLEEXPORT (part of #534) by @vangel76 in #548
- Tables: table breaking and CSV data links (fixes #534) by @vangel76 in #553
- Constraints: DOF report, G2 Smooth, ellipse/spline/block geometry (part of #546) by @vangel76 in #550
- Constraints: CONSTRAINTINFER while drawing and editing, DOF status on the canvas (fixes #546) by @vangel76 in #555
- Fix constraint_infer test after associative-array default (#455) by @echelon in #621
- Support files: user .lin linetypes and .pat hatch patterns (part of #552) by @vangel76 in #557
- Support files: DWT templates for NEW/QNEW, SAVEAS .dwt, user alias files (fixes #552) by @vangel76 in #562
- feat(modify): PEDIT Edit vertex Break/Straighten/Tangent/Regen, SPLINEDIT fit data and vertex options, closed-spline fit tolerance (part of #554) by @vangel76 in #558
- feat(drafting): isometric snap/grid, ISODRAFT, ISOPLANE, ELLIPSE Isocircle by @vangel76 in #561
- feat(inquiry): COUNT across layouts and nested blocks, COUNTLIST, COUNTTABLE (part of #563) by @vangel76 in #565
- Plot styles: apply line end, join and fill styles (part of #564) by @vangel76 in #566
- DXF: keep full-circle, spline and clockwise ellipse hatch edges (fixes #492, #493, #494) by @tsangiotis in #549
- PDF export: layers as PDF layers (OCG), several sheets per file, hyperlinks (part of #560) by @vangel76 in #567
- PDF export: real text in embedded TrueType subsets (part of #560) by @vangel76 in #571
- CLI: cadcraft-cli exits quietly when stdout is closed early by @switch87 in #568
- feat(ui): QuickCalc palette; CAL points, vector functions, unit conversion (part of #563) by @vangel76 in #569
- Plotters: device configurations with paper sizes and printable areas (fixes #564) by @vangel76 in #570
- feat(file): COMPARE drawings with overlay and change areas (fixes #563) by @vangel76 in #572
- Windows: use FXC by default for DirectX 12 startup by @PedroGuille in #613
- Fix Measure Distance snapping through layout viewports by @PedroGuille in #616
- Fix OFFSET distance clicks and source picking by @PedroGuille in #618
- SETVAR accepts point objects for SNAPBASE, LIMMIN, LIMMAX and INSBASE (#485) by @MarekSpodBiedry in #575
- SETVAR keeps text variables such as CLAYER as text, so a layer named 10 can be selected (#484) by @MarekSpodBiedry in #576
- Dimension Space asks for the base, the dimensions and the spacing instead of failing (#483) by @MarekSpodBiedry in #577
- dimstyle.rename and delete: cover dimensions inside block definitions (#482) by @MarekSpodBiedry in #578
- Properties: changing a block's scale moves and resizes its attributes (#481) by @MarekSpodBiedry in #579
- Properties: reject a malformed lineweight instead of setting 0.25 mm (#480) by @MarekSpodBiedry in #580
- Align Text > Angle asks for the angle instead of failing with a missing-parameter error (#478) by @MarekSpodBiedry in #582
- properties.set rejects a linetype that is not loaded (#476) by @MarekSpodBiedry in #584
- INSERT with explode records one undo step (#475) by @MarekSpodBiedry in #585
- layer.delete: clear the deleted layer from viewport freeze and colour overrides (#474) by @MarekSpodBiedry in #586
- Properties: turn a block reference's attribute text with its Rotation edit (#473) by @MarekSpodBiedry in #587
- Text style rename: update text inside block definitions (#472) by @MarekSpodBiedry in #588
- OFFSET: full ellipse copy goes to the side of the picked point (#501) by @MarekSpodBiedry in #591
- Parameters Manager: keep a pending expression when the window loses focus (#498) by @MarekSpodBiedry in #594
- Command line keyboard input works while the command line is hidden (#497) by @MarekSpodBiedry in #595
- Plot: apply an explicit scale to non-fitted layout plots (#490) by @MarekSpodBiedry in #598
- Include multileader text in its bounds so zoom, window selection and viewports keep the whole text (#488) by @MarekSpodBiedry in #600
- AREA: refuse an open elliptical arc instead of measuring the whole ellipse (#487) by @MarekSpodBiedry in #601
- STYLE typed with no arguments opens the Text Style dialog instead of an error (#535) by @MarekSpodBiedry in #590
- Web: ?cpu selects the CPU canvas instead of installing the GPU canvas (#500) by @MarekSpodBiedry in #592
- Page Setup: report unsupported layout plot areas as not available yet (#491) by @MarekSpodBiedry in #597
- Select: pick pattern hatches on their visible strokes (#489) by @MarekSpodBiedry in #599
- feat(modify): SPLINEDIT Join, Edit vertex Add and Elevate order by @vangel76 in #559
- Persist SNAPUNIT and GRIDUNIT in DXF (fix #607) by @PedroGuille in #614
- Add German (de) interface language by @arekown in #573
- Spanish translation by @PedroGuille in #610
- Add PTYPE as an alias of the Point Style command (#622) by @MarekSpodBiedry in #645
- Keep inter-word spaces in stroke-font MTEXT (#628) by @MarekSpodBiedry in #644
- Make right palette collapse arrow interactive (fix #617) by @rangoDJ in #640
- Tool Sets: the gear on a category header opens that category's options by @switch87 in #620
- fix(io): write DXF CLASS instance counts and preserve current leader style by @The-Great-Nothing in #635
- Linux: Theme > System follows the desktop's light/dark setting by @itrycodinganditsbad in #641
- File-format follow-ups: version-gated MULTILEADER and DIMSTYLE groups, kept $DWGCODEPAGE, PURGE multiline styles by @vangel76 in #632
- Hatches: draw the pattern definition stored in the file; scale library patterns in metric drawings by @aldozar in #643
- Render: level of detail and view clipping for pattern hatches on screen (fixes #544) by @STE1200 in #638
- Fix fatal wgpu buffer overflow; draw MOVE/COPY/ROTATE/SCALE previews and the selection highlight on the GPU by @aldozar in #642
- Drafting/plot/UI follow-ups: PolarSnap over isometric snap, MVIEW Restore, plot margins, PNG/SVG pens, PE_URL links, OPTIONS settings (part of #626) by @vangel76 in #633
- feat: SVG import — read SVG and SVGZ into native entities by @switch87 in #636
- docs: refresh gaps.md and parity docs for landed features by @vangel76 in #625
- i18n: add Czech (cs) interface language by @Losminek in #639
- i18n: add Russian, Spanish, French, Portuguese and German interfaces by @pechnikov2026-star in #624
- Add raw-HID SpaceMouse 2D navigation by @PedroGuille in #650
- Add regression tests for Plot Preview toolbar button (fixes #442) by @rangoDJ in #653
- Fix filled text zoom freezes with cached glyph meshes by @PedroGuille in #651
- GPU errors and device loss: keep running, autosave at once, tell the user by @aldozar in #652
- Show block insertion XYZ in Properties Inspector by @markmonkey in #682
- DXF: write kept application data groups as read, not as handle lists by @CaseyKleinman in #681
- BRICK: draw each vertical joint once by @aldozar in #664
- AUNITS: degrees/minutes/seconds angles round at the displayed precision by @webdevtodayjason in #672
- File tabs: cut long drawing names short with an ellipsis by @aldozar in #657
- Prioritize command aliases in autocomplete and display shortcut match by @rangoDJ in #656
- control server: bound request lines and concurrent connections by @SteamSmith in #678
- Zoom the canvas by each mouse-wheel notch in the frame it arrives by @SBaksa in #692
- Cache active viewport highlights per zoom band so zoom and pan stay smooth (#687) by @MarekSpodBiedry in #695
- Deduplicate identical boundary loops to prevent empty hatch fills by @rangoDJ in #671
- i18n(es): add 219 missing rows, fix mistranslations and terms by @diegozpy in #680
- SCRIPT command: run .scr files from the command line, menus and JSON (gaps.md E2) by @Lion-1209 in #693
- Build the screen's model-space display list on all cores; read-write locks for glyph caches by @aldozar in #654
- MIRROR and PASTE previews on the GPU; GPU previews in layouts too by @aldozar in #655
- Plot dialog: device, plot style table, Window <, and a preview of its settings by @aldozar in #673
- Hatch: pick the pattern from swatches instead of typing its name (fixes #669) by @aldozar in #679
- Add Chinese language support to preferences by @mayloglog in #684
- Performance: reuse nearby snap geometry for tracking acquisition by @cyfung1031 in #698
- Release workflow: pass the Azure signing secrets by @echelon in #647
New Contributors
- @skylartaylor made their first contribution in #456
- @CyberFox-81 made their first contribution in #509
- @webdevtodayjason made their first contribution in #520
- @WladmirJunior made their first contribution in #539
- @tsangiotis made their first contribution in #549
- @switch87 made their first contribution in #568
- @PedroGuille made their first contribution in #613
- @arekown made their first contribution in #573
- @rangoDJ made their first contribution in #640
- @The-Great-Nothing made their first contribution in #635
- @itrycodinganditsbad made their first contribution in #641
- @aldozar made their first contribution in #643
- @Losminek made their first contribution in #639
- @pechnikov2026-star made their first contribution in #624
- @markmonkey made their first contribution in #682
- @CaseyKleinman made their first contribution in #681
- @SteamSmith made their first contribution in #678
- @diegozpy made their first contribution in #680
- @Lion-1209 made their first contribution in #693
- @mayloglog made their first contribution in #684
Full Changelog: v0.5.0...v0.6.2