----------------------------------------------------------------------
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 <mingw4.9 ( Thanks Qt! )
	- ObjImporter: fix test for vertices import
    - export scene combiner ( issues177 )
	- FBX: make lookup test less strict ( issues 994 )
	- OpenGEX-Importer: add import of vertex colors ( issue 954 )
	- fix bug when exporting mRotationKeys data
	- fix mingw build (mingw supports stat64 nowadays)
	- cfileio: fix leaks by not closing files in the destructor
	- Fix OBJ parser mtllib statement parsing bug.
	- Q3BSP-Importer: remove dead code
	- Fix BlenderDNA for clang cross compiler.
	- ScenePreprocessor: fix invalid index counter.
	- Fix compiler warnings ( issue 957 )
	- Fix obj .mtl file loading
	- 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
	- Fixed build warnings on MSVC14 x64
	- Remove scaling of specular exponent in OBJFileImporter.cpp
	- use ai_assert instead of assert ( issue 1076 )
	- 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
	- fix parsing of texture name ( issue 899 )
	- add warning when detecting invalid mat definition ( issue 1111 )
	- copy aiTexture type declaration instead of using decltype for declaration to fix iOS build( issue 1101 )
	- FBX: Add additional material properties
	- FBX: Correct camera position and clip planes
    - FBX: Add correct light locations and falloff values
	- fix typo ( issue 1141 )
	- Fix collada export. Don't duplicate TEXCOORD/NORMALS/COLORS in <vertices> and <polylist> ( 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.
