Announcing Lucee 5.3.1.87-RC

Greetings again, Lucee-zens!

(Still no definitive winner in the race to nickname ourselves, so I’m just randomly rotating nicknames with each post I write.)

Image result for time flies but you are the pilot

Remember when I complained about the summer heat in my last release post? Time flies when you’re having fun, and now winter is fast approaching, which means we’re heading into the final stretch of the 2018 Lucee development schedule. We. Are. Ending. With. A. Bang. Actually–we’re ending with a Kabang, in case you missed the original post about Lucee 5.3’s beta release in May.

Today we’re announcing the first Release Candidate of 2018’s new minor version of Lucee–5.3 (5.3.1.87)

New minor versions are always an exciting time for us (second only to major versions, of course), because they allow us to tackle much bigger improvements to Lucee, and this is certainly true for 5.3, which includes a dizzying number of enhancements–everything from administrator improvements like new monitoring and debugging options, a new PDF engine, support for newer Java versions, etc.–along with, as always, lots of fixes and fine-tuning.

From the initial alpha builds, all the way through to this RC, the development team addressed a staggering 97 tickets, including a handful of tasks that had been nagging us (not to mention you!) for some time now. If you’ve been active with 5.3 releases, then here’s the final list of tickets resolved in the just-completed September sprint (which produced the 5.3 RC):

Ticket Summary
LDEV-2043 writable cgi scope case sensitive
LDEV-2033 Scheduled tasks create page doesn’t redirected to list page after creating
LDEV-1998 Lucee 5 ConcurrentHashMapPro needs to be upgraded
LDEV-1996 bad Performance with session/client storage release
LDEV-1993 No matching function setEntityName()
LDEV-1986 add support for cascading redirects with core downloads
LDEV-1984 ORMEvictEntity throws Unknown Entity for All Entities
LDEV-1980 cfdbinfo ignores datasource
LDEV-1969 cannot address a struct inside a query
LDEV-1964 Extension download Image Mess in lucee 5.3
LDEV-1963 Lucee 5.3 can’t able to type “/” in any text area
LDEV-1962 Generated accessors keep references to old CFC when mixed into another CFC’s variable’s scope
LDEV-1961 merge url and port of scheduled task in admin
LDEV-1958 Captcha does not work in Lucee admin anymore
LDEV-1957 newLine() produces wrong result on Windows
LDEV-1942 Full Null support and structDelete variable of session
LDEV-1912 <cfdump> to file does not append to output
LDEV-1908 CFMAIL/CFMAILPART do not respect WRAPTEXT values for TYPE=“HTML”
LDEV-1906 Cannot duplicate image object created with imageNew()
LDEV-1902 Server Admin - Services - SSL Certificates minor loading issue
LDEV-1900 Admin debugging logs detail view is missing FORM and URL variables
LDEV-1897 deserializeJSON() member function missing from strings in Lucee 5
LDEV-1893 Display: Memory more than 100%
LDEV-1892 structAppend against an array fails silently
LDEV-1891 Dump style tag & Script added with response
LDEV-1855 ORM cache error when secondary cache is enabled and autoManageSession/flushAtRequestEnd are false
LDEV-1849 cfdocument + https images not working in Java 9+ (PD4ML)
LDEV-1794 CachePut on Infinispan Cache throws a warning “REMOVE” could result in inconsistency
LDEV-1793 EntityLoadByPK accepts ID of type string only, while PK is of binary type.
LDEV-1714 when updating, update deploy.log with lucee version information
LDEV-1650 Application-defined datasources not available in the psuedo-constructor
LDEV-1575 EHCache replication works only for simple datatypes
LDEV-1562 Fonts in cfdocument can’t be used in all elements
LDEV-1522 Elvis Operator fails with result from Function
LDEV-1429 class redefinition failed: attempted to change superclass or interfaces
LDEV-1138 Lucee 5 not always registering java agent automatically
LDEV-742 If SQL Server DB is restarted, lucee app doesn’t recover nicely

To see the full breadth and depth of development baked into 5.3.1.87-RC, here’s the full list of 97 tickets resolved.

Also, if you haven’t been following the Lucee YouTube channel, the list of product videos is growing, including several related to 5.3 specifically.

5.3.1.87-RC went live on October 19, 2018, so please head over the the new-and-improved downloads site and grab a copy! Since this is a significant new release, we’re going to keep this one in RC status for a bit longer than planned, and we’ll finish 2018 with a final release of 5.3.1, along with a 5.3.2 Release Candidate. We welcome as much 5.3 testing and feedback as we can get from our beloved community!

