Back

OCCT3D Open Source 8.0 Is Released!

07 May 2026

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

Highlights

  • C++17 baseline: the codebase uses std::variantstd::optionalstd::string_viewstd::shared_mutex and structured bindings throughout. Pre-C++17 compilers are no longer supported.
  • Standard exceptionsStandard_Failure derives from std::exception (what()ExceptionType() are exposed); Raise()Throw() and Instance() static helpers are gone, exceptions use throw. Error handler stack is thread_local.
  • Standard threadingStandard_Mutex and TopTools_MutexForShapeProvider were retired in favour of std::mutexStandard_Condition was rebuilt on top of standard primitives.
  • Geometry evaluation redesign: 32 leaf Geom*/Geom2d* curve and surface classes use EvalD0/EvalD1/EvalD2/EvalD3/EvalDN returning POD result structs. The 29 concrete leaves are final. Adaptor dispatch is devirtualized through std::variant.
  • New differential-properties packagesGeom2dPropGeomPropBRepProp replace the legacy macro-based LProp family with std::variant-dispatched evaluators and result structs.
  • GeomBndLib package: per-type bounding-box evaluators with analytical solutions for conics and quadrics; BndLib now forwards to it.
  • ExtremaPC package: point-to-curve extrema with per-geometry std::variant dispatch.
  • Gordon surface constructionGeomFill_Gordon and GeomFill_GordonBuilder for 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 from TopoDS_Shape.
  • TopoDS optimizationTopoDS_TShape carries shape type plus eight flags in a bit-packed uint16_t, so ShapeType() is non-virtual. TopAbs::Compose/Reverse/Complement are inline noexceptTopoDS_Iterator supports range-based for.
  • BSpline/Bezier: direct array members, always-populated weights backed by a static unit-weights view, faster BSplCLib interpolation. Several long-standing bugs corrected.
  • NCollection refresh: new FlatMap/FlatDataMap (Robin Hood), OrderedMap/OrderedDataMap (insertion-order), KDTree (header-only), LinearVector (contiguous flat buffer), DynamicArray rebuilt for O(1) indexed access. Unified Contained()/TryEmplace()/TryBind()/Items() API. Size() returns size_t (use Length() for int-typed APIs). IncAllocator fast path is lock-free.
  • Shader-based infinite gridV3d_RectangularGrid and V3d_CircularGrid unified onto a single shader path with infinite extent, sub-pixel AA, arbitrary gp_Ax3 plane, and bounded clipping. The classical CPU grid is preserved alongside for legacy GL profiles.
  • Selection through group flippingGraphic3d_Flipper brings flip-aware BVH bounds and frustum overlap testing in line with rendering, fixing missed clicks on AIS_TextLabel and PrsDim_Dimension after camera rotation. Polyline strict-inclusion selection works for all sensitive types.
  • BVH-accelerated polyhedra interferenceIntPatch_PolyhedronBVH with dual-tree traversal replaces pairwise triangle scans in IntPatch_InterferencePolyhedron::Interference().
  • STEP: stream-based DE_Wrapper read 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, smaller Direction entity. IGES read remains non-thread-safe.
  • Mesh: registry-based factory (BRepMesh_DiscretAlgoFactory) replacing the DISCRETPLUGIN/DISCRETALGO symbol-based plugin system; TKMesh and TKXMesh can be loaded together.
  • Shape HealingShapeBuild_ReShape cycle/leaf resolution and DFS guards eliminate stack overflows and edge multiplication on shapes with shared sub-shapes.
  • Numerical solversMathPoly_Laguerre for 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 opencascade port. VTK is no longer enabled by default: set USE_VTK=ON to 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.
  • RemovedOSD_MAllocHookQANCollectionPLib_BasePLib_DoubleJacobiPolynomialStandard_Mutex-based code paths, TColGeom/TColGeom2d/Geom2dLProp/LProp3d typedef-only packages, BRepMesh_PluginMacro/PluginEntryType/FactoryError.

Do you have more questions?
We will do our best to answer your questions
stab-img
Backing your path to digital Future
Mobile version of the website is on development.  Please open the website on your desktop computer.
Or go to the old version of the website at old.opencascade.com
Follow Us: