That's great, thank you for the feedback!

Gianluca Sartori
--
https://dueuno.com


On Thu, 19 Feb 2026 at 12:52, James Fredley <[email protected]> wrote:

> Yes on all apps run in Java 25, the underlying dependencies will hopefully
> be ready with updates for Grails 8:
> https://github.com/apache/grails-core/issues/15045
>
> Related
> https://github.com/apache/grails-core/issues/15343
> https://github.com/apache/grails-core/issues/15216
>
> James
>
> On 2026/02/19 11:00:57 Gianluca Sartori wrote:
> > Hi folks,
> >
> > I’ve noticed that when starting my Grails 7 applications with Java 25, my
> > console is flooded with warnings like:
> >
> > WARNING: Use of the three-letter time zone ID "EST" is deprecated and
> > it will be removed in a future release
> > WARNING: Use of the three-letter time zone ID "PST" is deprecated and
> > it will be removed in a future release
> > ...
> >
> > After investigation, I traced the cause using a debugger and stack
> traces.
> > The root cause is *Apache Commons Lang’s FastDateFormat /
> FastDateParser*,
> > specifically when used by *Grails’ DateMarshaller for XML*.
> >
> > Stack trace highlights:
> >
> > at java.util.TimeZone.getTimeZone(TimeZone.java:549)
> > at
> org.apache.commons.lang3.time.FastDateParser$TimeZoneStrategy.<init>(FastDateParser.java:531)
> > ...
> > at
> org.grails.web.converters.marshaller.xml.DateMarshaller.<init>(DateMarshaller.java:51)
> >
> > Explanation
> >
> >    -
> >
> >    FastDateParser internally maps *all three-letter short time zone IDs*
> >    (like PST, EST, MST) for legacy support.
> >    -
> >
> >    Modern JVMs (Java 17+) *deprecate these short IDs*, so every mapping
> >    triggers a warning.
> >    -
> >
> >    The warnings appear *at startup*, during Grails XML marshaller
> >    initialization, even if your code does not explicitly use those short
> IDs.
> >
> > This is why a clean Grails 7 application does *not* show the warnings —
> the
> > marshaller is not invoked until needed. In projects that use
> DateMarshaller
> > for XML/JSON, the warnings are printed immediately at startup.
> >
> > *---*
> >
> > *DISCLAIMER: I'm using AI to recap the issue but I've properly done the
> > investigation debugging java.util.TimeZone setting breakpoints at line
> 549
> > & 562.---*
> >
> > It looks like a problem with
> > org.grails.web.converters.marshaller.xml.DateMarshaller
> > in Java 25,is anyone else experiencing this?
> >
> > Cheers,
> > Gianluca
> >
> >
> > Gianluca Sartori
> > --
> > https://dueuno.com
> >
>

Reply via email to