Changes

Subscribe to the atom feed.

2017-05-06 Release: com.io7m.jtensors 8.1.0
2017-05-06 Code new: Add vector distance methods.
2017-04-24 Release: com.io7m.jtensors 8.0.0
2017-03-22 Code change: Complete rewrite. See japicmp report for changes.
2017-03-20 Release: com.io7m.jtensors 7.2.0
2017-03-20 Code new: Switch to generating sources. This adds deprecations to various methods (see the japicmp report).
2017-03-01 Code fix: Use the japicmp-maven-plugin to enforce semantic versioning for future releases.
2017-01-30 Release: com.io7m.jtensors 7.1.0
2017-01-30 Code new: Add spherical linear interpolation for quaternions. (tickets: 11)
2017-01-30 Release: com.io7m.jtensors 7.0.0
2016-11-24 Code new: Add quickcheck generators.
2016-10-04 Code new: Add functions to convert quaternions to axis/angle representations. (tickets: 8)
2016-08-04 Code fix: The packaged jar is now an OSGi bundle.
2016-08-04 Code change: The package will no longer compile on JDK 6 due to Checkstyle, but the compiled code is still JDK 6 compatible.
2015-09-27 Code new: Add heap-array allocated matrix types.
2015-09-27 Code new: Add buffered vector and matrix types for addressing values that are packed inside large shared ByteBuffers.
2015-09-06 Code change: Rename all Context* types to behave more pleasantly with unqualified imports.
2015-09-05 Code change: All vector functions that allocated temporary objects now take re-usable preallocated Context values in the same manner as matrix functions.
2015-09-05 Code change: Replace most direct uses of mutable vector types with generics and interfaces. This allows for code sharing between a selection of new vector types.
2014-11-29 Code new: Add explicitly type-indexed vectors (PVector*).
2014-11-29 Code change: Make all types final again, undoing the change made in 5.1.0 to support type indices.
2014-11-30 Code change: Remove get() methods from matrix types and only allow element access via the MatrixReadable* interfaces.
2014-11-30 Code fix: Improve formatting of matrix toString() methods slightly.
2014-11-30 Code fix: Remove floatBuffer() and doubleBuffer() methods and only allow access to buffers via the new MatrixDirectBuffered* interfaces.
2014-12-03 Code fix: Correct javadoc comments to pass Java 8's new Javadoc doclint.
2014-12-04 Code change: Remove Matrix*.translate* functions due to questions of correctness. Use r = Matrix*.makeTranslation* and multiply m * r instead.
2014-12-04 Code change: Remove imperative Matrix*.rotate* functions to reduce the size of the API. Use r = Matrix*.makeRotation* and multiply m * r instead.
2015-08-29 Release: com.io7m.jtensors 6.0.2
2015-08-29 Code fix: Migrate to GitHub.
2015-08-29 Code fix: Fix JavaDoc to cope with Java 8's doclint.
2014-10-12 Release: com.io7m.jtensors 6.0.1
2014-10-12 Code fix: Correct dependencies: 6.0.0 was accidentally released with pre-release version dependencies (all of which are binary compatible with the current versions).
2014-10-11 Release: com.io7m.jtensors 6.0.0
2014-04-24 Code change: Break dependency on jaux. Now depends on jnull, jfunctional, jequality, jintegers.
2014-04-24 Code change: Make *Unsafe vector functions that were accidentally public, private.
2014-04-24 Code new: Add VectorWritable* types.
2014-04-24 Code change: Break package up into standard core and documentation packages.
2014-04-24 Code change: Make vector fields private. Replace field access with getters and setters.
2014-01-04 Release: com.io7m.jtensors 5.3.1
2014-01-04 Code new: Use jaux (3.0.0, 4.0.0] and jsr305 2.0.2.
2013-10-27 Release: com.io7m.jtensors 5.3.0
2013-10-27 Code new: Add long integer vectors.
2013-08-17 Release: com.io7m.jtensors 5.2.1
2013-08-17 Code fix: Make the Orthonormalized structures take readable vectors.
2013-08-17 Release: com.io7m.jtensors 5.2.0
2013-08-17 Code new: Add three-vector orthonormalization (OrthonormalizedI3D, OrthonormalizedI3F).
2013-08-17 Code fix: Correct the type of VectorI*.ZERO - do not use the less-specific "Readable" type.
2013-08-17 Code fix: Correct documentation for vector subtraction. (tickets: 3b145b9693)
2013-07-11 Release: com.io7m.jtensors 5.1.0
2013-07-11 Code change: All vector, matrix, and quaternion types are now non-final (however all methods are still final). This is to make it possible to make semantically distinct values type-incompatible via subclassing and/or the addition of phantom type parameters. See documentation.
2012-12-22 Release: com.io7m.jtensors 5.0.0
2012-12-22 Code new: Add all missing Vector* functions - VectorM* and VectorI* now have feature parity
2012-12-21 Code change: Massive overhaul of test suite
2012-12-18 Code change: All approximatelyEqual* functions have been removed; use almostEqual instead as it gives far more accurate results
2012-12-18 Code change: MatrixReadable* functions renamed to make the row types explicit
2012-12-18 Code change: Most quaternion functions that took or returned single precision floats now take/return double precision values
2012-12-18 Code change: Quaternion*.makeRotationMatrix() renamed to makeRotationMatrix4x4 and added 3x3 variant
2012-12-17 Code change: All single precision matrix and vector types now use double precision calculations internally for increased accuracy. Most functions that took floats as arguments now take doubles. The vectors and matrices are still using single precision float storage, so this should not break any existing code.
2012-12-17 Code new: Add row fetching methods to all MatrixReadable* interfaces
2012-12-16 Code new: Vastly improve documentation. Document all notational, semantic, and storage conventions.
2012-12-16 Code change: Switch to using a consistent right-handed coordinate system throughout the package. This is a non backwards-compatible change.
2012-12-16 Code new: Add Matrix*.lookAt()
2012-12-15 Code new: Add Matrix3x3*.rotate() and makeRotation()
2012-12-15 Code new: Add Quaternion*.lookAt()
2012-12-15 Code new: Add Quaternion*.makeFromMatrix()
2012-12-15 Code new: Add Matrix*.trace()
2012-12-14 Code new: Add Vector*.orthoNormalize()
2012-12-09 Code change: Modify the type of QuaternionM4{D,F}.copy() to allow any readable quaternion, as opposed to only QuaternionM4{F,D}. This change does not affect backwards-compatibility as it is simply a generalization of the type in question and cannot break existing programs.
2012-11-24 Release: com.io7m.jtensors 4.1.0
2012-11-24 Code fix: Make every matrix operation rewind the buffer that backs the matrix. This was a problem revealed by the API change in 4.0.0
2012-11-24 Release: com.io7m.jtensors 4.0.0
2012-11-24 Code fix: Fix serious API mistake: The JRE will allocate new read-only buffers with asReadOnlyBuffer(). The floatBuffer() and doubleBuffer() methods of matrices no longer guarantee read-only semantics, as this requires expensive reallocations.
2012-11-10 Release: com.io7m.jtensors 3.0.0
2012-11-10 Code new: Add Quaternion classes for 3D rotations
2012-11-10 Code fix: Remove all @Deprecated methods from 2.3.0
2012-11-09 Code fix: Large javadoc updates and increased use of JSR 305 annotations (@Nonnull)
2012-11-09 Code new: All classes now provide a hashCode() and equals() implementation. This may break code that assumes java.lang.Object()'s hashCode() or equals() method is used, but should give more consistent behaviour with regards to the contents of vectors and matrices.
2012-11-09 Release: com.io7m.jtensors 2.3.0
2012-11-09 Code fix: Use io7m-jaux 2.3.0
2012-10-21 Code fix: Use JSR 305 annotations to document concurrency properties
2012-08-08 Code fix: Change method names for consistency, deprecate old names (does not break compatibility)
2012-08-07 Code new: Add MatrixReadable* interfaces
2012-07-27 Code fix: Update saxon-plugin to 1.1.0 to correct documentation builds on Windows
2012-07-23 Release: com.io7m.jtensors 2.2.0
2012-07-23 Code fix: Update all POM plugins to the latest versions
2012-07-23 Code fix: Improve documentation
2012-07-15 Code fix: Add missing documentation CSS
2012-07-14 Release: com.io7m.jtensors 2.1.0
2012-07-14 Code new: Produce documentation with Maven
2012-07-14 Code fix: Make dependencies more honest: The package only depends on jsr305, not all of findbugs
2012-06-19 Release: com.io7m.jtensors 2.0.0
2012-06-19 Code new: Switch to maven for builds
2012-05-12 Code new: ApproximatelyEqual* moved to io7m-jaux
2012-05-05 Code new: VectorI*.zero renamed to ZERO and implemented by all vector types
2012-05-05 Code fix: MatrixM4x4D.multiply -> MatrixM4x4D.multiplyVector4DWithContext
2012-05-05 Code fix: MatrixM4x4D.multiply -> MatrixM4x4D.multiplyVector4D
2012-05-05 Code new: Increase test coverage for integer vectors
2012-05-05 Code new: Add Matrix3x3* makeTranslation functions
2012-04-20 Code new: Add integer vector methods for Matrix4x4*
2012-04-20 Code fix: Rename methods to indicate the type of vectors used, removing ambiguity. All VectorReadable* interfaces are affected, as well as Matrix* methods that previously specified a type name.
2012-03-15 Release: com.io7m.jtensors 1.0.1
2012-03-15 Code fix: Correct build.xml to produce a jar file with the right version
2012-03-15 Release: com.io7m.jtensors 1.0.0
2012-03-06 Code fix: Depend on jexternals for eclipse users
2012-02-11 Code fix: MatrixM3x3F allocated too many bytes (wasted memory)
2012-02-08 Code new: Add SunOS supported
2012-02-06 Release: com.io7m.jtensors 0.2.0
2012-02-06 Code new: Initial version