Skip to content

Releases: glassless-security/glassless

GlaSSLess 0.13.0

20 Apr 11:35

Choose a tag to compare

Installation

Maven

<dependency>
   <groupId>net.glassless</groupId>
   <artifactId>glassless-provider</artifactId>
   <version>0.13.0</version>
</dependency>

Gradle

implementation 'net.glassless:glassless-provider:0.13.0'

Highlights

FIPS SSLContext wrapper and Argon2 benchmark

Add FIPS SSLContext wrapper and Argon2 benchmark

What's Changed

New Features

  • Add FIPS SSLContext wrapper and Argon2 benchmark

Full Changelog: v0.12.0...v0.13.0

GlaSSLess 0.12.0

08 Apr 14:58

Choose a tag to compare

Installation

Maven

<dependency>
   <groupId>net.glassless</groupId>
   <artifactId>glassless-provider</artifactId>
   <version>0.12.0</version>
</dependency>

Gradle

implementation 'net.glassless:glassless-provider:0.12.0'

Highlights

FIPS mode container testing with fabric8 docker-maven-plugin

Add FIPS mode container testing with fabric8 docker-maven-plugin

What's Changed

New Features

  • Add FIPS mode container testing with fabric8 docker-maven-plugin
  • Add System.Logger-based tracing across all JCA service types
  • Add ByteBuffer engineUpdate override to AbstractCipher
  • Add secp256k1 OID to ECParameters
  • Add OpenJDK jtreg test infrastructure for TLS/JSSE compliance

Bug Fixes

  • Fix EVP_CIPHER_CTX_set_padding to call the actual OpenSSL function
  • Fix PKCS12 keystore interop with PBE cipher and key factory improvements

Documentation

  • Document TLS/JSSE compliance testing

Other Changes

  • Remove unused parameters, constants, and fix minor code warnings

Full Changelog: v0.11.0...v0.12.0

GlaSSLess 0.11.0

02 Apr 12:22

Choose a tag to compare

Installation

Maven

<dependency>
   <groupId>net.glassless</groupId>
   <artifactId>glassless-provider</artifactId>
   <version>0.11.0</version>
</dependency>

Gradle

implementation 'net.glassless:glassless-provider:0.11.0'

Highlights

What's Changed

Bug Fixes

  • Fix JAR timestamps, add build revision to manifest, bump CI actions to Node.js 24

Full Changelog: v0.10.0...v0.11.0

GlaSSLess 0.10.0

02 Apr 11:31

Choose a tag to compare

Installation

Maven

<dependency>
   <groupId>net.glassless</groupId>
   <artifactId>glassless-provider</artifactId>
   <version>0.10.0</version>
</dependency>

Gradle

implementation 'net.glassless:glassless-provider:0.10.0'

Highlights

Dependabot auto-merge workflow

Add Dependabot auto-merge workflow

What's Changed

New Features

  • Add Dependabot auto-merge workflow

Bug Fixes

  • Fix OSSL_PARAM byte order for BigInteger and EVP_PKEY_fromdata_init signature
  • Fix all Error Prone warnings across source and test code

Security

  • Harden FIPS compliance: key zeroization, Destroyable interface, and runtime enforcement
  • Make all KeyFactory/KeyPairGenerator implementations self-contained for FIPS compliance

Other Changes

  • Use OpenSSL OSSL_PARAM_BLD API for correct cross-version parameter building
  • Replace SpotBugs with Error Prone for compile-time static analysis

Full Changelog: v0.9.0...v0.10.0

GlaSSLess 0.9.0

01 Apr 11:15

Choose a tag to compare

Installation

Maven

<dependency>
   <groupId>net.glassless</groupId>
   <artifactId>glassless-provider</artifactId>
   <version>0.9.0</version>
</dependency>

Gradle

implementation 'net.glassless:glassless-provider:0.9.0'

Highlights

multi-version OpenSSL testing to CI matrix

Add multi-version OpenSSL testing to CI matrix

What's Changed

New Features

  • Add multi-version OpenSSL support. Tested with 3.0, 3.6, 4.0
  • Add ML-DSA to hybrid mode delegation based on JDK 27 benchmarks
  • Add FindSecBugs plugin and use Locale.ROOT for all case conversions
  • Add SpotBugs static analysis and fix all P1/URF_UNREAD_FIELD findings
  • Add deterministic ECDSA (RFC 6979) and update documentation
  • Add AES-GCM-SIV (RFC 8452) nonce-misuse-resistant AEAD cipher support
  • Add LMS/HSS verification support and refactor key factories
  • Refactorings
  • Implement GlaSSLessProvider.toString()
  • Add automated release notes generation
  • Improve release workflow with longer timeout and resume support

Bug Fixes

  • Fix SpotBugs findings and improve code quality

Performance

  • Document JDK 27 JEP 527 integration and hybrid KEM benchmarks

Documentation

  • deps: bump org.asciidoctor:asciidoctor-maven-plugin from 3.1.1 to 3.2.0

