Files
OneCAD-Draft/changelogs/unreleased.md
T
Karim Jerbi 535710e5d1 docs: add comprehensive per-release changelogs and master index
- Add root CHANGELOG.md as master index with executive release summaries
- Add dedicated changelogs for last 4 releases (v2026.38, v2026.39, v2026.40/40.1 unified, v2026.41) and unreleased
2026-10-13 15:35:24 +01:00

15 KiB

OpenCADStudio - Unreleased (2026-10-11 to Present)

Summary: Overhaul of the workspace docking and layout system with Photoshop-style vertical icon rails and draggable tabs; deep hardening of block definitions against circular recursion and standard-compliant block explosion (INSERT/MINSERT); major Web/WASM platform parity wave including in-place saving via File System Access API, offline PWA support, and worker-routed operations; plus custom .pat and .lin pattern loading.


🌟 Notable Release Notes

  • Modernized Docking & Workspace System: Introduced Photoshop-style collapsible vertical icon rails for docked groups, 150ms auto-hide flyout behavior, draggable tab reordering, and independent floating windows for palettes (including a dedicated LAYERS manager). (Contributed by @posnofa and @MarcelP102)
  • Block System Hardening & Safe Explosion: Complete overhaul of block references and definitions. Prevents circular/recursive block nesting crashes at both commit time and render time. Block explosions (INSERT and MINSERT) now delegate to opencadcodec, properly restoring transformed ATTDEF templates and handling rotated arrays with non-zero base points. (Contributed by @KarimJerbi)
  • Major Web / WASM Platform Wave: In-place local file saving via the File System Access API, offline PWA support, automatic crash recovery (restore-all), clipboard image pasting, worker-threaded WBLOCK / SAVEALL / ARCHIVE tasks, and in-browser PDF plotting. (Contributed by @posnofa, @HakanSeven12, and Claude Opus 5.5)
  • Custom Resources & Compatibility: Native support for loading custom user hatch patterns (.pat) and linetypes (.lin), custom view backgrounds (solid, gradient, and device-pixel scaled images), and strict DWG reader compliance fixes. (Contributed by @HakanSeven12 and @ramox81)

🚀 New Features

UI & Workspace

  • Docking Panels & Icon Strips: Added vertical icon rails for docked palette groups, per-edge auto-hide flyouts, customizable slot heights, and double-click float/dock toggles. (Contributed by @posnofa)
  • Draggable Tabs & Groups: Palette tabs can now be reordered by dragging; floating windows support grouped tabs. (Contributed by @posnofa)
  • Layer Manager Palette: Integrated LAYERS into the docking system as a native pallet. (Contributed by @posnofa)
  • Graphic Attributes Palette: Added toggles, controls for open boundaries, color swatches with *VARIES* indicator, and persistent docking layout. (Contributed by @MarcelP102)

Selection & Drafting

  • Advanced Selection Filter (FILTER): Added comprehensive selection filtering with normalized logical operators and attribute filters (v2.2). (Contributed by @turbuczn)
  • Transparent Object Snap Overrides: Introduced transparent object snap overrides within active drafting commands. (Contributed by @yztink)
  • Chamfer & Fillet No-Trim Mode: Added support for preserving source entities during CHAMFER and FILLET (TRIMMODE=0). (Contributed by @YsDirector)
  • Line Tangency in Arcs: Supported line tangency constraints during arc construction with improved trim contact precision. (Contributed by @yztink)
  • SVG Export: Added native SVG export via EXPORTSVG. (Contributed by @posnofa)
  • Custom Resource Loading: Added direct loading for user .pat hatch pattern and .lin linetype files. (Contributed by @HakanSeven12)

Views & Layouts

  • -VIEW Command Line Interface: Added command-line view presets, orthographic UCS alignment, and window definitions. (Contributed by @ramox81)
  • View Backgrounds: Added support for solid, two-color linear gradient, and scaled/offset device-pixel raster backgrounds. (Contributed by @ramox81)
  • Automatic Layout Viewport (LAYOUTCREATEVIEWPORT): Automatically creates and enables an initial viewport upon first opening a layout tab. (Contributed by @ramox81)

