October 2013 updates to Magnum
Summary of changes during the first two months after public release. Two new ports, usability improvements, OpenGL limit queries and introduction of API deprecation.
The version 2013.10 is available under the v2013.10
tag in
Corrade, Magnum,
Magnum Plugins and
Magnum Integration GitHub
repositories. This article will describe the most important changes, for
detailed list follow the changelog links at the end of this announcement.
API deprecation and backwards compatibility
Because the library is constantly evolving, some APIs will be replaced with faster, safer or more intuitive versions from time to time. The old API is then marked as deprecated and scheduled for removal in some future release. The libraries are source compatible, but not binary compatible, as full binary compatibility might impose unwanted performance issues, which is usually not wanted for high-performance graphics frameworks.
Both Corrade and Magnum libraries are by default built with deprecated APIs
included. However, to make your code future-proof and more robust, you should
disable building of deprecated APIs by disabling BUILD_DEPRECATED
CMake
option. Information about whether given library is built with deprecated APIs
or not is exposed via CORRADE_BUILD_DEPRECATED or
MAGNUM_BUILD_DEPRECATED CMake variable and also preprocessor definition.
Please note that the deprecated APIs will be periodically removed after some
time (on which I have yet to decide, but the deprecation period will be not
shorter than six months).
The documentation now also contains list of deprecated APIs in both Corrade and Magnum, information about whether CORRADE_BUILD_DEPRECATED and MAGNUM_BUILD_DEPRECATED is enabled or not is now also printed in magnum-info.
Complete changelog
You can find a detailed list of changes in version 2013.10 in the documentation: