Archived changelogs » Plugins

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 Cross-compiling 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

2015.05

Released 2015-05-09, tagged as v2015.05. See the release announcement for a high-level overview.

New features

Potential compatibility breakages, removed APIs

  • All functionality deprecated in 2014.01 snapshot has been removed, namely removed deprecated ability to use relative includes (e.g. #include <PngImporter/PngImporter.h>), use absolute paths (#include <MagnumPlugins/PngImporter/PngImporter.h>) instead.

Build system

  • CMake now always installs FindMagnumPlugins.cmake to library-specific location, making it usable without providing own copy of the file in depending projects. The WITH_FIND_MODULE option is no longer needed.
  • Displaying all header files, plugin metadata files and resource files in project view to make use of some IDEs less painful (such as QtCreator).
  • FindMagnumPlugins.cmake was not really working (see mosra/magnum-plugins#4)
  • Workaround to find proper FreeType when Mono is installed on macOS (see mosra/magnum-plugins#6)
  • Gentoo ebuild (see mosra/magnum-plugins#5).

2014.06

Released 2014-06-30, tagged as v2014.06. See the release announcement for a high-level overview.

Dependency changes

  • Minimal required GCC version is now 4.7. Support for GCC 4.6 has been moved to the compatibility branch.

Changes

  • Libraries and plugins in debug build configuration are installed to different locations, making it possible to have debug and release libraries installed alongside each other.

2014.01

Released 2014-01-21, tagged as v2014.01. See the release announcement for a high-level overview.

Dependency changes

No dependency changes in this release.

New features

  • All classes in documentation are now shown with corresponding #include path

Changes

Bug fixes

Internal changes

  • Using Jenkins Continuous Integration to maintain compilable and bug-free state of the project more easily. Currently GCC 4.8, 4.7, 4.6, 4.5, 4.4, Clang 3.3, Clang 3.3 with libc++, Emscripten, x86-32/x86-64 Native Client and MinGW32 compilers are tested with both shared and static libraries. Separately testing builds with deprecated features enabled and disabled. Also explicitly testing desktop OpenGL, OpenGL ES 2.0, desktop OpenGL ES 2.0 emulation, OpenGL ES 3.0 and desktop OpenGL ES 3.0 emulation.
  • All files from src/ directory were moved to src/MagnumPlugins (required to make inter-project includes absolute, as mentioned above)

2013.10

Released 2013-10-30, tagged as v2013.10. See the release announcement for a high-level overview.

Dependency changes

No dependency changes in this release.

New features

Changes

  • Reworked ColladaImporter internals to avoid double deletions
  • Documentation updates and improvements to make the library more accessible for newcomers
  • Various build system updates for better compile times and easier installation

Bug fixes

  • Fixed compilation of plugins using std::u32string on MinGW
  • Fixed linker errors on MinGW

2013.08

Released 2013-08-30, tagged as v2013.08. See the project announcement for a high-level overview.