Web & Platform

  • In-Place File System Access: Native saving in browser via File System Access API. (Contributed by @posnofa)
  • PWA & Offline Recovery: Full offline PWA capabilities with deep linking (?file=) and session recovery (restore-all). (Contributed by @posnofa)
  • Web Worker File Operations: Offloaded WBLOCK, SAVEALL, and ARCHIVE transmittal generation to background web workers. (Contributed by @posnofa)
  • 3D Formats in Web: Enabled STEP/STL export and OBJ import on web builds. (Contributed by @posnofa)
  • In-Page Plot Preview: Embedded PDF plot preview directly in-page on wasm32 with quality presets. (Contributed by @posnofa)

Automation & MCP (Model Context Protocol)

  • Canvas Pointer Event Replay: Added pointer event replay on the canvas for automated test drivers. (Contributed by @HakanSeven12)
  • Dynamic Entity Schemas & Preflight: Added on-demand entity creation schema inspection and side-effect-free preflight validation in MCP server (006be890, 97afb573). (Contributed by @KarimJerbi)
  • MCP Batch Step Bindings & Summaries: Added batch parameter bindings to earlier step results and batch summaries with read-only detail retrieval (50030be8, 7b68d274). (Contributed by @KarimJerbi)
  • Specialist Guides & Schema Deduplication: Served architectural and workflow specialist guides on demand and deduplicated operations with shared schemas (8943a6fd, f4b33d5c). (Contributed by @KarimJerbi)
  • Resource Links for Captures: Returned dedicated resource URIs for reference-only image captures (6ff8d8d7). (Contributed by @KarimJerbi)
  • Spline Automation API: Added spline creation and parameter serialization with strict knot/weight validation (entities_create). (Contributed by @YsDirector)
  • Selection Event Streaming: Automation clients now receive real-time selection change notifications. (Contributed by @YsDirector)
  • Host API v8: Added name-addressed XRecord CRUD operations on HostApi. (Contributed by @schoeller)

🐛 Bug Fixes

Blocks & Attributes

  • Circular Block Prevention: Added cycle detection in block_service preventing recursive block definitions (INSERT in BEDIT or redefinition) and safely truncated render-time cycles with session warnings (9c08e8a3). (Contributed by @KarimJerbi)
  • Block Explosion & ATTDEF Restoration: Restored transformed ATTDEF definitions when exploding INSERT / MINSERT blocks, dropped instance attribute values, and corrected rotated array spacings (8d287dec, 59bb6faa). (Contributed by @KarimJerbi)
  • Constant Attributes in ATTEDIT: Enforced constant attribute flags in attribute editor by disabling constant fields and ignoring edits (59bb6faa). (Contributed by @KarimJerbi)
  • Block Service Consolidation: Consolidated delete, rename, and purge operations through a single block definition service (2b50b6c8). (Contributed by @KarimJerbi)
  • Paste Block Origin: Fixed PASTEBLOCK placement to align accurately with the picked point (925c91cc). (Contributed by @HakanSeven12)
  • Wipeout Render Cache & Draw Order: Fixed wipeout render cache invalidations on insert copy/grip moves and preserved draw order for overlapping block wipeouts and hatches (fe0edb61, 1074c81f, 72e97c6f). (Contributed by @gianlucafiore)
  • Cross-Document Dictionaries: Prevented copied entities from incorrectly sharing extension dictionaries across documents (b5b505ee). (Contributed by @KarimJerbi)

Geometry & Drafting

  • Model Space Grip Dragging: Constrained grip drags to the drawing plane, preventing grips from collapsing onto themselves (9cc890c9). (Contributed by @HakanSeven12)
  • Fillet Polyline Join: Automatically join filleted lines or arcs into the target polyline (2f087190). (Contributed by @HakanSeven12)
  • Boundary Edge Preselection in Extend: Enabled EXTEND to honor preselected boundary entities (3840630a). (Contributed by @HakanSeven12)
  • Angular Distance Calculations: Corrected DIST XY angle measurement to measure from ANGBASE in the direction defined by ANGDIR (fa00c27e). (Contributed by @HakanSeven12)
  • Dimension Text & Blocks: Kept picture block positions consistent during world-space edits (DIMTMOVE=2) (c5b1269c, 41db8d67). (Contributed by @ramox81 and @YsDirector)
  • Extrude Taper History: Restored fallback profiles in place under group 295 and applied taper angles strictly when chosen (656f0cea, f4a0b1d6). (Contributed by @ramox81)

