FBX SDK Programmer's Guide > Welcome to the FBX SDK > What's new/What's changed >

# FBX SDK 2014

## New Features

- Visual Studio 2012 is now supported.
- FbxCamera::EvaluateUpDirection() now supports the Roll property.
- The fourth vector element of normals, binormals, and tangents are now properly exported to the FBX files in FBX 2014 file format.
- A new status reporting class (FbxStatus) is introduced to replace the old FbxError class.
- Added new functions for the default IK pull value on markers. A default IK pull value is now stored on markers.
- TimeMarker functionality is re-introduced in FBX 2014 file format. The API to access them is in the FbxGlobalSettings class.
- Updated Python 3.1 to Python 3.2 in the FBX Python SDK.
- MotionFiles readers/writers are now registered in the public FBX SDK. This means that the FBX SDK can now import and export the following motion file formats: Biovision (BVH), MotionAnalysis (HTR/TRC), Acclaim (ASF/AMC), Vicon (C3D), Adaptive Optics (AOA), and Superfluo (MCD).
- The FBX SDK libraries on Mac and Linux are now compiled with default visibility set to hidden. Only symbols marked with FBXSDK_DLL are exported, which makes it equal to the Windows version.
- The FbxProperty flags are cleaned. For clarity, the ePublished flag is renamed to eAnimated, and the eUser flag is renamed to eUserDefined. The eStatic flag is now turned on for all the static properties by default. Also, introduced the eImported flag for properties that are created upon import.
- Added new environment variables: FBXSDK_ENV_WINMETRO for Windows Metro support and FBXSDK_ARCH_ARM for ARM processor support.
- The FbxFolder::Create(), FbxFolder::Delete(), and FbxFolder::Exist() functions are moved to the FbxPathUtils class, and now work pass the Microsoft Certification Validation Kit for Windows Store applications. Other functions in the FbxFolder class are renamed for consistency. See fbxfolder.h.
- The FbxPathUtils::Exist() function now works on relative paths.
- The FbxPathUtils::Create() function can take multiple paths as argument and they are created if possible, like mkdir in Unix.
- Improved the FbxMesh::GetPolygonVertexCount() function to simply return the array size.
- Updated the FbxProgress class to be simpler and to allow an additional argument to be passed to the single-thread callback.

## Deprecated Features

- The fbxsdk_compatibility.h file is removed from the FBX SDK distribution, so you must use the latest API. Defining FBXSDK_NEW_API is not necessary anymore and can be removed from your projects.
- The support for Visual Studio 2005 is discontinued.
- The support for Mac OS X SDK 10.5 is discontinued. The minimum requirement is now Mac OS X SDK 10.6.
- The FbxString::Empty() function is renamed to FbxString::Clear() to avoid confusion with the FbxString::IsEmpty() function.
- FbxError is removed from all classes. Instead, functions that need to return an error string can use an optional parameter of type FbxStatus similar to MStatus in the Maya API.
- The FbxFolder::Create() function is removed. You can use the FbxPathUtils::Create() function instead.
- The FbxFolder::Delete() function is removed. You can use the FbxPathUtils::Delete() function instead.
- The FbxFolder::Exist() function is removed. You can use the FbxPathUtils::Exist() function instead.
- The FbxFolder::Remove() function is removed. You can use FbxPathUtils::Delete() function instead, which is always recursive.

## Fixed Issues

- Fixed the issue of FbxCamera::EvaluateUpDirection() incorrectly using the TargetUp object.
- Fixed a buffer overrun crash issue that occurs when importing specific 3DS files.
- Fixed a crash issue that occurs when trying to destroy the FbxManager on application exit.
- Fixed some samples that were erroneously calling FbxString::Empty() instead of FbxString::IsEmpty().
- Fixed a buffer overflow in FbxStream::ReadString().
- Importing an OBJ file will not un-weld UV anymore.
- Fixed curve key comment in ASCII version. The code was not distinguishing between GenericTimeIndependent only and GenericClampProgressive.
- Improved the documentation related to the TranslationActive, RotationActive, and ScalingActive properties.
- Fixed a crash that occurs when a scene containing kinds of deformers other than skins is exported to Collada.
- The default value of FbxMarker::DrawLink() is now set to true.
- Fixed the issue of FbxCamera::EvaluateLookAtPosition() not returning the expected value.
- Fixed the issue of the Effect field being written for each polygon when writing Collada files resulting in an increased file size.
- Various functions, such as FbxMin that were returning a const reference type value are fixed to return a copy of the value instead.
- Various function parameters that were asking for const reference intrinsic type are changed to ask a copy of the intrinsic type (which is faster than a const reference in this case).
- Fixed a crash that occurs when calling FbxScene::ForceKill() on an imported scene that contains thumbnails.
- Made the fbxiosettingspath.h header file compatible with C++x11 standard.
- Some optimization of connection management for large scenes.
- Fixed a typo error in the Transform sample code.
- Updated various doxygen comments for clarity.

## Known Issues

- FbxAMatrix only works with XYZ rotation order.
- Skew and Stretch matrixes are not supported.
- The FBX SDK is not thread safe.
- Deformers do not support instancing, and therefore point cache deforming is not re-usable.
- While assigned material can change on the node, material layers on the mesh cannot be instanced.
- Sometimes the scene gets modified permanently resulting in data loss when exporting various file formats.