Skip to content

3.1.0

Compare
Choose a tag to compare
@asmaloney asmaloney released this 20 Nov 14:05
· 44 commits to master since this release

This release includes fixes to standards conformance related to compressed vectors with zero points and a few compilation-related fixes.

Added

  • {cmake} New option E57_RELEASE_LTO controls whether link-time optimization is on for release builds. It defaults to ON. (#254)

    CMake forces "thin" LTO (see this issue) which is a problem if compiling statically for distribution (e.g. in a package manager). Generally you will only want to turn this off for distributing static release builds.

Changed

  • Trying to read a Data3D with zero records which has an ill-formed header will now throw an ErrorData3DReadInvalidZeroRecords exception instead of ErrorInternal. (#264)

    Note that previous versions of this library (and E57RefImpl itself) could write these headers incorrectly. This was also fixed in this release (see below).

  • {cmake} Remove E57_VISIBILITY_HIDDEN option. (#259)

    I cannot get extern templates to work across all of gcc, clang, apple clang, and MSVC when using "hidden" visibility with shared libraries.

Fixed

  • Fix #include to avoid MSVC compilation error with Visual Studio 2017 (#268) (Thanks Thomas!)
  • {standard conformance} A compressed vector with 0 records must still write a data packet. (#266)
  • {standard conformance} Fix reading a compressed vector with 0 points which has an empty data packet. (#267)
  • {standard conformance} Compressed vectors with an invalid section ID now throw an ErrorBadCVPacket exception if E57_VALIDATION_LEVEL > 0. (#265)
  • Fix clang warnings about implicit conversions in SourceDestBufferImpl.cpp. Apple's clang doesn't warn about these, but it looks like the official clang releases do. (#257) (Thanks Martin!)

New Contributors

Full Changelog: v3.0.2...v3.1.0