{
  "currentVersion": "0.0.805",
  "releases": [
    {
      "version": "0.0.686",
      "previousVersion": "0.0.685",
      "summary": "Create, check and build complete machine packages in the browser, with downloadable contracts and actionable export diagnostics.",
      "changes": [
        "Package workbench checks posts, calculates canonical hashes, hashes evidence files, builds packages and inspects existing archives without a terminal.",
        "Compatible browser agents can import DXF/UPID, inspect geometry, edit machining intent, review execution, save, install machine packages, activate setups and generate/download audited controller files through WebMCP.",
        "New posts can record the app release and versioned documentation they were written for. Older packages retain their exact contents.",
        "Export failures provide a reviewable agent repair prompt with exact versions, diagnostics and browser-based repair steps.",
        "Storage settings can download a complete saved-workbench backup and restore it into an empty destination. Reviewed cleanup requires a saved backup and explicit file selection; installed posts, revisions and migration backups are protected.",
        "Interrupted project saves recover through verified journals. Legacy upgrades preserve originals; missing manifests and conflicting backups produce recovery diagnostics instead of silently replacing data. Finish recovery with the current app before using an older release."
      ],
      "compatibility": "Controller output semantics are unchanged from 0.0.685. Existing exact separation and arc-direction requirements still apply. Older app builds can reject the new authoredFor metadata; check a package with the app version you intend to use.",
      "action": "Use Package workbench to inspect an existing package. If an update is required, build a new post version, install the complete machine package and activate its setup. An app update does not change installed packages automatically."
    },
    {
      "version": "0.0.687",
      "previousVersion": "0.0.686",
      "summary": "Inspect saved Wire EDM jobs in 3D and work directly with files through browser agent tools.",
      "changes": [
        "Simulation adds rough stock, wire playback, released material, default waste removal between cuts and a final-part view. STEP machine geometry loads locally for approximate interference checks.",
        "The simulation viewport has a stable support grid, studio lighting and reflections, compact settings, and explicit saved-project and incomplete-check states.",
        "Agent tools accept DXF/UPID text and complete machine-package bytes directly. The dedicated Agent input file button is removed; readiness, recent actions and captured previews are in the notification bell's Agent tab.",
        "An animated pill in the app header switches between Editor and Simulation, leaving more room for the part. Notifications open on their own tab by default.",
        "Agents can discover exact edit schemas, export saved UPID/controller files and capture the visible editor or simulation preview through shared application checks.",
        "Editor fixes preserve pending stop/transform edits, discard stale controller previews and retain authored geometry identities. Inconsistent DXF vertex counts and stale UPID bounds produce diagnostics.",
        "Storage backups and recovery preserve exact original text and stop on conflicting catalog changes. Installed packages and saved revisions are retained unchanged."
      ],
      "compatibility": "No automatic postprocessor upgrade is required or performed. Robofil 2.6.0 retains its commands and supported limits. Some previously accepted malformed UPID or conflicting recovery states now require review. Simulation is nominal geometry with illustrative timing, not kerf, rigid-body or physical-machine verification.",
      "action": "Save before simulation or controller export. If a saved-plan comparison fails after a geometry correction, review the original and save a new revision. Keep recovery-conflict files intact. Agents should read the current tool schemas and supply source contents directly; ordinary Import controls remain available."
    },
    {
      "version": "0.0.688",
      "previousVersion": "0.0.687",
      "summary": "Clearer compensation and stop placement wording, distance-based travel stops and recovery for older workbenches that could not open.",
      "changes": [
        "Contour Setup names the material to keep separately from the wire offset. Inside/outside refers to the contour; left/right refers to travel.",
        "Automatic compensation shows which material the contour role keeps. Closed-contour reversal changes left/right without changing the kept material or inside/outside wire position; open-cut settings explicitly name the travel side.",
        "Older external-program workbenches with a separate editable program can open again after upgrading. Original input, edited program and legacy backups are retained.",
        "Program-stop placements explain their machining phase. After contour precedes the exit lead; After exit follows it. With no exit lead, both pause at the contour endpoint.",
        "After contour · travel distance accepts millimeters measured along the existing exit lead and onward positioning. The preview shows the exact pause point; invalid distances and automatic wire-separating positioning are blocked."
      ],
      "compatibility": "Travel-distance stops use UPID v3; older apps reject them. Some posts may reject the new placement or split moves. Installed packages, saved revisions and existing placement behavior stay intact. Older apps may also reject editable-program paths retained during legacy recovery. Conflicting storage contents produce a preserve-data diagnostic.",
      "action": "Reload the app, then retry opening your workbench. Keep browser data and workbench files intact; do not clear storage to resolve an upgrade error. Before using a travel-distance stop on a machine, generate and inspect controller output with the exact installed setup."
    },
    {
      "version": "0.0.689",
      "previousVersion": "0.0.688",
      "summary": "More reliable geometry and recovery, bounded import/history memory, faster editing and simulation, and clearer keyboard, export and agent workflows.",
      "changes": [
        "Concave contours and holes close to circular boundaries use exact containment when new geometry is analyzed. Review automatic kept material and generated output after importing or reanalyzing affected geometry.",
        "Recovery preserves unexpected file contents and pending recovery records. Pending deletion uses file fingerprints; unresolved older deletions remain blocked with their original files available.",
        "Controller export checks the current stored machine setup and stops a cancelled or stale request before revision writing begins. Completed revisions retain their receipt even when recovery cleanup must be retried.",
        "Backups accept valid UTF-8 BOM-prefixed catalogs while retaining their exact original strings and checksums.",
        "Saving an external program detects changes made to its editable file since opening. Reopen the project to review those changes before saving again.",
        "Endpoint inspection reuses document lookups and closed-contour planning avoids allocating a complete path for every possible starting segment.",
        "DXF input is limited to 16 MiB with shared block, geometry and spline complexity budgets. A limit rejects the complete import with guidance; no partial project is saved.",
        "Undo and redo share 50 snapshots and an estimated 32 MiB history budget. Notifications explain when old steps or an oversized state cannot be retained.",
        "A full but readable browser cache keeps existing projects and backup access available, with a warning that writes may fail.",
        "Navigator rendering reuses operation/action lookups and bounds. Simulation tracks completed cuts incrementally while retaining exact gaps and release timing.",
        "A failed replacement agent DXF preview clears its previous preparation. Prepare and review the intended drawing again before importing.",
        "Import and library export menus support keyboard navigation and return focus predictably. Import errors are announced and the same file can be retried.",
        "Blocked controller export can open Machines & setups directly. Export dialogs isolate the background and preserve the current project during the handoff.",
        "Library update dates use readable local time, with exact timestamps retained. The Agent panel links directly to the hosted workflow guide.",
        "Agent context identifies open workflows and invalidates stale preparations. Large query pages adapt to the response budget without truncating rows; follow the returned nextOffset."
      ],
      "compatibility": "Installed packages and saved revisions remain intact. New analysis can change contour roles and automatic compensation, so review exact output with the installed setup. Pending v2 deletion recovery requires this release; finish it before downgrading. Conflicting or unverified recovery data is preserved and blocks writes. Oversized/complex DXF files may now require simplification or splitting. Transient undo/redo history is limited; preserve a saved/exported copy for long editing sessions.",
      "action": "Reload the app and review the active setup before generating output. If cleanup is pending, reopen the workbench and reuse the saved revision or artifact; do not generate another merely to retry downloading. Preserve workbench files, browser data and recovery records when a conflict is reported."
    },
    {
      "version": "0.0.690",
      "previousVersion": "0.0.689",
      "summary": "More reliable machine-setting recovery, complete agent access to package reports, and clearer compact layouts.",
      "changes": [
        "A failed machine-package installation preserves unexpected catalog changes and recovery records instead of overwriting them.",
        "Changing the active machine setup, removing a machine or saving preferences preserves exact originals and can recover an interrupted write in browser cache and folder workbenches.",
        "A stale tab cannot save a preference for a machine removed in another tab, preventing a workbench that fails to reopen.",
        "Package agents can inspect all staged evidence and read complete versioned reports, even when diagnostics or evidence lists exceed a single response. Successful build receipts remain available.",
        "The project library keeps its rows clear of import controls on compact screens. Denser rows prioritize project names and actions; file paths remain available in name tooltips and search.",
        "Compact settings use less space for navigation. Storage explains where work is saved and presents backup actions before advanced inspection."
      ],
      "compatibility": "Installed posts, saved revisions and controller output contracts are unchanged. Unexpected storage conflicts now block rollback and retain recovery records. Active-setup changes, machine removal and preference saves need space for a recovery journal; finish pending recovery in this release before downgrading.",
      "action": "If a storage conflict is reported, preserve the workbench and its recovery records. Keep downloaded backups outside browser storage. Agents should follow returned nextOffset values and pin input/report versions when reading multiple pages."
    },
    {
      "version": "0.0.691",
      "previousVersion": "0.0.690",
      "summary": "DXF preparation and planning stay responsive and can be cancelled before saving begins.",
      "changes": [
        "DXF import and source-unit review run parsing, unit previews and planning in local browser workers.",
        "Cancel preparation or planning without saving a partial project, then retry another drawing.",
        "A stopped or unavailable worker produces an actionable error. CPU tasks stop after 90 seconds instead of holding the page indefinitely.",
        "Changing a project's source units rechecks the reviewed project and original source before saving, protecting edits made while planning was running.",
        "If an import was saved but its editor could not open, the saved project remains available and the result reports what completed."
      ],
      "compatibility": "Installed posts, saved revisions, geometry algorithms and output contracts are unchanged. Browser DXF processing now requires local workers and has a 90-second limit per CPU task. Existing drawing resource limits still apply.",
      "action": "If processing reaches the time limit, simplify or split the drawing and retry. Cancellation is available before saving starts; once an import reports a saved project, open that project instead of repeating the import."
    },
    {
      "version": "0.0.692",
      "previousVersion": "0.0.691",
      "summary": "Editor changes and agent actions now show more clearly what has been applied, saved or cancelled.",
      "changes": [
        "Workflow panels use Apply for draft changes and explain when the project still needs Save.",
        "Closed-path START and END labels are separated, and keyboard focus is visible in the execution tree.",
        "Cancelled or stale agent actions stop before saving or replacing the current editor; completed writes keep their actual receipt.",
        "Agent context and activity agree about busy state and failed saves or setup changes.",
        "Large installed setup lists and complete setup details can be read in bounded pages pinned to the same catalog.",
        "Activating a setup refreshes the matching post library, keeping machines installed in another tab usable without an extra refresh."
      ],
      "compatibility": "Installed posts, saved revisions, execution events and controller output rules are unchanged. Existing small capability calls remain supported; large results explicitly identify summarized fields and how to read the complete details.",
      "action": "After Apply, save the project when ready. Agents should read fresh context after changes, follow capability continuation/version fields and inspect the actual saved or activated receipt before retrying an interrupted action."
    },
    {
      "version": "0.0.693",
      "previousVersion": "0.0.692",
      "summary": "Download recovery evidence directly from the hosted app when storage cannot open.",
      "changes": [
        "Startup errors and Storage settings identify the failed location and offer a recovery export.",
        "The archive preserves readable original logical files and diagnostics, with explicit missing or omitted files and exact hashes.",
        "A retained receipt lets you retry the same captured download without reading storage again.",
        "Agents can use the same recovery operation and inspect source identity, limits and capture receipts."
      ],
      "compatibility": "Installed posts, saved revisions, generation and storage formats are unchanged. A recovery export is not a validated restore backup and does not authorize removing or rewriting the originals.",
      "action": "Keep original storage intact. Export from the reported failed location, inspect completeness and omissions, and verify the browser saved the file. Use the retained download action to retry the same capture."
    },
    {
      "version": "0.0.694",
      "previousVersion": "0.0.693",
      "summary": "Opening the workbench requires less JavaScript while keeping storage and installed-package checks intact.",
      "changes": [
        "Optional package and output features load their code when first used.",
        "Startup still validates installed packages and runs required transaction recovery before editing.",
        "Action failures retain the existing diagnostics and saved-artifact or revision receipts."
      ],
      "compatibility": "Installed posts, saved revisions, agent tools and controller output rules are unchanged. Optional actions still require their code to load successfully before running.",
      "action": "Continue using the normal workflows. If an action fails, inspect its diagnostic and retained receipt before retrying; do not regenerate a saved result merely to retry its download."
    },
    {
      "version": "0.0.695",
      "previousVersion": "0.0.694",
      "summary": "Inspect G-code directly, from an editable draft, or from a saved controller export.",
      "changes": [
        "Inspect a UTF-8/ASCII file or pasted program without creating a project, with search, source-line navigation, command coverage and modal-state details.",
        "Open exact controller output from the export dialog or saved revisions with its pinned post, machine and revision context.",
        "Unknown and unsupported commands remain visible; the XY preview reports omitted motion and uncertain positions instead of drawing speculative connections.",
        "Existing editable imports and UPID authoring remain available. Inspection preserves source text and does not change the project."
      ],
      "compatibility": "Installed posts, saved revisions and controller output rules are unchanged. Some external G-code previews are now deliberately incomplete where controller behavior is not modeled.",
      "action": "Choose Inspect G-code in Start Work, Inspect in a Machine Program, or Inspect G-code after generating controller output. Read Context and Issues before interpreting the nominal XY preview."
    },
    {
      "version": "0.0.696",
      "previousVersion": "0.0.695",
      "summary": "G-code workspaces give code, preview and details room to work.",
      "changes": [
        "Machine Programs use full-height Lines, Text, Summary and Points tabs, with a wider resizable code pane and a Code/Preview switch on smaller screens.",
        "The shared inspector keeps source beside one full-height Preview, Line, Commands, Issues or Context view. Small screens show one focused view with reachable paging and controls.",
        "Preview assumptions move into Context. Source selection, command and issue navigation, exact export context and downloads remain linked to the inspected text.",
        "More common G/M command families have scoped descriptions. Unsupported motion and ambiguous blocks explicitly limit the preview instead of inheriting an earlier move."
      ],
      "compatibility": "Installed posts and generated bytes are unchanged. Some inspection previews intentionally omit more uncertain motion. Recognition is not a controller execution guarantee.",
      "action": "Use Inspect G-code for quick standalone or export review, and Open Machine Program for an editable copy. In inspection, choose Context for preview settings and Issues for interpretation limits."
    },
    {
      "version": "0.0.697",
      "previousVersion": "0.0.696",
      "summary": "Design parametric parts and send exact contours into the machining workbench.",
      "changes": [
        "Design in CAD opens a desktop workspace with a compact document header, one ordered feature/dependency tree and a stable canvas. Every configuration floats over the view and can minimize; changing selection no longer shifts the layout.",
        "Create dimension-driven sketches, connected lines and three-point arcs with automatic material nesting, and exact solids with pads, target-dependent Through-all pockets, revolves, ordered smooth/ruled lofts, exact line/arc sweeps, Booleans, selected-edge fillets/chamfers, inward shells, transforms, mirrors and linear/circular patterns. Reuse named parameters in dimension expressions.",
        "Create expression-driven datum planes, place sketches and curves on them, and build tilted pads, revolves, aligned-section lofts or sweeps while preserving local dimensions and source files.",
        "Send a sketch or previewed final-solid section directly into a new CAM project with analytic lines and circular arcs.",
        "Save editable CAD documents locally; import and export CAD JSON, STEP, STL and sketch DXF. Edit imported line and arc dimensions while preserving source originals. Open existing sketches fitted to their geometry, reveal source sketches in 3D, and capture the current view as PNG.",
        "Agents can discover schemas, construct and measure exact line/arc profiles, preflight sweep placement and clearance, import geometry, edit the same draft, inspect exact faces and edges, control the viewport, save and hand off designs through version-checked WebMCP tools.",
        "Configure correlated Spur gear profiles with automatic undercut correction, Automatic/Custom generating-cutter tip radius, bounded rack-generated rounded roots and read-only dimensions. Tooth root and Curve accuracy have dedicated controls with illustrated explanations. Existing parts keep their exact plugin versions until explicitly upgraded.",
        "Open Fillet / Chamfer as a grouped toolbar menu; both operations retain exact selected-edge and all-edge behavior.",
        "Read CAD failures in dismissible toasts and the notification bell. Repeated identical rebuild failures are grouped; dismissing the toast retains the notification for the current app session. Gear root sampling uses fewer certified chords at the same requested tolerance; larger valid extrusions retain their requested accuracy without a preview topology policy cap.",
        "Organize document parameters in named groups with plugin origin indicators. Plugin profiles create their own scoped driving values. Inspect active uses and local overrides, edit values in a floating editor, and use contextual info buttons with current-geometry illustrations.",
        "Keep mouse-drawn contours free until you add a driving dimension. Rectangle, circle and slot dimensions use shape-native annotations; named links remain correlated. Drag selected ordinary contours to move them with one Undo step. Sketch Fillet rounds rectangle corners with a bounded tangent radius; explicit relation editing/unlinking retains other dimensions.",
        "Preview existing modeling feature edits before Apply; right-click parts and profiles for compact actions, and pick eligible source sketches/bodies from the model or history without leaving the draft. Settings > CAD provides Navigation and Display tabs for this device.",
        "Use File > Export DXF for a chosen sketch, reference curve or previewed exact solid section at a plane offset. Export is independent of feature properties, does not save the document or create CAM, and keeps version, cancellation and workflow checks.",
        "Sketch profile selection keeps pointer focus on the canvas and uses a continuous analytic SVG boundary, removing oversized browser focus outlines and segment seams without changing export geometry. Spur gear v3 uses fewer certified modeling chords at the same accuracy.",
        "Changed plugin recipes must use a new ID/version when their identity belongs to a bundled package. Conflicting installation is rejected before writes; conflicting stored originals remain intact and appear in library diagnostics.",
        "The specification tree floats directly over the full design area. Its Reference, Parameters and Model branches scroll independently, with distinct contour selection and parent editing context. Contextual commands sit at the bottom; configuration and sketch completion sit at the bottom right without shifting the canvas.",
        "Pad/Pocket and Revolve source selection excludes empty, suppressed and construction-only sketches. Explicit unusable selection reports a problem instead of substituting another sketch; datum sketches keep Distance while Through-all is disabled with contextual help.",
        "CAD requests the browser exit warning only while unsaved content or a pending workflow exists. Save or Undo to the saved baseline releases it; the warning does not save the draft.",
        "Pad, Revolve, Loft, Sweep and Boolean cuts report when they miss the target, point away from it, only touch it or remove the entire body. Native precision checks inspect individual material components; no requested geometry or accuracy is changed automatically.",
        "Renaming a sketch contour reuses the existing native solid; changing a real dimension still rebuilds it. STEP body labels and stale inspection checks remain current.",
        "Sketch is the first modeling command. Select a reference plane before starting, or pick its patch or label in the design area when asked. View controls tuck below the contextual tool dock and slide out without changing canvas framing.",
        "View angles and all platform dropdowns share one native control with consistent readable menu colors, keyboard focus and disabled states. Existing selection choices, labels and form behavior are preserved.",
        "Modeling quantity fields retain shared parameter links and preview correlated features together. Use fx for deliberate relation changes. Editing a named value keeps the current solid or sketch view; Inspect a usage to navigate deliberately. Unfinished values keep the last valid shape visible while Apply remains disabled. Unused parameters reuse native solids while current section queries and stale-state checks remain exact.",
        "Selected body volume and a ready feature preview show native solid counts when a history body contains multiple components. Join/Union help explains containment and separated additions. Agents receive the same derived count, with null for older results where it is unavailable. Saved geometry and Join acceptance are unchanged.",
        "CAD exchange and saved documents have no fixed file-size cap. Larger STEP, STL and exact DXF data retain their complete originals; native builds preserve requested precision. Exact reads and native work remain cancellable. Geometry and unit checks still apply. Healthy workers keep their current build for inspection and export without forced job-count resets.",
        "Agent context and mutation receipts include whole parameter/group entries with exact totals and omission counts. Complete values remain available through versioned parameter pages and document text chunks; large lists do not hide an accepted edit behind an oversized receipt.",
        "Large CAD scenes keep every authored reference outline at its existing accuracy. Viewport reads and captures return complete small scenes or whole-ID summaries with exact counts and pages for all displayed identities. Exact large DXF polylines, nested blocks and CAD-to-CAM contour provenance are preserved without JavaScript argument-count failures.",
        "Opening cached parts and readable recovery data preserves exact text and validates complete compressed files across supported browsers. Cooperative decoding removes unnecessary small-chunk waiting while retaining cancellation and original data.",
        "Sketches stay visible and selectable far from the origin, with exact dimensions and source coordinates preserved. Closing View controls dismisses their contextual help while retaining camera settings and unfinished geometry edits.",
        "Opening a different part frames its own geometry. Edits, previews, Cancel and inspector changes within the same part retain the chosen camera. Initial Sketch Fit accounts for the newly expanded contour tree; manual tree interactions retain the view. Gear-help illustrations preserve proportions and rounded root transitions far from the origin.",
        "Pad and Pocket can select individual closed sketch areas, including bore interiors, while preserving the original sketch and its dimensions. Whole sketch remains the default. Selected nested neighbors share no internal wall; changed area topology requires an explicit new choice.",
        "Optional extrusion depth handles live in CAD Display settings and are off by default. Dragging previews signed or symmetric Length, preserves exact named parameter bindings and waits for Apply. Escape and interrupted gestures restore the prior provisional edit; coupled placement and formula-driven lengths stay controlled by their relations.",
        "Agents can inspect exact sketch-cell identities and local dimensions through paged reads and complete reference chunks. Proposed-source reads prepare correlated source/parameter/selection changes without writing or certifying downstream solids; one atomic edit and native build retain the existing validation and Undo contracts.",
        "The project library puts its title, count, expanding search and filters in one compact header. Project cards have clearer metadata; Start work explanations live beside their headings as help. Shared controls use consistent typography, spacing and motion, and interface labels use sentence case while file formats and source text retain their case."
      ],
      "compatibility": "Installed posts, saved CAM revisions and controller output contracts are unchanged. CAD transfers create detached CAM projects. Fresh near-tangent intersection calculations include a numerical roundoff correction; saved files are not rewritten. Optional CAD parameter-group/origin fields are preserved by current readers; older CAD previews may reject documents using those fields. Existing CAD documents and pinned plugin definitions are not rewritten automatically. Spur gear v3 adds an explicitly selected generating-cutter tip radius and tighter certified chord sampling. Existing v1/v2 recipes and installed snapshots retain their exact package definitions and geometry. Older CAD readers without the v3 builtin reject new v3 profiles; no automatic upgrade occurs. Sketch profiles may now store optional driving-dimension intent. Current readers preserve old geometry and expressions without adding constraints; older strict CAD previews may reject profiles using the new field. No saved document migration occurs. Cut in Pad, Revolve, Loft, Sweep and Boolean now requires confirmed positive intersected material. Saved cuts that previously removed nothing or could not be resolved at native precision may now report a feature diagnostic and stop rebuilding; their saved definitions remain unchanged. Check sketch placement, direction, depth and target. The preceding valid solid remains visible and invalid solid export is blocked. CAD source, document, saved-file, STEP root/solid, STL facet and preview topology byte/count policy ceilings are removed without changing the file schemas or requested geometry. Older preview readers can reject newly accepted larger files or journals. Existing saves and installed post packages are not rewritten. Invalid encoding, units, geometry, cancelled or stale operations still fail before acceptance; connected-shell STL reconstruction and existing operation semantics remain unchanged. Nested conversion-based STEP length units now report step-units-unsupported before transfer because the pinned native reader can silently substitute the wrong scale. Previously accepted shallow nested-unit imports may therefore stop rebuilding; their exact saved originals remain intact. SI units and supported direct conversions remain accurate. CAD context parameters and parameterGroups are summaries when their omission flags are true. Agents that require every value must follow the documented versioned read tools; full stored data and file schemas are unchanged. CAD viewport and capture ID arrays can now be summaries when their omission flags are true. Exact counts and viewport-token/document-version-pinned pages expose every displayed identity; complete renderer and retained capture metadata are unchanged. Small scene receipts remain complete. Agents must inspect omission flags before treating a returned array as exhaustive. Exact cache and bounded recovery reads now deliberately validate complete gzip member series, including header/footer checksums and trailing bytes, independently of platform decompression behavior. Malformed compressed envelopes previously tolerated by the portable reader now reject without changing or deleting their stored originals. Existing backup/recovery read limits remain separate from uncapped CAD exchange. Optional regionSelection on Pad/Pocket preserves existing absent-field geometry and is never added to saved files implicitly. Earlier strict CAD readers reject explicit selections. Device-only depth-handle settings do not change CAD file schemas, installed post packages or saved CAM revisions.",
      "action": "Choose Design in CAD, create or import a part, then use File > Send to CAM for a sketch or File > Section for CAM for the finished solid. Review the resulting machining plan before output."
    },
    {
      "version": "0.0.698",
      "previousVersion": "0.0.697",
      "summary": "Recognize workbench actions through a consistent original icon family.",
      "changes": [
        "CAD feature icons distinguish material addition and removal, rounded and beveled edges, sketches, solids, patterns and mirroring.",
        "File, editing, simulation, storage, navigation and status controls use matching SVG metrics and inherit their control colors.",
        "The icon catalog provides searchable previews at toolbar and tree sizes on light and dark backgrounds."
      ],
      "compatibility": "Installed posts, saved revisions, machine packages, storage and controller output remain compatible.",
      "action": "Use the existing control labels and tooltips to identify actions. Icon pictures have changed; their operations retain the same checks."
    },
    {
      "version": "0.0.699",
      "previousVersion": "0.0.698",
      "summary": "Find saved CAD parts and archived projects in one library, and reopen projects with direct browser links.",
      "changes": [
        "CAD parts now appear beside path projects and machine programs.",
        "Active, archived and all-project filters share the same responsive project list.",
        "CAD, editor and settings pages have browser URLs that support refresh and history.",
        "Test lifecycle warnings and repeated verification work are corrected."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD originals and controller output remain compatible.",
      "action": "A project URL opens local data in the selected browser cache or folder. Export a portable CAD document to move the part to another device."
    },
    {
      "version": "0.0.700",
      "previousVersion": "0.0.699",
      "summary": "Draw, constrain and edit exact sketch geometry before turning it into solid features.",
      "changes": [
        "Sketches keep editable points, lines, arcs and circles with solved constraints and dimensions.",
        "Trim, extend, split, offset, mirror, fillet and chamfer edit sketch geometry exactly.",
        "Sketch commands share one consistent form with live previews and cancel safely.",
        "Agents discover sketch edit contracts on demand and can preview regions before editing."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and controller output remain compatible. CAD files saved with sketch graphs need this app version or later.",
      "action": "Keep an exported copy of a CAD part before saving sketch edits if you still need to open it in an older app version."
    },
    {
      "version": "0.0.701",
      "previousVersion": "0.0.700",
      "summary": "Corrected arc-stop and circular calculations, stricter storage recovery, recovery copies from connected storage and clearer execution diagnostics.",
      "changes": [
        "Remaining-cut program stops on arcs and circles use corrected positions, and circular sampling, playback and output auditing are more precise.",
        "Older saved revisions whose plan changes under the corrected calculations stay preserved but are reported as incompatible instead of producing different output silently.",
        "Settings → Storage can copy readable recovery files from a connected workbench, including when a historical revision blocks verified backup.",
        "Execution issues name their contour and open the tool that actually clears them, including Machining Participation for partial contours.",
        "Storage recovery keeps files and journals untouched whenever their contents changed outside the expected transaction.",
        "Large partial drawings and repeated simulation seeks prepare faster."
      ],
      "compatibility": "Installed machine packages and saved revisions are never rewritten. Circular output and audit results can change for affected geometry, and some older saved revisions become unreadable until regenerated. New revisions need this app version or later.",
      "action": "Before machining, regenerate controller output for projects with arcs or circles and review it against the exact post's fixtures. For a revision reported as incompatible, open its editable project, review circular geometry and program stops, save, and choose Generate controller artifact; keep the old revision and existing backups."
    },
    {
      "version": "0.0.702",
      "previousVersion": "0.0.701",
      "summary": "More exact arc endpoints in CAD sketches.",
      "changes": [
        "Sketch arcs that start or end straight above, below or beside their centre now sit exactly on that axis, so sketch measurements and bounds are the same every time."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and existing CAM projects are unchanged. New CAD measurements and handoffs can differ by a few 1e-15 mm.",
      "action": "No action needed."
    },
    {
      "version": "0.0.703",
      "previousVersion": "0.0.702",
      "summary": "Faster internal checks; no workbench behavior changes.",
      "changes": [
        "Internal type, lint and test checks run faster and cover the browser journeys, so regressions are caught before release."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.704",
      "previousVersion": "0.0.703",
      "summary": "Large DXF drawings import and re-plan much faster.",
      "changes": [
        "Importing or editing drawings with thousands of contours no longer slows down sharply as the drawing grows. A 14,400-entity nest plans about seven times faster, and larger drawings gain more."
      ],
      "compatibility": "Cut order, start points, directions and posted programs are unchanged. Installed machine packages, posts, saved revisions and CAD files are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.705",
      "previousVersion": "0.0.704",
      "summary": "Path edits no longer leave a drawing reported as an invalid project.",
      "changes": [
        "After a path edit on a drawing where nearby endpoints could join more than one way, the edited project could fail validation, which blocks its execution plan. It now stays valid.",
        "Moving the start of a self-intersecting contour onto its crossing point lists every intersection instead of leaving the project invalid.",
        "Moving one contour no longer shifts the recorded start of another contour whose start was moved twice earlier.",
        "Starts placed within the coincidence tolerance of a corner record that corner, so tight-tolerance drawings stay valid."
      ],
      "compatibility": "Cut order, start points, directions and posted programs are unchanged. Installed machine packages, posts, saved revisions and CAD files are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.706",
      "previousVersion": "0.0.705",
      "summary": "Large drawings import and compile much faster, and posts that run out of time say so.",
      "changes": [
        "Importing a drawing with thousands of separate paths that cross each other no longer slows down with the square of the path count.",
        "Building the execution plan for a job with thousands of contours takes well under a second instead of growing with the square of the contour count.",
        "Checking a machine post against a large execution plan no longer slows down with the number of events.",
        "When a post stops because it hit its time or memory limit, the error now names the resource limit instead of saying the post produced different results on two runs."
      ],
      "compatibility": "Imported projects, execution plans and posted programs are unchanged. Installed machine packages, posts, saved revisions and CAD files are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.707",
      "previousVersion": "0.0.706",
      "summary": "Simulating jobs with many parts is faster.",
      "changes": [
        "Preparing the simulation for a job with dozens of parts that drop out takes a fraction of the time it did, with the same results."
      ],
      "compatibility": "Simulation results, execution plans and posted programs are unchanged. Installed machine packages, posts, saved revisions and CAD files are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.708",
      "previousVersion": "0.0.707",
      "summary": "CAD models rebuild faster.",
      "changes": [
        "Rebuilding a CAD model after an edit skips repeated geometry checks, so extrudes, revolves and cuts update sooner."
      ],
      "compatibility": "CAD files, models, exports, execution plans and posted programs are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.709",
      "previousVersion": "0.0.708",
      "summary": "Parts drawn far from the drawing origin record correct label points.",
      "changes": [
        "Imported drawings placed far from the origin record each closed contour's representative point inside the part instead of far away from it."
      ],
      "compatibility": "Execution plans and posted programs are unchanged. Saved projects keep their stored points until their paths are re-derived.",
      "action": "No action needed."
    },
    {
      "version": "0.0.710",
      "previousVersion": "0.0.709",
      "summary": "Large drawings validate faster.",
      "changes": [
        "Checking a drawing for crossings and overlaps is faster on large jobs and drawings with many intersecting paths."
      ],
      "compatibility": "Results, saved projects and posted programs are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.711",
      "previousVersion": "0.0.710",
      "summary": "Programs and drawings saved with classic Mac line endings open correctly.",
      "changes": [
        "G-code programs whose lines end with a lone CR keep every block when normalized, cleaned up for editing or rearranged.",
        "DXF drawings whose lines end with a lone CR can be imported.",
        "Normalizing an already normalized program leaves it unchanged."
      ],
      "compatibility": "Posted programs and saved projects are unchanged.",
      "action": "Re-open any CR-only program that normalized to an empty program before this release."
    },
    {
      "version": "0.0.712",
      "previousVersion": "0.0.711",
      "summary": "A custom post that throws an unusual value reports a readable error instead of stopping the post runtime.",
      "changes": [
        "Custom posts that throw a BigInt, a Symbol, undefined or a Promise fail with a readable diagnostic.",
        "Very long custom-post error messages are shortened to 4,096 characters.",
        "A failed custom post no longer leaves the post runtime unusable for the next run."
      ],
      "compatibility": "Posted programs and installed posts are unchanged. Error messages change for some unusual thrown values; diagnostic codes stay the same.",
      "action": "If a workflow matches the text of a custom-post error, check it against the new messages."
    },
    {
      "version": "0.0.713",
      "previousVersion": "0.0.712",
      "summary": "Very large drawings import as valid projects or explain what was skipped.",
      "changes": [
        "Parts larger than about 1e103 mm no longer save as invalid projects.",
        "DXF geometry beyond 1e300 mm is skipped with an error diagnostic, and a smaller import unit can bring it back into range.",
        "Moves, rotations and mirrors that would push geometry beyond 1e300 mm are refused."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged for drawings within 1e300 mm.",
      "action": "No action needed. If a drawing reports skipped geometry, check its import unit."
    },
    {
      "version": "0.0.714",
      "previousVersion": "0.0.713",
      "summary": "The simulation preview keeps showing released pieces after an invalid time sample.",
      "changes": [
        "Released pieces no longer disappear from the simulation preview after the playhead receives an invalid time."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.715",
      "previousVersion": "0.0.714",
      "summary": "DXF files with mixed or doubled line endings import correctly.",
      "changes": [
        "DXF files that mix line-ending styles, or end lines with CR CR LF, import and open in CAD like any other DXF.",
        "Very long runs of blank CR line endings no longer slow DXF import."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed. Re-import a DXF that previously lost geometry because of its line endings."
    },
    {
      "version": "0.0.716",
      "previousVersion": "0.0.715",
      "summary": "Geometry warnings stay attached to the right joints after edits.",
      "changes": [
        "After splitting, reversing or moving a start, endpoint warnings point at the current segments and joints instead of stale or reused ones."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.717",
      "previousVersion": "0.0.716",
      "summary": "Corrected compatibility note for 0.0.704: near-tied contours can be cut in a different order, from a different start or in the other direction.",
      "changes": [
        "Since 0.0.704, contours, start vertices or directions whose rapid distances or start coordinates tie within the coincidence epsilon (0.00001 drawing units by default, or the configured value) are chosen by a fixed scan, so re-planning can pick a different order, start or direction than 0.0.703."
      ],
      "compatibility": "No change in this release. Programs re-planned since 0.0.704 can differ from 0.0.703 only for these near ties.",
      "action": "If a part has candidate starts whose distances or coordinates tie within the coincidence epsilon, check its cut order, start points and directions after re-planning."
    },
    {
      "version": "0.0.718",
      "previousVersion": "0.0.717",
      "summary": "Full browser storage or a full disk is reported clearly, with a way to keep working.",
      "changes": [
        "When browser storage is full, saves explain how to back up the workbench, move it into a folder or remove unreferenced files.",
        "When the disk holding a folder workbench is full, saves ask you to free disk space and try again."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.719",
      "previousVersion": "0.0.718",
      "summary": "Drawings with very many crossing or overlapping lines import faster and use far less memory.",
      "changes": [
        "The first 1,000 crossing or overlapping segment pairs are listed one by one; the rest are reported together in one error that still blocks every affected path.",
        "Checking for overlapping lines is faster on dense drawings."
      ],
      "compatibility": "Posted programs and installed posts are unchanged. Saved projects keep their recorded warnings.",
      "action": "No action needed."
    },
    {
      "version": "0.0.720",
      "previousVersion": "0.0.719",
      "summary": "A failed save in a folder workbench no longer leaves an empty file that blocks the next open.",
      "changes": [
        "If the disk is full while the app upgrades or saves a folder workbench, retrying after freeing space now works instead of reporting a conflicting backup."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed for new failures. A folder workbench that already reports a conflicting backup keeps both files unchanged; the app does not remove them. Use Export readable recovery files on the startup error screen to download a copy of its contents for recovery."
    },
    {
      "version": "0.0.721",
      "previousVersion": "0.0.720",
      "summary": "Sketching is freer and snaps to the origin, axes, edges and crossings, and the part tree and inspector are tidier.",
      "changes": [
        "The grid is a reference; turn on Snap to grid in the view options to snap to it.",
        "Drawing and dragging points snap to the origin, the axes, edges, crossings and horizontal or vertical guides.",
        "Dimension can measure a point from the sketch origin or an axis.",
        "A Constrain menu, a Trim tool and single-letter tool keys were added.",
        "Sketches nest under the solid that uses them, and feature actions are in right-click menus."
      ],
      "compatibility": "Posted programs, installed posts and saved projects are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.722",
      "previousVersion": "0.0.721",
      "summary": "Updated libraries; no workbench behavior changes.",
      "changes": [
        "The workbench is built with the latest releases of its libraries."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.723",
      "previousVersion": "0.0.722",
      "summary": "Internal test cleanup; no workbench behavior changes.",
      "changes": [
        "Removed duplicated automated checks and unused internal code."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.724",
      "previousVersion": "0.0.723",
      "summary": "Select sketch geometry and the origin or axes, then choose a constraint that fits the selection.",
      "changes": [
        "Slots are drawn as connected lines and arcs with a selectable center point.",
        "The sketch origin and its H and V axes are short arrows you can select and constrain.",
        "With a selection, Constrain and the right-click menu list the constraints that fit it, check the ones already applied, and remove a checked one when you choose it again.",
        "Placing a free shape on the origin, an axis or another point moves the whole shape there.",
        "The sketch and 3D views use a graduated background."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.725",
      "previousVersion": "0.0.724",
      "summary": "Clearer error messages, renaming the part from its Properties, and consistent header buttons.",
      "changes": [
        "Errors explain what went wrong and what to try, without long raw numbers or internal IDs.",
        "Click the part at the top of the tree to open its Properties and rename it there.",
        "Settings and Notifications in the header match the other header buttons."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.726",
      "previousVersion": "0.0.725",
      "summary": "Plane highlighting in the tree and design area, Sketch in either order, and dragging a Pad's depth on the part.",
      "changes": [
        "XY, XZ and YZ stay visible in the design area, and pointing at a plane highlights it in the tree and the design area.",
        "Pick a plane then choose Sketch, or choose Sketch then pick a plane, from the tree or the design area.",
        "Drag a selected Pad's arrow or its end face to change its Length; release keeps it as one undo step."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged. Depth handles are on unless turned off in Settings.",
      "action": "No action needed. Turn off Extrusion depth handles in Settings → CAD → Display to hide them."
    },
    {
      "version": "0.0.727",
      "previousVersion": "0.0.726",
      "summary": "Maintenance builds now require the patched Node 24.22.1 LTS runtime.",
      "changes": [
        "Pin repository and GitHub workflow builds to Node 24.22.1.",
        "Reject vulnerable Node 24 and Node 26 patches, Node 25, and unreviewed future Node major releases from npm-managed maintenance commands."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files, storage and controller output are unchanged. This maintenance requirement affects repository contributors, not the client-only hosted app.",
      "action": "Maintainers must use Node 24.22.1 or later on Node 24, or Node 26.12.1 or later on Node 26, before running repository commands. Hosted-app users do not need to take action."
    },
    {
      "version": "0.0.728",
      "previousVersion": "0.0.727",
      "summary": "Large browser projects can save and export without the localStorage capacity ceiling.",
      "changes": [
        "Existing browser projects and installed posts move to a larger browser database while exact originals remain preserved.",
        "Saving an export revision updates its indexes atomically; repeating an unchanged export reuses the exact validated revision.",
        "Download a saved-file backup from an open editor, and get storage-specific recovery guidance when a revision cannot be saved."
      ],
      "compatibility": "Installed packages, machining intent, saved revisions and controller output are unchanged. Older releases see only the preserved earlier cache snapshot, so avoid editing that copy.",
      "action": "Keep a downloaded backup. If migration or storage access fails, open Settings → Storage → Export readable recovery files. Do not clear site data to resolve a migration conflict."
    },
    {
      "version": "0.0.729",
      "previousVersion": "0.0.728",
      "summary": "Resize CAM geometry inside the workbench.",
      "changes": [
        "Scale uniformly by factor or fit the longest side, with explicit origin and resulting bounds.",
        "Use the same scale edit through WebMCP and undo it as one draft change."
      ],
      "compatibility": "Installed packages and saved revisions are preserved. Scaling a draft changes geometry and requires machining review.",
      "action": "Open Geometry → Transform, target Document and use Uniform scale. Review starts, leads, wire position and machine fit before saving and exporting."
    },
    {
      "version": "0.0.730",
      "previousVersion": "0.0.729",
      "summary": "Attach large files for agent imports without pasting their contents.",
      "changes": [
        "Open an attachment dialog with edm_request_import_file or the Agent activity panel.",
        "Pass the returned file token to normal DXF, UPID or machine-package preparation and import tools."
      ],
      "compatibility": "Existing inline calls, installed packages and saved revisions remain supported. Attachment tokens are temporary and local to this tab.",
      "action": "Attach the file, read edm_workflow_context.inputFile and pass source:{fileToken}. Review units or the package preview before committing."
    },
    {
      "version": "0.0.731",
      "previousVersion": "0.0.730",
      "summary": "Recover agent tools without reloading your draft.",
      "changes": [
        "Agent tools re-register after page restore or a changed browser context.",
        "Refresh agent tools in notifications, and distinguish an expired registration from stale project data."
      ],
      "compatibility": "Existing projects, installed posts, saved revisions and controller output are unchanged. Expired tool handles return a specific registration diagnostic.",
      "action": "After resuming, rediscover the current tab's tools. If needed, use Refresh agent tools in notifications and rediscover again. Save before any full page reload."
    },
    {
      "version": "0.0.732",
      "previousVersion": "0.0.731",
      "summary": "Inspect exact entry geometry through the agent tools.",
      "changes": [
        "Query the nearest contour attachment and all source intersections without exporting the geometry.",
        "Inspect another attachment with hintPoint and paginate contact details under the same version."
      ],
      "compatibility": "Existing projects, packages, saved revisions and output remain unchanged. This is a read-only geometric check.",
      "action": "Use edm_inspect_approach before choosing a start and entry. Review its scope and normal execution/machine diagnostics before export."
    },
    {
      "version": "0.0.733",
      "previousVersion": "0.0.732",
      "summary": "See why storage recovery commands are unavailable and which download still works.",
      "changes": [
        "Folder, backup and restore commands show accessible reasons when disabled.",
        "A failed verified backup points to readable recovery export without requiring another browser or folder access."
      ],
      "compatibility": "Projects, installed packages, originals, saved revisions and controller output are unchanged. Restore and cleanup still require the normal safeguards.",
      "action": "Open Settings → Storage. Download a backup of saved files; if validation fails, capture readable recovery files below. Keep the download and do not clear site data."
    },
    {
      "version": "0.0.734",
      "previousVersion": "0.0.733",
      "summary": "Meet broCAD/M and start working directly, with an illustrated empty project view.",
      "changes": [
        "The platform is named broCAD/M. The selected monochrome logo appears on the dashboard, with a matching b favicon; CAD and CAM workspaces keep their working headers.",
        "The welcome popup is replaced by a new CAD-to-machined-part illustration in empty libraries and toolpath previews.",
        "Project and image loading use skeleton shapes that respect reduced motion. An unavailable image leaves guidance and commands usable.",
        "Design/import controls stay directly available; populated projects and incomplete/error inventories keep their own views."
      ],
      "compatibility": "Existing projects, installed packages, saved revisions and controller output are unchanged. The old welcome-dismissal preference is simply ignored.",
      "action": "Choose Design in CAD, Import DXF or Open machine program in Start work. There is no first-run dismissal step."
    },
    {
      "version": "0.0.735",
      "previousVersion": "0.0.734",
      "summary": "Keep dense contour selection readable and responsive.",
      "changes": [
        "Selected contours keep a clean outline instead of displaying every segment label and point overlay.",
        "Individual segment selection and hover reveal local detail; arc-center handles appear for an individual selected arc.",
        "Ordinary overview rendering omits hidden endpoint targets, and box selection avoids repeatedly copying growing segment groups."
      ],
      "compatibility": "Existing geometry, machining intent, installed posts, saved revisions and controller output are unchanged.",
      "action": "Select a contour to inspect its shape. Select a segment or endpoint in Geometry for exact local details. Contour Start still supports every original endpoint."
    },
    {
      "version": "0.0.736",
      "previousVersion": "0.0.735",
      "summary": "Internal CAD performance measurement; no workbench behavior changes.",
      "changes": [
        "Added an internal benchmark that measures CAD rebuild, sketch solving and memory before performance changes."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.737",
      "previousVersion": "0.0.736",
      "summary": "Faster sketch dragging in parts with several sketches.",
      "changes": [
        "Dragging or editing a sketch no longer re-solves unrelated sketches; sketches that reference the edited geometry still follow it."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.738",
      "previousVersion": "0.0.737",
      "summary": "Larger sketches can be solved.",
      "changes": [
        "Sketches with many separate groups of relations no longer run the sketch solver out of memory.",
        "One very large connected group of relations now shows a clear message asking you to split it, instead of failing."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "If a sketch reports that a connected group of relations is too large, split it into separate groups or remove relations."
    },
    {
      "version": "0.0.739",
      "previousVersion": "0.0.738",
      "summary": "Groundwork for a faster sketch solver.",
      "changes": [
        "Adds the core of a new sketch constraint solver that will replace the current one in a later release. Sketches still solve exactly as before."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.740",
      "previousVersion": "0.0.739",
      "summary": "More groundwork for a faster sketch solver.",
      "changes": [
        "The new sketch solver, which will replace the current one in a later release, now handles large connected sketches quickly. Sketches still solve exactly as before."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.741",
      "previousVersion": "0.0.740",
      "summary": "Adds performance checks for future sketch-solver work.",
      "changes": [
        "Adds maintainer benchmarks for sketch solving, edits, dragging, diagnostics and memory. Sketches continue to solve with the current solver."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.742",
      "previousVersion": "0.0.741",
      "summary": "Prepares a faster sketch solver.",
      "changes": [
        "Adds constraint diagnosis to the new sketch solver, which is still being tested. Sketches continue to solve with the current solver."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.743",
      "previousVersion": "0.0.742",
      "summary": "Prepares a faster sketch solver.",
      "changes": [
        "Makes the new sketch solver, which is still being tested, finish small dimension edits sooner. Sketches continue to solve with the current solver."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.744",
      "previousVersion": "0.0.743",
      "summary": "Speeds up sketch solving.",
      "changes": [
        "Checks each sketch once instead of several times before and after solving, so small dimension edits finish sooner."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.745",
      "previousVersion": "0.0.744",
      "summary": "Speeds up sketch solving.",
      "changes": [
        "Sends only solved values back from the sketch solver, so solving and dragging large sketches does less work after each solve."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.746",
      "previousVersion": "0.0.745",
      "summary": "Solves sketches with the app's own solver.",
      "changes": [
        "Solves and edits sketches about twice as fast and starts the sketch solver sooner, using much less memory.",
        "Names an unmet relation as conflicting when nothing in the sketch can move, and names a repeated relation that was just added as redundant."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.747",
      "previousVersion": "0.0.746",
      "summary": "Prepares the app's own solver for sketch drags.",
      "changes": [
        "Teaches the app's own sketch solver to follow drags, ahead of using it for dragging in a later release."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.748",
      "previousVersion": "0.0.747",
      "summary": "Drags sketches with the app's own solver.",
      "changes": [
        "Answers sketch drags with the app's own solver, so the first drag starts sooner and later drags are slightly faster.",
        "Large drags of linkages keep the assembly they started in, and can settle in a different place from earlier releases."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.749",
      "previousVersion": "0.0.748",
      "summary": "Moves free sketch geometry less when relations change.",
      "changes": [
        "Applying a relation such as Parallel to a sketch that is not fully constrained moves the free geometry much less again, instead of shifting it sideways."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.750",
      "previousVersion": "0.0.749",
      "summary": "Internal benchmark update.",
      "changes": [
        "Measures the app's sketch solver as the app runs it, ahead of replacing the old solver."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.751",
      "previousVersion": "0.0.750",
      "summary": "Sketches near a tangency solve with the app's own solver.",
      "changes": [
        "Solves sketches near a tangency, and drags that end on one, with the app's own solver, showing freedom as unknown where it cannot be decided."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.752",
      "previousVersion": "0.0.751",
      "summary": "Fewer sketches show their freedom as unknown.",
      "changes": [
        "Shows the remaining freedom of sketches such as a nearly straight arm, which the app's own solver reported as unknown."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.753",
      "previousVersion": "0.0.752",
      "summary": "Sketch drags the app's own solver cannot carry further keep the frame where they stopped.",
      "changes": [
        "Keeps a sketch drag where it stopped, with every relation met, when the app's own solver cannot carry it further and PlaneGCS cannot solve it, instead of rejecting the frame."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.754",
      "previousVersion": "0.0.753",
      "summary": "The app's own sketch solver names more conflicting and redundant relations itself.",
      "changes": [
        "Names the conflicting dimensions of a sketch whose solve stalls short of meeting them, as the start shows, where it named none before when PlaneGCS could not answer.",
        "Solves a sketch with freedom unknown when one part of it is too costly to diagnose, instead of rejecting it, while still naming problems in the other parts.",
        "Finds a repeated relation beside a near tangency as redundant or conflicting."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.755",
      "previousVersion": "0.0.754",
      "summary": "Sketch solving is tested against the app's own solver alone.",
      "changes": [
        "Checks every sketch test against the app's own solver, with a record of PlaneGCS's answers to compare against.",
        "Rejects an invalid sketch size, as a zero diameter, without loading a second solver."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.756",
      "previousVersion": "0.0.755",
      "summary": "Sketch conflicts are named in more cases.",
      "changes": [
        "Names conflicting repeated dimensions even when the sketch cannot be solved toward them.",
        "Lists a relation as conflicting or redundant, never both."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.757",
      "previousVersion": "0.0.756",
      "summary": "Sketches are solved by the app's own solver alone.",
      "changes": [
        "Removes the PlaneGCS sketch solver; sketch solving no longer downloads it.",
        "Retries loading the sketch solver and explains when it cannot be loaded.",
        "Some sketch conflicts and repeated relations are named differently."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.758",
      "previousVersion": "0.0.757",
      "summary": "Internal solver measurements; no workbench behavior changes.",
      "changes": [
        "Adds checks that compare the sketch solver with the previous release's, answer by answer and in time."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.759",
      "previousVersion": "0.0.758",
      "summary": "Internal sketch solver preparation; sketches solve exactly as before.",
      "changes": [
        "Prepares the sketch solver for faster solving of simple relations."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.760",
      "previousVersion": "0.0.759",
      "summary": "Faster solving of sketches held by simple relations.",
      "changes": [
        "Sketch groups held only by horizontal, vertical, coincident, equal radius, axis distance, fixed coordinate and midpoint relations solve faster."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.761",
      "previousVersion": "0.0.760",
      "summary": "Maintenance release for performance measurement.",
      "changes": [
        "No visible change. The CAD performance benchmark now measures the code as the application runs it."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.762",
      "previousVersion": "0.0.761",
      "summary": "Faster sketch drag previews in parts with many features.",
      "changes": [
        "Dragging sketch geometry prepares its preview without checking the unchanged features of the part again, so previews in parts with many sketches respond faster."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.763",
      "previousVersion": "0.0.762",
      "summary": "Faster sketch drag previews in parts with many sketches and extrudes.",
      "changes": [
        "Dragging sketch geometry no longer checks the unchanged sketches, extrudes and revolves of the part again while their parameters keep their values, so a preview in a part with many sketches responds about as fast as in a part with one."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.764",
      "previousVersion": "0.0.763",
      "summary": "Faster release of sketch drags in parts with many sketches.",
      "changes": [
        "Finishing a sketch drag or edit no longer redraws the unchanged sketches of the part in the 3D view, so the part responds sooner when it has many sketches."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.765",
      "previousVersion": "0.0.764",
      "summary": "Less work in the CAD workbench while a sketch is open.",
      "changes": [
        "The part workbench no longer checks which sketches Pad, Revolve and Sweep can use while a sketch is open, so finishing a sketch drag in a part with many sketches does less work."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.766",
      "previousVersion": "0.0.765",
      "summary": "Less rendering when a sketch drag ends.",
      "changes": [
        "Finishing a sketch drag renders the part workbench one time less, because an unchanged sketch freedom no longer renders it again."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.767",
      "previousVersion": "0.0.766",
      "summary": "Less rendering across the workbench.",
      "changes": [
        "Controls with help no longer render hidden help components while it is closed, so the part workbench renders about a quarter as many components each time it updates."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.768",
      "previousVersion": "0.0.767",
      "summary": "Faster editing of large sketches.",
      "changes": [
        "Dragging and redrawing sketches with hundreds of points takes much less time, so large imported outlines stay responsive while you edit them."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.769",
      "previousVersion": "0.0.768",
      "summary": "Trim works between overlapping and touching sketch edges.",
      "changes": [
        "Trim removes the piece between the nearest cuts, including where rectangles or other edges overlap, touch or meet at one point, and removes an edge that another edge fully covers.",
        "Relations that only described the removed piece are removed with it, and the preview names them, instead of blocking the trim.",
        "A cut inside a cutting line stays on that line, so the outline stays closed when you move the line later."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged. Agents that trim sketches must send the relation removals the trim preview lists.",
      "action": "No action needed. Agent scripts that trim sketch edges should copy removedRelationIds from the trim preview."
    },
    {
      "version": "0.0.770",
      "previousVersion": "0.0.769",
      "summary": "Lines crossing small arcs and circles are found reliably.",
      "changes": [
        "Trim, regions, profile checks and imported drawing checks now see where a long line crosses a small arc or circle, such as a fillet, instead of sometimes missing it."
      ],
      "compatibility": "Installed machine packages, posts and saved revisions are unchanged. A drawing where a line really crosses a small arc may now report that crossing.",
      "action": "No action needed. If a sketch or import now reports a crossing at a small arc, check that geometry."
    },
    {
      "version": "0.0.771",
      "previousVersion": "0.0.770",
      "summary": "New Line and Arc tools, one Polyline tool and a three-click Slot.",
      "changes": [
        "Line draws one line from two clicks and Arc draws a three-point arc with its own center; both stay active for the next shape.",
        "Polyline replaces Polygon and Path. Click the start to close it, or press Enter or choose Finish polyline to keep it open.",
        "Slot takes both arc centers and then the width, and draws lines and arcs that you can dimension and move.",
        "Create relations is now on by default: points you snap to existing points, lines, the origin or the axes attach with removable relations and follow that geometry. Untick it to place positions only."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged. Slots, polygons and paths saved earlier are not changed.",
      "action": "No action needed."
    },
    {
      "version": "0.0.772",
      "previousVersion": "0.0.771",
      "summary": "Drawing responds on press and accepts press-drag-release.",
      "changes": [
        "Sketch tools place a point as soon as you press, and one press-drag-release draws a line, rectangle or circle.",
        "On a touchpad, a tap followed by a tap-and-drag now draws from the tapped point instead of dropping the first corner on release."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.773",
      "previousVersion": "0.0.772",
      "summary": "Sketch cursor moves respond faster.",
      "changes": [
        "Moving the cursor while drawing or selecting in a sketch redraws only the geometry that changes, so hover feedback keeps up on larger sketches."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.774",
      "previousVersion": "0.0.773",
      "summary": "Coincident keeps a point on an arc or circle.",
      "changes": [
        "Coincident accepts a point and an arc or circle. The point stays on the curve's full circle and follows when the curve moves or changes size; the relation list names it Point on curve.",
        "With Create relations on, a point you snap along an arc or circle while drawing stays on it.",
        "Trim keeps a new cut inside a cutting arc or circle on that curve, so a trimmed outline stays closed when the curve changes.",
        "Trimming an edge to an existing point that is held on that same edge now removes that relation instead of failing."
      ],
      "compatibility": "Sketches that use Point on curve cannot be opened by release 0.0.773 or earlier. Existing documents are not changed. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed. Open sketches that use Point on curve with this release or later. Agents that read trim previews should read attachment or attachments instead of attachLineId or attachLineIds."
    },
    {
      "version": "0.0.775",
      "previousVersion": "0.0.774",
      "summary": "Lines drawn along their start's guide stay horizontal or vertical.",
      "changes": [
        "With Create relations on, a Line or Polyline line whose end follows the horizontal or vertical guide from its start keeps a Horizontal or Vertical relation. The snap hint names it before you click.",
        "If the sketch already keeps the line level or plumb, the line is added without the repeated relation and a short note says so.",
        "The Create relations checkbox now has the same accessible name as its label."
      ],
      "compatibility": "Sketches keep using existing relation kinds, so earlier releases open them. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed. Hold Ctrl or Cmd, or turn off Create relations, to place a line end without the relation. Automation that finds the checkbox by name should use Create relations."
    },
    {
      "version": "0.0.776",
      "previousVersion": "0.0.775",
      "summary": "Agents can read which sketch geometry is fully defined.",
      "changes": [
        "Constraint inspection for agents reports whether each sketch point and entity is fully defined, still free to move, or unknown, with counts for the whole sketch."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged. Sketch solving is unchanged. Agents that check inspection replies strictly must accept the new definition fields.",
      "action": "No action needed."
    },
    {
      "version": "0.0.777",
      "previousVersion": "0.0.776",
      "summary": "Dimension measures between parallel lines and from a point to a line.",
      "changes": [
        "Dimension on two parallel lines gives the distance between them and keeps them parallel, instead of an angle error. Lines that another relation already keeps parallel get the distance alone, and a distance they already have is edited. Lines a hair off parallel get the distance without being made parallel.",
        "Dimension on a point and a line gives the point's distance from the line, measured square to its full extension. The point stays on its side of the line while you edit, drag, change parameters that move it or the line, undo or redo.",
        "An arc or circle with a line measures from its center, two arcs or circles take Center distance, a point with an arc or circle measures to its center, and an arc or circle with the origin or an axis places its center. A circle whose radius follows an expression measures from its center too.",
        "A picked arc or circle now waits for a second pick. Pick it again or click empty space for its size.",
        "Dimension edits a distance or coordinate that a coincident point already carries instead of adding a second one.",
        "Reference on a saved driving length, distance or size turns it into a reference measurement in one Undo step, and Make driving turns it back. Horizontal and vertical distances have no reference form, so Reference is not offered for them."
      ],
      "compatibility": "Sketches that use Point to line distance cannot be opened by release 0.0.776 or earlier. Existing documents are not changed. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed. Open sketches that use Point to line distance with this release or later. To size an arc or circle with Dimension, pick it twice or pick it and click empty space."
    },
    {
      "version": "0.0.778",
      "previousVersion": "0.0.777",
      "summary": "The sketch origin and axes select and constrain like geometry.",
      "changes": [
        "The H and V axes cross the whole sketch view as thin lines, and you can hover and pick them anywhere along their length.",
        "In Select, click the origin or an axis to select it, Shift-click to add other geometry, and open Constrain to see the constraints that fit. Boxes select only sketch geometry, and a drag that starts on an axis still draws one.",
        "Coincident lays a line on an axis or keeps an arc or circle centered on one, and Concentric centers an arc or circle at the origin.",
        "Place and rotate can use the sketch origin as its anchor or target.",
        "Relations that keep a point on an axis or at the origin are listed as On the X axis, On the Y axis or Fixed at the origin, and inspecting one highlights it."
      ],
      "compatibility": "Sketches keep using existing relation kinds, so earlier releases open them. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed. Automation that reads relation labels should expect On the X axis, On the Y axis or Fixed at the origin for coordinates fixed at 0."
    },
    {
      "version": "0.0.779",
      "previousVersion": "0.0.778",
      "summary": "Fully defined sketch geometry turns green.",
      "changes": [
        "Points, lines, arcs and circles that dimensions and relations fully define turn green; under-defined geometry stays blue grey.",
        "A rejected preview or Apply marks the geometry held by conflicting relations red and by redundant relations purple, all of it and not only the rows listed.",
        "The sketch heading reads Fully defined, Under defined · N DOF or Definition unknown, and Sketch colours explains the legend.",
        "A fully defined point, or the radius of a fully defined circle, can no longer be dragged or nudged."
      ],
      "compatibility": "No file, schema or tool change. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed. Automation that reads the sketch status should expect Fully defined, Under defined · N DOF or Definition unknown."
    },
    {
      "version": "0.0.780",
      "previousVersion": "0.0.779",
      "summary": "Sketch dimensions select on click and edit on double-click.",
      "changes": [
        "Hover a dimension, or a row in the relations list, to highlight the geometry it measures, including the origin or axis for a coordinate.",
        "Click a dimension to select it, Shift-click to add or remove one and Escape to clear. Double-click or press Enter to edit it.",
        "Opening a dimension's editor keeps the dimension selected, so Delete removes the dimension and never the geometry it measures.",
        "Opening a dimension in the relations list, also from a point's or curve's menu, selects that dimension alone; switching rows moves the selection, and the editor closes when you select something else or open another part.",
        "Keyboard focus never changes the selection: Delete on a focused dimension, point or edge removes what is selected, and the focused item only when nothing is.",
        "Delete or Backspace removes the selected dimensions in one undo step. Right-click a dimension for Edit value…, Make reference or Make driving, and Delete; unavailable commands explain why.",
        "Dimensions draw with thin lines and plain values; reference values show in parentheses in a dimmer colour, and a selected dimension keeps its selection colour while you point at it or focus it.",
        "The size chips on older and plugin profiles draw as plain values like the canvas dimensions and follow the same click, double-click, Delete and right-click rules.",
        "A selection, keyboard focus or open menu stays with its dimension: a dimension replaced by an edit or brought back by undo starts unselected and without focus, a menu closes when the sketch changes, a reference to a line's length stays selected through Trim and Extend, and Make reference keeps a dimension selected when it was stored on a coincident point, unless the same change removes that coincidence.",
        "Point to line distances, also from an arc or circle center, select, edit, convert and delete like the other dimensions, and selecting the origin or an axis replaces a dimension selection.",
        "Dimension highlights show above the defined, conflicting and redundant colours, and fully defined geometry and its dimensions still select and delete.",
        "Where a dimension's line or arrow crosses or ends on a point, edge, the origin or an axis, that geometry, including dashed construction edges along their whole length, keeps the hover, click, right-click, drag and box selection; the dimension's value, and its line away from the geometry, still select it."
      ],
      "compatibility": "Sketches keep using existing relation and dimension kinds, so earlier releases open them. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "Double-click a dimension, or press Enter on it, where a single click used to open its editor, and select a dimension, point or edge before deleting it from the keyboard. Automation that finds dimensions by accessible name should use the new names, such as Dimension distance 15 mm, press Enter to edit. While a dimension editor is open, including one opened from the relations list, the agent viewport now reports no selected geometry."
    },
    {
      "version": "0.0.781",
      "previousVersion": "0.0.780",
      "summary": "Line draws connected chains and replaces Polyline.",
      "changes": [
        "Line chains connected lines and arcs that share each joint. Click each point, then double-click, press Enter, choose Finish or press Escape to save the chain, or click its start to close it.",
        "Press, drag and release with nothing pending to draw and save one line.",
        "Escape saves a pending chain. With only a start placed it discards it, and with nothing pending it returns to Select. Arc, Rectangle, Circle and Slot discard their pending points on the first Escape and keep the tool.",
        "Choosing another tool or Finish sketch saves a pending chain first. P selects Line."
      ],
      "compatibility": "No file, schema or tool change. Older profile sketches and Curves keep their drawing rules. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "Finish a line chain with a double-click, Enter, Finish or Escape: two clicks no longer save a line on their own. While an arc waits for its point on the arc, Space or a click places that point and a double-click places it and saves; Enter, Finish and Escape save without the arc. Automation that clicks Polyline or Finish polyline should use Line and Finish chain."
    },
    {
      "version": "0.0.782",
      "previousVersion": "0.0.781",
      "summary": "Dimension places dimensions on the canvas with a live preview.",
      "changes": [
        "Pick a line, arc, circle, point pair, line pair, or geometry with the origin or an axis; the dimension follows the pointer with its measured value. One line always places its length; right-click for its horizontal or vertical distance.",
        "For two points, the pointer to the left or right gives a vertical distance, above or below a horizontal distance, and elsewhere an aligned distance.",
        "Click empty space or press Enter to place a driving dimension at the measured value. Dimension stays active, and Enter or a double-click on the new dimension opens its editor.",
        "Right-click during the preview for Place as reference, the other dimension types and the relations that fit the picks.",
        "A dimension that would over-define the sketch is placed as a reference, and the status line says so.",
        "A point on a line, or two separate points at one position, can be measured with Place as reference.",
        "Escape drops the picks; with nothing picked it returns to Select.",
        "A distance from the X or Y axis is an ordinary Distance dimension: it is drawn on the canvas square to the axis, and it is selected, edited and deleted like any other. A point held on an axis stays On the X axis or On the Y axis.",
        "Placing a point from the origin selects its coordinates, X first, except a coordinate of 0 that keeps the point on an axis. When every coordinate it places is such a 0, as for a point at the origin, nothing is selected and the status line says why.",
        "Every dimension is drawn whatever its value. One that measures 0 shows a short leader with its value, so it can still be selected and edited.",
        "An angle between lines that meet far away, or are almost parallel, is drawn across the ends of its lines. The canvas selects only the dimensions it draws, so hiding On-part dimensions clears a dimension selection.",
        "Fix keeps a point where it is as one fixed point."
      ],
      "compatibility": "No file, schema or tool change. Installed machine packages, posts, saved revisions and controller output are unchanged. Sketches saved with a point's coordinates fixed one by one are not rewritten; they now show two distances from the axes.",
      "action": "Dimension no longer opens the relations editor: pick the geometry, place the dimension, then press Enter or double-click it to type its value. A coordinate fixed away from an axis now appears as a Distance dimension, and Fix adds one fixed point. Where a dimension is drawn is not saved yet."
    },
    {
      "version": "0.0.783",
      "previousVersion": "0.0.782",
      "summary": "Drawing a shape leaves nothing selected, and Offset loop selects its whole copy.",
      "changes": [
        "Rectangle, Circle, Slot, Arc and Line leave nothing selected when they save a shape, so Dimension or a constraint chosen next starts from your own picks.",
        "Offset loop selects the whole copy, and accepts several edges of one closed outline, so choosing it again offsets the copy."
      ],
      "compatibility": "No file, schema or tool change. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "After drawing, pick the edge you want before choosing a command that acts on a selection. Automation that read the viewport selection after a drawing tool saved should pick the geometry it needs."
    },
    {
      "version": "0.0.784",
      "previousVersion": "0.0.783",
      "summary": "Sketch relations show as marks on the canvas that you can select and delete.",
      "changes": [
        "Each sketch relation draws a small mark on the canvas beside the geometry it holds, with the same symbol the Constrain menu and the relations list now show.",
        "Hover a mark to highlight the geometry its relation holds; hovering a relations or issue row, or selecting geometry, highlights the marks of its relations.",
        "Click a mark to select its relation, Shift-click to add or remove one and Escape to clear. Delete or Backspace removes the selected relations and dimensions in one undo step.",
        "Double-click a mark, or press Enter on it, to open the relations list on its row. Right-click it for Show in relations list and Delete.",
        "A point that Fix holds shows a Fixed mark, a point kept on an axis shows a Coincident mark, and a point at the origin through both coordinates shows one At the origin mark. A coordinate fixed away from 0 is a Distance dimension and draws no mark. Points that Coincident joins share one place for their marks, and a Coincident relation between two centers reads Concentric.",
        "Marks never take a click from the geometry or the dimension lines and labels under them, and they ignore the pointer while you draw, during a Line chain or while a command picks geometry.",
        "In a sketch with more than 200 marks, rest the pointer for a moment on a point, an edge or a relations row to show the marks of its relations.",
        "Settings → CAD → Display → Show relations hides the marks; the relations list and the Constrain tools keep working. It works independently of On-part dimensions, so marks stay selectable with dimensions hidden."
      ],
      "compatibility": "Sketches keep using existing relation kinds, so earlier releases open them. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "Tab in the sketch now stops on relation marks, and a click on a mark beside the geometry selects that relation; turn off Settings → CAD → Display → Show relations to hide them. Automation that finds a relations row named Coincident between two centers should use Concentric."
    },
    {
      "version": "0.0.785",
      "previousVersion": "0.0.784",
      "summary": "Sketch dimensions stay where you place them, and you can drag them.",
      "changes": [
        "With Dimension, the dimension is placed exactly where its preview shows it, whether you click, press Enter or choose from the menu.",
        "Placing on geometry that already has the dimension selects that dimension and moves it to the preview.",
        "When one click places several dimensions, their values are spaced apart, as the preview shows.",
        "In Select, drag a dimension's value to move it along its line and away from the geometry, an angle's along its arc, and a radius or diameter round its center. Drag the dimension line or arc to move only the line.",
        "Text dragged past an extension line extends the dimension line to reach it. Each chamfer setback moves on its own.",
        "A drag is one undo step that changes no geometry. Press Escape during a drag to put the dimension back.",
        "Reset position in the dimension menu returns a moved dimension to its usual position, and resets all the selected ones at once.",
        "Where a dimension is drawn is saved with the sketch and follows its geometry through moves, trims, patterns, offsets, Make reference and Make driving. Reversing a line keeps the dimensions placed along it where they were.",
        "A dimension at 0 length can be dragged along and away from its line like any other, and keeps its place as its length passes through 0."
      ],
      "compatibility": "Sketches with a placed dimension cannot be opened by release 0.0.784 or earlier. Existing documents are not changed. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "Keep release 0.0.784 or earlier away from documents saved after placing or moving a dimension, or reset those dimensions first. Automation that drags in Select over a dimension, matches the Dimension status for already-dimensioned geometry, or compares dimension relations exactly must allow for placements; agents that read cad_describe_features(kind=\"sketch\") must resolve $ref against $defs."
    },
    {
      "version": "0.0.786",
      "previousVersion": "0.0.785",
      "summary": "Internal sketch relation refactor, and a fix for Concentric and Symmetric on one shared centre.",
      "changes": [
        "Selecting two arcs or circles on one centre point, or a point with its own circle and a line, no longer shows Concentric or Symmetric as already applied because of another relation on that centre. They are now unavailable with the reason, and Remove no longer deletes that unrelated Coincident or Symmetric.",
        "The README now notes that broCAD/M is alpha software: file formats change without backward compatibility, so files from older versions may not open, and files from newer versions won't open in older ones."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.787",
      "previousVersion": "0.0.786",
      "summary": "The part stays visible behind a sketch, and can be cut at the sketch plane.",
      "changes": [
        "While you edit a sketch, the part and the other sketches stay visible behind it, lined up with the sketch, and pan and zoom with it.",
        "Open View below the dock to set 3D background to Dimmed, the default, Normal or Hidden. In Normal, sketch lines and the previews of drawing, Trim, Extend and Split get a dark edge so they stay readable on bright faces.",
        "Cut part by sketch plane removes everything on your side of the sketch plane, so you see the part where the sketch lies.",
        "Your choices are remembered in this browser for the next sketch. Clicks, drags and keys still reach only the sketch, which takes keyboard focus from the 3D view when it opens, and leaving the sketch returns the 3D view as you left it."
      ],
      "compatibility": "No file, schema or tool change. Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action is needed. Automation that inspects sketch mode must allow for the 3D view element behind the sketch canvas and the two new View controls."
    },
    {
      "version": "0.0.788",
      "previousVersion": "0.0.787",
      "summary": "Internal sketch solver refactor; sketches solve exactly as before.",
      "changes": [
        "Prepares sketch relations for new kinds of relation and dimension, with no visible change."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.789",
      "previousVersion": "0.0.788",
      "summary": "Origin planes, axes and the origin point can be picked in the 3D view, and a picked plane can cut a section view.",
      "changes": [
        "The 3D view shows the XY, XZ and YZ planes sized to your part, the X, Y and Z axes, the origin point and your datum planes. Show reference geometry in View hides them.",
        "Click a plane, an axis or the origin point to select it. A selected plane starts Sketch, Curve and Plane on it and gives Mirror its plane; a selected axis gives Circular pattern and Revolve their axis.",
        "Section view in View, or in a datum plane's menu, cuts the view by the selected plane. Flip keeps the other side, Caps fills the cut material, and Escape turns the section off once nothing is selected. Clicks reach only what the section keeps.",
        "Filter in View chooses what you can point at and click: bodies, faces, edges, planes, axes and the origin point.",
        "These choices are remembered in this browser, and the section only for the part you made it in."
      ],
      "compatibility": "No file or schema change. Installed machine packages, posts, saved revisions and controller output are unchanged. Agents gain the set-section viewport command.",
      "action": "No action is needed. Turn Show reference geometry off, or exclude Planes in Filter, if you prefer clicks on empty space to clear the selection as before."
    },
    {
      "version": "0.0.790",
      "previousVersion": "0.0.789",
      "summary": "The sketch origin and the H and V axes work in every sketch relation.",
      "changes": [
        "Pick the origin or an axis with sketch geometry for Coincident, Midpoint, Parallel, Perpendicular, Collinear, Symmetric, Concentric and Tangent, as with any point or line.",
        "Dimension measures a point from the origin as a distance, a line's angle to an axis and a line's distance from the origin.",
        "Mirror copy can mirror about the H or V axis.",
        "Agents can trim at the H and V axes and extend to them by naming them; a click still trims and extends at drawn edges only.",
        "Constrain shows what an axis or the origin cannot take, with the reason."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and controller output are unchanged. Sketches that name the origin or an axis do not open in older releases.",
      "action": "No action needed."
    },
    {
      "version": "0.0.791",
      "previousVersion": "0.0.790",
      "summary": "Internal refactor of CAD and CAM tolerances; geometry and output are unchanged.",
      "changes": [
        "Gathers CAD, CAM and output tolerances into one named policy, with no visible change."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.792",
      "previousVersion": "0.0.791",
      "summary": "Controller files whose coordinates lie half-way between two output digits no longer fail the output check.",
      "changes": [
        "A drawing whose coordinates round correctly to the post's last digit, such as 8.0015 mm written as 8.002, now generates instead of failing with POST_CUSTOM_AUDIT_FAILED.",
        "The output check still rejects a coordinate one unit beyond correct rounding, swapped axes, a wrong sign and a wrong arc direction.",
        "At endpoints, arc centres and points along straight moves, each axis is held to its own last digit, so a post that writes X and Y to different decimals cannot pass a wrong Y digit there on X's allowance.",
        "A point that splits an arc is still checked only by its distance from the arc, as before. Its rounding allowance, half the diagonal of the point's rounding, comes on top of the endpoint tolerance: with X at 0 decimals and Y at 12 such a point may be almost 0.5 mm off on Y beyond the endpoint tolerance, and about 0.0005 mm with X at 3 decimals. A separate release will tighten this check.",
        "The motion mismatch message says what the output check allows, including the arc split-point exception, and that its rules changed in this release."
      ],
      "compatibility": "Controller output that generated before is unchanged byte for byte. Programs and post packages refused only by this check can now be generated or installed. Installed posts and saved revisions are not rewritten.",
      "action": "Check newly generated programs as usual in controller graphics and a supervised dry run, especially programs that failed before this release."
    },
    {
      "version": "0.0.793",
      "previousVersion": "0.0.792",
      "summary": "Long CAD editing sessions no longer use more and more memory.",
      "changes": [
        "Rebuilding a part after an edit releases the kernel memory the previous build used. Parts with patterns, cuts or imported bodies no longer grow the kernel's memory with every edit until rebuilds slow down or fail.",
        "A sketch profile with a line of no length or an arc that cannot be made is now reported as an invalid profile, not as an internal kernel error."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged. Parts build the same geometry as before.",
      "action": "No action needed."
    },
    {
      "version": "0.0.794",
      "previousVersion": "0.0.793",
      "summary": "Points, lines, arcs and circles can be made symmetric about any line or axis.",
      "changes": [
        "Select two lines, two arcs or two circles with a line or the H or V axis, in any order, and choose Symmetric to mirror them as whole curves.",
        "Mirrored arcs and circles keep one radius, and mirrored lines may run either way.",
        "A free mirror line turns to fit lines kept horizontal and vertical, moving the sketch as little as it can and never moving fixed points, and a mirror that other relations already keep is refused as redundant.",
        "Symmetric marks show on both curves and on the mirror line. Choose Symmetric again with the same selection to remove it.",
        "Equal says why a line cannot be equal to an arc or circle.",
        "An edit that leaves mirrored curves shrunk to a tiny fraction of their size, where no dimension asks for it, shows a warning naming the curves and their sizes."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and controller output are unchanged. Sketches with mirrored curves do not open in older releases.",
      "action": "No action needed."
    },
    {
      "version": "0.0.795",
      "previousVersion": "0.0.794",
      "summary": "Internal refactor of CAD feature kinds; parts, forms and agent tools are unchanged.",
      "changes": [
        "Declares each CAD feature kind once, with its inputs, outputs and diagnostics, and keeps its form and agent description beside it, with no visible change."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.796",
      "previousVersion": "0.0.795",
      "summary": "Sketch editing uses canvas marks, a selection icon row and a thin bar across the top.",
      "changes": [
        "While a sketch is open, a thin bar across the top shows its name and status, a count of constraint issues that lists them, the Show dimensions and Show relations toggles, Finish and, for a sketch a solid uses, Cancel sketch edits.",
        "Select points and edges to see a row of relation icons beside them, never over the selection and, where it can, clear of dimension labels and marks. When there is no room the row stays hidden. The Constrain menu always lists the same relations, by the same names, under For the selection, and right-click and the Dimension tool offer them too. Press an icon to add its relation, or a pressed icon to remove it. An icon that cannot apply is disabled and says why, and Dimension the selection starts a dimension on the picks.",
        "Two circles with a line or an axis offer Symmetric centers beside Symmetric, which mirrors only their centers so each radius keeps its own dimension.",
        "Relation marks and dimensions on the canvas act as the relation list: hover highlights, click selects, Delete removes, double-click edits a value where the dimension is drawn, and right-click opens the actions.",
        "The sketch's relations are listed under it in the feature tree, behind a Relations heading that starts collapsed and opens when you reveal a relation. A row selects its mark, Shift adds to the selection, Delete removes everything selected in one undo step, and long lists scroll smoothly.",
        "To hold one coordinate of a point, dimension it from the H or V axis.",
        "Fit keeps a sketch below the bar, and dimensions and marks under the bar stay visible and clickable.",
        "A dimension's value editor opens with its value selected, ready for typing, and stays between the bar and the tool dock while it is open, also as the window is resized; it scrolls when they leave it too little room. Escape restores a changed value and keeps it selected; closing the editor returns focus to its dimension, or to the canvas, so the sketch keys work at once.",
        "Status messages show at the top right while a sketch is open, so they never cover the bar."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, controller output, CAD files and agent tools are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.797",
      "previousVersion": "0.0.796",
      "summary": "Contours, tangent chains, overlapping picks and window or crossing boxes can be selected in the sketch and in 3D.",
      "changes": [
        "In a sketch, double-click an edge to select its contour, or Alt+double-click for its tangent chain. Shift adds the chain to the selection, and the right-click menu offers both. A contour stops where edges branch. A tangent chain passes an edge leaving at a corner and stops only where two edges continue it smoothly. The status line says how many forks a chain stopped at.",
        "In the model view, double-click an edge to select its loop, Alt+double-click for its tangent chain, or double-click a face for the faces meeting it without a crease. Ctrl, Cmd or Shift adds them, and the right-click menu offers each. A tangent chain is the edges Fillet and Chamfer treat with Follow tangent edges, read from the same OpenCascade builder; where it makes no chain, only the edge is selected and the status line says so. This works while choosing Fillet and Chamfer edges too.",
        "Where several things lie under the pointer, press N to select the next one and Shift+N to go back, in the sketch and in the model view, where hidden faces are included. Select other in the right-click menu does the same.",
        "A box dragged to the right is a window, drawn solid, and takes only what lies wholly inside it; dragged to the left it is a crossing, drawn dashed, and also takes what it touches. In the model view this applies to the Shift box, which now selects edges or faces when Bodies are filtered out, and with a section shown counts only the side the section keeps.",
        "Filter in View chooses what clicks, boxes and Select other take: points, edges, axes, relations and dimensions in a sketch, and bodies, faces, edges, planes, axes and points in the model view. The sketch and the model view share it, and it is remembered in this browser.",
        "Several faces of one body can be selected with Ctrl or Cmd; Shell still opens one face and asks for a single one."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, controller output, CAD files and agent tools are unchanged.",
      "action": "No action needed. A 3D Shift box dragged to the left is now a crossing; drag to the right for a window."
    },
    {
      "version": "0.0.798",
      "previousVersion": "0.0.797",
      "summary": "Maintainer documentation describes how contributions are planned, reviewed and merged.",
      "changes": [
        "A maintainer page describes the review workflow every change goes through before it is released."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, controller output, CAD files and agent tools are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.799",
      "previousVersion": "0.0.798",
      "summary": "Internal change to the automated review checks; the app is unchanged.",
      "changes": [
        "The automated checks on proposed changes finish sooner, use less total runner time and stop early when a newer change replaces them, with no visible change in the app."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, controller output, CAD files and agent tools are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.800",
      "previousVersion": "0.0.799",
      "summary": "Trim, split, extend and mirror copy treat sketch relations by one rule.",
      "changes": [
        "Split keeps relations on the edge's supporting line or circle, such as Parallel, a radius or a point held on the edge, on the piece that keeps the edge's identity, and keeps a Tangent joint at the end that piece still has. Equal length, Midpoint, a reference length and Symmetric curves on the edge still have to be removed first.",
        "Extend keeps an old end that another edge still uses together with its relations, fixed coordinates and expressions, as Trim already did, and moves an angle at the extended end along with it.",
        "Extend refuses only a fillet or chamfer at the end it moves, not one at the line's other end.",
        "A reference length of a whole line is no longer kept when Trim, Split or Extend changes the line's length. Trim lists it for removal, and Split and Extend ask you to remove it first.",
        "Agents can ask a mirror copy or an offset to carry the copied geometry's own relations onto the copy, and a sketch linear pattern to copy the seed circle's reference dimensions onto each copy it adds."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, controller output and CAD files are unchanged. Agent tools keep their reply shapes and gain one optional flag.",
      "action": "No action needed. If a trim now asks to remove a reference length, confirm it or remove the reference first."
    },
    {
      "version": "0.0.801",
      "previousVersion": "0.0.800",
      "summary": "CAD bodies keep their identity through the features that change them.",
      "changes": [
        "With a feature selected, Fillet, Chamfer, Move, the patterns, Mirror, Pocket, Boolean and Section for CAM act on the body that feature belongs to, even after later features changed it.",
        "CAD build results for agents name each body by the feature that created it (bodyKey), which stays the same through later changes."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.802",
      "previousVersion": "0.0.801",
      "summary": "Internal test changes; no workbench behavior changes.",
      "changes": [
        "Strengthened automated checks for CAD body tracking and section caps."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.803",
      "previousVersion": "0.0.802",
      "summary": "Sketch shapes, gears and imported paths become generators: shapes you can resize from their inputs that stay real sketch geometry.",
      "changes": [
        "New rectangles, circles, slots, polygons, paths and plugin shapes such as gears are generators. Their edges and points are sketch geometry you can relate free geometry to, and their inputs, numbers or parameter expressions, size and place them.",
        "Changing a generator's inputs or parameters regenerates its geometry in one undo step. Teeth, sides and repetitions that remain keep their relations.",
        "When a change would remove relations on geometry a shape no longer has, every editor that can make it asks first: it lists them, Apply removes them in the same undo step, and Cancel keeps them. This covers the shape and parameter editors, sketch fields and dimensions, the pattern and profile forms, feature forms such as Pad, and Finish of a sketch edit. A Length dragged to such a value applies nothing and opens the Pad's editor to ask.",
        "Click inside a generated shape to edit its inputs, or use its grips, drag it, or right-click it for its profile menu, as with saved profiles. Edit shape, on a selected shape's edge or point, opens the same inputs, including a regular polygon's centre, radius, number of sides and direction line.",
        "A DXF import makes one generated path or circle for each closed contour.",
        "Offset loop can make a linked offset that follows its loop and distance, and a circular pattern of sketch curves keeps its count, angle and centre editable. Both are generators.",
        "Offset loop works on a generated shape or plugin outline picked by its inside or its tree row. A loop of more than 512 curves offsets as an independent copy, and Linked says why it is unavailable.",
        "Move and Fillet on a generated shape change its inputs, and toolbar commands that do not apply to a generated shape are disabled with the reason.",
        "Every generated shape selected as a whole, regular polygons, circular patterns and linked offsets among them, takes the toolbar's Construction, Offset loop, Mirror copy and Delete, and a command it cannot take says why. A regular polygon or linked offset is also picked by its inside and opens its right-click menu.",
        "Copy outline to editable sketch keeps the relations among a generated outline's edges, including angles and fixed points bound to parameters.",
        "A regular polygon, circular pattern or linked offset is a row under its sketch in the feature tree. Click it, or choose Edit shape, to open its inputs, even when it draws nothing, such as a circular pattern of count 1. Double-click or Enter on a generated shape in the sketch's Relations list opens them too.",
        "CAM handoff and DXF export keep a plugin shape's notes for new generated plugin shapes, as for saved ones, and for a construction plugin shape only while a linked offset or circular pattern copies it into material geometry.",
        "Deleting a shape or sketch geometry takes the relations on it with it. When another shape is made from it, the dialog names that shape first: Delete removes everything in one undo step, and Cancel keeps it all.",
        "Detach turns a generator's geometry into ordinary lines, arcs and points.",
        "Saved profiles load and stay editable as before."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and controller output are unchanged. Parts with new generator shapes need this version or later to open.",
      "action": "No action needed."
    },
    {
      "version": "0.0.804",
      "previousVersion": "0.0.803",
      "summary": "CAD problems say what they are about, what caused them and how to repair them.",
      "changes": [
        "The CAD header shows the problems of the current build. Each names its feature, input or body and its cause, and offers a repair where an existing action does the job: Edit feature, Choose edges again or Choose opening again.",
        "A feature that could not be evaluated because an earlier one failed is marked as blocked in the history, and its tooltip names the cause.",
        "In a sketch, a redundant or conflicting relation the solver names can be deleted from the issue list.",
        "Kernel failure messages now say which step failed, the likely cause, or that the kernel named none, and what to change; the kernel's own words are under Kernel message.",
        "When the CAD kernel or the sketch solver cannot start, stops or cannot be loaded, the message says so and what to do, and the next request tries again; the browser's own words are under Kernel message. A failing sketch solver no longer drops a drawing's inferred relations.",
        "A refused DXF export names its code in the Export DXF dialog, and a sketch DXF export no longer says it is for CAM.",
        "Agent replies list the problems of a build and name the feature, input, operation or export a refused edit, CAM step or DXF export concerns."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions, CAD files and controller output are unchanged.",
      "action": "No action needed."
    },
    {
      "version": "0.0.805",
      "previousVersion": "0.0.804",
      "summary": "Deleting a shape together with relations selected in the Relations list works in either selection order.",
      "changes": [
        "Selecting a shape's row and other relations in a sketch's Relations list and pressing Delete removes them together in one undo step, whichever row you selected first. When another shape is made from it, the dialog names that shape first, as when you delete the shape alone.",
        "The Delete item in the Relations list and mark menus, the status line and the deletion dialog count a selection's shapes, dimensions and relations, for example Delete 1 shape and 1 relation. The status line counts every selected row, including linked references and rows whose marks are hidden."
      ],
      "compatibility": "Installed machine packages, posts, saved revisions and controller output are unchanged.",
      "action": "No action needed."
    }
  ]
}
