Thu, 05/07/2026 - 12:12
Forums:
Open Cascade is delighted to announce the final release of Open CASCADE Technology version 8.0.0 to the public.
8.0.0 is the largest single-version step in OCCT in many years. The cycle covered five Release Candidates and three Beta builds and accumulated more than 500 changes since 7.9.0.
More details: https://github.com/Open-Cascade-SAS/OCCT/releases/tag/V8_0_0
The full per-area release notes are linked below. Migration guidance is on the developer portal: https://dev.opencascade.org/doc/overview/html/occt__upgrade.html (the page may take a short time to refresh after the tag).
Per-stage release notes
- Release Candidate 1
- Release Candidate 2
- Release Candidate 3
- Release Candidate 4
- Release Candidate 5
- Beta 1
- Beta 2
- Beta 3
Highlights
- C++17 baseline: the codebase uses
std::variant,std::optional,std::string_view,std::shared_mutexand structured bindings throughout. Pre-C++17 compilers are no longer supported. - Standard exceptions:
Standard_Failurederives fromstd::exception(what(),ExceptionType()are exposed);Raise(),Throw()andInstance()static helpers are gone, exceptions usethrow. Error handler stack isthread_local. - Standard threading:
Standard_MutexandTopTools_MutexForShapeProviderwere retired in favour ofstd::mutex.Standard_Conditionwas rebuilt on top of standard primitives. - Geometry evaluation redesign: 32 leaf
Geom*/Geom2d*curve and surface classes useEvalD0/EvalD1/EvalD2/EvalD3/EvalDNreturning POD result structs. The 29 concrete leaves arefinal. Adaptor dispatch is devirtualized throughstd::variant. - New differential-properties packages:
Geom2dProp,GeomProp,BRepPropreplace the legacy macro-basedLPropfamily withstd::variant-dispatched evaluators and result structs. GeomBndLibpackage: per-type bounding-box evaluators with analytical solutions for conics and quadrics;BndLibnow forwards to it.ExtremaPCpackage: point-to-curve extrema with per-geometrystd::variantdispatch.- Gordon surface construction:
GeomFill_GordonandGeomFill_GordonBuilderfor transfinite interpolation on N x M curve networks. - Helix toolkit (
TKHelix): geometric helix curve adaptor and topological builders. - BRepGraph: a graph-based representation of topology and BRep geometry, complementary to
TopoDS_Shape. Typed identifiers, multiple Views, bidirectional traversal, an extensible Layer/Cache system, history, deduplication, validation, and roundtrip conversion to and fromTopoDS_Shape. - TopoDS optimization:
TopoDS_TShapecarries shape type plus eight flags in a bit-packeduint16_t, soShapeType()is non-virtual.TopAbs::Compose/Reverse/Complementare inlinenoexcept.TopoDS_Iteratorsupports range-basedfor. - BSpline/Bezier: direct array members, always-populated weights backed by a static unit-weights view, faster
BSplCLibinterpolation. Several long-standing bugs corrected. - NCollection refresh: new
FlatMap/FlatDataMap(Robin Hood),OrderedMap/OrderedDataMap(insertion-order),KDTree(header-only),LinearVector(contiguous flat buffer),DynamicArrayrebuilt for O(1) indexed access. UnifiedContained()/TryEmplace()/TryBind()/Items()API.Size()returnssize_t(useLength()forint-typed APIs).IncAllocatorfast path is lock-free. - Shader-based infinite grid:
V3d_RectangularGridandV3d_CircularGridunified onto a single shader path with infinite extent, sub-pixel AA, arbitrarygp_Ax3plane, and bounded clipping. The classical CPU grid is preserved alongside for legacy GL profiles. - Selection through group flipping:
Graphic3d_Flipperbrings flip-aware BVH bounds and frustum overlap testing in line with rendering, fixing missed clicks onAIS_TextLabelandPrsDim_Dimensionafter camera rotation. Polyline strict-inclusion selection works for all sensitive types. - BVH-accelerated polyhedra interference:
IntPatch_PolyhedronBVHwith dual-tree traversal replaces pairwise triangle scans inIntPatch_InterferencePolyhedron::Interference(). - STEP: stream-based
DE_Wrapperread and write; thread-safe STEP read and write under one-instance-per-thread; STEP General Attributes export, coordinate system connection points import, PMI measurement scaling, ~20% smaller files through duplicate-entity removal, smallerDirectionentity. IGES read remains non-thread-safe. - Mesh: registry-based factory (
BRepMesh_DiscretAlgoFactory) replacing theDISCRETPLUGIN/DISCRETALGOsymbol-based plugin system; TKMesh and TKXMesh can be loaded together. - Shape Healing:
ShapeBuild_ReShapecycle/leaf resolution and DFS guards eliminate stack overflows and edge multiplication on shapes with shared sub-shapes. - Numerical solvers:
MathPoly_Laguerrefor general polynomial roots; coordinate-wise Brent polishing for PSO and DE solvers improves precision by 4 orders of magnitude on separable functions; unified fixed-size 2D/3D/4D Newton API. - Build: CMake 3.16+, ARM64 a first-class target on macOS and Windows, comprehensive VCPKG support and upstream
opencascadeport. VTK is no longer enabled by default: setUSE_VTK=ONto opt in. - Repository layout: sources reorganized to
src/Module/Toolkit/Package/File. Inspector and ExpToCas extracted to their own repositories. GTest is the unit-testing framework; many QADraw tests were migrated to it. - Removed:
OSD_MAllocHook,QANCollection,PLib_Base,PLib_DoubleJacobiPolynomial,Standard_Mutex-based code paths,TColGeom/TColGeom2d/Geom2dLProp/LProp3dtypedef-only packages,BRepMesh_PluginMacro/PluginEntryType/FactoryError.
Best regards, OCCT3D Team!