Releases: AprismLab/AprismJDK
Release list
AprismJDK v26.5 - Runtime Performance
AprismJDK v26.5
Fourth stable release focused on runtime performance.
Deliverables
| Area | What shipped |
|---|---|
| CDS tooling | CdsArchive API + create-cds-archive.ps1 / run-with-cds.ps1 |
| Startup benchmark | StartupBenchmark + CI-runnable startup-benchmark.ps1 |
| Container | Multi-stage Dockerfile (fork build + minimal runtime) |
| Linux distro | release.yml with SBOM generation |
| Memory analysis | Heap footprint + jlink compact runtime measurements |
| Performance report | docs/15-performance-report.md (EN + ZH) |
Key measurements
| Metric | Stock Temurin 25 | AprismJDK | Verdict |
|---|---|---|---|
| Startup (source-launcher) | 1718 ms | 1712 ms | equivalent |
| Throughput: string concat | 5.02 ms | 3.22 ms | 36% faster |
| Throughput: math loop | 5.32 ms | 3.88 ms | 27% faster |
| Heap footprint (idle) | 2.1 MB | 2.2 MB | +0.1 MB |
| Agent overhead | n/a | ~50-65 ms | within budget |
| Compact runtime | ~550 MB | 35.2 MB (jlink) | brand preserved |
Investigation results
- CRaC: not in OpenJDK mainline; requires Azul CRaC fork. Deferred.
- AOT cache (JEP 483): flags present but
createphase fails on Windows. Deferred. - CDS: default archive works well; offsets the 21-module cost.
- jlink compact: 35.2 MB (6% of full) with
aprismjdkbranding intact.
Artifacts
| File | For |
|---|---|
AprismJDK-26.5-windows-x64-jdk.zip/.tar.gz |
Full fork image (Windows x64) |
aprismate-26.5.jar |
Self-contained agent for stock JDK 21+ |
SHA256SUMS.txt |
Verify before use |
764 tests, 0 failures. 5-patch reproducible series. GPL-2.0 + Classpath Exception.
AprismJDK v26.4 - Hot Iteration & Advanced Diagnostics
AprismJDK v26.4
Third stable release focused on hot iteration and advanced diagnostics.
New capabilities (vs v26.3)
| Package | What it does |
|---|---|
aprism.agent.reload |
Hot reload: atomic multi-class replacement with safe-evolution validation |
aprism.agent.diag |
HTTP diagnostic server (/aprism/state, /aprism/health, etc.) |
RuntimeExporterV2 |
History + diff + threshold alerts (heap pressure, deadlock detection) |
jdk.aprismate.secure |
CycloneDX 1.5 SBOM generator (zero dependencies) |
PerfRegression |
Performance regression detection for CI gating |
Startup performance
Fork startup comparable to stock Temurin 25 (227ms vs 242ms average).
CDS archive mapped successfully despite 21 extra modules. Agent premain
adds ~50-65ms.
CI improvements
Streamlined from 12 jobs to 2 (ubuntu+windows test + full fork build
on linux with smoke test).
Artifacts
| File | For |
|---|---|
AprismJDK-26.4-windows-x64-jdk.zip/.tar.gz |
Full fork image (Windows x64) |
aprismate-26.4.jar |
Self-contained agent for stock JDK 21+ |
SHA256SUMS.txt |
Verify before use |
764 tests, 0 failures. 5-patch reproducible series. GPL-2.0 + Classpath Exception.
AprismJDK v26.3 - Developer-Power Runtime
AprismJDK v26.3
Second stable release focused on developer-power runtime capabilities.
New capabilities (vs v26.2)
| Package | What it does |
|---|---|
jdk.aprismate.invoke |
Reflection elimination: cached MethodHandle invokers + MicroBench harness |
jdk.aprismate.export |
Structured runtime state JSON for AI agents - no mainstream JDK ships this |
jdk.aprismate.tuning |
GC tuning presets (server / desktop / container / compact) |
aprism.agent.optimize |
Bytecode pre-optimization engine (elision + probe-enter + SHA-256 disk cache) |
aprism.agent.experiment |
Safe experimentation: try-transform + rollback |
aprism.agent.startup |
Startup profiler (class-load waterfall) |
jdk.aprismate.minecraft |
MC version catalog + detector (incidental consumer) |
Performance
Fork is faster than stock Temurin 25 on all benchmarks:
| Benchmark | Stock (ms) | Fork (ms) | Ratio |
|---|---|---|---|
| string_concat | 5.02 | 3.22 | 0.64x |
| math_loop | 5.32 | 3.88 | 0.73x |
| arraylist_ops | 2.05 | 1.92 | 0.94x |
Verification
java -XX:+AprismateAgent -version
[AprismateAgent] attached via premain
aprismjdk version "25.2.1" 2025-09-16
AprismJDK Runtime Environment AJR (build 25.2.1)
Artifacts
| File | For |
|---|---|
AprismJDK-26.3-windows-x64-jdk.zip/.tar.gz |
Full fork image (Windows x64) |
aprismate-26.3.jar |
Self-contained agent for stock JDK 21+ |
SHA256SUMS.txt |
Verify before use |
745 tests, 0 failures. 5-patch reproducible series. GPL-2.0 + Classpath Exception.
AprismJDK v26.2 GA - First Stable Release
AprismJDK v26.2 GA
First stable release of AprismJDK / AJR (Aprism Java Runtime): an OpenJDK 25 fork built bottom-up for the Aprism ecosystem.
Highlights
- Real OpenJDK fork (jdk-25+10) built natively on Windows via Cygwin, branded end-to-end (
aprismjdk version "25.2.1"/ AprismJDK Runtime Environment AJR) jdk.aprismatemodule compiled INTO the image: 21 exported packages, capability descriptor wired (VmInfo.isAprismJdk()==truein-image)- AprismateAgent embedded:
lib/aprismate.jarin every image. Both-javaagent:$JAVA_HOME/lib/aprismate.jarand the auto-load flag-XX:+AprismateAgentwork out of the box - Portable agent: standalone
aprismate-26.2.jarattaches to STOCK JDK 21+/25 with full premain functionality - Fail-safe contract enforced: agent failures roll back and never abort the host JVM
jdk.aprismate.invoke: MethodHandle-tier reflection elimination framework in-module- Reproducible 4-patch series + overlay sync; canonical
scripts/configure-fork.sh - Compatibility sweep green (8 checks); full Gradle suite 678 tests on stock JDK 25
Verification (GA build)
java -XX:+AprismateAgent -version
[AprismateAgent] attached via premain
aprismjdk version "25.2.1" 2025-09-16
AprismJDK Runtime Environment AJR (build 25.2.1)
AprismJDK 64-Bit Server VM AJR (build 25.2.1, mixed mode, sharing)
Artifacts
| File | For |
|---|---|
AprismJDK-26.2-windows-x64-jdk.zip/.tar.gz |
Full fork image (Windows x64) |
aprismate-26.2.jar |
Agent-only attach on stock JDKs |
SHA256SUMS.txt |
Verify before use |
Linux x64 artifacts are built by CI against the same patch series and will be appended to this release when the workflow completes.
Known limitations
- KI-2: compiling aprismate-api sources inside the fork duplicates packages shipped by the image module (self-hosting split-package). Authoritative suite runs on stock JDK; in-image behavior covered by smoke checks.
- Java 17/21 support deferred to the MRJAR line (API surface requires FFM-final 22+).
GPL-2.0 with Classpath Exception, tracking upstream OpenJDK licensing.
v26.0 - First Stable Release of AprismJDK
v26.0 - First Stable Release of AprismJDK
Overview
AprismJDK v26.0 is the first stable release of the Aprism Java Development Kit, providing enhanced APIs and utilities for Java 17, 21, and 25. This release includes 9 major feature areas developed through the Alpha phase.
Feature Summary
1. Functional Programming API (Alpha.1)
- Optional Enhancement: Advanced optional handling with
OptionalExt - Result Type: Railway-oriented programming with
Result<T, E> - Functional Utilities:
Try,Lazy, and functional composition tools - Stream Extensions: Enhanced stream operations
2. Async Programming API (Alpha.2)
- Promise System: Chainable async operations with
Promise<T> - Async Utilities:
Asynchelper class for common patterns - Scheduler System: Flexible task scheduling with multiple executors
- CompletableFuture Extensions: Enhanced future operations
3. Collection Enhancement API (Alpha.3)
- Immutable Collections: Thread-safe immutable lists, sets, and maps
- Persistent Collections: Efficient structural sharing collections
- Multimap Support: One-to-many key-value mappings
- BiMap Support: Bidirectional key-value mappings
- Collection Utilities: Rich utility methods for collection operations
4. String and Text Processing API (Alpha.4)
- String Templates: Efficient string interpolation and formatting
- Text Processing: Advanced text manipulation utilities
- Pattern Matching: Enhanced regex and pattern operations
- Case Conversion: Multiple case style conversions (camelCase, snake_case, etc.)
5. Date and Time Enhancement API (Alpha.5)
- Duration Extensions: Human-readable duration handling
- Time Range: Interval and range operations
- Clock Utilities: Flexible time source management
- Formatting Utilities: Enhanced date/time formatting
6. Validation Framework API (Alpha.6)
- Validator System: Fluent validation API with
Validator<T> - Built-in Validators: String, numeric, collection, date validators
- Custom Validators: Easy creation of domain-specific validators
- Validation Results: Detailed error reporting with
ValidationResult - Composition: Combine validators with AND/OR logic
7. Configuration Management API (Alpha.7)
- Hierarchical Config: Nested configuration with dot notation
- Multiple Sources: Properties, YAML, JSON, and environment variables
- Type Safety: Type-safe configuration access
- Hot Reload: Dynamic configuration updates
- Validation: Built-in configuration validation
8. Serialization API (Alpha.8)
- Serializer Framework: Extensible serialization system
- Built-in Serializers: String, primitives, collections, maps
- Custom Serializers: Easy implementation of custom serializers
- Binary Format: Efficient binary serialization
- Annotations:
@Serializable,@SerializedName,@Transient
9. Reflection Enhancement API (Alpha.9)
- ClassInfo System: Type-safe class introspection
- Field Operations: Enhanced field access and modification
- Method Operations: Simplified method invocation
- Constructor Operations: Easy instance creation
- Performance: Thread-safe caching for improved performance
Technical Specifications
Supported Java Versions
- Java 17 (LTS)
- Java 21 (LTS)
- Java 25
Module Structure
jdk.aprismate.functional- Functional programming utilitiesjdk.aprismate.async- Asynchronous programming supportjdk.aprismate.collection- Enhanced collectionsjdk.aprismate.text- String and text processingjdk.aprismate.time- Date and time utilitiesjdk.aprismate.validation- Validation frameworkjdk.aprismate.config- Configuration managementjdk.aprismate.serialization- Serialization frameworkjdk.aprismate.reflection- Reflection utilities
Testing
- 500+ comprehensive unit tests
- Full API coverage
- Edge case validation
- Performance benchmarks
Documentation
- Complete API documentation
- Usage examples for all features
- Migration guides
- Best practices
Installation
Maven
<dependency>
<groupId>com.aprismlab</groupId>
<artifactId>aprismate-api</artifactId>
<version>26.0</version>
</dependency>Gradle
implementation 'com.aprismlab:aprismate-api:26.0'Migration from Alpha
All Alpha APIs remain stable in v26.0. No breaking changes were introduced.
Known Limitations
- Serialization API supports basic types; complex object graphs require custom serializers
- Configuration hot reload requires manual watcher setup
- Reflection caching is unbounded; consider clearing cache in memory-constrained environments
Future Roadmap (v26.1)
- HTTP Client Enhancement API
- Database Access Layer API
- Logging Framework Integration
- Metrics and Monitoring API
- Security and Cryptography API
Credits
Developed by AprismLab
Licensed under Apache License 2.0
Status: Stable Release - Production Ready
AprismJDK v26.1-Alpha.5 - BytecodeTransformer API
AprismJDK v26.1-Alpha.5
BytecodeTransformer Integration
Implements load-time bytecode transformation pipeline for mixin-style weaving and class manipulation.
New Features
-
BytecodeTransformer API (jdk.aprismate.agent.BytecodeTransformer)
- Register/unregister ClassFileTransformers
- Support for retransformation of loaded classes
- Thread-safe transformer management
- ASM 9.7.1 integration for bytecode manipulation
-
DefaultBytecodeTransformer Implementation
- Thread-safe using CopyOnWriteArrayList
- Maintains registration order
- Comprehensive logging
Capabilities
- Method injection at load time
- Field addition to existing classes
- Mixin-style weaving support
- Multiple transformer chaining
Testing
- 20+ BytecodeTransformer API tests
- 5+ ASM transformation integration tests
- Total: 213 tests passing
Documentation
See roadmap section v26.1-Alpha.5 for complete feature list.
Status: Pre-release (Alpha)
Next: v26.1-Alpha.6 - ThreadInsight & HeapInsight APIs
AprismJDK v26.1-Alpha.4 - Custom JVMTI Events
AprismJDK v26.1-Alpha.4
New Features
- MethodHookRegistry API: Register custom method entry and exit hooks
- EntryHook Interface: Callback for method entry events
- ExitHook Interface: Callback for method exit events (with return value and exception)
- DefaultMethodHookRegistry: Thread-safe implementation with concurrent hash maps
- Hook Statistics: Track total invocations, failures, and hook counts
- Agent Integration: Accessible via Agent.getMethodHookRegistry()
Technical Details
- Thread-safe hook registration and invocation
- Automatic failure handling with logging
- Comprehensive test coverage (13 tests, all passing)
- Compatible with Java 17, 21, and 25
Testing
All 56+ tests passed including:
- Hook registration (entry/exit)
- Hook invocation with proper parameter passing
- Exception handling in hooks
- Statistics tracking
- Concurrent access safety
Known Limitations
- This is a pure Java implementation
- Native JVMTI integration will be added in future releases
- Hooks are invoked manually via the registry (no automatic instrumentation yet)
Artifacts
- �prismate-agent-v26.1-Alpha.4.jar - Java Agent
- �prismate-api-v26.1-Alpha.4.jar - Public API
- Source JARs included
Status: Pre-Release (Alpha 4 of 5 for v26.1)
Next: v26.1-Alpha.5 - Enhanced reflection APIs
AprismJDK v26.1-Alpha.3
AprismJDK v26.1-Alpha.3 Pre-Release
Agent Metrics API Implementation
This pre-release implements the Agent Metrics API, providing runtime metrics collection capabilities for the Aprismate agent.
Features
- Agent Metrics API: Counter, gauge, and timer support
- MetricRegistry: Interface and default implementation for metric management
- AgentMetrics: Convenient facade for accessing and creating metrics
- Comprehensive Tests: Full unit test coverage for all metrics components
Artifacts
- \�prismate-api-v26.1-Alpha.3.jar\ - Core API module
- \�prismate-agent-v26.1-Alpha.3.jar\ - Agent implementation module
- Source and javadoc jars included for both modules
Technical Details
- Based on OpenJDK 25
- Java 17+ compatible
- Release Date: 2026-08-11
Next Steps
The next release (v26.1-Alpha.4) will focus on implementing custom JVMTI events and event listeners.
Note: This is a pre-release version for testing and development purposes.
v26.1-Alpha.2
AprismJDK v26.1-Alpha.2
New Features
ClassRedefiner+ API
- Runtime class modification capabilities
- FieldDescriptor builder for dynamic field addition
- MethodDescriptor builder for dynamic method addition
- Runtime bytecode validation
- ClassRedefinitionException for detailed error handling
API Enhancements
- Added
AgentLogger.warn(String, Throwable)overload for better exception logging
Test Coverage
- 349 tests passing (3 skipped pending VM implementation)
- Comprehensive unit tests for all new APIs
- Integration tests for agent subsystems
Known Limitations
- ClassRedefiner+ requires AprismJDK VM patches (not yet implemented in this alpha)
ClassRedefiner.isSupported()returns false on stock OpenJDK- Field/method addition features will be available in future releases with VM support
Artifacts
aprismate-agent-v26.1-Alpha.2.jar- Java Agent implementationaprismate-api-v26.1-Alpha.2.jar- Public API libraryaprismate-tests-v26.1-Alpha.2.jar- Test utilities
Next Steps
v26.1-Alpha.3 will focus on AgentMetrics API for performance monitoring and profiling.
AprismJDK v26.1-Alpha.1
AprismJDK v26.1-Alpha.1
First alpha release of v26.1 series.
New Features
Agent Logging API
- File-based logging with fail-safe error handling
- Support for INFO, WARN, ERROR, DEBUG levels
- Configurable via \�prismate.agent.logFile\ system property
- Thread-safe singleton implementation
Capability Query API
- Query runtime capabilities (agent, transformation, hooks, etc.)
- Builder pattern for capability configuration
- Integration with VmInfo for capability checks
- Predefined capability constants for v26.x features
Instrumentation Context
- Access to \java.lang.instrument.Instrumentation\
- Query transformation capabilities (retransform, redefine, native method prefix)
- Integration with agent system
Async Promise API
- CompletableFuture wrapper with functional operations
- Support for \ hen, \catchError\ chaining
- Simplified async programming model
Testing
- 340 tests passed
- Comprehensive unit tests for all new APIs
- Mock-based testing for agent instrumentation
Artifacts
- \�prismate-api-v26.0-Alpha.1.jar\ - Core API (62KB)
- \�prismate-agent-v26.0-Alpha.1.jar\ - Agent implementation (2KB)
- Source and Javadoc JARs included
Requirements
- Java 17, 21, or 25
- Compatible with OpenJDK and derivatives
Status
Pre-Release (Alpha 1) - Not recommended for production use
Next Steps
v26.1-Alpha.2 will focus on additional runtime capabilities and stabilization.