Other Changes

  • deps: bump the junit group with 3 updates
  • deps: bump the maven-plugins group across 1 directory with 3 updates
  • deps: bump io.github.git-commit-id:git-commit-id-maven-plugin
  • Skip LMS on OpenSSL 3.6.x due to incompatible SPKI encoding
  • Spotless fix
  • deps: bump com.diffplug.spotless:spotless-maven-plugin
  • Replace JDK 26-ea with 27-ea in CI matrix
  • Guard deterministic ECDSA (RFC 6979) behind OpenSSL 3.2+ version check
  • ci: bump actions/upload-artifact from 4 to 7
  • Register standard JCA cipher names (AES/GCM/NoPadding, etc.)
  • Deduplicate key pair generators via shared generateKeyPair helper
  • Extract shared base classes for PQC keys and single-shot signatures

Full Changelog: v0.8.0...v0.9.0

GlaSSLess 0.8.0

18 Feb 12:57

Choose a tag to compare

Highlights

Hybrid Mode for Optimal Performance

This release introduces hybrid mode, which automatically uses the best provider for each operation:

  • JDK for SHA-256/SHA-512, HMAC-SHA256/SHA512, SecureRandom, ML-KEM (where HotSpot intrinsics excel)
  • OpenSSL for ECDH, EdDSA, EC key generation (where native code excels)

Enable with:

glassless.hybrid.enabled=true

Benchmark results show hybrid mode delivers optimal performance:

  • SHA-256: JDK is 5.7x faster
  • HMAC-SHA256: JDK is 9.8x faster
  • ECDH: GlaSSLess is 5.2x faster
  • Ed25519: GlaSSLess is 7.9x faster
  • Mixed workload: Hybrid is 8.4x faster than pure JDK

Hybrid mode is automatically disabled when FIPS mode is active to ensure compliance.

What's Changed

  • Add hybrid mode for optimal performance across operation types
  • Add HybridModeBenchmark for performance comparison
  • Update documentation with hybrid mode configuration and benchmark results

Full Changelog: v0.7.0...v0.8.0

GlaSSLess 0.7.0

17 Feb 10:23

Choose a tag to compare

Highlights

FIPS Compliance Documentation

This release adds comprehensive FIPS compliance documentation covering:

  • FIPS 140-3 compliance via OpenSSL's validated cryptographic module
  • Supported FIPS standards: FIPS 180, 186, 197, 198, 202, 203, 204, 205
  • Automatic FIPS mode detection and non-approved algorithm exclusion
  • Configuration guidance for FIPS-compliant deployments

What's Changed

  • Add FIPS compliance documentation with detailed standards coverage
  • Document FIPS mode behavior and algorithm restrictions

Full Changelog: v0.6.0...v0.7.0

GlaSSLess 0.6.0

17 Feb 08:55

Choose a tag to compare

Highlights

DH Key Agreement Interoperability Fix

Fixed Diffie-Hellman key agreement to properly interoperate with SunJCE provider, ensuring cross-provider compatibility.

AsciiDoc Sources Distribution

AsciiDoc documentation sources are now included as a separate JAR artifact (-asciidoc classifier) for integration into documentation pipelines.

What's Changed

  • Fix DH key agreement interoperability with SunJCE provider
  • Add AsciiDoc sources JAR to release artifacts
  • Remove unused AssertJ dependency
  • Add wide logo image for documentation

Full Changelog: v0.4.0...v0.6.0

GlaSSLess 0.4.0

16 Feb 18:54

Choose a tag to compare

Highlights

Memory Safety & Stability

This release focuses on memory safety and platform stability:

  • Memory Leak Fix: Fixed memory leak in MessageDigest implementations by adding proper Cleaner-based resource management
  • Native Resource Management: Added NativeResourceCleaner utility for consistent cleanup of OpenSSL resources
  • Platform Safety: Reject 32-bit platforms to prevent size_t mapping issues
  • Overflow Protection: Added safe size_t to int conversion to prevent integer overflow

Memory Soak Tests

Added comprehensive native memory soak tests to verify no memory leaks occur during sustained cryptographic operations.

What's Changed

  • Fix memory leak in AbstractDigest by adding Cleaner
  • Add NativeResourceCleaner utility for consistent cleanup
  • Add native memory soak tests to verify no memory leaks
  • Add safe size_t to int conversion to prevent overflow
  • Reject 32-bit platforms to prevent size_t mapping issues
  • Fix MemorySegment null checks to use equals(MemorySegment.NULL)

Full Changelog: v0.3.0...v0.4.0

GlaSSLess 0.3.0

16 Feb 09:21

Choose a tag to compare

Highlights

TLS 1.3 KDF Support

Added TLS 1.3 Key Derivation Function (RFC 8446) implementation, enabling use of GlaSSLess for TLS 1.3 key derivation operations.

AsciiDoc Documentation

Comprehensive AsciiDoc documentation is now available, packaged as a separate JAR with docs classifier:

  • Installation guide
  • Usage examples
  • Complete algorithm listing (370+ algorithms)
  • Post-quantum cryptography guide
  • Performance benchmarks
  • Development guide

Documentation for Hybrid KEM Limitations

Documented OpenSSL 3.5 limitation preventing EC-based hybrid KEMs (SecP256r1MLKEM768, SecP384r1MLKEM1024) due to missing key serialization support.

What's Changed

  • Add TLS 1.3 KDF implementation (RFC 8446)
  • Add AsciiDoc documentation with docs JAR classifier
  • Update algorithm listing to 370+ algorithms
  • Document OpenSSL limitation for EC-based hybrid KEMs
  • Get provider version from package implementation version

Full Changelog: v0.2.0...v0.3.0