forked from 1b-agent/opencadstudio-upstream
- 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
15 KiB
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.patand.linpattern 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
LAYERSmanager). (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 (
INSERTandMINSERT) now delegate toopencadcodec, properly restoring transformedATTDEFtemplates 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-threadedWBLOCK/SAVEALL/ARCHIVEtasks, 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
LAYERSinto 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
CHAMFERandFILLET(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
.pathatch pattern and.linlinetype files. (Contributed by @HakanSeven12)
Views & Layouts
-VIEWCommand 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, andARCHIVEtransmittal 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
XRecordCRUD operations onHostApi. (Contributed by @schoeller)
🐛 Bug Fixes
Blocks & Attributes
- Circular Block Prevention: Added cycle detection in
block_servicepreventing recursive block definitions (INSERTinBEDITor redefinition) and safely truncated render-time cycles with session warnings (9c08e8a3). (Contributed by @KarimJerbi) - Block Explosion & ATTDEF Restoration: Restored transformed
ATTDEFdefinitions when explodingINSERT/MINSERTblocks, 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
PASTEBLOCKplacement 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
EXTENDto honor preselected boundary entities (3840630a). (Contributed by @HakanSeven12) - Angular Distance Calculations: Corrected
DISTXY angle measurement to measure fromANGBASEin the direction defined byANGDIR(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
opencadcodecfixes 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,
-VIEWpreset 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).