Lucee Versions and Extensions

edit Introduced: 7.0

Lucee Versions and Extensions

Lucee provides built-in functions to list available versions and extensions and to retrieve detailed artifact information from Maven Central.

Note: These are currently internal functions. They will be made public in a future release.

Version Functions

LuceeVersionsList(type) / LuceeVersionsDetail(version)

LuceeVersionsList(type) — returns an array of version strings.

Argument Type Required Description
type string No Filter versions (see type values below)

Returns: Array of version strings

LuceeVersionsDetail(version) — returns artifact URLs and metadata for a specific version.

Argument Type Required Description
version string Yes The version string to look up

Returns: Struct with the following keys:

Key Description
jar URL to the .jar artifact
lco URL to the .lco artifact
pom URL to the .pom file
lastModified Date the artifact was last modified

Type values:

Value Description
all All available versions
snapshot Snapshot versions only
release Release versions only
latest Latest version per development cycle (any stability)
latest:release Latest release per development cycle
latest:snapshot Latest snapshot per development cycle

LuceeVersionsListMvn, LuceeVersionsDetailMvn, LuceeVersionsListS3, and LuceeVersionsDetailS3 are internal testing functions, will never be official, and should not be used.


Extension Function

LuceeExtension(group, artifact, version)

Note: Currently a hidden/internal function. Will be made public in a future release.

Lists available Lucee extensions or retrieves details for a specific one. Data is sourced from Maven only.

Since 7.0.3.2: The signature changed to (group, artifact, version) with group as the first argument. Prior to this, the signature was (artifact, version) — since the function was hidden throughout, there is no backward compatibility concern.

Argument Type Required Default Description
group string No org.lucee Maven group ID (alias: groupid)
artifact string No Extension artifact ID (alias: artifactid)
version string No Specific version to retrieve details for

Returns:

  • No arguments → Array of artifact IDs for the default group
  • group only → Array of artifact IDs for that group
  • group + artifact → Array of version strings for that extension
  • group + artifact + version → Struct with artifact details

Detail struct keys:

Key Description
lex URL to the .lex artifact
pom URL to the .pom file
local Local cache path (if already downloaded)
lastModified Date the artifact was last modified

Basic Usage

// List latest releases per development cycle
versions = LuceeVersionsList("latest:release");
dump(versions);

// Get details for the newest version detail = LuceeVersionsDetail(versions[len(versions)]); dump(detail);

Example output for LuceeVersionsList("latest:release"):

["5.0.0.254","5.1.4.19","5.2.9.31","5.3.10.120","5.4.8.2",
 "6.0.4.10","6.1.2.47","6.2.5.48","7.0.2.105-RC","7.1.0.43-BETA","7.2.0.35-ALPHA"]

Example output for LuceeVersionsDetail("7.2.0.35-ALPHA"):

{
  "jar": "https://repo1.maven.org/maven2/org/lucee/lucee/7.2.0.35-ALPHA/lucee-7.2.0.35-ALPHA.jar",
  "lco": "https://repo1.maven.org/maven2/org/lucee/lucee/7.2.0.35-ALPHA/lucee-7.2.0.35-ALPHA.lco",
  "pom": "https://repo1.maven.org/maven2/org/lucee/lucee/7.2.0.35-ALPHA/lucee-7.2.0.35-ALPHA.pom",
  "lastModified": "March, 06 2026 15:40:44 +0100"
}

// List all available extensions (default group: org.lucee)
dump(LuceeExtension());

// List all extensions for a custom group dump(LuceeExtension("com.mycompany"));
// List all versions of a specific extension dump(LuceeExtension("org.lucee", "s3-extension"));
// Get details for a specific version dump(LuceeExtension("org.lucee", "s3-extension", "2.0.3.1"));

Example output for LuceeExtension():

["administrator-extension","ajax-extension","argon2-extension","aws-sm-extension",
 "chart-extension","compress-extension","form-extension","ftp-extension",
 "hibernate-extension","image-extension","lucene-search-extension","mail-extension",
 "mongodb-extension","pdf-extension","s3-extension","websocket-extension","yaml-extension", ...]

Example output for LuceeExtension("org.lucee", "s3-extension", "2.0.3.1"):

{
  "lex": "https://repo1.maven.org/maven2/org/lucee/s3-extension/2.0.3.1/s3-extension-2.0.3.1.lex",
  "pom": "https://repo1.maven.org/maven2/org/lucee/s3-extension/2.0.3.1/s3-extension-2.0.3.1.pom",
  "local": "/lucee-server/mvn/org/lucee/s3-extension/2.0.3.1/s3-extension-2.0.3.1.lex",
  "lastModified": "January, 31 2026 17:30:43 +0100"
}


Examples

Check for a Newer Lucee Version

versions = LuceeVersionsList("latest:release");
latestVersion = versions[len(versions)];
currentVersion = server.lucee.version;

if (latestVersion != currentVersion) { writeOutput("Update available: #latestVersion#"); }

Get the Download URL for the Latest LCO

versions = LuceeVersionsList("latest:release");
detail = LuceeVersionsDetail(versions[len(versions)]);
writeOutput("Download: " & detail.lco);

Get the Latest Version of an Extension

versions = LuceeExtension("org.lucee", "s3-extension");
latest = versions[len(versions)];
detail = LuceeExtension("org.lucee", "s3-extension", latest);
writeOutput("Install from: " & detail.lex);