Lucee 6.2 new features
Lucee 6.2 - Performance
Lucee 6.2 is a significant release focused on performance improvements, Jakarta Servlet support, and introducing experimental AI and Java integration features that became production-ready in Lucee 7.
What You Need to Know
- Up to 50% faster - Major performance improvements over Lucee 5.4
- Jakarta Servlet support - Runs on Tomcat 10+ (still javax-based)
- Experimental AI - AI integration functions (production-ready in 7.0)
- Experimental Java - Enhanced Java interop (production-ready in 7.0)
- Single Mode available - Optional in 6.2, mandatory in 7.0
- Java 8 dropped - Java 11+ required, Java 21 recommended
- PreciseMath off by default - For better performance
Performance Improvements
Lucee 6.2 delivers substantial performance gains:
- Up to 50% faster than Lucee 5.4 for many operations
- Lower memory usage - PreciseMath off by default reduces overhead
- Faster startup - Optimized initialization
- Better throughput - Query execution and general CFML processing
New Features in Lucee 6.2
For a complete list of changes, see the Lucee Changelog, new Tags & Functions, Arguments and Attributes.
New Functions
Session Management:
- SessionExists() - Check if a session exists without creating one
- SessionRotate() - Enhanced session rotation with better security
System & Environment:
- GetSystemPropOrEnvVar() - Get system property or environment variable
- GetTempDirectory() - Enhanced with optional
prefix
argument for unique temp directories
Security:
- CSRFVerifyToken() - Enhanced with optional
remove
argument
Java Integration using Maven
Direct Maven support for Java library management:
- Define Maven dependencies in
Application.cfc
viathis.javaSettings
- Automatic dependency resolution and loading
- Simplifies Java library integration
- Works with
.CFConfig.json
for global dependencies
See Using Maven directly via CFML and JavaSettings in Application.cfc, Components and CFConfig.json for complete details.
Example - Markdown Parsing with CommonMark:
component
javaSettings='{
"maven": [
"org.commonmark:commonmark:0.24.0",
"org.commonmark:commonmark-ext-gfm-tables:0.24.0"
]
}'
{
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;
import org.commonmark.ext.gfm.tables.TablesExtension;
function render( string markdown ){
var extensions = [ TablesExtension::create() ];
var parser = Parser::builder().extensions( extensions ).build();
var document = parser.parse( arguments.markdown );
var renderer = HtmlRenderer::builder().extensions( extensions ).build();
return renderer.render( document );
}
}
Maven automatically downloads the libraries and all their dependencies - no manual JAR management!
Quartz Scheduler Extension
Industry-standard task scheduling using Quartz:
- Multiple job types (URL, paths, components)
- Clustering support (database or Redis)
- Flexible cron expressions
- Event listeners for job monitoring
- 100% CFML implementation
See Quartz Scheduler for details.
Experimental Features (Production Ready in 7.0)
These features were introduced as experimental ( subject to change ) in Lucee 6.2 and became stable in Lucee 7.0.
AI Support (Experimental)
Early AI integration functions:
- CreateAISession() - Create AI sessions
- inquiryaisession() - Query AI
- SerializeAISession() - Save conversation state
- LoadAISession() - Restore conversation state
- AIHas() - Check AI provider availability
- AIGetMetaData() - Get provider info
See AI (experimental) for documentation.
Status: Experimental in 6.2, production-ready in 7.0
Enhanced Java Support (Experimental)
Improved Java interoperability:
- Better class loading
- Maven integration improvements
- Enhanced Java object interaction
- Python via Java integration demonstrated
Status: Experimental in 6.2, production-ready in 7.0
See Java recipes under Java Class Interaction for details.
Jakarta Servlet Support
Lucee 6.2 adds support for Jakarta-based servlet engines (Tomcat 10+, Jetty 12, Undertow 2.3+) while still being javax-based.
What this means:
- Can run on Tomcat 10+ or Tomcat 9
- Still uses javax namespace internally
- Requires additional javax JARs when deploying to Jakarta servlet engines
- Official installers bundle Tomcat 10+ with required javax libraries
Manual deployment to Jakarta engines requires:
See LDEV-4910
Single Mode Available
Single Mode (introduced in Lucee 6.0) is available as an option in 6.2:
- Simplifies configuration management
- One server configuration instead of web contexts
- Optional in 6.2
- Mandatory in 7.0
See Single Mode vs Multi Mode for complete details.
Java Version Support
- Recommended: Java 21 (LTS)
- Supported: Java 11, Java 23
- Avoid: Java 24-ea (date handling issues)
- Dropped: Java 8 (no longer supported)
Key Changes
PreciseMath Off by Default
For performance reasons, preciseMath
is now off by default:
- Uses
Double
instead ofBigDecimal
- Significantly faster number operations
- Lower memory usage
- Recommendation: Enable dynamically only when needed
// Enable only when precision matters
application action="update" preciseMath="true";
result = 0.1 + 0.2; // Will be exactly 0.3
application action="update" preciseMath="false";
See Mathematical Precision for details.
Default Application Log Level
Default application log level changed to ERROR
to reduce log noise.
Platform Support
New installers for:
- Linux Arm64/aarch64
- AlmaLinux/RedHat updates
- Tomcat 11
Breaking Changes
See Breaking Changes Between Lucee 6.1 and 6.2 for complete list of breaking changes when upgrading from Lucee 6.1.
Key Breaking Changes:
- Java 8 dropped - Java 11+ required
- PreciseMath default changed - Now off by default
- Cookie expires now GMT - Was UTC previously
- pagePoolClear() memory issues - Use InspectTemplates() instead
- Performance improvements - May expose race conditions in application code
Upgrade Notes
Admin Upgrade Limitation (6.2.2+)
Due to upstream Maven changes, latest 6.2.2+ updates may not appear in the Lucee Admin.
Workaround: Manual update process
Upgrading from 5.4
- Performance improvements are substantial (up to 50% faster)
- Test thoroughly - faster execution may expose race conditions
- Review Breaking Changes Between Lucee 6.1 and 6.2 carefully
- Consider enabling Single Mode
Migration Path
It's highly recommended to do a fresh install Tomcat 9 to Tomcat 11 Upgrade Guide
From Lucee 5.4 → 6.2:
Review the breaking changes
- Breaking Changes Between Lucee 5.4 and 6.0
- Breaking Changes Between Lucee 6.0 and 6.1
- Breaking Changes Between Lucee 6.1 and 6.2
Resources
- Breaking Changes Between Lucee 6.1 and 6.2 - Complete breaking changes list
- Single Mode vs Multi Mode - Understanding Single Mode
- Mathematical Precision - PreciseMath details
- AI (experimental) - AI integration guide (experimental in 6.2)
- Java Class Interaction - Java interop (experimental in 6.2)
- Lucee Changelog, new Tags & Functions, Arguments and Attributes - Complete changelog
- Lucee 6.2 Forum Posts - Release announcements
- Lucee 6.2 Changelog - Detailed changes
Community and Support
For questions, issues, or feature requests:
Looking Forward
Many experimental features in Lucee 6.2 became production-ready in Lucee 7.0:
- AI integration (experimental → stable)
- Java enhancements (experimental → stable)
- Single Mode (optional → mandatory)
- Jakarta EE (supported → required)
See Lucee 7 new features for what's new in Lucee 7.