Integration
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.
Changes and improvements
- Second experimental version of the DartIntegration library —
DartIntegration::DartObject
andDartIntegration::DartSkeleton
got replaced with DartIntegration::Object and DartIntegration:: World, which is now able to track updates to all shapes and propagate that to the user. See mosra/ magnum-integration#29, mosra/ magnum-integration#30.
Build system
- Homebrew macOS packages were updated to install the stable version by default
- Fixed the Debian package after introducing
SOVERSION
to all libraries (see mosra/magnum#237) - Fixed the Debian package to not include a revision. While just a warning on Ubuntu, it's a hard error on Debian. (See mosra/
corrade#44.)
2018.02
Released 2018-02-15, tagged as v2018.02. See the release announcement for a high-level overview.
Dependency changes
- Completely removed NaCl support (see https:/
/ blog.chromium.org/ 2017/ 05/ goodbye-pnacl-hello-webassembly.html) - Dropped support for the old MinGW32 (only MinGW-w64 is supported now)
- Bumped minimal CMake version to 2.8.12
- Removed support for macOS 10.8 and older
- Dropped the
compatibility
branch and all support for MSVC 2013 and GCC < 4.7
New features
- MSVC 2015 and MSVC 2017 support in
master
branch - ANGLE ES2/ES3 support, ability to create desktop GLES contexts on Windows
- Windows Phone/Store support via ANGLE
- iOS support
- WebAssembly support when building for Emscripten
- WebGL 2.0 support
- New experimental DartIntegration library, integrating DART Dynamic Animation and Robotics Toolkit (see mosra/
magnum-integration#28) - New OvrIntegration library, integrating Oculus SDK (see mosra/
magnum-integration#3, mosra/ magnum-integration#4, mosra/ magnum-integration#5, mosra/ magnum-integration#6, mosra/ magnum-integration#7, mosra/ magnum-integration#8, mosra/ magnum-integration#9, mosra/ magnum-integration#10, mosra/ magnum-integration#12, mosra/ magnum-integration#13, mosra/ magnum-integration#15, mosra/ magnum-integration#17) - New BulletIntegration::
DebugDraw class for simple and easy physics debugging (see mosra/ magnum-integration#11, mosra/ magnum-integration#21)
Changes and improvements
- Extended math type conversion in BulletIntegration, improved tests for BulletIntegration::
MotionState (see mosra/ magnum-integration#22) - Fixed linker errors when using BulletIntegration compiled as DLL on Windows
- Various code modernization improvements (see mosra/
magnum-integration#25)
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
- Support for CMake subprojects. You can now clone Magnum Plugins into a subdirectory in your project and add it using
add_subdirectory()
. Thefind_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 Integration library 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
MACOSX_RPATH
is now enabled by default on CMake 3.0+FindMagnumIntegration.cmake
now properly handles Bullet installations with both debug and release libraries (see mosra/magnum-integration#14) - Fixed static BulletIntegration libraries being treated as dynamic (see mosra/
magnum-integration#16) - Enabling only C++ in CMake
project()
call, if possible, to speed up initial CMake run
Bug fixes
- Properly respecting the
BUILD_STATIC
CMake option when building and avoiding treatment of static libraries as dynamic on Windows - Various compilation fixes (see mosra/
magnum-integration#23, mosra/ magnum-integration#24, mosra/ magnum-integration#27)
Deprecated APIs
- BulletIntegration::
DebugDraw:: Mode enum and BulletIntegration:: DebugDraw:: Modes enum set are deprecated, use BulletIntegration::DebugDraw::DebugMode
andBulletIntegration::DebugDraw::DebugModes
instead
Potential compatibility breakages, removed APIs
No APIs were removed since last release.
Documentation
- New documentation theme powered by m.css and related massive updates of everything
- The Downloading and building integration libraries 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.
Build system
- CMake now always installs
FindMagnumIntegration.cmake
to library-specific location, making it usable without providing own copy of the file in depending projects. TheWITH_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).
- Gentoo ebuild (see mosra/
magnum-integration#2)
Deprecated APIs
No API was deprecated in this release.
Potential compatibility breakages, removed APIs
All functionality deprecated in 2014.01 has been removed, namely removed deprecated ability to use relative includes (e.g. #include <BulletIntegration/Integration.h>
), use absolute paths (#include <Magnum/BulletIntegration/Integration.h>
) instead.
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.
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.
Deprecated APIs
No API was deprecated in this release.
Potential compatibility breakages, removed APIs
No deprecated API was removed in this release.
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
- Initial documentation
- All classes in documentation are now shown with corresponding
#include
path
Deprecated APIs
No API was deprecated in this release.
Potential compatibility breakages, removed APIs
No deprecated API was removed in this release.
Internal changes
- All files from
src/
directory were moved tosrc/Magnum
(required to make inter-project includes absolute)
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.
Changes
- Documentation updates and improvements to make the library more accessible for newcomers
- Various build system updates for better compile times and easier installation
Deprecated APIs
No API was deprecated in this release.
Potential compatibility breakages, removed APIs
No deprecated API was removed in this release.
2013.08
Released 2013-08-30, tagged as v2013.08. See the project announcement for a high-level overview.