## v1.7.0
- Adds a lua function "convert(object, className)" that will convert a gameplay userdata object to another class type by changing the metatable. (For example: This lets you convert Control to Button in lua)

## v1.6.0

- Adds file Stream interface for reading/writing files instead of using fread/fwrite. 
- Adds Terrain class to support for heightmap based terrains featuring LOD, multiple surface layers, loading from PNG, RAW8/16, full transform, physics, patch culling and verticle skirt for cracks.
- Adds object-space normal map generation to gameplay-encoder for terrain normal map generation.
- Adds scene support for loading .terrain files in .scene files.
- Adds scene support for inline cameras to .scene files.
- Adds suppoft for defining .scene files without 'path' to gpb. New node can not be create in .scene file.
- Adds static Scene::getScene(const char*) to query currently active scenes in a game, helpful for script access.
- Adds support for multiple translate, rotate and scale commands in a single node entity within .scene files, processed in-order they are defined.
- Adds scene support for material auto binding scene ambient color, light color and light direction.
- Adds support for setting the depth compare function on materials.
- Adds support for texture/sampler arrays being passed to materials.
- Adds support for loading uncompressed DDS textures for the following formats: R8G8B8, A8R8G8B8, A8B8G8R8, X8R8G8B8, X8B8G8R8
- Adds improvments to prefer higher quality mipmap generation.
- Adds improved Gamepad API support for button enumeration, triggers and some mobile Gamepad support on BlackBerry.
- Adds additional gameplay-tests for billboards, forms, gamepads and lights.
- Adds support for launching the browser via launchURL(const char*).
- Adds physics support for setLinearFactor and setAngularFactor  on rigid bodies.
- Adds methods to PhysicsCollisionObject to allow conversion to subclass types (i.e. PhysicsRigidBody, PhysicsCharacter, etc) from script.
- Adds option for fullscreen without width/height config to use native desktop resolution.
- Adds Linux support for OpenAL PulseAudio back-end.
- Adds support for latest Bullet Physics 2.81 with NEON optimizations for mobile targets.
- Adds support for preprocessor directive NO_LUA_BINDINGS in the gameplay project to omit inclusion of generated lua bindings in compilation for developer mode value. 
- Adds optimizations to Lua generator to only write generated files if they differ from existing files, reducing both build times and committing of unchanged script binding files.
- Adds changes to Slider for setValueTextVisible, setValueTextAlignment, setValueTextPrecision and getters.
- Adds Microsoft Windows 7 64-bit support.
- Adds Apple iOS 6 support.
- Fixes to external-deps to reduce the size of the libraries on Windows.
- Fixes for Android to no longer need to copy files to the SD card before reading them. None of the Android samples require an SD card.
- Fixes for animation of opacity on UI and fonts.
- Fixes in UI for removing controls and also setVisible(bool).
- Fixes for UI controls missing on MacOSX.
- Fixes for setting UI alignment programmatically.
- Fixes for lighting shaders.
- Fixes to the texture minification mode from GL_LINEAR_MIPMAP_LINEAR to GL_NEAREST_MIPMAP_LINEAR for newly created textures with mipmaps.
- Fixes minor memory leaks and possible access violations when calling Game::exit() from script.
- Fixes physics debug drawing for large scenes causing the internal MeshBatch to grow to an enormous size.

## v1.5.0

- Linux support. (tested on Ubuntu 12)
- CMake support for makefile generation for Linux.
- Gamepad API support for desktops.
- Touch gesture support for tap, swipe and pinch.
- Vehicle physics support via new PhysicsVehicle and PhysicsVehicleWheel classes.
- Adds new racer sample (sample06-racer).
- Adds gameplay-tests project as a test app for various basic engine features with some initial tests.
- Adds support for Scene files for wildcard identifiers.
- Adds Visual Studio Plug-in support for BlackBerry PlayBook and BlackBerry 10.
- Adds configurable multi-sampling anti-aliasing support. 
- Adds updates to latest FBX SDK 2013.3.
- Adds file formats documentation for game.config .scene, .material, .animation, .physics, .particle
- Adds Game/Platform::canExit for testing device capabilities to quit. (only ios)
- Web community forums at http://www.gameplay3d.org/forums.
- Changed keyTimes from unsigned long[]  to unsigned int[]. (breaks compat. in AnimationTarget and Animation::Channel)
- Fixes inconsistencies from Bundle::getObjectID() to Bundle::getObjectId() (breaks compat. in Bundle)
- Fixes the texture coordinates of Mesh::createQuad(float x, float y, float width, float height).
- Fixes line-wise distortion when loading RGB png's into textures that are non-power of two.
- Fixes inconsistencies in createXXXX methods.  (breaks compat. in Scene)
- Fixes Rectangle::contains.
- Fixes Lua print logging.
- Fixes Lua errors to be treated as runtime warnings.
- Fixes setVertexData to pointers instead of constant data.
- Fixes AudioSource so that it doesn't loop by default.
- Fixes minor UI scrolling issues.

