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.
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.
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:
t2-2.0.0.jar
(binaries)t2-2.0.0-javadoc.jar
t2-2.0.0-sources.jar
There is also a new version of the Time2 Library Demos:
t2-demo-2.0.0.jar
(binaries)t2-demo-2.0.0-javadoc.jar
t2-demo-2.0.0-sources.jar
The following points summarize the changes.
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.
ExternalTimeFormat
has been replaced by TimeScanner
and TimeFormatter
.
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
.
A TimeParts
object is now immutable.
All classes of package ch.agent.t2.time.engine
have been moved up one
package and the package eliminated.
All non-essential classes in package ch.agent.t2.time
have been moved
to package ch.agent.t2.applied
.
Nanosecond resolution is now supported (Resolution#NSEC
). Nanosecond
time starts in year 2000 and extends a few years beyond 2200.
All Maven plugins have been upgraded (pom.xml
).
The release includes various other fixes and improvements.
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).
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:
t2-1.1.6.jar
(binaries)t2-1.1.6-javadoc.jar
t2-1.1.6-sources.jar
There is also a new version of the Time2 Library Demos:
t2-demo-1.0.2.jar
(binaries)t2-demo-1.0.2-javadoc.jar
t2-demo-1.0.2-sources.jar
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:
t2-1.1.5.jar
(binaries)t2-1.1.5-sources.jar
(sources only)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:
t2-demo-1.0.1.jar
(binaries)t2-demo-1.0.1-sources.jar
(sources only)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:
t2-1.1.4.jar
(binaries)t2-1.1.4.source.jar
(sources only)Compared to version 1.1.3, the following files have been modified (new file version number in parentheses):
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:
t2-1.1.3.jar
(binaries)t2-1.1.3.source.jar
(sources only)Compared to version 1.1.2, the following files have been modified (new file version number in parentheses):
ch/agent/t2/T2Msg.properties (1.0.4)
ch/agent/t2/timeutil/DateTimeScanner.java (1.0.0)
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:
t2-1.1.2.jar
(binaries)t2-1.1.2.source.jar
(sources only)Compared to version 1.1.1, the following files have been modified (new file version number in parentheses):
ch/agent/t2/T2Msg.properties (1.0.3)
ch/agent/t2/time/DefaultExternalFormat.java (1.0.1)
ch/agent/t2/time/TimeParts.java (1.0.1)
ch/agent/t2/time/engine/Time2.java (1.0.2)
ch/agent/t2/time/engine/TimeFactory.java (1.0.2)
ch/agent/t2/time/engine/TimeTools.java (1.0.1)
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:
t2-1.1.1.jar
(binaries)t2-1.1.1.source.jar
(sources only)Compared to version 1.1.0, the following files have been modified (new file version number in parentheses):
ch/agent/t2/T2Msg.properties (1.0.2)
ch/agent/t2/time/TimeDomain.java (1.0.1)
ch/agent/t2/time/TimeDomainDefinition.java (1.0.1)
ch/agent/t2/time/engine/Time2.java (1.0.1)
ch/agent/t2/time/engine/TimeFactory.java (1.0.1)
ch/agent/t2/timeseries/RegularTimeSeries.java (1.1.1)
ch/agent/t2/time/timeutil/DayExpression.java (1.0.1)
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:
t2-1.1.0.jar
(binaries)t2-1.1.0.source.jar
(sources only)Compared to version 1.0.0, the following files have been modified (new file version number in parentheses):
ch/agent/t2/T2Msg.properties (1.0.1)
ch/agent/t2/time/{Adjustment, Resolution}.java (1.0.1)
ch/agent/t2/time/Range.java (1.0.1)
ch/agent/t2/timeseries/AbstractTimeSeries.java (1.0.1)
ch/agent/t2/timeseries/Filler.java (1.0.1)
ch/agent/t2/timeseries/RegularTimeSeries.java (1.1.0)
ch/agent/t2/timeseries/SparseTimeSeries (1.0.1)
ch/agent/t2/timeseries/TimeAddressable.java (1.0.1)
ch/agent/t2/timeseries/TimeIndexable.java (1.1.0)
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:
t2-1.0.0.jar
(binaries)t2-1.0.0.source.jar
(sources only)Compared to the 2011-07-15 release,
2 files have been added to the libraries:
README_1st.html
RELEASE_NOTES_v1.html
and in 4 files, line terminators have been cleaned up (CRLFs replaced with LFs):
The Time2 Library is released as a beta version on SourceForge http://time2.sourceforge.net. The release consists of two jars:
t2.jar
(binaries)t2source.jar
(sources only)Updated: 2012-08-28/jpv