---------------------------------------------------------------------- CHANGELOG ---------------------------------------------------------------------- 4.0.1 (2017-07-28) - FIXES/HOUSEKEEPING: - fix version test. - Not compiling when using ASSIMP_DOUBLE_PRECISION - Added support for python3 - Check if cmake is installed with brew - Low performance in OptimizeMeshesProcess::ProcessNode with huge numbers of meshes - Elapsed seconds not shown correctly - StreamReader: fix out-of-range exception - PPdPmdParser: fix compilation for clang 4.0.0 (2017-07-18) FEATURES: - Double precision support provided ( available via cmake option ) - QT-Widget based assimp-viewer ( works for windows, linux, osx ) - Open3DGC codec supported by glFT-importer - glTF: Read and write transparency values - Add Triangulate post-processing step to glTF exporters - Update rapidjson to v1.0.2 - Added method to append new metadata to structure - Unittests: intoduce a prototype model differ - X3D support - AMF support - Lugdunum3D support - Obj-Importer: obj-homogeneous_coords support - Obj-Importer: new streaming handling - Added support for 64 bit version header introduced in FbxSdk2016 - Travis: enable coverall support. - PyAssimp: New version of the pyASSIMP 3D viewer, with much improved 3D controls - Morph animation support for collada - Added support for parameters Ni and Tf in OBJ/MTL file format - aiScene: add method to add children - Added new option to IFC importer to control tessellation angle + removed unused IFC option - aiMetaData: introduce aiMetaData::Dealloc - Samples: add a DX11 example - travis ci: test on OXS ( XCode 6.3 ) as well - travis ci: enable sudo support. - openddlparser: integrate release v0.4.0 - aiMetaData: Added support for metadata in assbin format FIXES/HOUSEKEEPING: - Introduce usage of #pragma statement - Put cmake-scripts into their own folder - Fix install pathes ( issue 938 ) - Fix object_compare in blender importer( issue 946 ) - Fix OSX compilation error - Fix unzip path when no other version was found ( issue 967 ) - Set _FILE_OFFSET_BITS=64 for 32-bit linux ( issue 975 ) - Fix constructor for radjson on OSX - Use Assimp namespace to fix build for big-endian architectures - Add -fPIC to C Flags for 64bit linux Shared Object builds - MDLLoader: fix resource leak. - MakeVerboseFormat: fix invalid delete statement - IFC: fix possible use after free access bug - ComputeUVMappingprocess: add missing initialization for scalar value - Fix invalid release of mat + mesh - IrrImporter: Fix release functions - Split mesh before exporting gltf ( issue 995 ) - 3MFImporter: add source group for visual studio - IFC: Switch generated file to 2 files to fix issue related to and ( issue 1084 ) - OBJParser: set material index when changing current material - OBJ: check for null mesh before updating material index - add vertex color export support ( issue 809 ) - Fix memory leak in Collada importer ( issue 1169 ) - add stp to the list of supported extensions for step-files ( issue 1183 ) - fix clang build ( Issue-1169 ) - fix for FreeBSD - Import FindPkgMacros to main CMake Configuration - Extended support for tessellation parameter to more IFC shapes - defensice handling of utf-8 decode issues ( issue 1211 ) - Fixed compiler error on clang 4.0 running on OSX - use test extension for exported test files ( issue 1228 ) - Set UVW index material properties for OBJ files - Fixed no member named 'atop' in global namespace issue for Android NDK compilation - Apply mechanism to decide use for IrrXML external or internal - Fix static init ordering bug in OpenGEX importer - GLTF exporter: ensure animation accessors have same count - GLTF exporter: convert animation time from ticks to seconds - Add support for reading texture coordinates from PLY meshes with properties named 'texture_u' and 'texture_v' - Added TokensForSearch in BlenderLoader to allow CanRead return true for in-memory files. - fix wrong delete ( issue 1266 ) - OpenGEX: fix invalid handling with color4 token ( issue 1262 ) - LWOLoader: fix link in loader description - Fix error when custom CMAKE_C_FLAGS is specified - Fast-atof: log overflow errors - Obj-Importer: do not break when detecting an overflow ( issue 1244 ) - Obj-Importer: fix parsing of multible line data definitions - Fixed bug where IFC models with multiple IFCSite only loaded 1 site instead of the complete model - PLYImporter: - optimize memory and speed on ply importer / change parser to use a file stream - manage texture path in ply import - manage texture coords on faces in ply import - correction on point cloud faces generation - Utf8: integrate new lib ( issue 1158 ) - fixed CMAKE_MODULE_PATH overwriting previous values - OpenGEX: Fixed bug in material color processing ( issue 1271 ) - SceneCombiner: move header for scenecombiner to public folder. - GLTF exporter: ensure buffer view byte offsets are correctly aligned - X3D importer: Added EXPORT and IMPORT to the list of ignored XML tags - X3D Exporter: fixed missing attributes - X3D importer: Fixed import of normals for the single index / normal per vertex case - X3D importer: Fixed handling of inlined files - X3D importer: fixed whitespace handling (issue 1202) - X3D importer: Fixed iterator on MSVC 2015 - X3D importer: Fixed problems with auto, override and regex on older compilers - X3D importer: Fixed missing header file - X3D importer: Fixed path handling - X3D importer: Implemented support for binary X3D files - fix build without 3DS ( issue 1319 ) - pyassimp: Fixed indices for IndexedTriangleFanSet, IndexedTriangleSet and IndexedTriangleStripSet - Fixes parameters to pyassimp.load - Obj-Importe: Fixed texture bug due simultaneously using 'usemtl' and 'usemap' attributes - check if all exporters are disabled ( issue 1320 ) - Remove std functions deprecated by C++11. - X-Importer: make it deal with lines - use correct path for compilers ( issue 1335 ) - Collada: add workaround to deal with polygon with holes - update python readme - Use unique node names when loading Collada files - Fixed many FBX bugs API COMPATIBILITY: - Changed ABI-compatibility to v3.3.1, please rebuild your precompiled libraries ( see issue 1182 ) - VS2010 outdated 3.3.1 (2016-07-08) FIXES/HOUSEKEEPING: - Setup of default precision for 17 exporters - Fix xcode project files - Fix BlenderTesselator: offsetof operator - Invalid version in cmake file - Update pstdint.h to latest greatest 3.3.0 (2016-07-05) FEATURES: - C++11 support enabled - New regression-test-UI - Experimental glTF-importer support - OpenGEX: add support for cameras and lights - C4D: update to latest Melange-SDK - Add a gitter channel - Coverity check enabled - Switch to <...> include brackets for public headers - Enable export by pyAssimp - CI: check windows build - Add functionality to perform a singlepost-processing step - many more, just check the history FIXES/HOUSEKEEPING: - Fix of many resource leaks in unittests and main lib - Fix iOS-buildfor X64 - Choosing zlib manually for cmake - many more, just check the history 3.2.1 (2016-010-10) FEATURES: - Updated glTF exporter to meet 1.0 specification. FIXES/HOUSEKEEPING: - Fixed glTF Validator errors for exported glTF format. ISSUES: - Hard coded sampler setting for - magFilter - minFilter - void* in ExportData for accessor max and min. 3.2.0 (2015-11-03) FEATURES: - OpenDDL-Parser is part of contrib-source. - Experimental OpenGEX-support - CI-check for linux and windows - Coverity check added - New regression testsuite. FIXES/HOUSEKEEPING: - Hundreds of bugfixes in all parts of the library - Unified line endings API COMPATIBILITY: - Removed precompiled header to increase build speed for linux 3.1.1 (2014-06-15) FEATURES: - Support for FBX 2013 and newer, binary and ASCII (this is partly work from Google Summer of Code 2012) - Support for OGRE binary mesh and skeleton format - Updated BLEND support for newer Blender versions - Support for arbitrary meta data, used to hold FBX and DAE metadata - OBJ Export now produces smaller files - Meshes can now have names, this is supported by the major importers - Improved IFC geometry generation - M3 support has been removed FIXES/HOUSEKEEPING: - Hundreds of bugfixes in all parts of the library - CMake is now the primary build system API COMPATIBILITY: - 3.1.1 is not binary compatible to 3.0 due to aiNode::mMetaData and aiMesh::mName - Export interface has been cleaned up and unified - Other than that no relevant changes 3.0 (2012-07-07) FEATURES: - new export interface similar to the import API. - Supported export formats: Collada, OBJ, PLY and STL - added new import formats: XGL/ZGL, M3 (experimental) - new postprocessing steps: Debone - vastly improved IFC (Industry Foundation Classes) support - introduced API to query importer meta information (such as supported format versions, full name, maintainer info). - reworked Ogre XML import - C-API now supports per-import properties FIXES/HOUSEKEEPING: - hundreds of bugfixes in all parts of the library - unified naming and cleanup of public headers - improved CMake build system - templatized math library - reduce dependency on boost.thread, only remaining spot is synchronization for the C logging API API COMPATIBILITY: - renamed headers, export interface, C API properties and meta data prevent compatibility with code written for 2.0, but in most cases these can be easily resolved - Note: 3.0 is not binary compatible with 2.0 2.0 (2010-11-21) FEATURES: - Add support for static Blender (*.blend) scenes - Add support for Q3BSP scenes - Add a windows-based OpenGL sample featuring texturing & basic materials - Add an experimental progress feedback interface. - Vastly improved performance (up to 500%, depending on mesh size and spatial structure) in some expensive postprocessing steps - AssimpView now uses a reworked layout which leaves more space to the scene hierarchy window - Add C# bindings ('Assimp.NET') - Keep BSD-licensed and otherwise free test files in separate folders (./test/models and ./test/models-nonbsd). FIXES: - Many Collada bugfixes, improve fault tolerance - Fix possible crashes in the Obj loader - Improve the Ogre XML loader - OpenGL-sample now works with MinGW - Fix Importer::FindLoader failing on uppercase file extensions - Fix flawed path handling when locating external files - Limit the maximum number of vertices, faces, face indices and weights that Assimp is able to handle. This is to avoid crashes due to overflowing counters. - Updated XCode project files - Further CMAKE build improvements API CHANGES: - Add data structures for vertex-based animations (These are not currently used, however ...) - Some Assimp::Importer methods are const now. 1.1 (2010-04-17) This is the list of relevant changes from the 1.0 (r412) release to 1.1 (r700). FEATURES: - Vastly improved Collada support - Add MS3D (Milkshape 3D) support - Add support for Ogre XML static meshes - Add experimental COB (TrueSpace) support - Automatic test suite to quickly locate regressions - D bindings (`dAssimp`) - Python 2.n bindings (`PyAssimp`) - Add basic support for Unicode input files (utf8, utf16 and utf32) - Add further utilities to the `assimp` tool (xml/binary dumps, quick file stats) - Switch to a CMAKE-based build system including an install target for unix'es - Automatic evaluation of subdivision surfaces for some formats. - Add `Importer::ReadFileFromMemory` and the corresponding C-API `aiReadFileFromMemory` - Expose further math utilities via the C-API (i.e. `aiMultiplyMatrix4`) - Move noboost files away from the public include directory - Many, many bugfixes and improvements in existing loaders and postprocessing steps - Documentation improved and clarified in many places. - Add a sample on using Assimp in conjunction with OpenGL - Distribution/packaging: comfortable SDK installer for Windows - Distribution/packaging: improved release packages for other architectures CRITICAL FIXES: - Resolve problems with clashing heap managers, STL ABIs and runtime libraries (win32) - Fix automatic detection of file type if no file extension is given - Improved exception safety and robustness, prevent leaking of exceptions through the C interface - Fix possible heap corruption due to material properties pulled in incorrectly - Avoid leaking in certain error scenarios - Fix 64 bit compatibility problems in some loaders (i.e. MDL) BREAKING API CHANGES: - None - MINOR API BEHAVIOUR CHANGES: - Change quaternion orientation to suit to the more common convention (-w). - aiString is utf8 now. Not yet consistent, however.