OCCT 7.0.0 Release Candidate

Forums: 

Hello,

We are pleased to announce that beta testing campaign of OCCT 7.0 has finished, and OCCT 7.0.0 Release Candidate is available.
This time beta testing was especially fruitful: we have got several dozens inputs from the community, which helped to improve OCCT for this release.

The most essential changes since beta version are:

  • Upgrade procedures and code have been improved to facilitate transition from OCCT 6.x. Note appearance of option to make OCCT handles safer (see OCCT_HANDLE_NOCAST).
  • A few regressions have been spotted and eliminated.
  • Several performance bottlenecks have been identified and resolved.
  • Limited support of old persistence formats (read-only) is restored, to ensure compatibility of OCAF data.
  • Build procedures are made more flexible; OCCT has been tested to build with NMake and Mingw-w64.
  • Documentation is actualized.

See updated Release Notes for more details.

The current version of OCCT is called Release Candidate as we still have to verify it by testing on several projects. No further changes in the code are actually planned (unless some new regression is detected), however minor updates of documentation and build procedures are expected.

To get OCCT 7.0.0.rc, you can download a complete source archive or use a Windows installer including ready-to-use binaries built with VS 2010 or VS 2013.
You can also use commit tagged "V7_0_0rc" in the Git repository.

Please feel free to provide your feedback.
Andrey

Roman Lygin's picture

Hi Andrey,

Congratulations on rolling out the release candidate and thanks for being open to feedback for the last few months.
Releasing the alpha version a few months ahead of the production release has has been prudent and gave good lead time to experiment and share feedback. Early migration guidelines and the tool were especially helpful. Same for earlier release notes which used to accompany only the production releases in the past, what created some information gap during Betas.

As already mentioned, we found replacing the handle system too dramatic and source compatibility breaking. After several weeks of attempts and failures we are now gradually moving off the handles in our code in favor of boost::intrusive_ptr (which interoperates nicely with handles).
Dropping CDL was a good overdue thing so glad this happened at last. Same for cmake.

We are sensitive to changes in visualization. Some issues (like #27188/#26940) were nice to discover working out of the box. Some now prevent what we could do in the past (like more direct access to elements of the 3D view for custom rendering), so we are investigating work-arounds.

We were initially concerned about several performance drops during Beta updates (apparently due to #24682 and alike, i.e. B-Splines cache moves). This change can still potentially provoke some performance drops in the algorithms based on intensive use of curves (not adaptors) but we seem to be able to navigate through this.

Overall this was the most time-consuming migration ever. But I am cautiously optimistic this will be a good foundation for further improvements.

Thank you and all the team for hard work. Keep it up!
Roman