UI & General

  • Input Focus & Rebound Spacebar: Allowed rebound spacebar execution while the command line retains focus (7e0866e6, cbefecb1). (Contributed by @theluckystrike)
  • Field Focus Persistence: Retained typed layer and text style names when UI input fields lose focus (f6503ad4). (Contributed by @HakanSeven12)
  • Start Screen Quick-Access: Restored functionality of the New button on the initial Start screen (88803cd6). (Contributed by @HakanSeven12)
  • Windows Default Apps Fallback: Gracefully fall back to Windows Settings when the system default-apps dialog fails (46395464). (Contributed by @HakanSeven12)
  • macOS Release DMG: Restored Applications shortcut link in macOS DMG bundles (f769b875). (Contributed by @KevinGriffin-new)
  • Plugin Grip Refresh: Refreshed selected grip markers following plugin-driven entity edits (c6dcee2b). (Contributed by @schoeller)
  • Localizations: Completed Hungarian CAD translations and updated message catalogs (49f12e01, a5435a6d). (Contributed by @turbuczn, @hvfrancesco, and @HakanSeven12)

Rendering, Plotting & File I/O

  • Transparent Hatch Layering: Corrected depth sorting to draw transparent hatches cleanly over background lines (d1a2e9db). (Contributed by @HakanSeven12)
  • Wide Polyline PDF Output: Rendered wide polylines in PDF export with square endcaps and mitered joins (088dec4a). (Contributed by @HakanSeven12)
  • Plot Style Precedence: Prioritized explicitly requested CTB plot styles over stored layout page setup tables during headless plots (468d1e4f). (Contributed by @HakanSeven12 and Claude Opus 5.5)
  • Window-Plot Sheet Centering: Centered layout sheets accurately over the plot window (710a837a). (Contributed by @HakanSeven12 and Claude Opus 5.5)
  • Atomic Save Retry: Added retry handling during atomic file replacements to tolerate brief locks (9e31af3f). (Contributed by @HakanSeven12)
  • Image Memory Budgeting: Enforced streaming decode checks and memory budget limits against malformed or excessive GIF/TIFF images (f015c3b5, ce6bd2c7). (Contributed by @HakanSeven12 and @posnofa)
  • DWG Strict Compliance: Pinned upstream opencadcodec fixes to ensure saved DWGs pass strict audits without recovery dialogs (390e1216). (Contributed by @HakanSeven12 and Claude Opus 5.5)

👥 Contributors

Huge thanks to everyone who contributed to this cycle:

  • Hakan Seven (@HakanSeven12) — Upstream kernel/codec syncs, DWG/DXF compatibility, headless plot style precedence, window-plot sheet centering.
  • Afonso Portela (@posnofa) — Web/WASM platform wave (in-place save, offline PWA, worker saves, 3D formats), docking system overhaul, SVG export.
  • Karim Jerbi (@KarimJerbi) — Circular block cycle prevention, block explosion delegating to codec, constant attribute enforcement, rotated MINSERT arrays, unified block definition service, MCP dynamic entity schemas & preflight validation, batch step bindings, specialist guides, and cross-document extension dictionary isolation.
  • ramox81 (@ramox81) — View backgrounds, -VIEW preset CLI, associative surfaces, initial layout viewport generation.
  • Claude (Claude Opus 5.5) — Core CAD engine, layout/plot, and web/WASM co-authoring.
  • ysdirector (@YsDirector) — Automation API: spline creation/validation, selection event publishing, task completion guards.
  • gianlucafiore (@gianlucafiore) — Block wipeout render cache invalidation, GPU boundary masks, draw-order sorting.
  • Marcel (@MarcelP102) — Graphic Attributes palette and docking placement.
  • Sebastian (@schoeller) — Host API v8 XRecord CRUD operations, plugin grip refresh.
  • turbuczn (@turbuczn) — Hungarian localizations, selection filter list enhancements.
  • yztink (@yztink) — Transparent object snap overrides, arc line tangency construction.
  • Kevin Griffin (@KevinGriffin-new) — macOS DMG bundle Applications shortcut link (#769).
  • francesco fantoni (@hvfrancesco) — Translations and UI improvements.
  • theluckystrike (@theluckystrike) — Command line rebound spacebar execution (#1710).