T2 LIBRARY RELEASE NOTES

Copyright 2011-2017 Hauser Olsson GmbH.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

ABOUT VERSION NUMBERS

Version numbers are in 3 parts: a major, a medium, and a minor number. The major number is incremented very rarely, when the software is modified in such a way that clients using it need to be recoded or even redesigned. The medium number is incremented when modifications break backward compatibility. For all other modifications, only the minor number is incremented.


2017-10-05/jpv

Version 2.0.0 — Elimination of singletons and support for nanoseconds

This is a major release which breaks compatibility with version 1. Applications moving to version 2 need to reorganize their imports. If they use factory methods to create time domains or time series, some recoding is necessary.

The release consists of three JARs:

There is also a new version of the Time2 Library Demos:

The following points summarize the changes.

  1. Time domain factories, which were implemented as singletons, and had some synchronized methods, have been eliminated. Similar functionality is now provided by TimeDomainCatalog. Applications create a subclass of ImmutableTimeDomainCatalog and pass it to the relevant constructor. A catalog is provided out the box in DefaultTimeDomainCatalog. Refer to SummerWinterOlympics in t2-demo for a simple example of using a time domain catalog.

  2. ExternalTimeFormat has been replaced by TimeScanner and TimeFormatter.

  3. TimeSeriesFactory has been eliminated. Time series are now created with public constructors of RegularTimeSeries and SparseTimeSeries. A static factory method is provided by AbstractTimeSeries#make.

  4. A TimeParts object is now immutable.

  5. All classes of package ch.agent.t2.time.engine have been moved up one package and the package eliminated.

  6. All non-essential classes in package ch.agent.t2.time have been moved to package ch.agent.t2.applied.

  7. Nanosecond resolution is now supported (Resolution#NSEC). Nanosecond time starts in year 2000 and extends a few years beyond 2200.

  8. All Maven plugins have been upgraded (pom.xml).

  9. The release includes various other fixes and improvements.


2013-01-07/jpv

Version 1.1.7 — Documentation and test cleanup

This is a maintenance release which behaves exactly like the previous version and is plug-compatible for applications. Various errors in the javadoc comments have been fixed. Unit tests have been slightly modified to avoid writing on standard output. The administrative information included in files is now limited to a copyright notice. Version tags have been removed from all files, because their maintenance cost greatly exceeds their value. Complete file history is available from the SCM (git).


2012-09-07/jpv

Version 1.1.6 — Software deployed to the central maven repository

This is a maintenance release which behaves exactly like the previous version and is plug-compatible for applications. The POM file has been modified to agree with requirements for deployment to the central maven repository. Various typos in the documentation have been fixed.

The release consists of three JARs:

There is also a new version of the Time2 Library Demos:


2012-08-28/jpv

Version 1.1.5 — Project migrated to Maven

This is a maintenance release which behaves exactly like the previous version and is plug-compatible for applications. The organization of source files has been modified to agree with the standard recommended by Apache Maven.

The release consists of two JARs:

It was necessary to increment version numbers because the JAR checksums are different, due to small differences related to builders. Another change is in the name of the source JAR. The suffix has been modified and is now -sources.jar. Previously it was .source.jar.

There is also a new version of the Time2 Library Demos:


2012-03-21/jpv

Version 1.1.4 — New exception type and refactoring of diagnostic message management

This is a maintenance release which behaves exactly like the previous version and is plug-compatible for applications.

Methods of the Time2 library now throw a T2Exception instead of a KeyedException. The new exception extends the former, so there is no compatibility issue. Starting with this version, messages are prepared only when (and if) actually used. Because preparation includes fetching the message from the resource bundle and formatting the text using parameters, this change has a positive effective on performance. Within the sofware messages are now keyed symbolically.

The release consists of two jars:

Compared to version 1.1.3, the following files have been modified (new file version number in parentheses):


2011-11-30/jpv

Version 1.1.3 — Utility class for scanning dates and times in unusual formats

A class has been added to the utility package to provide support for scanning dates and times in unusual formats.

The release consists of two jars:

Compared to version 1.1.2, the following files have been modified (new file version number in parentheses):


2011-10-10/jpv

Version 1.1.2 — Support for ISO 8601:2004 calendar dates and times

Starting today, release notes are sorted with the most recent release first.

The new version supports the representation for calendar dates and times defined in the ISO 8601:2004 international standard. Dates and times can be input using the basic or extended format. Leap seconds are tolerated. Time zone offsets are supported. A complete description is available from the class documentation of DefaultExternalFormat.

The release consists of two jars:

Compared to version 1.1.1, the following files have been modified (new file version number in parentheses):


2011-09-21/jpv

Version 1.1.1 — Times from different domains now comparable

The new version provides a functional improvement in the comparison of times. It also includes various bug fixes and documentation improvements.

The release consists of two jars:

Compared to version 1.1.0, the following files have been modified (new file version number in parentheses):


2011-08-22/jpv

Version 1.1.0 — Null elements forbidden unless they represent a missing value

There is now a consistently enforced rule that elements of time series cannot be null unless null has been defined to represent missing values. The rule is not new, but its implementation has been cleaned up.

The new version of the library includes modifications in TimeIndexable and RegularTimeSeries which are not backward compatible. These changes are highlighted below.

Various pieces of javadoc comment have been updated.

The release consists of two jars:

Compared to version 1.0.0, the following files have been modified (new file version number in parentheses):


2011-08-17/jpv

The same version (1.0.0) of the Time2 Library is released again. The library version number is now encoded into the names of jars, a README file and RELEASE NOTES have been added to the library, and line terminators in a few files have been standardized. The release consists of two jars:

Compared to the 2011-07-15 release,


2011-07-15/jpv

The Time2 Library is released as a beta version on SourceForge http://time2.sourceforge.net. The release consists of two jars:

Updated: 2012-08-28/jpv