Releases: Open-Cascade-SAS/OCCT
V8_0_0_rc3
Open CASCADE Technology Version 8.0.0 Release Candidate 3
Open Cascade is delighted to announce the release of Open CASCADE Technology version 8.0.0 Release Candidate 3 to the public.
Overview
Version 8.0.0-rc3 is a candidate release incorporating 157 improvements and bug fixes compared to version 8.0.0-rc2, bringing the total improvements since version 7.9.0 to over 290 changes.
This release focuses on:
- Modernization of math functions with migration to C++ standard library
- Threading improvements with migration from
Standard_Mutextostd::mutex - Performance optimizations across Foundation Classes, especially BSpline computations
- API improvements with
constexpr/noexceptannotations throughout the codebase - Data Exchange enhancements including stream support and STEP metadata export
What is a Release Candidate
A Release Candidate is a tag on the master branch that has completed all test rounds and is stable to use. Release candidates progress in parallel with maintenance releases, with the difference that maintenance releases remain binary compatible with minor releases and cannot include most improvements. The cycle for a release candidate is planned to be 5-10 weeks, while maintenance releases occur once per quarter.
What's New in OCCT 8.0.0-rc3
Foundation Classes
Math Functions Modernization
- Deprecated math global functions in favor of
stdequivalents #833: The following functions are now deprecated and will be removed in future releases:ACos(),ASin(),ATan(),ATan2()→ usestd::acos,std::asin,std::atan,std::atan2Sinh(),Cosh(),Tanh()→ usestd::sinh,std::cosh,std::tanhASinh(),ACosh(),ATanh()→ usestd::asinh,std::acosh,std::atanhSqrt(),Log(),Log10(),Exp()→ usestd::sqrt,std::log,std::log10,std::expPow(),Abs(),Sign()→ usestd::pow,std::abs,std::copysignSin(),Cos(),Tan()→ usestd::sin,std::cos,std::tanFloor(),Ceiling(),Round()→ usestd::floor,std::ceil,std::roundIntegerPart()→ usestd::truncMin(),Max()→ usestd::min,std::maxNextAfter()→ usestd::nextafter
Threading Modernization
- Replaced
Standard_Mutexwithstd::mutex#766: Migrated from legacy mutex implementation to standard C++ mutexes across all modules:- Use
std::lock_guardorstd::unique_lockinstead ofStandard_Mutex::Sentry - Use
std::mutexinstead ofStandard_Mutex - Optional mutex holders now use
std::unique_ptr<std::mutex>
- Use
Geometric Primitives (gp)
- Added standard direction enumerations #803: New
gp_Dir::Dandgp_Dir2d::Denums for standard directions (X, Y, Z, NX, NY, NZ) - Enhanced constructors with
constexpr/noexcept#798, #796, #790: Geometric primitives (circles, cones, cylinders, axes) now have constexpr constructors
Strings
- Added
EmptyString()methods #788: NewTCollection_AsciiString::EmptyString()andTCollection_ExtendedString::EmptyString()for efficient empty string access - Optimized
TCollection_AsciiString#752: Pre-defined string optimization for better performance
Math Containers
- Move semantics for
math_Matrixandmath_Vector#841: Added move constructors and move assignment operators for efficient container transfers
BSpline Optimizations
- Optimized BSpline cache #906, #897: Improved BSpline data containers with
constexprand validation, optimized local calls - Enhanced B-Spline curve computation #855: Performance improvements for curve calculations
Other Foundation Improvements
- Optimized
Bndpackage #839, #856: Bounding box optimizations and fixes - Modernized
Bnd_B2andBnd_B3#838: Template-based implementation - Enhanced BVH implementation #842, #858: Generic vector types and transformation tests
- Performance improvements for
TopExppackage #831 - Optimized
Quantitypackage #834 - Improved
NCollectionvector constructors #835 - Modernized
NCollection_SparseArrayBase#804 - EigenValuesSearcher improvements #714
- Refactored
CSLibpackage with GTests #857 - Refactored
Extremapackage #869 - Compile-time sqrt constants #789
- Precomputed Jacobi coefficients #778
- Constexpr Pascal allocator for
PLib::Bin#777 - Added precision-related methods in
Precision.hxx#811 - Angle normalization refactor for
ElSLib/ElCLib#813
Modeling Data
- New
GeomHashandGeom2dHashpackages #845: Hash functions for geometric curves and surfaces enabling efficient comparison and caching
Modeling Algorithms
- Enhanced periodic curve handling in
ChFi3d_Builder#892 - Improved parameter validation logic in BSplineCache #829
Shape Healing
Data Exchange
Stream Support
- Implemented stream support for
DE_Wrapper#663: Stream-based read/write methods for STEP, STL, VRML, and other formats with validation utilities
STEP Improvements
- STEP General Attributes export #634: Export string metadata as STEP
property_definitionentities - STEP coordinate system connection points import #779
std::string_viewfor STEP type names #784: Performance improvement usingstd::string_viewfor type recognition- Refactored
StepTypeselection #786 - Custom hasher for string_view types in
RWStepAP214#888
Plugin System
- Reorganized DE plugin system #696: New
Register/UnRegistermethods for configuration nodes,DE_MultiPluginHolderfor multiple registrations
Visualization
Build and Configuration
- Fixed C++ standard options and NOMINMAX scope #907
- Modernized compiler flags for C++17 #867
- Updated macOS compiler flags and includes #884
- Updated VCPKG version #878
- Validated configuration on CMake 3.10+ #762
- C++17 version macro #785
- Updated
.gitignorewith explicit allowlist #787
Testing
- Migrated QA DRAW tests to GTest #818, #823
- Migrated QA NCollection to GTests #709
- Added Boolean operation GTests #721
- Added
ShapeAnalysis_CanonicalRecognitionunit tests #720 - Added
Standard_ArrayStreamBufferunit tests #708 - Added PLib functionality unit tests #705
- Covered math module with GTests [#684](https://github.com/Open-Cascade-SAS/OCCT/pul...
V7_9_3
Open CASCADE Technology 7.9.3 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.3 to the public.
Overview
Version 7.9.3 is a maintenance release incorporating over 15 improvements and bug fixes compared to version 7.9.2.
What's New in OCCT 7.9.3
Modeling
- Fix memory consumption in BOPAlgo_PaveFiller_6.cxx (#864)
- Fix BRepBuilderAPI_GTransform face stretch crash (#875)
- Fix Boolean fuse segfaults on loft (#860)
- Fix BRepFilletAPI_MakeFillet::Add hangs on adding edge (#859)
- Fix crash in BRepFilletAPI_MakeChamfer (#743)
- Fix crash in BRepOffsetAPI_MakePipeShell (#740)
- Fix segfault on chamfer or fillet approaching ellipse (#738)
- Fix ShapeUpgrade_UnifySameDomain crash (#876)
Shape Healing
- Optimize FixFaceOrientation (#584)
Visualization
- Improve detection of full cylinder/cone parameters (#830)
Data Exchange
- Fix hang in STEPCAFControl_Reader (#733)
Application Framework
- Early-return null NamedShape when TNaming_UsedShapes is missing (#760)
Full Changelog: V7_9_2...V7_9_3
V7_9_2
Open CASCADE Technology 7.9.2 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.2 to the public.
Overview
Version 7.9.2 is a maintenance release incorporating over 25 improvements and bug fixes compared to version 7.9.1.
What's New in OCCT 7.9.2
Configuration & Build System
- VCPKG add TclTk support (#580)
- Remove jemalloc port files (#581)
- Update C++ standard to C++17
- Fix ARCH for older 32-bit macs (#626)
- Fixed issue with CSF variable overwriting (#561)
Testing & Quality
- Update samples C++ version (#606)
- Remove marking warnings as errors in CI builds
Foundation Classes
Modeling
- Fix array indexing bug in IntAna_IntQuadQuad::NextCurve method (#703)
- CornerMax incorrect realisation in Bnd_Box (#664)
- Fix null surface crash in fixshape (#623)
- Fix null surface crash in UnifySameDomain (#624)
- GeomFill_CorrectedFrenet hangs in some cases (#630)
- Mismatch between projected point and parameter in ShapeAnalysis_Curve (#600)
- Infinite loop when Simplifying Fuse operation, CPU to 100% (#557)
Shape Healing
- Revolved shape in STEP file is imported inverted (#699)
Visualization
- Do not write comment into binary PPM image (Image_AlienPixMap)
Data Exchange
- Crash on empty list in STEP (#671)
- Facets with empty normals like 'f 1// 2// 3//' in RWObj_Reader (#520)
- Fix indices during parsing of arrays in GLTF Reader (#602)
- Preserving control directives in Step Export (#601)
- Optimize entity graph evaluating (#562)
Draw
- Fix message color mixing (#685)
- Misprint in vcomputehlr command leading to error if no Viewer (#526)
Coding
- Reducing relying on exceptions (#676)
Full Changelog: V7_9_1...V7_9_2
V8_0_0_rc2
Open CASCADE Technology Version 8.0.0 Release Candidate 2
Open Cascade is delighted to announce the release of Open CASCADE Technology version 8.0.0 Release Candidate 2 to the public.
(Release Candidate 1: https://github.com/Open-Cascade-SAS/OCCT/releases/tag/V8_0_0_rc1)
Overview
Version V8_0_0_rc2 is a candidate release incorporating over 80 improvements and bug fixes compared to version V8_0_0_rc1, bringing the total improvements since version 7.9.0 to over 130 changes.
What is a Release Candidate
A Release Candidate is a tag on the master branch that has completed all test rounds and is stable to use.
Release candidates progress in parallel with maintenance releases, with the difference that maintenance releases remain binary compatible with minor releases and cannot include most improvements.
The cycle for a release candidate is planned to be 5-10 weeks, while maintenance releases occur once per quarter.
What's New in OCCT 8.0.0-rc2
Core
- Upgraded minimum C++ version requirement to C++17 #537
- Geometric Classes Optimization: Significantly optimized gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes by simplifying mathematical computations, replacing indirect API calls with direct data member access in performance-critical sections, and improving matrix operations including inversion, transposition, and power calculations #578
- Reworked atomic and Standard_Condition implementation #598
- Optimized NCollection_Array1 with type-specific improvements #608
- Reworked math_DoubleTab to use NCollection container #607
- Fixed WinAPI resource leaks #625
- Fixed include brackets type issues #635
- Geom package copy optimization #645
Build System and Configuration
- Comprehensive VCPKG Support: Added full VCPKG layout configuration with CMake file placement in share/ directory for compliance, introduced OCCT_PROJECT_NAME parameter for customizing directory structure, and updated environment scripts while maintaining backward compatibility #618, #637, #638
- Added VCPKG port opencascade with TclTk and GTest support #580, #616
- Implemented flexible project root configuration #641
- Fixed build config file validation issues #647
- Disabled GLTF build without RapidJSON #646
- Fixed link errors on macOS when not building using vcpkg #609
- Fixed CSF variable overwriting issues #561
- Fixed paths to 3rd-party in cmake configuration #523
- Fixed ARCH detection for older 32-bit Macs #626
- Removed unused CMake scripts and dependencies #644, #581
- Fixed samples CMake configuration #643
Modeling
- New Helix Toolkit: Implemented a complete TKHelix toolkit with geometric helix curve adaptor and topological builders, featuring advanced B-spline approximation algorithms for high-quality helix representation and comprehensive TCL command interface #648
- Added option to not build history in BRepFill_PipeShell #632
- Fixed GeomFill_CorrectedFrenet hanging in some cases #630
- Fixed infinite loop in Simplifying Fuse operation #557
- Fixed Bnd_BoundSortBox::Compare failures in some cases #518
- General Fuse Optimization: Improved BOPAlgo_PaveFiller performance by adding null checks for triangulation in BRep_Tool::IsClosed, simplifying index lookup logic in BOPDS_DS, and introducing helper functions for better clarity and robustness #514
- Fixed BRepFilletAPI_MakeFiller segfault with two curves and rim #532
- Fixed mismatch between projected point and parameter in ShapeAnalysis_Curve #600
Shape Healing
- Implemented reusing Surface Analysis for Wire fixing #565
Visualization
- Enhanced FFmpeg Compatibility Layer and updated Video Recorder #582
- Fixed binary PPM image comment writing in Image_AlienPixMap #413c08272b
- Updated Graphic3d_Aspects::PolygonOffsets documentation #519
- Marked Immediate Mode rendering methods as deprecated in AIS_InteractiveContext #521
Data Exchange
- Fixed GLTF indices parsing during array processing #602
- Implemented non-uniform scaling in GLTF Import #503
- Fixed GLTF saving edges when Merge Faces is enabled #554
- Changed GLTF export line type to LINE_STRIP #535
- Fixed missing GDT values in STP Import #617
- Preserved control directives in Step Export #601
- Ignored unit factors during tessellation export #577
- Applied scaling transformation in Step Export #513
- Fixed missing Model Curves in IGES Export transfer cache #483
- Fixed XCAFDoc_Editor::RescaleGeometry not rescaling translation of roots reference #529
- Fixed facets with empty normals handling in RWObj_Reader #520
- Added conversion utilities for STEP geometrical and visual enumerations #545
- Added missing headers #530
- Optimized StepData_StepReaderData #543
- Optimized entity graph evaluating #562
- Removed GLTF files from XDEDRAW #649
- Removed unused dependencies from TKXDEDRAW #650
Testing
- Updated GitHub Actions to use latest versions #640
- Added performance summary posting to PR #612
- Fixed master validation workflow #611
- Added daily vcpkg package validation #605
- Updated samples C++ version #606
- Removed extra GitHub jobs #594
- Added ASCII code validation #593
- Migrated PR actions to VCPKG-based #587
- Added compilation on Clang without PCH #540
- Enabled IR integration concurrency #531, #536
Draw and Tools
- Fixed vcomputehlr misprint leading to error if no Viewer #526
- Updated DrawDefault script to handle missing directory cases #542
Documentation
- Added missing description to HLRBRep_HLRToShape methods #525
- Added Copilot instructions for OCCT development #589
How to Upgrade
There are no critical breaking changes at the API level, however note the following:
- C++17 Requirement: The minimum C++ version has been upgraded to C++17. Ensure your compiler supports this standard.
- Deprecated Methods: Some Immediate Mode rendering methods in AIS_InteractiveContext have been marked as deprecated.
Migration should proceed smoothly for most applications.
Performance Improvements
This release includes several significant performance optimizations:
- Geometric Classes: Major performance improvements in gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes through direct data access and simplified computations
- Boolean Operations: General Fuse algorithm opt...
V7_9_1
Open CASCADE Technology 7.9.1 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.1 to the public.
Overview
Version 7.9.1 is a maintenance release incorporating over 30 improvements and bug fixes compared to version 7.9.0.
What's New in OCCT 7.9.1
Configuration & Build System
- Update VTK configuration and enable optional components (#395)
- Update file globbing and condition checks for installation paths (#399)
- Extend CMake file filter regex (#400)
- Modify VTK 9x handling (#401)
- Update VTK optional components (#403)
- Remove BUILD_PATCH option in CMake (#418)
- Checking for FILES content (#424)
- Enhance Qt5 directory detection for Windows (#419)
- Remove -symbolic linker flag (#432)
- TBB configuration prioritization to release (#496)
- Fixed paths to 3rd-party in cmake configuration (#523)
Testing & Quality
- Repeating failed tests in GitHub Actions (#412)
- Inspector build error on latest CMake (#477)
- Add a new compilation on Clang without PCH (#540)
Foundation Classes
- Host resolving by itself (#457)
- Update signal handling for GLIBC compatibility on Linux (#458)
- Checking for MallInfo version (#459)
Modeling
- Degenerated curves were not handled by Arrange function (#396)
- Improve handling of polygon parameters in NURBS conversion (#410)
- Handle void bounding box case in BRepBndLib::AddOptimal (#470)
- Bounding BSpline periodic tolerance issue (#468)
- Periodic BSpline curve bounding (#493)
- XCAFDoc_Editor::RescaleGeometry does not rescale translation of roots reference (#529)
- BRepFilletAPI_MakeFillet Segfault with two curves and rim (#532)
- General Fuse (BOPAlgo_PaveFiller) optimization (#514)
Visualization
- Refactor mouse click handling logic for improved double-click detection (#385)
- AIS_Shape bounding box re-computation is not working properly (#422)
Data Exchange
- DE Wrapper invalidating parameters after 'Load' (#393)
- Datum Axis extraction issue (#407)
- STEP: AP242 SchemaName Remove dot (#448)
- IGES Export: Missing Model Curves in transfer cache (#483)
- Small optimization of StepData_StepReaderData (#543)
Documentation
- Enable server-based search and external search options in Doxyfile
Full Changelog: V7_9_0...V7_9_1
Open CASCADE Technology 8.0.0 Release Candidate 1
Open Cascade is delighted to announce the release of Open CASCADE Technology version 8.0.0 Release Candidate 1 to the public.
Overview
Version V8_0_0_rc1 is a candidate release incorporating over 50 improvements and bug fixes compared to version 7.9.0.
What is a Release Candidate
A Release Candidate is a tag on the master branch that has completed all test rounds and is stable to use.
Release candidates progress in parallel with maintenance releases, with the difference that maintenance releases remain binary compatible with minor releases and cannot include most improvements.
The cycle for a release candidate is planned to be 5-10 weeks, while maintenance releases occur once per quarter.
What's New in OCCT 8.0.0-rc1
Core
- Moved resource directories to
/resourcefolder #427, #429 - Migration of Inspector to own repository #438
- Migration of ExpToCas to own repository #442
- Reorganize source directory to follow "src/Module/Toolkit/Package/File" template #450
- Host search resolving by itself #457
- Update signal handling for GLIBC compatibility on Linux #458
- Checking for MallInfo version #459
- Introducing
GTesttest system into OCCT as a new way to unit testing to improve stability #443 - HashUtils NoExcept optimization #473
Build system
- Fixed CMake configuration with VTK configuration built with OCCT #395, #403
- TBB configuration prioritization to release #496
- Fixed issue with mismatching installation folder on Unix system #399
- Fixed issue with build patch containing dot symbol #400
- CMake Improvements to work with VTK 9x
- Remove BUILD_PATCH option in CMake #418
- Enhance Qt5 directory detection for Windows #419
- Remove
-symboliclinker flag from Unix system, which can lead to RTTI issues #432 - Re-Configuration time optimization #467
Modeling
- GeomFill updated with fix of incorrect arrangement of Degenerated BSpline curve #396
- Improve handling of polygon parameters in NURBS conversion #410
- Fixed issue with calculation of bounding box with faces without PCurves in BRepBndLib::AddOptimal #470
- Fixed issue with periodic BSpline within bounding box calculation #493
Visualization
- Added possibility to not write warnings about unsupported fonts #392
- Improved double click detection event to prevent long click mismatching #385
- Changed selection behavior and allow HandleMouseClick for schemes, allowing to select an object #416
- Fixed issue with re-computing Bounding box #422
Data Exchange
- Added support for SurfaceStyleReflectanceAmbientDiffuse and SurfaceStyleReflectanceAmbientDiffuseSpecular classes and reorganized Rendering Parameters catching #447
- Added option to decrease STP file size for export by removing duplicate entities. Average size improvement is 20% #475
- Fixed issue with File and System coordinate system mixing on DE Wrapper interface for Mesh formats #393
- Added stream to GLTF JSON parser to read lines and points #489
- Fixed crash with Datum extraction from STP file #407
- Removed dot from AP242 SchemaName in "AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF. {1 0 10303 442 1 1 4 }" #448
- Step entity Direction optimization with decreased memory footprint #479
Testing
- Added option to repeat failed tests automatically in GH Actions #412
- Reorganized GitHub actions #480
- GTest tests integration #471, #481, #443
Documentation
- Fixed various typos found in codebase #413, #414, #495
- Migrated documentation generation from TCL to CMake #441
How to Upgrade
There are no critical changes at the API level. Migration should proceed without issues.
What's Changed
- Coding - Add flag for font mgr to avoid error message #392
- Data Exchange - DE Wrapper invalidating parameters after 'Load' #393
- Visualization - Refactor mouse click handling logic for improved double-click detection #385
- Modeling - Degenerated curves were not handled by Arrange function #396
- Configuration - Update VTK configuration and enable optional components #395
- Configuration - Update file globbing and condition checks for installation paths #399
- Configuration - Extend CMake file filter regex #400
- Configuration - Modify VTK 9x handling #401
- Data Exchange - Datum Axis extraction issue #407
- Configuration - Update VTK optional components #403
- Modeling - Improve handling of polygon parameters in NURBS conversion #410
- Testing - Repeating failed tests in GH Action #412
- Documentation - Fix various typos found in codebase #413
- Documentation - Fix various typos found in codebase #414
- Visualization, Selection - allow HandleMouseClick for schemes, allowing to select an object #416
- Configuration - Remove BUILD_PATCH option in CMake #418
- Configuration - Checking for FILES content #424
- Visualization - AIS_Shape bounding box re-computation is not working properly #422
- Coding - Include gxx files from global path #423
- Configuration - Enhance Qt5 directory detection for Windows #419
- Configuration - Remove -symbolic linker flag #432
- Configuration - Adding resource packages to toolkit #427
- Data Exchange, Step - AP242 SchemaName remove dot #448
- Coding - Migration of Inspector to own repository #438
- Coding - Migration of ExpToCas to own repository #442
- Configuration - Resource structure reorganization #429
- Documentation - Migration to CMake from TCL #441
- Configuration - Reorganize repository structure #450
- Configuration - Resource generation source path fix #453
- Documentation - Generation schema fixing #452
- Configuration - Update resource path references in build scripts #454
- Foundation Classes - Host resolving by itself #457
- Documentation - Convert module and toolkit names to lowercase for URL generation #460
- Foundation Classes - Update signal handling for GLIBC compatibility on Linux [#458](https://github.com/Open-Cascade-SAS/OC...
V7_9_0
Open CASCADE Technology 7.9.0 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.0 to the public.
Overview
Version 7.9.0 is a minor release incorporating over 250 improvements and bug fixes compared to version 7.8.0.
What's New in OCCT 7.9.0
Core
- Improved code quality through static analysis and consistent code formatting with Clang-Format.
- Enhanced
Standard_Typeimplementation for better RTTI support and optimizedIsKindoperations. - Reorganized foundation classes for improved performance, including inlining
Standard_Typeinstances. - Deprecated the old aliasing for Handle types (e.g.,
Handle_<Type>). - Improved memory management and container optimization, including refactoring
ShapeHealingMaptoNCollection. - Updated map operations with the new
NCollection_MapAlgofor union, intersection, and other set operations. - Updated the
RemoveAllmethod inAsciiStringto correctly truncate the string.
Build System
- Added VCPKG manifest mode support (beta) for managing third-party dependencies.
- Improved handling of third-party dependencies, including Draco, VTK, and OpenVR from Ubuntu packages.
- Updated the minimum CMake version requirement to 3.10.
- Added an option to enable/disable Git hash extraction in the version string.
- Introduced a warning message regarding LGPL 2.1 licensing limitations for static linking.
- Fixed an issue where
custom.bat/shwas not regenerated in the build directory. - Added compiler version checks for C++17 support.
- Removed Genproj.
- Fixed static linking failures.
- Implemented new PCH for faster compilation.
- Added MinGW default third-party package support.
Modeling
- Fixed multiple issues in the
UnifySameDomainalgorithm, including cases withSurfaceOfRevolutionorSurfaceOfLinearExtrusionbased onTrimmedCurve. - Improved
BRepOffsetandBRepFillalgorithms, including skipping degenerated curves inBRepOffset_Tool::TryProjectand adding boundary checks inBRepFill_Filling. - Enhanced shape processing and transformation handling, including the removal of surfaces after transformation.
- Fixed various geometric computation issues, including resetting Plane YVector and enhancing intersection handling for closed curves in
IntPatch_Intersection. - Improved the robustness of boolean operations.
- Added a warning for incomplete wire detection in
WireFromList. - Fixed NURB conversion for degenerated cases.
- Disabled exception with scaling transformation.
- Fixed degenerated curves in offset operations.
- Corrected intersection curves handling.
- Resolved BRepOffset_Tool segmentation fault.
- Fixed sphere cutting and Boolean operations.
Visualization
- Enhanced
AIS_Manipulatorfunctionality, including flat skin support and transformation depending on camera rotation. - Improved selection handling and transformation persistence.
- Added support for flat skin in
AIS_Manipulatorpresentation. - Enhanced Z-layer handling in
V3d_View, including an option to dump only a selection of z-layers. - Improved transparency handling in various rendering modes.
- Implemented an interface to change
myToFlipOutputofOpenGl_View. - Fixed direction calculation for
Select3D_SensitiveCylindercreated fromGeom_CylindricalSurface. - Added support for vertical mouse movement zooming.
- Enhanced transparency handling for capping in 'Graphic3d_RTM_BLEND_OIT' mode.
- Fixed selection for simple shapes.
- Resolved manipulator interaction issues.
- Fixed transform persistence and view transformation.
- Addressed transparency and rendering issues.
Data Exchange
- Migrated shape healing settings to a single object,
DE_ShapeFixParameters. - STEP:
- Added metadata support for products, including product attributes.
- Enhanced tessellated geometry handling.
- Improved thread safety.
- Fixed multiple crash issues, including those related to null curves and out-of-range indices.
- Added support for
GENERAL_PROPERTY. - Implemented common logic for scaling during the write procedure.
- GLTF:
- Added vertex and edge support.
- Improved material handling, including fixing material color space and edge colors.
- Enhanced import/export functionality.
- Added metadata support.
- Implemented
XCAFDocfilter tree functionality. - Improved handling of IGES imports, including fixing a resource leak when parsing an invalid file and addressing a crash with degenerated BSplines.
- Moved
StepData_ConfParametersto theDESTEPpackage. - Reorganized DE Wrapper classes to have a single style and logic:
DE<FORMAT>_Parameters,DE<FORMAT>_Provider, andDE<FORMAT>_ConfigurationNode.
Testing
- Implemented comprehensive GitHub Actions workflows for build validation (Ubuntu, Windows, MacOS), code formatting, and documentation building.
- Added automated documentation building.
- Enhanced test result comparison systems.
- Improved cross-platform testing support.
- Added WebAssembly build validation.
- Added a new TCL command to clear the test folder of skipped tests.
Documentation
- Updated code documentation and fixed various typos.
- Enhanced API documentation.
- Improved contributing guidelines.
- Updated issue templates and release notes.
- Updated links in the README.
How to Upgrade
For details on upgrading to the new version check Upgrade 790
Windows packages and 3rd-party
The release delivers x64 and x32 binaries in both Release and Debug configurations and third-party libraries, check GitHub Release
Full Changelog: V7_8_0...V7_9_0
V7_9_0_beta2
Release Information
- Release Date (Stable): February 17, 2025
- Version: 7.9.0.beta2
- Git Tag: V7_9_0_beta2
The Beta1 release: https://github.com/Open-Cascade-SAS/OCCT/releases/tag/V7_9_0_beta1
New changes:
- Fixed issue with documentation version extraction
- Fixes crash in RWMesh interface when using old interface of parsing
- Added material export for GLTF Edge
- Fixed issue with ignore
write.schemafor STEP export - Fixed build with WASM 3.x
- Fixed color space with GLTF Import result
- Added sample build on GH Actions (each PR)
- Fixed exporting for incorrect elements(not free vertexes or edges) for GLTF
- Fixed issue with ignore
write.unitsfor STEP export - Fixed not-stable behavior with Product metadata STEP import
Installation
- Use Git tag
V7_9_0_beta2 - Windows installer available with VS 2022 binaries
- Complete source archive available
Coming Soon
- Detailed release content documentation
- Documentation update
- Development update guide
OCCT3D Development Team
Full Changelog: V7_9_0_beta1...V7_9_0_beta2
V7_9_0_beta1
Release Information
- Release Date (Stable): February 17, 2025
- Version: 7.9.0.beta1
- Git Tag: V7_9_0_beta1
Overview
This beta release includes over 230 improvements across various components. The master branch is now in code freeze, with only critical issues being integrated for stability validation.
During that period - we will focused on issue related to migration and possible hidden regression to offer more stable release.
New Maintenance Workflow
Stable Releases (Quarterly)
- Backward-compatible
- Windows ready-to-use binary delivery
- Example versions: 7.9.1, 7.9.2, 7.9.3
Development Releases (5-week cycle)
- No API compatibility guarantee
- Windows ready-to-use binary delivery
- Latest features and bug fixes
- Example versions: 8.0.0.dev1, 8.0.0.dev2, 8.0.0.dev3
Critical Updates
Data Exchange
- Thread-safety improvements
- Multiple crash and schema processing fixes
- Metadata import support
- glTF metadata import/export
- glTF edge/vertex import/export
Modeling Algorithms
- Disabled exception with scaling transformation
- Fixed degenerated curves in offset operations
- Corrected intersection curves handling
- Resolved BRepOffset_Tool segmentation fault
- Fixed sphere cutting and Boolean operations
Foundation Classes
- Fixed memory leaks in locale conversion
- Corrected BVH surface area calculations
- Fixed AsciiString RemoveAll functionality
- Reorganized RTTI and optimization
Configuration (CMake)
- Removed Genproj
- Fixed static linking failures
- Implemented new PCH for 4x compilation speed
- Added MinGW default third-party package support
- Added VCPKG beta support
Visualization
- Fixed selection for simple shapes
- Resolved manipulator interaction issues
- Fixed transform persistence and view transformation
- Addressed transparency and rendering issues
General Improvements
- Global code formatting with clang-format 18.1.8
- Global static analysis results improvements
- Migrated to GitHub with full testing integration
- Deprecated Handle_* type usage (preparing for 8.0)
- Improved constexpr usage and compile-time optimizations
- Git hash info in development versioning
- Improvements in compiler flags optimizations
Installation
- Use Git tag
V7_9_0_beta1 - Windows installer available with VS 2022 binaries
- Complete source archive available
Beta Testing
Please check your reported issues marked as "Verified" and report any regressions immediately.
Coming Soon
- Detailed release content documentation
- Documentation update
- Development update guide
OCCT3D Development Team
Full Changelog: V7_8_0...V7_9_0_beta1
V7_8_1
Open Cascade is pleased to announce that the next Open CASCADE Technology (OCCT) maintenance release (version 7.8.1) is prepared. The sources of Open CASCADE Technology 7.8.1 are available under the V7_8_1 tag in the OCCT repository.
This maintenance release addresses a critical issue regarding backward binary compatibility with version 7.8.0. For users encountering this issue, it's essential to update to version 7.8.1 to ensure seamless integration and operation.
Additionally, please note that the develop branch contains implementations of new functionality and high-level changes. While these enhancements offer exciting features, they cannot be incorporated into binary updates. We encourage users to explore these advancements in the develop branch for future releases.This maintenance release fixes the following problems:
- 0033656: Foundation Classes - Standard_Type crash during unloading static lib
- 0033560: Modeling Algorithms - Raising exception SIGFPE Arithmetic Exception
- 0033410: Data Exchange, Step Import - TRIANGULATED_FACE from STEP where there are no pnval entries
- 0033367: Modeling Algorithms - Normal projection or BOP problem [Regression]
- 0031601: Modeling Algorithms - BRepOffset_Tool Segmentation Fault
- 0033638: Data Exchange, Step Import - Style for tessellated object missed
- 0033631: Data Exchange, Step import - Crash by reading STEP file
- 0033603: Data Exchange, Step Import - Crash reading corrupted STEP file
- 0033602: Data Exchange, Step - Carriage return removing
- 0033596: Documentation - Incorrect default value read.step.tessellated
- 0025415: Data Exchange - Invalid result of loading a STEP file
- 0033383: Modeling Algorithms - Wire/Face creation problem
- 0033261: Data Exchange, Step Import - Empty shape after reading process
- 0033569: Data Exchange, STEP - Crash when reading multi-body file
- 0025188: Data Exchange, Step Export - Losing shapes after import
- 0032980: Data Exchange - STEP import produce a crash
- 0033567: Modeling Data - GeomLib_IsPlanarSurface raises exception SIGFPE Arithmetic Exception in Release mode
Publication date: April 1, 2024.
We appreciate the community's continued support and feedback, which contributes to the ongoing improvement of OCCT. Stay tuned for further updates and enhancements.
Best regards,
OCCT3D team
Full Changelog: V7_8_0...V7_8_1