Lucee 5 - To the future

Today, the Lucee Association Switzerland (LAS) is proud to announce the release of Lucee 5 for production use. Sixteen months in the making, Lucee 5 represents a complete re-engineering of the Lucee platform which is now fully OSGi compliant, making it the first and only modular ColdFusion Markup Language (CFML) engine available.

Based on the first implementation of Lucee 4.5, the complete version 5 has been written from the ground up including deep core functionality. This was by far the biggest effort in the whole release.

Architecture Enhancements

OSGi

By utilising the Open Services Gateway initiative’s open specification for module systems in Java from Lucee 5 onwards the platform will be entirely modular meaning you will only need to install and load the components your project(s) require. This gives Lucee a much lower memory footprint and in turn improves performance.

Another benefit of OSGi is the ability to dynamically load and unload Java libraries, known as OSGi bundles, meaning they can be updated and/or changed without requiring a restart of the underlying application server, e.g. Tomcat. With OSGi you can also run different versions of the same library simultaneously, meaning that if you need a specific version of a library, be it newer or older than the version bundled with Lucee or another application running on the same server you can now do this.

One simple improvement is the fact that now you can drop an .lco (Lucee core file) or .lex (Lucee extension) into the deploy folder at runtime without having to restart the server. Even if the extensions contain necessary JAR files.

More information on OSGi can be found in the documentation.

Java Scripting

Lucee 5 fully supports the Java Scripting (JSR-223) standard. This allows you to use Lucee in places that you would not previously have been able to, for example in an ANT build script to run testcases with the CFML code having access to the ANT environment.

Class Updating

Lucee 5 is now able to update existing classes without the need for a Java agent and this has a massive impact on memory consumption, particularly in environments where a lot of CFML templates are used. This has allowed for the overall memory footprint that is used to handle classes to be reduced significantly.

Language Enhancements

Whilst the main focus for Lucee 5 has been the architectural enhancements, Lucee 5 also brings some language enhancements with it as well, including:

  • Abstract and Final modifiers for components and functions
  • Static support for components
  • Lambda Expressions (arrow functions)
  • Handling unquoted arguments as variables
  • Added “cached within” to cffile and cfhttp
  • As well as this there are also a few new and modified tags and functions.

Just the beginning

This is just the beginning for Lucee 5 and now that the solid foundations have been laid down by the team at Lucee, we will continue to build on this, moving more components out of the core and into extensions and further refining the Lucee platform, helping you do more with the CFML engine you love. We will be sharing more details on upcoming new features and improvements with the community in the near future.

Supporting Lucee

Lucee is only possible due to the generous contributions from our member companies as well as our enterprise, corporate and individual supporters, as well as all the community members that have contributed a pull request or helped to answer questions in the Google Group.

If you are interested in supporting Lucee we are always looking for individuals or companies willing to donate to the project as well as people who can give up some of their time to help out, be it updating and enhancing the documentation to contributing bug fixes and features via pull requests.

For more details on how you can help out please email info@lucee.org and let us know how you think you can help and we can put you in touch with the right person at LAS.

Getting Lucee 5

Clean Install

There are several options available for installing Lucee 5 from scratch and all the options can be found on the downloads page on the Lucee website.

http://lucee.org/downloads.html

Upgrade from Lucee 4.5

If you are upgrading from Lucee 4.5 then you can find instructions on how to do so in the Lucee documentation:

1 Like

Disqus as at 7 March 2017