Lucee X 2: Announcing Lucee (final) and (RC)

What’s better than a Lucee release? Why, two Lucee releases, obviously!

#TheSummerHeatIsWearingOnMyHumor Today we’re announcing two Lucee releases, not because your trusty Product Manager is any kind of software shipping magician, but instead because he failed to post an announcement about the Release Candidate, which went live on July 16. All self-effacement aside, we did slow down a bit in terms of our development pace, mostly due to summer schedules and such.

First, backing up a bit, went live on July 16. (Note: The automated installers just got added today.) No regressions following the Release Candidate period. Here’s the listing of tickets addressed for this release:

Issue Reference Summary
LDEV-1876 Server.Coldfusion.SupportedLocales not supporting Welsh locale
LDEV-1854 javascript error in admin with heap/non heap graphs
LDEV-1838 cannot serialise CGI Scope
LDEV-1837 cannot serialze server.os.macAddress
LDEV-1830 cannot ObjectLoad a closure
LDEV-1810 ListFirst count invalid
LDEV-1803 toBase64 behaves differently with strings and numbers
LDEV-1797 Cannot run thread tags in member functions
LDEV-1787 trim long string in argument validation errors
LDEV-1715 abstract functions missing from component meta data
LDEV-1682 REFind - scope is missing
LDEV-1638 “dump format=”“text”" outputs HTML "
LDEV-1592 Possible DeserializeJSON problem
LDEV-1578 NPE at lucee.runtime.spooler.SpoolerEngineImpl.getFile()
LDEV-1565 Search in the Lucee Admin does not work anymore
LDEV-1497 Session variable not set after sessionrotate() within same request
LDEV-1494 cfajaxproxy throw error while try to access the component
LDEV-1467 “Regression? REMatch() bug LDEV-90 fixed in 4.5, still present in”
LDEV-1293 “ mishandles the ““template”” query”
LDEV-1281 “cfinput validate=”“email”" client-side JS should be case insensitive"
LDEV-1207 this.sessioncluster=true breaks sessions
LDEV-1143 Confusing Error Message with Partial Null Support and Debug Enabled
LDEV-1119 GetHttpRequestData().content sometimes empty when body content posted
LDEV-1092 STARTTLS command not executed for SMTP mail.
LDEV-1021 cfmail subject doesn’t sanitise new lines
LDEV-974 Support Adobe’s settings for JSON serialization
LDEV-630 “CF setting, this.smtpServerSettings, is missing from Lucee”
LDEV-398 SerializeJSON difference between ACF and Lucee
LDEV-215 Creating a datasource storage table does not create an index
LDEV-98 Saving an edit to a mapping does not return the user to the mappings list page
LDEV-95 CFHTTP doesn’t send username and password attributes as Basic Authentication header over SSL

Next, for the July sprint that just wrapped up, and produced (RC), we ended up having to push 10 incomplete tickets to the next sprint (September), but this was due not only to the summer slowdown I’ve mentioned (I promise I’ll stop complaining about summer schedules, just as soon as the temperature stops rising! :wink: ), but, also due to our re-prioritizing 8 other tickets, and adding them to the July sprint after it started. Many of these were urgent tickets for members, so as a reminder, membership has its benefits, as does sponsoring tickets (paid fixes).

Here’s the list of tickets tackled for the RC:

Issue Reference Summary
LDEV-1945 query currentrow NPE
LDEV-1934 Memory issues because queryobject contains a very large ArrayInt
LDEV-1923 Allow jars in extensions to be compressed with Pack200
LDEV-1922 Support core.lco to be compressed with Pack200
LDEV-1911 Custom tags implemented in Java that make use of TryCatchFinally throws exception
LDEV-1887 scheduled task ends unexpected
LDEV-1885 Error Message doesn’t clear in admin
LDEV-1875 “When session-storage datasource can’t be reached while sessionCluster=true, the error msg is incorrect”
LDEV-1872 Some Lucee Admin Images Are Missing (Again)
LDEV-1871 cffeed outputs entry.content.type attr twice in Atom
LDEV-1844 Chaining of member functions
LDEV-1833 cfstoredproc call for Oracle - ORA-06550
LDEV-1808 cffile - mimetype of empty 0 byte files incorrect in
LDEV-1778 CreateDynamicProxy(): no class defined exceptions when implementing core JDK interfaces
LDEV-1775 uninstalling a plugin doesn’t work or log
LDEV-1617 Function LSParseDateTime() is not thread safe
LDEV-1573 Support for Java 9
LDEV-794 CGI.HTTPS is not set
LDEV-623 support for Pack200 with bundled bundles
LDEV-571 Access to variables scope in onSessionStart() is not thread safe

Head on over the downloads site to grab either the 5.2.8 final release or the 5.2.9 RC.

