Note that anything with Issue ## next to it refers to issues reported on the old Google Code repository
- Added unit tests by sinisterchipmunk. (Thank you!)
- Added mat4.fromTranslationRotation
- Calling mat3/4.identity with zero arguments will now create a new identity matrix (Thanks to Kos)
- Fixed issue with mat4 values being set to NaN or Infinity when attempting to invert a non-invertable matrix.
- Moved to GitHub to keep my projects in one place and give me a bit more sanity
- Along with the move, feels like a good time to move to official "1.0" status!
- File name is now "gl-matrix" for consistency with naming conventions in some of my other projects
- Non-minified code should now validate as cleanly as is reasonable with JSLint
- Issue 39 Removed assignment to invalid index in mat3.create
- Issue 45 Fixed an incorrect comment
- Issue 49 Fixed typo in quat4.inverse
- Issue 54 Fixed a pretty broken quat4.slerp
- Issue 60 Fixed transposed matrix being returned from quat4.toMat3/4
- Issue 61 Fixed issue in mat3.toMat4 if source and dest are the same
- Issue 24 Fixed bug in mat4.lookat (Thanks to Drew Whitehouse)
- Issue 29 Fixed bug in mat4.scale (Thanks to jeroom)
- Issue 30 Flipped mat4.ortho to match the glOrtho implementation (Thanks to orphansandoligarchs)
- Issue 32 Added vec3.lerp and quat4.slerp functions (Thanks to Denis Rangel)
- Issue 33 Fixed a (really stupid) bug in mat4.multiplyVec4 (Thanks to Jeremy Mlazarus)
- Issue 36 Added mat3.transpose at the suggestion of shooskx
- Added documentation comments to all functions
- Added mat3.identity
- Added quat4.str
- Some minor whitespace formatting to be more consistent across the file
- Updated mat4.frustum, mat4.perspective, mat4.ortho, and mat4.lookat to all return new matricies if dest is not specified
- Updated parameter names on quat4.multiply for consistency
- Issue 1 Changed default array type to Float32Array. WebGLFloatArray and Array still used as fallbacks.
- Issue 16 changed q[x] = -q[x] to q[x] *= -1 in quat4.inverse
- Issue 17 changed x = x / y to x /= y
- Issue 18 started reusing len variables instead of creating new vars for inverse length
- Issue 23 (In Progress) Added unit test folder, need to expand test suite. (Thanks to Drew Whitehouse)
- Issue 24 in mat4.lookat changed mat4.identity() to mat4.identity(dest), added quat4.create
- Issue 25 added dest parameter to quat4.normalize
- Issue 14 Removed bitshifiting optimization when it was pointed out that this method fails for non-integers
- Probably the last release before 1.0, syntax may still change.
- mat4.inverse3x3 renamed to mat4.toInverseMat3 for consistency
- Added mat4.toMat3
- Added mat3.toMat4
- Added Quaternion functions
- Started appending version numbers to the file name
- Issue 10 Minimized version now generated with Google's Closure Compiler
- Issue 5 Changed instances of var == 0 to !var
- Issue 12 Corrected issue with vec3.cross crossing the first vector with itself
- Issue 13 Optimized mat4.lookAt
- Issue 7 Replaced some multiplies with bit-shifts
- Added a packed version (glMatrix-min.js)
- Merged (!dest) and (dest == src) checks where possible, and changed the inner code of these scenarios to write directly to the source matrix (saves one assignment and speeds up the check)
- Added earlier returns wherever possible
- Re-implemented inverse(), which now re-uses several calculations and can run much faster
- Rearranged some of the logic of inverse3x3() to prevent unnecessary assignments and calculations
- Corrected issue with multiplyVec3() multiplying against a transposed matrix.
- Added multiplyVec4().
- Broke special case rotation (rotation along the X, Y, or Z axis) optimizations out into their own functions: rotateX(), 'rotateY(), and rotateZ(). This speeds up both the special cases and the general case rotation. rotate() will no longer optimize the special case rotations.
- While reordering rotation code also discovered a few more minor optimizations that could be applied.
- Added mat4.lookAt() (Unoptimized)
- Added mat4.str() for debugging use.
- Added vec3.direction().
- Initial Release (Because no-one wants to use a 0.1 product!)