## v1.4.0

- Lua script bindings for all gameplay interfaces.
- Lua script binding generator tool (gameplay-luagen) for generating gameplay Lua bindings from doxygen xml output.
- AIController, AIAgent, AIStateMachine, AIState and AIMessage classes for scripted AI support.
- Sample for sample05-lua to demonstrate basic Lua with AI scripting.
- Gamepad class with virtual gamepad support.
- Pre-built versions gameplay-encoder added to bin folder with TTF, DAE and FBX support built-in.
- Improved modular shaders with support for #include in shaders. (breaks compat. for shaders)
- LightMap support into colored-unlit.frag and textured-unlit.frag shaders.
- Adds cloning and wireframing features to sample03-character.
- Adds kick the ball on the sample03-character to demonstrate 2 buttons and more physics.
- Fixes missing mouse events on UI controls.
- Fixes to gameplay-encoder to prompt user for font size if not specified.
- Fixes to add "-g" as short form argument for grouping animations.
- Fixes node cloning.
- Fixes to gameplay-encoder for output file path when encoding fonts.
- Fixes to FrameBuffer, RenderTarget and DepthStencilTarget.
- Fixes user switching in MacOSX to other applications with Apple-Tab.
- Fixes measureText with empty string to be proper size.
- Fixes for aliased text by applying linear filtering by default on Fonts.
- Fixes RenderState::StateBlock::bindNoRestore() issue where blend function was not restored to the proper defaults.
- Fixes some inconsistencies in Game event method names for menuEvent. (breaks compat. in Game)
- Fixes some inconsistencies with AnimationClip::getID() to be same as Node::getId() and other classes. (breaks compat. in AnimationClip)
- Fixes to gameplay-encoder and PhysicsRigidBody for heightmaps which adds height precision into generated heightmap png's.

## v1.3.0

- Portrait mode games on mobile platforms.
- Fullscreen and configurable game resolutions on desktop platforms.
- User Interface support for scrolling with scrollbars on Container.
- PVRTC, ATC and DXT texture compression support.
- Performance improvements in user interface forms and text.
- Performance improvements in animations on transforms.
- Performance improvements using NEON math for BlackBerry and iOS.
- Fixes for improvements in error handling throughout all systems.
- Fixes supporting built-in Maya COLLADA exporter via DAE_FBX export.
- Fixes for latest FBX SDK 2013 support.
- Fixes for loading from some WAV files that were crashing.
- Fixes for From/By animations.
- Fixes allowing all inline properties loaded within .scene files. (breaks compat. for .scene)
- Fixes in .scene files for collisionObject definitions (breaks compat. for .scene)
- Fixes for depth/z-ordering of controls.

## v1.2.0

- BlackBerry 10 support.
- iOS 5.1 support.
- Android 2.3+ support.
- User interface system with declarative forms and themes.
- Bluetooth keyboard/mouse support on BlackBerry platform.
- Developer guide.
- Sample/tutorial for sample03-character.
- Sample for sample04-particles to demonstrate particle emitters.
- Fixes for loading properties from URL.
- Fixes on Win32/MacOSX for when mouse pointer leaves the window and returns.
- Fixes to accelerometer for Android.
- Fixes in animation blending.
- Fixes to GPB for loading from single node and parent node. (breaks compat. for .gpb)

## v1.1.0

- FBX support in gameplay-encoder.
- MacOSX platform support using XCode.
- Off-screen rendering functionality using FrameBuffer.
- Loading 3D scenes using declarative  .scene files.
- Loading audio from .ogg files using vorbis.
- Loading AudioSources from .audio files.
- Loading Animations from .animation files.
- AnimationClip support for cross fading.
- Physics support using Bullet Physics.
- Cross-platform new project generator.
- Overloaded operators in Math classes.
- Font improvements for justify, clip, wrap and scaling.
- Fixes for Font::drawText to use point size and not float scalar.
- Fixes for memory leaks in and fixes to AnimationTarget.
- Fixes for bumped and parallax shaders.
- Fixes to simplify folders for resources in samples.
- Fixes to the material/shader system.
- Fixes to the ParticleEmitter.

## v1.0.0

- Initial release.




