Lucee 6.2.5.48 - Stable LTS Release

Download: https://download.lucee.org/

Full Changelog: Lucee Server Changelogs - 6.2

Lucee 6.2.5.48 is the stable LTS release following two release candidates. This release focuses heavily on datasource connection pool reliability, classloader / memory, MSSQL compatibility, session management, and admin/extension improvements.

We are still addressing a few last issues with Lucee 7.0.2, it’s almost stable!.

image

Docker and Installers Bundle

  • Java 21.0.10+7-LTS ( 6.2 supports up to Java 24 , Java 25 requires Lucee 7 )
  • Tomcat 11.0.18

Support Lucee

Firstly, huge shout out to everyone in the community who has been collaborating with the Lucee Team with great bug reports, testing and feedback!

Changelog

Datasource & Connection Pool

A major focus of this release was overhauling the datasource connection pool behaviour, fixing several critical bugs that could cause connection leaks, deadlocks, and thread starvation.

  • LDEV-5962 - Connection pool config defaults cause connectionLimit to be ignored, causing threads to block indefinitely
  • LDEV-5963 - idleTimeout and connectionTimeout were ignored due to the pool evictor being disabled
  • LDEV-5964 - Session datasource connections could deadlock
  • LDEV-5965 - Datasource connection validation exceptions should reject the connection rather than silently reuse it
  • LDEV-5966 - Request timeout could leave phantom connections in the pool
  • LDEV-5991 - Datasource idleTimeout default of 1 minute was too aggressive, causing unnecessary connection churn
  • LDEV-6051 - Default maxIdle to connectionLimit for better connection reuse
  • LDEV-6057 - NullPointerException when a datasource defined in CFConfig.json is missing host or port
  • LDEV-6066 - Streamlined verifyDatasource internals

MSSQL

  • LDEV-5970 - MSSQL JDBC 13.2.1 throws “result set is closed” when using lucee.datasource.mssql.modern=true
  • LDEV-5972 - Fix MSSQL Modern Mode properly

Session Management

  • LDEV-6046 - sessionInvalidate() failed to deactivate the old session when using database session storage
  • LDEV-6026 - Added system property lucee.session.scope.complex.warn to control the session scope complex values warning logging (also in 6.2.4.24)

Cache

  • LDEV-6020 - cachedWithinFlush() returned false with struct arguments on multi-argument functions
  • LDEV-6021 - cacheGetDefaultCacheName() did not recognise application-level default caches

Admin & Extensions

  • LDEV-6065 - Admin should not allow null support to be overridden via Application.cfc
  • LDEV-6067 - Added admin update notification test
  • LDEV-6068 - Refactored admin update version handling
  • LDEV-6069 - Extension update check incorrectly reported a downgrade as an upgrade due to inconsistent version padding
  • LDEV-6073 - Page /lucee/formtag-form.cfm missing with form extension since Lucee 6.2.4 (form tag regression)
  • LDEV-6120 - Added support for jakarta-tag-class and javax-tag-class in TLD files, allowing a single extension to target both Lucee 6 (javax) and Lucee 7 (jakarta) servlet APIs

Bug Fixes

  • LDEV-5903 - Repeated class loading issues causing memory leaks in Lucee 6
  • LDEV-6043 - DecimalFormat returned wrong values for numbers >= 10,000,000 due to silent scientific notation conversion
  • LDEV-6048 - Lucee loader version checks had inverted logic and confusing error messages
  • LDEV-6063 - cfflush forced Connection: close, breaking HTTP keep-alive
  • LDEV-6097 - StackOverflowError when duplicating a CatchBlock with a cause chain
  • LDEV-5976 - Error merging cfconfig.json
  • LDEV-6056 - Fix regression: invalid PageSource equals check and mapping comparison causing incorrect page resolution
  • LDEV-6072 - PageSourceImpl missing hashCode() override causing incorrect equality checks

Extensions Bundled

Upgrading

This is a drop-in upgrade for Lucee 6.2.x. Download from https://download.lucee.org/

If you are running a datasource-heavy application, review your connection pool settings after upgrading — several defaults have been corrected and you may want to tune idleTimeout, connectionLimit, and maxIdle explicitly.

Git Changes

6.2.6 Sprint

https://luceeserver.atlassian.net/jira/software/c/projects/LDEV/boards/53?sprints=276&useStoredSettings=true

Roadmap

10 Likes

Great news !

Rolling out to our non-live sites today :slight_smile:

2 Likes

So far, no notes; working fine in live.

3 Likes

Great News Zack. Thanks.
We are deploying and will feedback with any issues.

keep in mind there have been a few important regression and bug fixes since the release, aiming for quick 6.2.6 and 7.0.3 RCs soon

https://download.lucee.org/changelog/?version=6.2

1 Like

I can confirm at least one of those issues in live, with the current v6.2 release. Looking for for the new there are now in the application log, the reported PhysicalClassLoader with key count is constantly ticking up.

Would you say Lucee 6.2.6.7-SNAPSHOT is reasonably stable (being a snapshot) ? I like to have read-only Friday’s, but we might look at getting this on some of our sites next week.

1 Like

It’s RC level

2 Likes

That’s great. If it’s likely all or almost all of the changes from v6.2.5.48 to 6.2.6 are in 6.2.6.9-SNAPSHOT then we’ll get our prelive systems upgraded this week