For the complete documentation index, see llms.txt. This page is also available as Markdown.

Snapshots and Daily Builds

Using nightly snapshot builds of Eclipse Deeplearning4j 1.0.0-M2.1 — repository configuration, version identifiers, Maven and Gradle setup.

Overview

Snapshot builds of Eclipse Deeplearning4j are published automatically after each successful CI build. They include the latest bug fixes, new operations, and experimental features ahead of the next stable release. Snapshots are served from the Sonatype OSS snapshot repository rather than Maven Central.

Stability warning: Snapshots are development builds. Breaking changes or regressions may be introduced at any point. Use the latest stable release in production; use snapshots only when you need a specific fix or feature that has not yet been released.


Snapshot Version Identifier

The current snapshot version is:

1.0.0-SNAPSHOT

This tracks the development branch for the next release after 1.0.0-M2.1.


Repository Configuration

Maven

Add the Sonatype snapshot repository to your pom.xml:

<repositories>
    <repository>
        <id>sonatype-snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>daily</updatePolicy>
        </snapshots>
    </repository>
</repositories>

Then set the version property:

Gradle

Gradle and classifiers: Due to a known Gradle bug, snapshot dependencies that include Maven classifiers (e.g., platform artifacts with OS classifiers) do not resolve correctly in Gradle. If you encounter resolution failures with -platform artifacts, use Maven or manually list the OS-specific artifacts.


Sample Minimal pom.xml (CPU)


ND4J Backend Configuration for Snapshots

The backend is selected by the dependency you include, exactly as with stable releases.

CPU backend:

GPU backend (CUDA 11.6):

If you need cuDNN integration with a snapshot build:


Forcing Snapshot Updates

By default, Maven checks for new snapshots based on the updatePolicy set in the repository configuration. To force Maven to download the latest snapshot immediately:

The -U flag forces Maven to check for new snapshot versions regardless of the update policy.

To prevent Maven from checking for updates (useful in offline or CI cache scenarios):

-nsu (no snapshot updates) requires that the snapshot artifact is already in the local .m2 cache. The build will fail if the snapshot is not cached.


Platform Artifacts and Build Timing

Because snapshot builds are produced for multiple platforms (Linux x86_64, Linux ARM64, macOS x86_64, macOS ARM64, Windows x86_64) and not all platform builds complete simultaneously, -platform artifacts can temporarily become inconsistent. This may cause build errors such as missing classifiers.

If you are building and deploying to a single known platform, use the single-platform artifact to avoid this:


Snapshot Limitations

Limitation
Detail

No semantic versioning guarantee

Snapshots may contain breaking API changes

Gradle classifiers

Platform artifacts with OS classifiers may not resolve due to a Gradle bug

Temporary build failures

Snapshots can be unavailable for short periods during CI runs

Not recommended for production

Use a stable release (1.0.0-M2.1) in production environments


Checking Which Snapshot You Have

To see the exact snapshot build date and commit hash:

Or browse the Sonatype snapshot repository directly:

Each snapshot sub-version shows a timestamp in the format 1.0.0-YYYYMMDD.HHMMSS-N.


Last updated

Was this helpful?