> For the complete documentation index, see [llms.txt](https://docs.openbrim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.openbrim.org/release-notes/openbrim-release-notes/2026-platform-releases.md).

# 2026 Platform Releases

## **v3.260714**

**Real-time Collaboration** *(new)*

* **Live Multi-User Projects:** Multiple people can now open the same project and work together live. You can see who else is in the project (Google-Docs-style presence), and collaboration is on by default.
* **Review Changes Before They Apply:** A per-project "review before applying" mode (toggle in the top bar, on by default) lets you review a collaborator's incoming changes as a neutral change report with a spreadsheet cell-highlight preview before accepting or rejecting them.
* **Safe Save-Conflict Resolution:** When two people edit the same project, a collaborator's save is never silently overwritten. You get a clear notice and a simple choice — **Keep my copy** or **Use cloud copy** — with an optional informational review. Conflict prompts no longer stack over an open review.
* **Reliable Live Connection:** Server-side keepalive prevents the live connection from dropping when idle, auto-reconnect recovers dropped sockets, and the app now starts up normally even if collaboration can't connect.

**Finite Element Analysis**

* **Cross-Frame Fit Conditions (NLF / SDLF / TDLF):** Model steel cross-frame fit-up so the analysis automatically accounts for locked-in (lack-of-fit) forces from no-load, steel-dead-load, and total-dead-load fit, with the resulting applied strains readable in the results.
* **Cable Stressing:** Apply pretension to cable elements and drive a staged cable-stressing load through a dedicated Cable Stressing Loads spreadsheet.
* **FE Surface Stress Results:** New surface-stress contour views for shell/plate elements, with correct construction-stage handling and combination/live-load stress envelopes. Adds Sxx/Syy/Sxy plus longitudinal/perpendicular (Slong/Sperp) components and an alignment picker that rotates each node's stress tensor for a continuous contour.
* **CQC3 Response-Spectrum Combination:** New CQC3 spatial combination rule for combining orthogonal ground-motion components, with a user-supplied γ ratio and automatic critical-incidence-angle computation (γ=1 reduces to SRSS).
* **Displacement-Controlled Pushover:** Corrected the displacement-controlled pushover solver so the control degree of freedom advances by the prescribed increment, with adaptive step reduction on non-convergence. Pushover can also now track per-step hinge status (linear / yielded / crushed) for a group of hinges.
* **Weight-Only Members Shown During Staging:** Members that contribute weight but no stiffness at a construction stage now render ghosted (25% opacity) during stage playback instead of disappearing, so you can see the self-weight being applied.
* **Height-Varying Mesh Thickness:** FE mesh surfaces can now vary station-dependent thickness by elevation or transverse direction (e.g. a battered retaining-wall stem), not only along the alignment.
* **Mesh Elevation Field:** FE meshes can drape node elevations onto a surface/elevation field, including a gridline-aware path for meshing between lines.
* **Targeted Node Merging:** Mesh nodes can now be merged into a specific tagged group rather than the globally nearest point.
* **End-Release Condensation Fix:** Fixed a crash and unstable/incorrect results when analyzing elements with end releases, and corrected the self-weight fixed-end forces for released members.
* **Composite Stress Graph Fix:** Fixed the composite-section stress readout when a row emits a variable number of stress points.
* **Tendon Load Distribution Fix:** Tendon loads now distribute over the correct FE group nodes.

**FEA User Interface**

* **Analysis Results Excel Export:** New "Analysis Results" export (Analytical Model → Excel) lets you pick Result Types, Cases, and Elements, choose an envelope (None/Max/Min/Fx–Mz), Stage Reporting (Cumulative/Incremental), and a Load Type filter, with a live sheet/row-count estimate. Produces a formatted, branded workbook with an index sheet (hyperlink navigation), frozen headers, and interleaved Min/Max rows for combinations and live loads.
* **Applied Strain Loads Table:** New "Applied Strain Loads (Last Run)" subsheet showing the equivalent fixed-end forces from lack-of-fit strains, per load, in display units.
* **FEA Result Spreadsheet Fixes:** Corrected the eigenvalue / response-spectrum and pushover step displays in the FEA Result spreadsheet.
* **Design Memory Limit:** New "Design Memory Limit…" dialog to set the design result-extraction memory ceiling (persisted locally), showing detected heap and a warning that recommends the desktop app for large models.

**3D Rendering & Measurement**

* **Faster FEA View + AutoCAD-Style Selection:** Eliminates filter/selection freezes on large FE models and adds AutoCAD-style window (left-to-right) and crossing (right-to-left) rubber-band selection.
* **3D Element Name Search:** Type-ahead search box to find an FE element by name and select + zoom to it in the 3D view.
* **3D-to-Spreadsheet Stall Fix:** Removed a multi-second stall that occurred when clicking a 3D object into the spreadsheet tree.

**Section Analysis**

* **Unified Rebar & Tendon Spreadsheets:** New per-section spreadsheets list every rebar and tendon layout in one editable grid (profile, material, counts, spacing, reference edge, radius, angles, force, tensioning, debonding, position), with two-way sync to the section canvas.
* **Section First-Moment Functions:** New `sectionQx` / `sectionQy` ParamML functions expose the first moment of area for code-check formulas (e.g. web principal-tension checks).

**Verification**

* **Go To Offending Cell:** Each validation issue now renders as a card with a **GO TO** link that opens the spreadsheet, switches to the right category tab, and selects the exact row/column.
* **Inline Test Progress:** The Tests screen now shows per-item progress inline instead of stacked cards.
* **Verification Runner Reliability:** The verification/test runner uses an app-parity memory model, fixes a per-batch memory leak, and recovers from a stalled worker pool instead of hanging.

**Alignment**

* **Unsaved-Changes Prompt:** Closing the Alignment Editor (Cancel, X, or ESC) with unsaved edits now prompts Save / Discard / Keep Editing instead of silently losing changes.
* **Vertical Alignment (Warp) Fix:** Warp-ruled volumes now follow the alignment's vertical profile instead of a straight-line segment.
* **Duplicate Point Fix:** Avoids duplicate points when projecting onto an alignment.

**Import/Export**

* **Tekla Structures Native Parts Export:** Export a model to Tekla Structures with native geometry — plate girders export as native Lofted Plates, OpenBrIM materials map to Tekla catalog names, and source colors map to Tekla classes so parts show distinct colors. Includes tub-girder multi-plate export and diaphragm manhole cutouts, with correct position/orientation, vertical column rotation, and centroid anchoring. After export, the app automatically opens the OBrIMTekla Importer quick-guide.
* **DXF/DGN Export for Document CAD Objects:** New export button to save a document's CAD objects out to DXF/DGN.
* **DGN Mesh-Only Object Recovery:** Smart-solid DGN export no longer silently drops objects built as surface groups (e.g. foundations) — a second pass emits them as mesh so nothing disappears from the exported file.
* **IFC Quantities Fix:** Fixed material and section name export when using the IFC "include quantities" option.
* **Section Import Dropdown Fix:** Fixed a bug in the "Add Shape…" section-import dialog where changing a dropdown wrote the value to the wrong parameter.

**ParamML**

* **Live-Syncing Library Inputs:** Read-only computed inputs flagged `SyncFromLib` now re-sync from the library template on every load/refresh, so they no longer go stale when the library expression changes.
* **New Functions:** `triangulatePolygon3D` (3D polygon triangulation), `convexhull`, `elevationfield` (sample a Z elevation field), `linerefine`, and `splitpolylineat{x,y,z,length,fraction}` (split a polyline at a coordinate/length/fraction).
* **`startswith` / `endswith` Fix:** These now return no-match (instead of misbehaving) when given a non-string subject, so filter/lambda expressions evaluate correctly.
* **`bufferPolyline` / `rangelist` Fixes:** Corrected `bufferPolyline` endpoint handling and a `rangelist` station-dependency leak.

**User Interface**

* **Project Settings Popup:** Replaced the on-canvas Params/Objects explorer buttons with a Project Settings popup.
* **Spreadsheet Decimal Precision:** Numeric spreadsheet cells now respect the configured decimal-place / display-precision setting.
* **Modal Dropdown Clipping Fix:** Select-object and reference dropdowns inside dialogs are no longer clipped by the dialog edge.
* **New-Project Screen Polish:** Template previews fit without cropping, folders are visually distinguished in the project list, duplicate "Modified" dates were removed, and OpenBrIM template cards hide internal object name/author.
* **Accurate Version Label:** The version shown in the top bar is read from the actual shipped build so it can't lag behind a deploy.
* **Documents View Cleanup:** Hid the compile toggle controls in the Documents view where they don't apply.

**Project Management**

* **Search Filter Preserved on Sort:** Sorting the projects list no longer clears the active search filter.
* **Workspace-Mandated MFA:** Workspace admins can now require multi-factor authentication — new users must enroll a second factor at first login, enforcement covers all password endpoints, and the admin Users list shows per-user MFA state (On / Off / Required).

**Performance**

* **Faster Spreadsheet Mass-Edits:** Range/mass edits are batched so the object map isn't rebuilt per row, removing a large slowdown on big edits.
* **Memory-Safe Live-Load Results:** Live-load surface stress/displacement results use chunked warm-up to bound peak memory (fixing out-of-memory on dense live-load models), cache envelopes to avoid recomputation, and keep the contour stable during zoom.
* **Design-Report Memory Leak Fix:** Reopening the same design report no longer leaks memory each time.
* **FE Result Cache Relief:** Under memory pressure the FE result cache now sheds its oldest entries to reduce crashes on large models.

**Desktop App**

* **Software Update Button:** The desktop app now checks for updates on launch and periodically, downloads in the background, and offers a "Restart now" prompt to install — with a manual check button in the About window.
* **Exports Revealed in File Manager:** User-initiated exports now open/reveal the saved file in the OS file manager, plus a "File → Open exports folder" menu item.

***

## **v3.260407**

**Finite Element Analysis**

* **Composite Section Weight:** Exact weight-per-length calculation for composite sections in FELine elements, improving self-weight accuracy for mixed-material members.
* **Composite Section ParamML Functions:** New `compositeSection` family of ParamML functions for querying composite section properties.
* **FE Mesh Deduplication:** `DeduplicateMesh` is now enabled by default for remote mesh operations.

**FEA User Interface**

* **6x6 Equivalent Stiffness Stage Switching:** The 6x6 Equivalent Stiffness spreadsheet now dynamically updates when the active stage/case changes, without needing to reopen the sub-sheet.
* **Global Load Point List & 3D Picking:** SurfaceLoad, LineLoad, and PointLoad spreadsheets now support editable point lists with "Select Polygon/Polyline/Point (3D)" cell actions for picking FE nodes directly in the 3D view.
* **FEGroup Mass Paste Fix:** Fixed FEGroup View/Edit mass paste only adding one row.
* **FEA Spreadsheet N/A Fields:** Inapplicable fields (direction, coefficients, section-at-end) now correctly show N/A based on element and load type context.

**Verification**

* **Auto-Naming with Result Type:** Verification items now auto-generate descriptive names including incremental/cumulative and min/max context (e.g., "Verify Incremental Results SubStrStage.STAGE at Node...").

**Section Analysis**

* **Concrete Stress-Strain Model Fix:** Fixed interaction analysis material lookup to scan strip segments for the correct concrete material instead of assuming the first segment, fixing steel-cased concrete sections.
* **Gross Area Performance:** Fixed eager `GetGrossArea()` computation on every `Ag` getter call and resolved gross area memory handling issues.

**3D Rendering & Measurement**

* **Extended Measurement Tool (6 Modes):** New measurement tool with Point-to-Point, Polyline, Edge, Point-to-Face, Face-to-Face, and Angle modes. Includes alignment selector, face/edge snapping, results panel with unit conversion, and GCS coordinates.
* **Elevation Profile Clipping:** New Plan view clipping mode that follows the alignment's vertical elevation profile with adjustable offset, using a 2D height map texture for shader-based clipping.
* **Window Selection Fix:** Hidden elements are now excluded from window selection.
* **Pick Nodes Fix:** Fixed Pick Nodes selection when the 3D model is active by hiding non-FEA instances during FEA-only pick sessions.
* **Cross-Slope Rendering Fix:** Added unified break fallback to ForceSynchronization for cross-slope rendering artifacts.

**Alignment**

* **Alignment Editor Redesign:** Extracted Alignment Editor to a dedicated module with a new read-only Station column in the Horizontal spreadsheet, multi-row delete support, and segment delete action for Transverse data.
* **Duplicate Point Removal:** Alignment lines now automatically remove duplicate points.
* **GCS Coordinate Translation:** Stabilized alignment coordinate translation under active Geographic Coordinate System, scoped to projection and export operations.
* **Map Tile Fix:** Restored sub-tile centering in MapTile to correct lat/lng positioning.

**Import/Export**

* **DGN Additional Properties Report:** New cell action for 3D DGN exports showing all objects with their DGN properties, grouped by element, with copy-to-clipboard support and conflict validation.
* **DGN Text Style Fix:** Fixed null `DgnTextStyle.GetSettings` errors in AddNote, TextString, and AddDimensionLine.
* **DGN Server Processing Fix:** Suppressed "No WorkSet Alert" dialog blocking server-side DGN processing.
* **DGN Service Health Monitoring:** Added health monitoring with Slack alerts for the DGN MicroStation service, including external health ping to detect process crashes.

**Performance**

* **FEA Compilation Optimization:** Skip SetParams for FEMesh-generated objects, cache section lookups per station index, pre-filter sections by 3DOnly flag, and restructure non-prismatic section assignment.
* **Bounding Box Pre-Filtering:** Added bounding box pre-filtering for LineDist mesh region checks.
* **Cache Optimization:** Optimized Cache GetCtx/PutCtx with bundled entries and memoized keys.
* **Reference Project Caching:** Improved reference project caching with in-memory cache and timestamp validation.
* **Model Deserialization:** Deferred slow model deserialization to avoid UI blocking.
* **Memory Leak Fixes:** Fixed memory leaks in notification system and jQuery dialog closures (756MB → 160MB reduction).
* **Compilation & Rendering:** Optimized PML tree search with cached parent weight maps, added StaticGuard for early removal of guarded objects during CloneInto, and skipped Document children during rendering compilation.

**ParamML**

* **`pairwise` Function:** New array function for pairwise element processing.
* **`GetArrayDimension` Utility:** New utility for detecting array dimensionality, with 3D point array support in `GetObjPoints`.
* **Result Extraction Enhancements:** Added NegExt, PosExt, NegGlobal, and PosGlobal to result extraction pattern matching, with dynamic suffix combination generation.

***

## **v3.260227**

**Finite Element Analysis**

* **Binary Export/Import for FEA Results:** Export and import FEA analysis results to transfer models with completed analysis to another computer. Since results are stored locally in browser IndexedDB rather than the cloud, this feature enables sharing analysis results across machines.
* **6x6 Equivalent Stiffness Matrix:** Added comprehensive equivalent stiffness matrix calculation with flexibility matrix reporting (unaveraged and averaged).
* **Auto-detect Floor Stiffness:** Automatic detection of floor stiffness for softening curves with improved stiffness editor UI.
* **Spring Activation Displacements:** New boolean property to bypass pre-activation displacement subtraction for verifying activation-aware displacement logic.
* **Spring Force Recovery Fix:** Fixed spring force recovery to consider displacements after element activation and zero out previous force for springs that just became active.
* **Nonlinear Curve Sorting Fix:** Sort nonlinear curves by displacement instead of force to handle user input errors gracefully.
* **Node Merge Priority:** Prioritize keeping nodes with 6x6 stiffness matrix during same-location merge operations.

**Code Editor**

* **Enhanced CORE Object IntelliSense:** Added inline parameter suggestions and example children for improved code completion experience.
* **Template Params Fix:** Fixed IntelliSense to get params from template object correctly.

**3D Rendering**

* **Cross-Slope Rendering Fix:** Resolved rendering artifacts in deck surfaces with cross-slope geometry.

**Performance**

* **xxHash for Geometry Cache:** Use xxHash for geometry cache keys for faster lookups.
* **Faster Stage Filtering:** Speed up constructed-only stage filtering in FEA.
* **JsParser Optimization:** Optimized JsParser.Execute with property caching and frequency ordering.
* **Compilation Performance:** Faster compilation with fast-path and O(1) lookups.
* **GetIdentifierValue Optimization:** Skip GetObjA when param found at distance 0 for faster parameter resolution.
* **Reduced GC Pressure:** Reuse Float64Array buffer in Rotate3d operations.

**ParamML**

* **`insertinto` Function:** New JsParser array function with dual-lambda support for advanced array operations.
* **`trimPolyline` Function:** New function to trim polylines with support for negative offset to extend polylines.
* **Z-Coordinate Interpolation:** Added z-coordinate interpolation for XY plane intersections.
* **Alignment Projection Enhancements:** Added refinement and includeControlStations arguments to alignProjection function.
* **US Survey Foot Support:** Added US Survey Foot (ftUS) unit string representation to ToStrLength.

**Import/Export**

* **DGN Export Error Handling:** Improved DGN Writer error handling with client-side validation for custom properties.
* **ExtObj Validation:** Improved validation for missing object references in external objects.

**User Interface**

* **Isolate (Picked) Action:** New spreadsheet cell action for object reference columns to quickly isolate referenced objects.
* **Spreadsheet Row Version Fix:** Fixed project object version when adding new spreadsheet rows.

**Project Management**

* **Guard/Reference Ordering Fix:** Fixed operation ordering to remove refs before guarding and unguard before adding refs.
* **Guarded Objects Fix:** Fixed guarded objects being incorrectly added to references.
* **ParamDesc Migration:** Added ParamDesc support to ParamValueSet for version migration.

**Geometry**

* **Polygon-Line Intersection:** Implemented polygon-line intersection handling with optimized line filtering logic.
* **Line Projection Optimization:** Reduced line projection to a single point for constraint points array.

***

## **v3.260204**

**DGN Seed File Configuration**

* **Custom Seed File Support:** You can now upload and assign your own MicroStation seed files for DGN export, giving you control over levels and line styles in the exported DGN. See [DGN Seed File Configuration](https://docs.openbrim.org/templates/steel-i-girder-bridge-workflow/export-sig/dgn-seed-file-config-sig) for details.

**Finite Element Analysis**

* **Partial Completion Handling:** Nonlinear FEA analysis now supports partial completion, preserving results from completed load steps when analysis is interrupted or fails to converge.
* **Cancel Confirmation Dialog:** Added a confirmation dialog when canceling a running FEA analysis to prevent accidental interruptions.
* **Download Log Button:** Added a download log button to the analysis completion and FEA logs dialog.
* **Auto-Scroll Resume:** Added a floating button to resume auto-scroll in the FEA log textarea when the user manually scrolls.
* **Spring Gap Handling:** Fixed penalty stiffness calculation for springs with gaps.

**Section Analysis**

* **Phi Factor Improvement:** Improved phi factor interpolation in the interaction diagram transition zone.

**Alignment and 3D Rendering**

* **COG Support in Alignment:** Enhanced `alignLine` function with center of gravity (COG) support and configurable alignment rules.
* **Skewed Station Solver:** Added skewed station solver with intersection detection for improved 3D rendering of skewed structures.
* **Control Locations:** Enhanced alignment control location management and line splitting functions.

**Sections**

* **Custom Variation Paths:** Added custom variation path support for non-prismatic sections, enabling more flexible section transitions.
* **Station-Dependent Shape Coordinates:** The `sectionShapeCoords` function is now station-dependent, returning shape coordinates that vary along the member length.
* **Circle Section Support:** Circle-type sections are now supported for station-dependent section generation.

**ParamML**

* **`ClosestPointOnPolyline` Function:** New ParamML function to find the closest point on a polyline from a given location.
* **`volume()` Surface3D Support:** The `volume()` function now supports Surface3D geometry types.
* **`formatstation` Function:** New `FormatStation` utility and `formatstation` ParamML function for formatting station values.
* **`makestadep` Expansion:** The `makestadep` function has been expanded with additional capabilities.
* **Gross Area Fix:** Fixed `RebarCircularLayout` being incorrectly included in gross area calculation.

**Import/Export**

* **LandXML Import:** Improved azimuth calculation and added multi-file support for LandXML imports. Fixed curve `StartAzimuth` direction handling.
* **LARSA4D Import:** Fixed sanitization of illegal characters in names during LARSA4D import.
* **CSi Export:** Added support for exporting FE groups to CSi Link format.
* **IFC Fixes:** Various bug fixes for IFC export robustness.

**User Interface**

* **Work Point Picking:** Introduced Work Point picking feature with parametric and boundary point support for precise point selection.
* **Delete Objects UX:** Improved delete objects experience with progress feedback for large deletion operations.
* **Branch Search:** Added search box to the branch UI for finding objects.
* **Spreadsheet Fix:** Fixed spreadsheet cell staying active when clicking cell actions or scrolling.
* **TypeParamSelect:** Added TypeParamSelect cell action for ParamInterface spreadsheets, enabling type-based parameter selection.

**Project Management**

* **GCS Sync:** Projects now automatically sync their Geographic Coordinate System (GCS) from the source project if the local project doesn't have one defined.
* **Project Duplication Fix:** Fixed project duplication issues caused by `PopulateExtends` race condition and IndexedDB caching.
* **Project Folder UI:** Improved project folder interface with better validation.

**Performance**

* **Faster Local Data Access:** Optimized how the platform reads locally cached data (used extensively by FEA and project storage), resulting in up to 38x faster data retrieval.
* **Spreadsheet Copy:** Improved large spreadsheet copy operations using time-based yielding to prevent UI freezes.
* **Expensive Parameters:** Simplified and improved expensive parameter computation to require compiled project, with expression-based cache keys.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.openbrim.org/release-notes/openbrim-release-notes/2026-platform-releases.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
