CHANGES 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. ----------------------------------------------------------------------
  2. CHANGELOG
  3. ----------------------------------------------------------------------
  4. 4.0.1 (2017-07-28)
  5. - FIXES/HOUSEKEEPING:
  6. - fix version test.
  7. - Not compiling when using ASSIMP_DOUBLE_PRECISION
  8. - Added support for python3
  9. - Check if cmake is installed with brew
  10. - Low performance in OptimizeMeshesProcess::ProcessNode with huge numbers of meshes
  11. - Elapsed seconds not shown correctly
  12. - StreamReader: fix out-of-range exception
  13. - PPdPmdParser: fix compilation for clang
  14. 4.0.0 (2017-07-18)
  15. FEATURES:
  16. - Double precision support provided ( available via cmake option )
  17. - QT-Widget based assimp-viewer ( works for windows, linux, osx )
  18. - Open3DGC codec supported by glFT-importer
  19. - glTF: Read and write transparency values
  20. - Add Triangulate post-processing step to glTF exporters
  21. - Update rapidjson to v1.0.2
  22. - Added method to append new metadata to structure
  23. - Unittests: intoduce a prototype model differ
  24. - X3D support
  25. - AMF support
  26. - Lugdunum3D support
  27. - Obj-Importer: obj-homogeneous_coords support
  28. - Obj-Importer: new streaming handling
  29. - Added support for 64 bit version header introduced in FbxSdk2016
  30. - Travis: enable coverall support.
  31. - PyAssimp: New version of the pyASSIMP 3D viewer, with much improved 3D controls
  32. - Morph animation support for collada
  33. - Added support for parameters Ni and Tf in OBJ/MTL file format
  34. - aiScene: add method to add children
  35. - Added new option to IFC importer to control tessellation angle + removed unused IFC option
  36. - aiMetaData: introduce aiMetaData::Dealloc
  37. - Samples: add a DX11 example
  38. - travis ci: test on OXS ( XCode 6.3 ) as well
  39. - travis ci: enable sudo support.
  40. - openddlparser: integrate release v0.4.0
  41. - aiMetaData: Added support for metadata in assbin format
  42. FIXES/HOUSEKEEPING:
  43. - Introduce usage of #pragma statement
  44. - Put cmake-scripts into their own folder
  45. - Fix install pathes ( issue 938 )
  46. - Fix object_compare in blender importer( issue 946 )
  47. - Fix OSX compilation error
  48. - Fix unzip path when no other version was found ( issue 967 )
  49. - Set _FILE_OFFSET_BITS=64 for 32-bit linux ( issue 975 )
  50. - Fix constructor for radjson on OSX
  51. - Use Assimp namespace to fix build for big-endian architectures
  52. - Add -fPIC to C Flags for 64bit linux Shared Object builds
  53. - MDLLoader: fix resource leak.
  54. - MakeVerboseFormat: fix invalid delete statement
  55. - IFC: fix possible use after free access bug
  56. - ComputeUVMappingprocess: add missing initialization for scalar value
  57. - Fix invalid release of mat + mesh
  58. - IrrImporter: Fix release functions
  59. - Split mesh before exporting gltf ( issue 995 )
  60. - 3MFImporter: add source group for visual studio
  61. - IFC: Switch generated file to 2 files to fix issue related to <mingw4.9 ( Thanks Qt! )
  62. - ObjImporter: fix test for vertices import
  63. - export scene combiner ( issues177 )
  64. - FBX: make lookup test less strict ( issues 994 )
  65. - OpenGEX-Importer: add import of vertex colors ( issue 954 )
  66. - fix bug when exporting mRotationKeys data
  67. - fix mingw build (mingw supports stat64 nowadays)
  68. - cfileio: fix leaks by not closing files in the destructor
  69. - Fix OBJ parser mtllib statement parsing bug.
  70. - Q3BSP-Importer: remove dead code
  71. - Fix BlenderDNA for clang cross compiler.
  72. - ScenePreprocessor: fix invalid index counter.
  73. - Fix compiler warnings ( issue 957 )
  74. - Fix obj .mtl file loading
  75. - Fixed a compile error on MSVC14 x64 caused by the /bigobj flag failing to be set for the 1 and 2-suffixed versions introduced in commit 0a25b076b8968b7ea2aa96d7d1b4381be2d72ce6
  76. - Fixed build warnings on MSVC14 x64
  77. - Remove scaling of specular exponent in OBJFileImporter.cpp
  78. - use ai_assert instead of assert ( issue 1076 )
  79. - Added a preprocessor definition for MSVC to silence safety warnings regarding C library functions. This addresses all warnings for MSVC x86 and x64 when building zlib, tools and viewer as a static lib
  80. - fix parsing of texture name ( issue 899 )
  81. - add warning when detecting invalid mat definition ( issue 1111 )
  82. - copy aiTexture type declaration instead of using decltype for declaration to fix iOS build( issue 1101 )
  83. - FBX: Add additional material properties
  84. - FBX: Correct camera position and clip planes
  85. - FBX: Add correct light locations and falloff values
  86. - fix typo ( issue 1141 )
  87. - Fix collada export. Don't duplicate TEXCOORD/NORMALS/COLORS in <vertices> and <polylist> ( issue 1084 )
  88. - OBJParser: set material index when changing current material
  89. - OBJ: check for null mesh before updating material index
  90. - add vertex color export support ( issue 809 )
  91. - Fix memory leak in Collada importer ( issue 1169 )
  92. - add stp to the list of supported extensions for step-files ( issue 1183 )
  93. - fix clang build ( Issue-1169 )
  94. - fix for FreeBSD
  95. - Import FindPkgMacros to main CMake Configuration
  96. - Extended support for tessellation parameter to more IFC shapes
  97. - defensice handling of utf-8 decode issues ( issue 1211 )
  98. - Fixed compiler error on clang 4.0 running on OSX
  99. - use test extension for exported test files ( issue 1228 )
  100. - Set UVW index material properties for OBJ files
  101. - Fixed no member named 'atop' in global namespace issue for Android NDK compilation
  102. - Apply mechanism to decide use for IrrXML external or internal
  103. - Fix static init ordering bug in OpenGEX importer
  104. - GLTF exporter: ensure animation accessors have same count
  105. - GLTF exporter: convert animation time from ticks to seconds
  106. - Add support for reading texture coordinates from PLY meshes with properties named 'texture_u' and 'texture_v'
  107. - Added TokensForSearch in BlenderLoader to allow CanRead return true for in-memory files.
  108. - fix wrong delete ( issue 1266 )
  109. - OpenGEX: fix invalid handling with color4 token ( issue 1262 )
  110. - LWOLoader: fix link in loader description
  111. - Fix error when custom CMAKE_C_FLAGS is specified
  112. - Fast-atof: log overflow errors
  113. - Obj-Importer: do not break when detecting an overflow ( issue 1244 )
  114. - Obj-Importer: fix parsing of multible line data definitions
  115. - Fixed bug where IFC models with multiple IFCSite only loaded 1 site instead of the complete model
  116. - PLYImporter: - optimize memory and speed on ply importer / change parser to use a file stream - manage texture path in ply
  117. import - manage texture coords on faces in ply import - correction on point cloud faces generation
  118. - Utf8: integrate new lib ( issue 1158 )
  119. - fixed CMAKE_MODULE_PATH overwriting previous values
  120. - OpenGEX: Fixed bug in material color processing ( issue 1271 )
  121. - SceneCombiner: move header for scenecombiner to public folder.
  122. - GLTF exporter: ensure buffer view byte offsets are correctly aligned
  123. - X3D importer: Added EXPORT and IMPORT to the list of ignored XML tags
  124. - X3D Exporter: fixed missing attributes
  125. - X3D importer: Fixed import of normals for the single index / normal per vertex case
  126. - X3D importer: Fixed handling of inlined files
  127. - X3D importer: fixed whitespace handling (issue 1202)
  128. - X3D importer: Fixed iterator on MSVC 2015
  129. - X3D importer: Fixed problems with auto, override and regex on older compilers
  130. - X3D importer: Fixed missing header file
  131. - X3D importer: Fixed path handling
  132. - X3D importer: Implemented support for binary X3D files
  133. - fix build without 3DS ( issue 1319 )
  134. - pyassimp: Fixed indices for IndexedTriangleFanSet, IndexedTriangleSet and IndexedTriangleStripSet
  135. - Fixes parameters to pyassimp.load
  136. - Obj-Importe: Fixed texture bug due simultaneously using 'usemtl' and 'usemap' attributes
  137. - check if all exporters are disabled ( issue 1320 )
  138. - Remove std functions deprecated by C++11.
  139. - X-Importer: make it deal with lines
  140. - use correct path for compilers ( issue 1335 )
  141. - Collada: add workaround to deal with polygon with holes
  142. - update python readme
  143. - Use unique node names when loading Collada files
  144. - Fixed many FBX bugs
  145. API COMPATIBILITY:
  146. - Changed ABI-compatibility to v3.3.1, please rebuild your precompiled libraries ( see issue 1182 )
  147. - VS2010 outdated
  148. 3.3.1 (2016-07-08)
  149. FIXES/HOUSEKEEPING:
  150. - Setup of default precision for 17 exporters
  151. - Fix xcode project files
  152. - Fix BlenderTesselator: offsetof operator
  153. - Invalid version in cmake file
  154. - Update pstdint.h to latest greatest
  155. 3.3.0 (2016-07-05)
  156. FEATURES:
  157. - C++11 support enabled
  158. - New regression-test-UI
  159. - Experimental glTF-importer support
  160. - OpenGEX: add support for cameras and lights
  161. - C4D: update to latest Melange-SDK
  162. - Add a gitter channel
  163. - Coverity check enabled
  164. - Switch to <...> include brackets for public headers
  165. - Enable export by pyAssimp
  166. - CI: check windows build
  167. - Add functionality to perform a singlepost-processing step
  168. - many more, just check the history
  169. FIXES/HOUSEKEEPING:
  170. - Fix of many resource leaks in unittests and main lib
  171. - Fix iOS-buildfor X64
  172. - Choosing zlib manually for cmake
  173. - many more, just check the history
  174. 3.2.1 (2016-010-10)
  175. FEATURES:
  176. - Updated glTF exporter to meet 1.0 specification.
  177. FIXES/HOUSEKEEPING:
  178. - Fixed glTF Validator errors for exported glTF format.
  179. ISSUES:
  180. - Hard coded sampler setting for
  181. - magFilter
  182. - minFilter
  183. - void* in ExportData for accessor max and min.
  184. 3.2.0 (2015-11-03)
  185. FEATURES:
  186. - OpenDDL-Parser is part of contrib-source.
  187. - Experimental OpenGEX-support
  188. - CI-check for linux and windows
  189. - Coverity check added
  190. - New regression testsuite.
  191. FIXES/HOUSEKEEPING:
  192. - Hundreds of bugfixes in all parts of the library
  193. - Unified line endings
  194. API COMPATIBILITY:
  195. - Removed precompiled header to increase build speed for linux
  196. 3.1.1 (2014-06-15)
  197. FEATURES:
  198. - Support for FBX 2013 and newer, binary and ASCII (this is partly
  199. work from Google Summer of Code 2012)
  200. - Support for OGRE binary mesh and skeleton format
  201. - Updated BLEND support for newer Blender versions
  202. - Support for arbitrary meta data, used to hold FBX and DAE metadata
  203. - OBJ Export now produces smaller files
  204. - Meshes can now have names, this is supported by the major importers
  205. - Improved IFC geometry generation
  206. - M3 support has been removed
  207. FIXES/HOUSEKEEPING:
  208. - Hundreds of bugfixes in all parts of the library
  209. - CMake is now the primary build system
  210. API COMPATIBILITY:
  211. - 3.1.1 is not binary compatible to 3.0 due to aiNode::mMetaData
  212. and aiMesh::mName
  213. - Export interface has been cleaned up and unified
  214. - Other than that no relevant changes
  215. 3.0 (2012-07-07)
  216. FEATURES:
  217. - new export interface similar to the import API.
  218. - Supported export formats: Collada, OBJ, PLY and STL
  219. - added new import formats: XGL/ZGL, M3 (experimental)
  220. - new postprocessing steps: Debone
  221. - vastly improved IFC (Industry Foundation Classes) support
  222. - introduced API to query importer meta information (such as supported
  223. format versions, full name, maintainer info).
  224. - reworked Ogre XML import
  225. - C-API now supports per-import properties
  226. FIXES/HOUSEKEEPING:
  227. - hundreds of bugfixes in all parts of the library
  228. - unified naming and cleanup of public headers
  229. - improved CMake build system
  230. - templatized math library
  231. - reduce dependency on boost.thread, only remaining spot
  232. is synchronization for the C logging API
  233. API COMPATIBILITY:
  234. - renamed headers, export interface, C API properties and meta data
  235. prevent compatibility with code written for 2.0, but in
  236. most cases these can be easily resolved
  237. - Note: 3.0 is not binary compatible with 2.0
  238. 2.0 (2010-11-21)
  239. FEATURES:
  240. - Add support for static Blender (*.blend) scenes
  241. - Add support for Q3BSP scenes
  242. - Add a windows-based OpenGL sample featuring texturing & basic materials
  243. - Add an experimental progress feedback interface.
  244. - Vastly improved performance (up to 500%, depending on mesh size and
  245. spatial structure) in some expensive postprocessing steps
  246. - AssimpView now uses a reworked layout which leaves more space
  247. to the scene hierarchy window
  248. - Add C# bindings ('Assimp.NET')
  249. - Keep BSD-licensed and otherwise free test files in separate
  250. folders (./test/models and ./test/models-nonbsd).
  251. FIXES:
  252. - Many Collada bugfixes, improve fault tolerance
  253. - Fix possible crashes in the Obj loader
  254. - Improve the Ogre XML loader
  255. - OpenGL-sample now works with MinGW
  256. - Fix Importer::FindLoader failing on uppercase file extensions
  257. - Fix flawed path handling when locating external files
  258. - Limit the maximum number of vertices, faces, face indices and
  259. weights that Assimp is able to handle. This is to avoid
  260. crashes due to overflowing counters.
  261. - Updated XCode project files
  262. - Further CMAKE build improvements
  263. API CHANGES:
  264. - Add data structures for vertex-based animations (These are not
  265. currently used, however ...)
  266. - Some Assimp::Importer methods are const now.
  267. 1.1 (2010-04-17)
  268. This is the list of relevant changes from the 1.0 (r412) release to 1.1 (r700).
  269. FEATURES:
  270. - Vastly improved Collada support
  271. - Add MS3D (Milkshape 3D) support
  272. - Add support for Ogre XML static meshes
  273. - Add experimental COB (TrueSpace) support
  274. - Automatic test suite to quickly locate regressions
  275. - D bindings (`dAssimp`)
  276. - Python 2.n bindings (`PyAssimp`)
  277. - Add basic support for Unicode input files (utf8, utf16 and utf32)
  278. - Add further utilities to the `assimp` tool (xml/binary dumps, quick file stats)
  279. - Switch to a CMAKE-based build system including an install target for unix'es
  280. - Automatic evaluation of subdivision surfaces for some formats.
  281. - Add `Importer::ReadFileFromMemory` and the corresponding C-API `aiReadFileFromMemory`
  282. - Expose further math utilities via the C-API (i.e. `aiMultiplyMatrix4`)
  283. - Move noboost files away from the public include directory
  284. - Many, many bugfixes and improvements in existing loaders and postprocessing steps
  285. - Documentation improved and clarified in many places.
  286. - Add a sample on using Assimp in conjunction with OpenGL
  287. - Distribution/packaging: comfortable SDK installer for Windows
  288. - Distribution/packaging: improved release packages for other architectures
  289. CRITICAL FIXES:
  290. - Resolve problems with clashing heap managers, STL ABIs and runtime libraries (win32)
  291. - Fix automatic detection of file type if no file extension is given
  292. - Improved exception safety and robustness, prevent leaking of exceptions through the C interface
  293. - Fix possible heap corruption due to material properties pulled in incorrectly
  294. - Avoid leaking in certain error scenarios
  295. - Fix 64 bit compatibility problems in some loaders (i.e. MDL)
  296. BREAKING API CHANGES:
  297. - None -
  298. MINOR API BEHAVIOUR CHANGES:
  299. - Change quaternion orientation to suit to the more common convention (-w).
  300. - aiString is utf8 now. Not yet consistent, however.