Changes Report

Release History

Version Date Description
1.03.02 2019-10-31 SpotBus instead of FindBugs in Maven
1.03.01 2019-10-25
1.03.00 2019-10-19
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.03.02 – 2019-10-31

Type Changes By
Fix Ensured that "package-list" exists in apidocs for backward compatibility of javadoc linking. averbraeck
Fix Replaced FindBugs (which already had a problem supporting Java 8) with SpotBugs (supporting later Java versions as well). averbraeck
Update DJUNITS updated to 4.01.01. averbraeck
Update Included jakarta.annotation-api to be compatible with Java 11+. averbraeck
Fix tt-tag in javadoc replaced by code-tag to be compatible with HTML-5 and Java-11+. averbraeck
Fix javadoc source version 8 added to pom-file to be compatible with Java-11+. averbraeck

Release 1.03.01 – 2019-10-25

Type Changes By
Update DJUNITS updated to 4.01.00. averbraeck

Release 1.03.00 – 2019-10-19

Type Changes By
Update CliUnitConverters in djutils-ext have been regenerated. A @Generated tag has been added to each generated method. averbraeck

Release 1.03.00 – 2019-10-19

Type Changes By
Remove 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
Update DJUNITS has been updated to version 4.00.04, bringing major changes to the way vectors and matrices are stored and processed. averbraeck
Remove 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
Add 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
Update 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
Add 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
Add Added unit tests for djunits converters for the CLI package. Dimensionless can also parse just a number. averbraeck
Fix 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
Fix Repaired the code for the ClassFileDescriptor for paths with spaces. averbraeck
Add Added a unit test to see if folders with spaces can be found for the ClassFileDescriptor. averbraeck
Fix Repaired a bug for folders with spaces for the ClassFileDescriptor. averbraeck
Add Added unit tests for ClassUtil. averbraeck
Fix 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
Update 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

Release 1.02.02 – 2019-08-16

Type Changes By
Add ClassUtil has resolveAnnotation methods. averbraeck
Add CliUtil also resolved @Command and @Option annotations in a superclass. averbraeck

Release 1.02.01 – 2019-08-13

Type Changes By
Add ClassUtil got extra methods to retrieve information about a class file, e.g. the last changed date. averbraeck
Fix CliIUtil has been renamed to the correct CliUtil. averbraeck
Add Several helper methods have been added to CliUtil to change some of the @Options and @Command settings. averbraeck

Release 1.02.00 – 2019-08-11

Type Changes By
Add A project for more utility classes that require more dependencies called djutils-ext has been added. averbraeck
Add Classes for Command Line Interface parsing have been added. The classes are based on picocli. averbraeck
Add A utility class with converters for DJUTILS command line arguments has been added. With these converters, it is possible to e.g. specify --timeout=30s on the command line and convert the timeout to a DJUNITS Duration scalar. averbraeck

Release 1.01.03 – 2019-07-04

Type Changes By
Fix The byte[][] serialization destroyed the underlying data -- this has been repaired. averbraeck
Update The serializers have all been made strongly typed, avoiding casting. Or actually, the casting has been shifted to the encode method on a higher level. averbraeck

Release 1.01.02 – 2019-07-02

Type Changes By
Fix The ImmutableLinkedHashMap.values() was overriding a non-reproducible values() method from the ImmutableAbstractMap. The ImmutableLinkedHashMap now has its own values() method. averbraeck

Release 1.01.01 – 2019-07-01

Type Changes By
Fix The ImmutableLinkedHashMap returned a non-linked HashSet as EntrySet and as KeySet. This has been repaired. averbraeck
Fix The UTF-8 Strings in djutils-serialization have been improved. The UTF-8 String can now handle 1-byte, 2-byte, 3-byte and 4-byte characters. The length of the UTF-8 serialized bytes indicates the number of bytes. The length does not say anything about the number of characters. averbraeck
Fix The UTF-16 Strings in djutils-serialization have been improved. The UTF-16 String can now handle 2-byte and 4-byte characters. The length of the UTF-16 String indicates the number of 2-byte shorts in the array. The length does not say anything about the number of characters. averbraeck
Fix The byte array in djutils-serialization has been repaired. The underlying byte array was nulled during serialization. pknoppers
Add ObjectArraySerializer and ObjectMatrixSerializer added. pknoppers
Add SerialDataDumper added to provide insight into structure of the serialized data. pknoppers

Release 1.01.00 – 2019-06-21

Type Changes By
Add The djunits-serialization project has been added to serialize and deserialize different classes including djunits scalars, vectors and matrices in a strongly typed manner. pknoppers

Release 1.00.06 – 2019-05-10

Type Changes By
Add EntrySets have been added to the ImmutableMap classes. averbraeck
Update The keySet(), values() and entrySet() methods cache the results as these are often called. averbraeck

Release 1.00.05 – 2019-02-26

Type Changes By
Add The ImmutableCollections class has been added, which takes care of those functions of the Collections class that do not update the (immutable) collections that the methods receive as arguments. averbraeck

Release 1.00.04 – 2019-01-29

Type Changes By
Remove Cat class in the logger package belongs in dsol, not in djutils, so removed it. averbraeck

Release 1.00.03 – 2018-12-18

Type Changes By
Add The 'decoderdumper' package has been added to the djutils project, extending and replacing HexDump. pknoppers

Release 1.00.02 – 2019-01-17

Type Changes By
Add The CategoryLogger has been extended with a 'when(condition)' static method. A call like CategoryLogger.when(ok).always().info("Ok"); is now possible. averbraeck
Add The HexDump class has been added to djutils to create hexadecimal dumps of data. pknoppers
Update Copyright message changed to 2019. averbraeck

Release 1.00.01 – 2018-12-15

Type Changes By
Add The 'means' package has been added to the djutils project. pknoppers

Release 1.00.00 – 2018-11-17

Type Changes By
Add Several classes from other projects that are heavily shared between the projects, but not specific for one of the projects have been transferred to the djutils project. averbraeck