Finally, it’s looking like we’ll be ready to move the 5.3 Beta ( to Release Candidate status as soon as this month, but we will post an update about that later in August if we do. Take a peek at the original 5.3 beta release post, or, look for more recent posts about 5.3 as well. If we are able to get that out the door in August, then that will very likely mean the end of the 5.2 release cycle, meaning the next sprint in September will produce a 5.3 RC.

As always, holler with questions, whisper with criticisms, but by all means let us know your thoughts. Thanks so much listening, and for continuing to love Lucee!


Are there any plans to make 5.3 available as a snapshot upgrade via the server admin before it reaches RC?

Hey Zac. I don’t think we were planning to incorporate 5.3 into the admin that soon, but, I will double check. cc @micstriit

Both of these releases are up on ForgeBox and ready for you to spin up via CommandBox.

start cfengine=lucee@5.2.8+50


start cfengine=lucee@5.2.9+29-RC

it would make initial testing of 5.3 much easier if we could simply update dev environments to 5.3 for testing.

I realize that the current update interface doesn’t easily accommodate this, perhaps there could be custom update provider url for anyone wanting to be a mine canary?



Good thoughts. Again, we’ll strike up some conversation about it internally. Stay tuned.

we will enable 5.3 for the admin and the download page asap (tomorrow).


Like I said, @Zackster, we’re planning to incorporate 5.3 into the admin very soon. :wink: :stuck_out_tongue: Thx for chiming in, @micstriit!

any plans to release is actually ready for release, but we were holding it until the installers and marketing was ready. In the past, Micha has always released the jar and lco artifacts as soon as they were complete and 100% of the time people would come on and say, “Why aren’t there any installers??!!” so we’re waiting now until we can release it all at once :slight_smile: I’ll check on the status of that.

Hi all. As it happens, I just emerged from a dev meeting, and we’re ready to release today! I’m working on the announcement now, so keep an eye out for the post. Should be later today, or possibly tomorrow morning (if the U.S. team misses the team in Europe later today).

1 Like

FYI: has a performance regression (LDEV-1971), so the release will be
@Zackster @bdw429s

1 Like

And, we’re live!

1 Like

Please note that Lucee IS the final version of There were a couple extra commits to fix a small regression that bumped the last version number of the final release.

I upgraded to Lucee and get an error that I did not get on the previous versions (it was written in 2004 and worked in all version of coldfusion, and lucee up to now…).
I did not reboot after upgrading (do you have to? I upgraded in the administrator). Any time I try to use COM I get an error:

<cfset photopath = 'C:\home\photos2018'>
<cfoutput>photopath = #photopath#  exists: #folderexists(photopath)# </cfoutput>
function FolderExists(folder)
  Var fso  = CreateObject("COM", "Scripting.FileSystemObject");
  if (fso.FolderExists(folder)){ Return True;  }
  else { Return False;  }

The error is:

Lucee Error (java.lang.NoClassDefFoundError)
Message	Could not initialize class
Stacktrace	The Error Occurred in
C:\home\wwwroot\admin\bug1.cfm: line 27 
25: function FolderExists(folder)
26: {
27: Var fso = CreateObject("COM", "Scripting.FileSystemObject");
28: if (fso.FolderExists(folder)){
29: Return True;

called from C:\home\wwwroot\admin\bug1.cfm: line 7 
Java Stacktrace	lucee.runtime.exp.NativeException: Could not initialize class
 	at lucee.runtime.functions.other.CreateObject.doCOM(
 	at admin.bug1_cfm$cf.udfCall(/admin/bug1.cfm:27)
 	at lucee.runtime.type.UDFImpl.implementation(
 	at lucee.runtime.type.UDFImpl._call(
 	at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(
 	at lucee.runtime.PageContextImpl.getFunction(
 	at admin.bug1_cfm$
 	at lucee.runtime.PageContextImpl._doInclude(
 	at lucee.runtime.PageContextImpl._doInclude(
 	at lucee.runtime.listener.ClassicAppListener._onRequest(
 	at lucee.runtime.listener.MixedAppListener.onRequest(
 	at lucee.runtime.PageContextImpl.execute(
 	at lucee.runtime.PageContextImpl._execute(
 	at lucee.runtime.PageContextImpl.executeCFML(
 	at lucee.runtime.engine.Request.exe(
 	at lucee.runtime.engine.CFMLEngineImpl._service(
 	at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(
 	at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(
 	at lucee.loader.servlet.CFMLServlet.service(
 	at javax.servlet.http.HttpServlet.service(
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(
 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(
 	at org.apache.catalina.core.StandardWrapperValve.invoke(
 	at org.apache.catalina.core.StandardContextValve.invoke(
 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
 	at org.apache.catalina.core.StandardHostValve.invoke(
 	at org.apache.catalina.valves.ErrorReportValve.invoke(
 	at org.apache.catalina.core.StandardEngineValve.invoke(
 	at org.apache.catalina.connector.CoyoteAdapter.service(
 	at org.apache.coyote.ajp.AjpProcessor.service(
 	at org.apache.coyote.AbstractProcessorLight.process(
 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
 	at java.util.concurrent.ThreadPoolExecutor.runWorker(
 	at java.util.concurrent.ThreadPoolExecutor$
 	at org.apache.tomcat.util.threads.TaskThread$
 Caused by: java.lang.NoClassDefFoundError: Could not initialize class
 	... 46 more