Removed inverseLookAt function because it is untested and incomplete
Added Vector3DMutable.set(array) functions
Fixed a potential memory leak where dispose hooks were not cleaned up when manually removing all relevant listeners from a listener list
Improved documentation and changed border case in Vector->isMultipleOf
Added ARGB function to modulate one color with another
Added redundant error check in EnumUtil
Added float array vector objects
Added vector clamping functions
Added spaced/space 2D vector methods
bindDisposal now returns the argument for call chaining
Updated CubicSpline to use updated vector objects
Cleanup in RGB/RGBA utilities
Added Patrol functions
Added generic empty array
Added integer random functions
Mutable Vector functions for setting a component now returns the vector
Updated 3D vector code to match structure of 2D vector code
Additional vector refactoring
Fixed typo in Vec2DA
Updated more code to use new vector types
Fixed recently introduced bug in Vec2D.mador
Changed vector conversion functions
Added mutable vector objects and shared interfaces with immutable vector objects
Changed mechanism used to generate the finalizer warning in DisposableImpl so that it can be disabled, eliminating the performance cost (now disabled by default). Documented AutoName.
Matrix4x4F.lookAt can now be left- or right-handed
Matrix3x3 can now be set to a Matrix4x4. Matrix4x4.transformDirection now renormalizes as opposed to dividing by zero
Added missing element assignments in Matrix4x4F.frustum
Fixed bug in matrix multiplication with primitive args in Matrix4x4F and added corresponding reverse order function. Projection functions in Matrix4x4F no longer leave some elements unmodified.
Fixed bug where affine 4x4 matrices with nonzero translation were not inverted properly. Fixed bug where transforming a vector object using a non-affine 4x4 matrix did not perform the perspective divide. Fixed 4x4 matrix multiplication order being incorrectly documented. Added method to perform 4x4 matrix multiplication in the opposite order.
Added Matrix4x4F.translate(Vec2D). Added reflection cache utility to reduce garbage allocations involved in reflection machines.
Added mador functions to Vec utility
Added an assertion to help with debugging
Removed duplicate mix function (blend) and added modulation functions to ARGB
Added convenience function to get the enum count to EnumUtil. Changed DisposeListenerList to use an array instead of a list (implementation detail).
EventScript is now Disposable, updated interface and documentation to reflect this
Added write functionality to Struct utility. Changed a parameter name in CharEscaper for clarity.
Added ARGB to float buffer functions
Fixed possible deadlock in EventScript when calling cancel from an EventTask
Added boxed types utility
Changed ClasspathScanner to accept individual jar files/bin folders instead of folders containing jar files/bin folders
Fixed documentation error in autoname
Mutable cells now have no-args constructors
Add argb.mix
Add trig.asin
Fixed incorrect argb red colors. Added vec1.clamp.
Renamed Alignment.alignment to fixed
ARGB constants are now uppercase. Added Approach utility. Renamed Modulo.cyclic to Modulo.mod. Renamed Signed to Vec1 and refactored signatures+doc.
fixed typo in orange constant
Replaced ABGR8 with ARGB color utility
Improved abgr8
Added ABGR8 color utility
Split Catalog into disposable and generic version
Added Struct utility. Unsimplified ApplicationDirectoryFinder since the previous updates caused a bug.
Random documentation improvements
Added DigitalFormat utility. Simplified ApplicationDirectoryFinder. Removed Stream support from ObservableList. Moved EventScriptTest.
Set project encoding to utf-8
Added List Swapper function
Catalog is now a Collection. Fixed a bug in EasyGridLayout where grid spaces were not freed up by removing components.
Added 4-argument minmax functions. Added IOrderSet function to copy the contents to a different collection. CharEscaper now accepts CharSequences. Catalog items can now be removed, and the Catalog can be disposed (important for cases where the elements outlive the catalog).
Added Catalog utility class (retrieves objects of specific types from a set). Changed PackRect interface in touchingterimeter to receive the bin index as well as the position.
FileDelete.voraciousDelete now returns true if the file didn't exist in the first place
Eliminated temporary heap allocations in Matrix4x4F
Added a function to add a multiple of an orthogonal vector in Vec2D
Changed PropertyModifier doc
EventScript now allows multiple game threads
Added function for creating a Vec2D from an angle. Properties now have an equality checking method which handles arrays as expected.
Changed the behaviour of IOrderSet.first/last to return null instead of throwing a null pointer exception.
Added EventScript utility
Changed Trig.dir function to use -180 to 180 degree range instead of 0-360
Fixed RGBA bugs where the alpha was not checked in the valid function and the output of toHex was lowercase. Added vector direction functions for use cases where the distance is already known. Fixed bug where CharEscaper.find used hardcoded values instead of the CharEscaper properties. Improved the transaction ID system in SimpleUndoManager to make it easier for applications to track unsaved state.
Restructured vector classes following field testing: Removed floating point vector classes and offset-less static vector functions, renamed Vectors to Vec.
Added Alignment factory method. Changed the mechanism why which AutoName excluded classes are passed to make more sense.
Added intensity and premultiplied rgba functions
Added missing spherical coordinate space functions to Vec3F. Added more Vec3x functions for working with vector arrays.
Added slerp functions to Matrix3x3F. Fixed broken lookAt function in Matrix4x4F. Added function to apply a Matrix3X3F transform a Matrix4x4F (using matrix multiplication). Added more spherical coordinate function to Vec3D. Added dot product functions to Vectors class, and removed some offsetless functions.
Modified NaturalStringComparator implementation details for better debuggability
Added method Property.set(T, PropertyModifier). Scaling methods in ScalableSwing now accept doubles instead of ints.
Added exceptionless join utility. Added empty arrays utility. Tweaked AutoName utility to avoid generating names based on superclass constructor calls. Matrix4x4F clone method is now public.
Added String padding utility. Improved color utilities.
Changed Rethrow API: "throw rethrow(err)" should now be used in place of "return rethrow(err)". This change makes the Rethrow utility practical to use in constructors where the compiler would complain about uninitialized final variables.
Cleaned up the ClasspathScanner API: Checked exceptions are no longer thrown by the commonly used methods. Moved the classloader argument to the constructor. All constraints except the parent class are now provided via predicates.
Added color utils
Added classpath scanner utility.
Minor change to EnumUtil
Added printstream logger utility
Added EasyGridLayout and FilteredListModel
An exception can now be passed to fireChanged in ValueListenerList and ValueChangeListenerList
Added enum helper functions.
Changed Property constructor to not use the setValue method because this was an unambiguous detriment
Undo manager now uses checks for canUndo/canRedo in the undo/redo functions.
Fixed an inappropriate access modifier in Property
Added hidden annotation.
Added swing utility for DPI scaling.
Added autoname utility and buffered image formats utility.
Added string escaping utility
Added a search function to string escaping utility
Added shorthand strings to compass. Compass now implements the alignment interface.
Added some more squared distance functions to Trig.
Changed CubicSpline to use List instead of arrays.
Changed the range of the cubic spline offset parameter