Thanks so much for listening, and thanks as always for your interest in Lucee.

Best,
Patrick Quinn
Lucee Product Manager

3 Likes

Specifically which ones? Is it just 9? I’ve seen references saying “Java 9+” does that “plus” include 10 and 11 too?

I’m most interested about support for OpenJDK 11 (as are, I imagine, most of us…)

@Leftbower Pretty sure that includes Java 9, 10, and 11. I saw Micha talking about fixes he needed to put into place for Java 11 so I know he was testing it. Note there is some support for Java 9, 10, and 11 in 5.2.9 which I’ve tested on CommandBox but there’s at least one issue which is related to the automatic instrumentation that requires a JVM prop to be set.

I’ll get the full/final list, @Leftbower. Java 8 is a minimum requirement for 5.3 (1.7 no longer supported), and it definitely works with Java 9, but again I’ll list the full details here. cc @micstriit

Thanks Brad - I saw some of that too, but nothing seemed definitive as to 10 or 11. There was also this:
https://luceeserver.atlassian.net/browse/LDEV-1978

which shows as IN DEVELOPMENT

Thanks

there are currently some major blockers relating to when debugging is enabled with 5.3,
basically it’s often unusable after some requests depending on the nature of application

GC Overhead limit exceeded with debugging enabled
https://luceeserver.atlassian.net/browse/LDEV-1990

Lucee admin debugging logs new scope dump feature needs setting to disable it.
https://luceeserver.atlassian.net/browse/LDEV-2049

This 2 videos are specific to Lucee 5.3

We support Java 8-11 with Lucee 5.3, we also updated Tomcat bundled with Lucee Express and the Installers.

@Zackster we will look into it, thanks for the input

Great to hear 11 is supported. Will test it this week…

1 Like

Using OpenJDK 11 and Tomcat 9.0.12, Lucee 5.3.2.8-SNAPSHOT produces the following apparently harmless warnings on startup:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/C:/dev/lucee/WEB-INF/lib/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

but otherwise seems to be running spot on!

Looks Good

Lucee 5.3 looks great, we use a lot of XMLParse in our application., obviously this support is gone. What do you recommend to have XMLParse supported?

XMLParse in our application., obviously this support is gone

Eh ? I must have missed the depreciation discussion for a previous release as well.
Where was the huge flashing red letters in the change log that a core function was being removed ?
Have you told the CFDocs.org folks ?

Removing XMLParsers I’ve seen in this video

No, XMLParse is still in there, the external jars have been removed and now it’s using the internal JVM xml parsing functionality. It hasn’t been removed as a function.

Yep, Can confirm that XMLParse works in Lucee 5.3.2.8-SNAPSHOT

<cfsavecontent  variable="blob">
	<tag>
		<tagthing><cfoutput>#SERVER.lucee.version#</cfoutput></tagthing>
	</tag>

</cfsavecontent>


<cfscript>
writeDump(XMLParse(blob));
</cfscript>

Wonder what @part584 meant then.

I have set up on Mac (10.13.6) using brew to do installs

  • brew cask install java
  • brew install tomcat
    Tomcat Version: Apache Tomcat/9.0.12
    JVM Version: 11.0.1+13

I moved ROOT to ROOT-TOMCAT and can access
http://localhost:8080/ROOT-TOMCAT/

I downloaded WAR 5.3.2.8-SNAPSHOT, renamed to ROOT.war and dropped into webapps
In /usr/local/Cellar/tomcat/9.0.12/libexec/webapps/ROOT I can see the lucee default app files, inc WEB-INF

But http://localhost:8080 I get

HTTP Status 404 – Not Found

In http://localhost:8080/manager/html I notice Application path / is not running, so clicked start
and get this message

FAIL - Application at context path [/] could not be started
FAIL - Encountered exception [org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@305a3a0c]]

found the issue - lucee.jar in WAR is corrupt
I downloaded JAR for downloads page and now working

-rw-r-----  1 ajm  admin  41940458  4 Nov 17:25 lucee.jar.ajm
-rw-r--r--@ 1 ajm  admin  66752944 11 Nov 13:33 lucee.jar

Just a general question - what is the standard operating procedure for when a ticket is marked DEPLOYED but may still have issues?

In the case of LDEV-1984, I was able to reproduce the problem on 5.3.1.87 and the latest snapshot as well; I commented on the ticket but are we meant to open new tickets if the original one has been closed?