<< Ah, NLink! | Home | Ah, Hudson >>

Is Your JDK US-DST-Change-Ready?

(Via someone from London)

Simon Brown: The US are changing the dates when daylight savings come into effect and, since the logic for calculating these dates is built-in to the Java runtime, your applications might be affected. Basically, you need to upgrade your Java runtime environment and further details about this can be found at U.S. Daylight Saving Time Changes in 2007.

The link Simon provided gives a lot of information about the implementation details of how time zones are handled. I spent about 15 minutes just reading and following internal links to find the information relevant to me (JDK 1.5.0_10). Here's what I found:

  • When were the US-DST 2007 Changes announced?
    • They were announced under the title U.S. Energy Policy Act of 2005.
    • The US-DST changes for 2007 were codified in Olson dataset 2005n.
    • The 2005n changes were incorporated into the Java SE platform updates 1.3.1_18, 1.4.2_11, 5.0u7.

and

  • Which versions of the Java SE platform are already USA 2007 DST ready?
    • Java SE 6 FCS is USA 2007 DST "ready"
    • Java SE 5.0 u6 and above are USA 2007 DST "ready"
    • Java SE update release v1.4.2_11 and above are USA 2007 DST "ready"
    • Java SE update release v1.3.1_18 and above are USA 2007 DST "ready"

It looks like I'm OK.

Tags :


Re: Is Your JDK US-DST-Change-Ready?

If anyone is upgrading their 1.4 JVM they might want to go ahead and move to JRE 1.4.2_13 instead.  There is a security issue with JRE 1.4.2_11.

From CERT (via a NIST link)

Buffer overflow in Sun JDK and Java Runtime Environment (JRE) 5.0 Update 9 and earlier, SDK and JRE 1.4.2_12 and earlier, and SDK and JRE 1.3.1_18 and earlier allows applets to gain privileges via a GIF image with a block with a 0 width field, which triggers memory corruption.

Re: Is Your JDK US-DST-Change-Ready?


Actually i read the same thing and it confused me greatly.  What do you think the difference is between USA 2007 DST "ready" and "US-DST changes for 2007 were codified in Olson dataset 2005n" (<span style="color: red;">5.0u7</span>).

My company is running JDK 5.0u6 -- which qualifies as 2007 DST "ready", but is one version before their claim that the 2005n changes were incorporated into the Java SE platform.  How do you interpret that?  What is the difference?  Would you guess that we are ok?

Re: Is Your JDK US-DST-Change-Ready?

I was confused as well by the inconsistency of the two answers I quoted in the FAQ. My first reaction was that one of them must be a typo or a mistake.

Since the FAQ did spell out that "5.0u6 is ready" I would assume 5.0u6 is ready. But then again I'm not running 5.0u6.

If I were running 5.0u6, I would either upgrade to the latest release available on the platform or seek some clarification from Sun if upgrade is impractical.

Re: Is Your JDK US-DST-Change-Ready?

> If I were running 5.0u6, I would either upgrade to the latest \
> release available on the platform or seek some clarification
> from Sun if upgrade is impractical.

Or simply run the small DST tzupdater.jar patch that Sun has provided. It updates the timezone data (if necessary) while leaving other system configuration and dependencies unchanged. It only works on Java versions >= 1.4.

(http://java.sun.com/javase/tzupdater_README.html)

Add a comment Send a TrackBack