Release History
Version |
Date |
Description |
1.06.31 |
2022-02-08 |
djunits update |
1.06.30 |
2022-01-22 |
Throw.throwUnchecked() method added |
1.06.29 |
2022-01-10 |
csv reading / writing; expanded test coverage in djutils-draw |
1.06.28 |
2021-09-16 |
Additions to djutils-draw |
1.06.27 |
2021-08-17 |
Fix and add in djutils-stats |
1.06.26 |
2021-07-19 |
Surface3d class in djutils-draw, FixedBinsAccumulator in djutils-stats |
1.06.26 |
2021-06-22 |
Better precondition checking in djutils-draw |
1.06.25 |
2021-06-14 |
Added 2d convex hull implementation to djutils-draw |
1.06.24 |
2021-04-08 |
Java generic hierarchy of draw classes modified |
1.06.23 |
2021-03-21 |
Changed filtering instantiate method into a constructor |
1.06.22 |
2021-03-14 |
wrote Complex class and PolynomialRoots class |
1.06.21 |
2021-03-05 |
replaced all DrawExceptions by DrawRuntimeExceptions |
1.06.20 |
2021-03-03 |
new methods in line package |
1.06.19 |
2021-02-23 |
Javadoc of Ray, Bezier create controlPoints fix |
1.06.18 |
2021-02-22 |
ToString methods, Ray3d epsilonEquals getPoints, Bounds from arrays and collections |
1.06.17 |
2021-02-20 |
Bounds reverted to original behavior |
1.06.16 |
2021-02-18 |
Project error in Polygon3d and error in Ray3d.flip |
1.06.15 |
2021-02-16 |
Rounding error in PolyLine3d |
1.06.14 |
2021-02-16 |
Rounding error in PolyLine3d |
1.06.13 |
2021-02-15 |
Project now implemented in all line types |
1.06.12 |
2021-02-11 |
Project now implemented in all line types |
1.06.11 |
2021-02-08 |
Fixed rounding problem in PolyLine3d.getLocation |
1.06.10 |
2021-02-05 |
Made phi and theta public in the Ray classes |
1.06.09 |
2021-02-04 |
Centralized projection methods, more flexible toString methods |
1.06.08 |
2021-01-28 |
Polygon2d and Polygon3d added |
1.06.07 |
2021-01-23 |
Fixed rounding problem in AngleUtil; Ray; OrientedPoint |
1.06.06 |
2021-01-02 |
Fixed ulp-error in time weighed statistics |
1.06.05 |
2020-12-29 |
Added methods to Point and Bounds interfaces in djutils-draw |
1.06.04 |
2020-12-28 |
Added midPoint methods to Bounds objects in djutils-draw |
1.06.03 |
2020-12-24 |
Added circleIntersections and directionTo methods to djutils-draw |
1.06.02 |
2020-12-22 |
Added intersectionOfLines method to djutils-draw |
1.06.01 |
2020-12-21 |
Made .x, .y and .z of Point accessible in djutils-draw |
1.06.00 |
2020-12-20 |
Additional way to interpolate angles; djutils-draw first version |
1.05.04 |
2020-08-22 |
EventInterface and EventTypeInterface used in a consequent manner |
1.05.03 |
2020-07-27 |
TraceVerifier added |
1.05.02 |
2020-05-16 |
Changed CSVReader/Writer |
1.05.01 |
2020-05-05 |
EventType and TimedEventType separated |
1.04.21 |
2020-05-05 |
MetaData construction with varargs |
1.04.20 |
2020-05-03 |
Added float and char payload for the fireEvent method |
1.04.19 |
2020-04-19 |
Metadata and ObjectDescriptor updates |
1.04.18 |
2020-04-18 |
Metadata expansions and fixes |
1.04.17 |
2020-04-06 |
Metadata fixes |
1.04.16 |
2020-04-06 |
Metadata fixes and expanded use |
1.04.15 |
2020-04-03 |
Metadata and Java-8 compatibility |
1.04.14 |
2020-03-08 |
timed events for timestamped statistics |
1.04.13 |
2020-03-07 |
extra events in djutils-stats; statistics formulas |
1.04.12 |
2020-03-03 |
several fixes in djutils-stats |
1.04.11 |
2020-03-03 |
djutils-data project added; Immutable.of() methods |
1.04.10 |
2020-02-29 |
djutils-stats project added; djutils-parent project for pom |
1.04.09 |
2020-02-10 |
MultiKeyMap added; EventType equals() and hashCode() |
1.04.08 |
2020-02-08 |
EventProducer access to listeners |
1.04.07 |
2020-02-07 |
EventProducerImpl; RemoteEventProducer; Profile class |
1.04.06 |
2020-02-04 |
CliUtil for subclasses |
1.04.05 |
2020-01-24 |
Comparator immutableTreeset; new units for serialization |
1.04.04 |
2020-01-19 |
EventProducer uses Serializable sourceId |
1.04.03 |
2020-01-17 |
RMIUtils, RMIObject and RemoteEvent updates |
1.04.02 |
2020-01-05 |
EventProducer cleanup; Logger updates |
1.04.01 |
2019-12-31 |
EventProducer serializability |
1.04.00 |
2019-12-30 |
DSOL Event package added to DJUTILS |
1.03.02 |
2019-10-31 |
SpotBugs instead of FindBugs in Maven |
1.03.01 |
2019-10-25 |
Updated DJUTILS to version 4 |
1.03.00 |
2019-10-19 |
@Generated annotations in code in djutils-cli |
1.03.00 |
2019-10-19 |
Little Endian (de)serialization; use of djunits v4 |
1.02.03 |
2019-09-14 |
CliUtil.execute with CommandLine object; unit tests |
1.02.02 |
2019-08-16 |
Resolving annotations |
1.02.01 |
2019-08-13 |
CLI helper methods, ClassFileDescriptor |
1.02.00 |
2019-08-11 |
djutils-ext project added; CLI code |
1.01.03 |
2019-07-04 |
byte[][] serialization repaired |
1.01.02 |
2019-07-02 |
ImmutableLinkedHashMap.values() repaired |
1.01.01 |
2019-07-01 |
ImmutableLinkedHashMap repaired; serialization of UTF-8, UTF-16 |
1.01.00 |
2019-06-21 |
djutils-serialization project added |
1.00.06 |
2019-05-10 |
EntrySets added; caching of keySet, values in Map |
1.00.05 |
2019-02-26 |
ImmutableCollections class added |
1.00.04 |
2019-01-29 |
Removed logger Cat class |
1.00.03 |
2018-12-18 |
DecoderDumper package |
1.00.02 |
2019-01-17 |
ConditionalLogger, HexDump |
1.00.01 |
2018-12-15 |
Means package |
1.00.00 |
2018-11-17 |
Initial release |
Release 1.04.11 – 2020-03-03
Type |
Changes |
By |
|
The djutils-data project contains classes for sampling, storing and retrieving statistics data.
For now, the main data type is a data table with column heading
information and records. |
wjschakel |
|
Separate packages to read/write the tables from the djutils-data project have been added for:
JSON, XML, and csv/tsv. Specific (de)serializers have been added
for primitive types, Number types,
String, DoubleScalar types and FloatScalar types. |
averbraeck |
|
static 'of' methods have been added to the Immutable collections, to have an easy instantiation method
for the collections. Example: ImmutableMap<Integer,
String> map = ImmutableMap.of(1, "value1", 2, "value2");
These static methods have been added to: ImmutableList, ImmutableSet, ImmutableSortedSet, ImmutableMap,
and ImmutableSortedMap. The
maps can take up to 8 key-value parameters, whereas the sets and lists
can take an unlimited number. |
averbraeck |
|
The Tally now has methods to request the skewness and kurtosis of the provided data. |
pknoppers |
Release 1.04.02 – 2020-01-05
Type |
Changes |
By |
|
Removed various redundant synchronized blocks from EventProducer.java (method was already synchronized). |
pknoppers |
|
More complete nullPointer checks in EventProducer.java; Javadoc cleanup in EventProducer.java |
pknoppers |
|
Removed the ConditionalLogger from the CategoryLogger and transfered the when(...) functions to
both the static Logger and the DelegateLogger class. |
pknoppers |
|
DelegateLogger did not consider the LogLevel correctly in deciding whether a message needed to be logged.
This has been repaired. Every logging method now
first checks whether the indicated log level is
included in the log levels that need to be shown. |
pknoppers |
|
CategoryLogger now has methods for adding and removing Writers, and listing which writers are available. |
pknoppers |
|
Expanded unit tests for CategoryLogger and EventProducer. |
pknoppers |
|
The explicit setting of log level and message formatter on individual writers in the CategoryLogger now works
as intended. The setAllLogMessageFormat and
setAllLogLevel methods in the CategoryWriter reset the values
for each individual Writer, as well as the global standard for next writers to be registered. |
averbraeck |
|
ClassUtil had a method called changeAnnotationValue to change the value of an annotation field value. This
method made changes to an internal data structure
that is not intended to be altered. From Java-13 onwards
a warning appears in the console for manipulating this data structure. Therefore the method has been removed. |
averbraeck |
|
The CliUtil class in djutils-ext used the changeAnnotationValue method from ClassUtil. Instead of changing
the internal data structure of the annotations, an
override map is now used to store the changes. This also
ensures that the code structure is reentrant: no structural changes have been made to the
appearance of the
loaded code (which the
changeAnnotationValue method did in a sense). |
averbraeck |
|
Methods to read the (overridden or original) program version, program name and program description
in @Command have been added to CliUtil. |
averbraeck |
Release 1.04.00 – 2019-12-30
Type |
Changes |
By |
|
The event package for pub/sub, originally the dsol-event package, has been added to DJUTILS and
will be removed from the next version of DSOL. |
averbraeck |
|
Many open issues in the DSOL event package has been fixed in the port to DJUTILS. Examples are adding
equals and hashCode methods for the TimedEvent, better
writeObject and readObject methods for the
EventListenerMap, repair of the failure to sometimes remove an EventListener from the EventProducer, etc. |
averbraeck |
|
Almost full unit test coverage has been added to the djunits event package. |
averbraeck |
|
The event producing collections in the event.util package now only fire events when additions or
removals actually took place, not just when the add / remove
/ put methods are called. |
averbraeck |
|
The EventProducingCollection, EventProducingList, EventProducingMap and EventProducingSet in the
event.util package also fire events when content in the
collections has changed. In that case,
a CHANGE_EVENT is fired. |
averbraeck |
|
The events of the event producing collections in the event.util package now have events that carry a
payload. The payload is the new number of entries in the
collection for the ADD_EVENT and REMOVE_EVENT.
The event's content is equal to null for the CHANGE_EVENT. |
averbraeck |
|
Since the boolean for strong versus weak references in the EventProducer was always unclear (does
true mean strong or weak?), it has been replaced by an enum. |
averbraeck |
|
Several of the underlying data structures of the djutils package have been changed from a HashMap
to a LinkedHashMap and from a HashSet to a LinkedHashSet to
guarantee reproducibility of results.
As an exception the ImmutableHashSet and ImmutableHashMap are still backed by unlinked variants,
as they explicitly are not reproducible. |
averbraeck |
|
DJUNITS updated to 4.01.03. |
averbraeck |
|
Extensive unit test coverage has been added for the ClassUtil class. Several errors have been repaired,
and the signature of a number of methods has changed
slightly (getAllMethods returns a List rather than
an array, for example). |
averbraeck |
Release 1.03.00 – 2019-10-19
Type |
Changes |
By |
|
Little-Endian types have been removed as FieldTypes in djutils-serialization. Instead, messages that
need to be decoded can indicate whether they want to
(de)code as Little-Endian or Big-Endian.
By default, following Java standards, djutils-serialization encodes in Big Endian (network byte order). |
averbraeck |
|
DJUNITS has been updated to version 4.00.04, bringing major changes to the way vectors and matrices
are stored and processed. |
averbraeck |
|
As a result of moving to DJUNITS-4, the Money units with their special encoding have been removed
temporarily. This also holds for the MoneyPerUnit types. |
averbraeck |
|
As a result of moving to DJUNITS-4, several new types have been added to the possible units to use:
AbsorbedDose, AmountOfSubstance, CatalyticActivity,
ElectricalCapacitance, ElectricalConductance,
ElectricalInductance, EquivalentDose, Illuminance, LuminousFlux, LuminousIntensity,
MagneticFluxDensity, MagneticFlux, and RadioActivity. |
averbraeck |
|
The package structure for djutils-serialization has been updated. Complex (de)serializers
have been coded in their own classes rather than in an inline class. |
averbraeck |
Release 1.02.03 – 2019-09-14
Type |
Changes |
By |
|
CliUtil in djutils-ext now has a method call with a CommandLine object. This enables e.g., the
registration of custom parameter converters. An example and
test is provided in
TestCLIRegisterConverters.java in the test package. |
averbraeck |
|
Added unit tests for djunits converters for the CLI package. Dimensionless can also parse just a number. |
averbraeck |
|
Unit tests with System.exit() were failing in Maven surefire. Surefire documents that System.exit()
calls cannot be tested. Therefore a Security Manager has
been implemented in the test class ExitHelper
for these tests that catches the System.Exit and turns it into an ExitException. |
averbraeck |
|
Repaired the code for the ClassFileDescriptor for paths with spaces. |
averbraeck |
|
Added a unit test to see if folders with spaces can be found for the ClassFileDescriptor. |
averbraeck |
|
Repaired a bug for folders with spaces for the ClassFileDescriptor. |
averbraeck |
|
Added unit tests for ClassUtil. |
averbraeck |
|
Repaired a number of bugs and changed some code in ClassUtil. It does not make sense to resolve
constructors of superclasses, as only constructors of a class
to be instantiated can be called.
Therefore all code that deals with constructors in superclasses has been removed. |
averbraeck |
|
The methods in ClassUtil that deal with visibility from a callerClass now throw an
IllegalAccessException when the method/field/constructor is not visible
from the callerClass
and a NoSuchMethodException or NoSuchFieldException when the method/constructor/field
cannot be found. |
averbraeck |