Lucee 7.0.3.43-RC available for testing

This release candidate includes 25 fixes and improvements since 7.0.3.0, with a strong focus on classloader/memory stability, OSGi/Felix reliability, ORM connection handling, archive mapping fixes, and admin improvements.

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

Docker and Installers Bundle

  • Java 21.0.10+7-LTS
  • Tomcat 11.0.20

Highlights

Classloader & Memory

  • LDEV-6133 - PhysicalClassLoaders accumulate in memory and are never released when no longer needed
  • LDEV-6190 - PhysicalClassLoaderFactory returns closed classloader after flush
  • LDEV-6168 - Remove static NativeException LRUMap cache

OSGi & Felix

  • LDEV-5696 - Felix cache is listing previous core versions as bundles
  • LDEV-6144 - CFMLEngineFactory.getFelix() returns unstarted Felix after clearing corrupted cache, causing NPE
  • LDEV-6147 - ExtensionProvider.last() prefers SNAPSHOT over release when resolving latest extension
  • LDEV-6136 - Regression: Extension bundle name change breaks ehcache (and potentially mongodb) cache configs
  • LDEV-6165 - Regression BundleException: archive-sample1.lar is not a valid bundle

Threading & Request Handling

  • LDEV-6135 - Regression: Threading via CFTHREAD stability issues in Lucee 7
  • LDEV-6155 - Request timeout race condition in StopThread causes spurious timeout exceptions
  • LDEV-6086 - InternalRequest swallows RequestTimeoutException exceptions

ORM

  • LDEV-6138 - ORM DatasourceManagerImpl.releaseConnection() leaks unmanaged connections when autoCommit=false
  • LDEV-6139 - releaseORM() skips closeAll() when flushAll() throws, leaking ORM session connections

Archive & Mapping

  • LDEV-6172 - MappingImpl.initPhysical() overrides physicalFirst before archive initialises
  • LDEV-6176 - Admin “Create Archive” produces nested zip path instead of filesystem path
  • LDEV-6171 - NoSuchMethodError: pushBody() when executing .lar compiled for javax in Jakarta environment (Lucee 7)

Method Resolution

  • LDEV-6121 - ClazzDynamic.getMethod skips argument count check (self-comparison bug)
  • LDEV-6201 - Clazz.getMethod cache key missing class identity causes cross-class method pollution

Bug Fixes

  • LDEV-6123 - int() function silently truncates large numbers outside 32-bit range
  • LDEV-6177 - Security > Access: temp directory repeatedly appended to custom directories
  • LDEV-6196 - cfsearch contextHighlightBegin/contextHighlightEnd markers not applied to search results
  • LDEV-6200 - MavenUtil.createLastUpdated() fails when parent directory doesn’t exist

Enhancements

  • LDEV-6150 - Add HTTP connection pool stats to getSystemMetrics()
  • LDEV-6143 - Admin Extension download error message now includes connection failure detail
  • LDEV-5345 - getPropertyString() getPropertyfile() & setPropertyString()

Full changelog: https://download.lucee.org/changelog/?version=7.0

New 7.0.3+ Extensions

Testing

Please give this RC a spin and report any issues on the Lucee Dev Forum. Your feedback helps us ship a solid stable release!

2 Likes

The last couple of times I’ve tried upgrading Lucee 7.0.2.x, on the run of some code I end up getting a very strange stacktrace that indicates issues with framing (I think that’s the word it uses, but the exceptions do not appear in any log that I can find).

The issue appears to be related to a template caching. If you refresh the page request the error goes away.

This happens has happened when updating via Lucee Admin or updating manually by updating the lucee.jar.

My feeling is there’s a cache folder somewhere that needs purged. I currently purge the following folders:

/server/lucee-server/context/cache/
/server/lucee-server/context/cfclasses/
/server/lucee-server/context/dynclasses/
/server/lucee-server/context/mvn/cache/
/server/lucee-server/context/temp/
/server/lucee-server/patches/
/server/lucee-server/felix-cache/

Is there a folder I’m missing that should be purged as well to ensure that everything is re-compiled with the new version of Lucee?

hmmm, any stacktraces would really shed some light

there are some nice lar / osgi related fixes in 7.0.3

I realize the lack of a stacktrace is problematic. That’s why I was searching the log files.

The problem is my load tests triggered them this round and they do not appear captured anywhere.

I will say my in 7.0.3.43-RC, my out.log is filling up with:

2026-03-31 14:02:56.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:02:56.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:02:56.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:02.4 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:02.4 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:02.4 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:07.7 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:07.8 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:07.8 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:13.2 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:13.2 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:13.2 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:18.6 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:18.6 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:18.6 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:23.9 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:23.9 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:23.9 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:29.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:29.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:29.5 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]
2026-03-31 14:03:34.9 lucee.runtime.config.ConfigFactoryImpl read the config file [/opt/lucee/config/server/lucee-server/context/.CFConfig.json]

5 posts were split to a new topic: Fusion Refactor seem to causes bytecode error with Lucee 7 and Java 25