Changelog » Plugins

Changes since 2019.01

Changes and improvements

Build system

  • MSYS2 packages are now in official repositories, installable directly via pacman
  • The JpegImageConverter plugin was mistakenly using the JPEG_INCLUDE_DIRS CMake variable which was not present on versions before 3.12. The JpegImporter plugin is not affected by this. See also mosra/magnum-plugins#51.
  • Upgraded TinyGltfImporter to use json.hpp 3.3.0, fixing a compile error on some Clang versions (see mosra/magnum-plugins#54)
  • Fixed FindMagnumPlugins.cmake to behave correctly when both a debug and a release version of libjpeg is found
  • Fixed FindMagnumPlugins.cmake to correctly handle the AssimpImporter, and JpegImageConverter components
  • FindMagnumPlugins.cmake now correctly finds debug versions of statically built plugins when using Vcpkg
  • FindAssimp.cmake now can optionally link to the IrrXML library (needed for static builds on Vcpkg)

Bug fixes

  • AssimpImporter was returning a random value for material shininess with STL models, now it correctly returns 0.0f when the shininess value is not present.
  • StbImageImporter was not correctly handling image import failures, randomly hitting unreachable code assertions
  • Fixed DevIlImageImporter BGR(A)-to-RGB(A) conversion to not return random memory
  • PngImporter now handles too short files gracefully instead of aborting on an assertion
  • PngImporter now handles paletted images and images with tRNS alpha mask correctly
  • Fixed memory leaks in PngImporter error handling
  • Fixed FindMagnumPlugins.cmake to correctly look for the Assimp package

Potential compatibility breakages, removed APIs

  • Removed the ColladaImporter plugin, deprecated since 2018.10, because it was based on an outdated toolkit and, due to the complexity of the COLLADA format and poor conformance of various exporters, it was not feasible to maintain a builtin importer anymore.

2019.01

Released 2019-02-04, tagged as v2019.01.

Dependency changes

  • Minimal supported GCC version is now 4.8.1, GCC 4.7 is not supported anymore. Minimal Clang version is now 3.3, since that's the first version with a complete C++11 support. See also mosra/magnum#274.
  • Minimal supported CMake version is now 3.1. Older versions are not supported anymore and all workarounds for them were removed. Download a prebuilt release of a newer version if you need to use Corrade on older systems (such as Ubuntu 14.04 or Debian 8). See also mosra/magnum#274.

New features

Changes and improvements

  • Fixed compatibility of the OpenDdl library with Emscripten 1.38.10 and newer, which defines std::size_t as unsigned long instead of unsigned int used previously (it's still a four-byte type, though)

Build system

Potential compatibility breakages, removed APIs

  • Removed MAGNUMPLUGINS_*_LIBRARIES and MAGNUMPLUGINS_*_INCLUDE_DIRS CMake variables, which were deprecated in favor of MagnumPlugins::* imported targets in February 2016.

2018.10

Released 2018-10-23, tagged as v2018.10.

New features

Changes and improvements

Build system

Bug fixes

Deprecated APIs

  • ColladaImporter is deprecated because it's based on an outdated toolkit. Moreover, due to the complexity of the COLLADA format and poor conformance of various exporters it's not feasible to maintain a builtin importer anymore and thus this plugin is scheduled for removal in a future release. Please consider either using AssimpImporter for COLLADA import or switching to simpler and better supported formats such as glTF or OpenGEX using TinyGltfImporter or OpenGexImporter. There's also the official COLLADA2GLTF converter.

2018.04

Released 2018-05-01, tagged as v2018.04.

Dependency changes

  • Building for Android now requires CMake 3.7 with builtin Android crosscompilation support, the old toolchains were removed. Only the Clang and libc++ toolchain is now supported, support for GCC and libstdc++ was dropped, as it was still missing some important C++11 functionality. See Crosscompiling for Android for more information.

New features

Changes and improvements

Build system

Bug fixes

Deprecated APIs

  • OpenDdl headers in MagnumPlugins/OpenGexImporter/OpenDdl are deprecated, include them from the Magnum/OpenDdl directory instead.

Potential compatibility breakages

2018.02

Released 2018-02-15, tagged as v2018.02. See the release announcement for a high-level overview.

Dependency changes

New features

Changes and improvements

Build system

  • Continuous testing for Linux, macOS, Windows MSVC, Windows MinGW, Windows RT, iOS, Android and Emscripten on Travis CI and AppVeyor CI, with code coverage on codecov.io; replacing the unmaintained and outdated Jenkins configuration (see mosra/magnum-plugins#15)
  • Support for CMake subprojects. You can now clone Magnum Plugins into a subdirectory in your project and add it using add_subdirectory(). The find_package() command will then use the CMake subproject instead of looking for it in system-wide locations.
  • Reworked CMake buildsystem to use the new imported target workflow, see Plugin usage with CMake for more information
  • CMake targets are now organized in folders for better development experience in IDEs such as Visual Studio or Xcode
  • Added a Homebrew package
  • Ability to build OpenGL tests also on Windows and macOS (see BUILD_GL_TESTS CMake option)
  • MACOSX_RPATH is now enabled by default on CMake 3.0+
  • Enabling only C++ in CMake project() call, if possible, to speed up initial CMake run
  • Removed our copy of FindFreetype.cmake which attempted to link to all dependencies of FreeType if it discovered that it's built as static. But it got out of sync with upstream and the detection was broken on MSVC. See mosra/magnum-plugins#13, mosra/magnum-plugins#36.
  • Fixed discovery of audio importer plugins from FindMagnumPlugins.cmake (see mosra/magnum-plugins#10)
  • Unconditionally exporting symbols of all plugins to make them usable as dependencies
  • FindMagnumPlugins.cmake now correctly handles cases where both debug and release libraries of libPNG or FreeType are available
  • Updated the Debian package to depend on current version of libPNG (see mosra/magnum-plugins#38)
  • Various fixes to FindMagnumPlugins.cmake (see mosra/magnum-plugins#11)

Bug fixes

Potential compatibility breakages

Documentation

  • New documentation theme powered by m.css and related massive updates of everything
  • The Downloading and building examples documentation now prefers package installation instead of manual build

Changelogs for previous versions are available in Archived plugin changelogs.