- Minimal supported CMake version is now 3.5, changed from 3.4, since CMake 3.27+ warns if a compatibility with CMake below 3.5 is requested. Older versions are not supported anymore and all workarounds for them were removed. This is a conservative change, as there are no known supported distributions which would have anything older than 3.5.
- BulletIntegration now supports Bullet compiled for double precision as well
- Made it possible to override and call BulletIntegration::
MotionState:: getWorldTransform() / BulletIntegration:: MotionState:: setWorldTransform() from user code
- Implemented conversion for Math::
Range in EigenIntegration
- It's now possible to supply additional ImGui user configuration by defining the
MAGNUM_IMGUIINTEGRATION_USER_CONFIGmacro. See the ImGuiIntegration namespace documentation for an example, see also mosra/
- Support for Platform::
*Application:: Cursor:: No in ImGuiIntegration:: Context (see mosra/ magnum-integration#92)
Context now supports the
VtxOffsetintroduced in 1.71, allowing to draw complex UIs that need more than 65k vertices (see mosra/
magnum-integration#82 and mosra/ magnum-integration#90)
Context now supports the new ImGui IO API introduced in 1.87, falling back to the previous behavior for older versions (see mosra/ magnum-integration#87, mosra/ magnum-integration#91 and mosra/ magnum-integration#93)
- Added support for draw list user callbacks to ImGuiIntegration (see mosra/
magnum-integration#83, mosra/ magnum-integration#84 and mosra/ magnum-integration#98)
- Fixed ImGuiIntegration to work with the upcoming ImGui 1.89 and
IMGUI_DISABLE_OBSOLETE_FUNCTIONSset (see mosra/
- The oldest supported Clang version is now 6.0 (available on Ubuntu 18.04), or equivalently Apple Clang 10.0 (Xcode 10). Oldest supported GCC version is still 4.8.
FindImGui.cmaketo optionally include the new
imgui_tables.cppsource present in latest versions (see mosra/
magnum-integration#78, mosra/ magnum-integration#81)
FindImGui.cmaketo link to
imm32on MinGW, which is needed since ImGui 1.82.
- Travis banned everyone from using their CI and so all Linux, macOS, Emscripten, Android and iOS builds were migrated from Travis to Circle CI, together with adding also an explicit ARM64 build and an ability to test GLES and Vulkan functionality on Android. See also mosra/
magnum#350 and mosra/ magnum#523.
FindBullet.cmakenow attemps to discover presence of the
BT_USE_DOUBLE_PRECISIONpreprocessor macro on both system-wide and subproject workflow and adds it to the imported target to prevent linker errors
- The Homebrew package now uses
std_cmake_argsinstead of hardcoded build type and install prefix, which resolves certain build issues (see mosra/
- It's now possible to use
<PackageName>_ROOTto point to install locations of dependencies such as Corrade on CMake 3.12+, in addition to putting them all together inside
CMAKE_PREFIX_PATH. See also mosra/
- On CMake 3.16 and newer,
FindMagnumIntegration.cmakecan provide additional details if some component is not found
- Updated Debian build instructions to pass
dpkg-buildpackage, avoiding a confusing error message that might lead people to think the packaging failed (see mosra/
- Fixed wrong
.gitattributesoption for LF line endings in MSYS PKGBUILDs (see mosra/
- It's now possible to build dynamic libraries on Android and Emscripten with the usual options. Static libraries are still a default but it isn't enforced anymore. See mosra/
Released 2020-06-27, tagged as v2020.06.
- New ImGuiIntegration::
Context:: updateApplicationCursor() allowing ImGui to update application cursor using the new *Application:: setCursor() APIs (see mosra/ magnum-integration#56, mosra/ magnum-integration#71 and mosra/ magnum-integration#72)
- Simplified DartIntegration internals using EigenIntegration, ignoring NaN values sometimes coming from DART (see mosra/
Context:: drawFrame() now resets scissor rectangle back to the full framebuffer to avoid nasty surprises when scissor test is not disabled again right after (see mosra/ magnum-examples#68)
Context:: handleKeyPressEvent() now treats Platform:: *Application:: KeyEvent:: Key:: NumEnter the same way as Key:: Enter
- Exposing font atlas texture via ImGuiIntegration::
Context:: atlasTexture() (see mosra/ magnum-integration#60, mosra/ magnum-integration#61, mosra/ magnum-integration#62 and mosra/ magnum-integration#63)
- Avoid using obsolete ImGui APIs in tests (see mosra/
- Library version is now exposed through
MAGNUMINTEGRATION_VERSION_STRINGpreprocessor defines in a new
Magnum/versionIntegration.hheader. This header is not included by any other header to avoid trigerring a full rebuild when Git commit changes. If Git is not found, only the first two defines are present.
- ImGuiIntegration now uses Magnum's own
Shaders::Flat2Dinstead of a custom shader, which finally makes it work on GLES2 and WebGL 1
- Various fixes and clarifications (see mosra/
Released 2019-10-24, tagged as v2019.10.
- Minimal supported CMake version is now 3.4. 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). This is a conservative change that shouldn't affect any additional distribution compared to the CMake 3.1 requirement in 2019.01.
- MSVC 2019 compatibility, following other Magnum projects
- When using Magnum as a CMake subproject, it now puts all binaries into a common directory to simplify
PATHhandling and dynamic plugin loading. For more information see Using Magnum Integration as a CMake subproject, mosra/
magnum#357 and mosra/ magnum-plugins#63.
- New EigenIntegration library, providing conversion of math types from and to Eigen APIs (see mosra/
- New ImGuiIntegration::
imageButton() widget for drawing an image button out of GL:: Texture2D (see mosra/ magnum-integration#38)
Context:: handleKey*Event() now handles the Space key as well (see mosra/ magnum-integration#44)
Context:: handleMousePressEvent() and ImGuiIntegration:: Context:: handleMouseReleaseEvent() are fixed to avoid ignoring mouse clicks if both press and release happens in the same frame
- Assorted DartIntegration updates (see mosra/
World can now work with an external plugin manager instance
Context:: relayout() now rebuilds the glyph cache also when fonts change, not just on pixel density change (see mosra/ magnum-integration#51)
- Added Super key (Windows/⌘) handling to ImGuiIntegration::
package/msysdirectory now contains
PKGBUILDs for MSYS2. See MSYS2 packages for more information. See also mosra/
magnum-integration#39 and mosra/ magnum#317.
- If both a CMake-based ImGui installation is found and
IMGUI_DIRis set when building,
FindImGui.cmakeprefers the location given by
- ES 2.0 and ES 3.0 subset of tests requiring GL context is now run on Travis CI using SwiftShader for better code coverage (see mosra/
- Updated Homebrew package to build also the DartIntegration, since the
dartsimdependency is usable now (see mosra/
- Emscripten builds now have the
-fPICoption disabled by default as it causes linker errors related to
__memory_baseon 1.38.36 (see also emscripten-core/
- Explicitly mention that ImGuiIntegration is not available in Homebrew packages due to a missing dependency (see mosra/
FindImGui.cmaketo explicitly link to the
ApplicationServicesframework on macOS, since that's needed for ImGui 1.71 clipboard handling (see mosra/
- BulletIntegration can now use Bullet from Emscripten Ports instead of looking for a prebuilt version elsewhere when the
MAGNUM_USE_EMSCRIPTEN_PORTS_BULLETCMake option is enabled. See Using dependencies from Emscripten Ports and mosra/
- The ImGuiIntegration::
image() widget was flipping the texture vertically (see mosra/ magnum-integration#38)
convertShapeNode() was orienting cylinders and capsules improperly (see mosra/ magnum-integration#47)
- Headers in the ImGuiIntegration library had messed up include guards (see mosra/
BulletIntegration::convertShape()as it was depending on the now-removed
Shapeslibrary, deprecated since 2018.10
Released 2019-02-04, tagged as v2019.01.
- 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/
- 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/OvrIntegration/Conversion.hheader name was not consistent with other libraries and thus is deprecated, use Magnum/
OvrIntegration/ Integration.h instead
MAGNUM_*INTEGRATION_INCLUDE_DIRSCMake variables, which were deprecated in favor of
MagnumIntegration::*imported targets in February 2016.
Released 2018-10-23, tagged as v2018.10.
- Updated the OvrIntegration library to work with OVR SDK 1.17 and newer and adapted it to work with latest changes in the GL library (see mosra/
magnum-integration#26 and mosra/ magnum-integration#32)
- It's now possible to construct BulletIntegration::
DebugDraw without an active GL context using the NoCreate tag
setDebugMode()are deprecated, use BulletIntegration::
DebugDraw:: Mode, Modes, mode() and setMode() instead. The Mode and Modes enums were deprecated by mistake in 2018.02, now they are reverted back to non-deprecated state.
BulletIntegration::DebugDraw::Mode::FastWireframhas a typo and is deprecated, use BulletIntegration::
DebugDraw:: Mode:: FastWireframe instead
Changelogs for previous versions are available in Archived integration changelogs.