---
title: "Changelog"
source: "https://cheerpj.com/docs/changelog"
---

# Changelog

What changed in each CheerpJ release, with the loader script tag for each version

## 5.0 - October 30, 2026

```html
<script src="https://cjrtnc.leaningtech.com/5.0/loader.js"></script>
```

- Support for Java 21
- Preview of Java 25 support
- New experimental WasmGC engine that can be enabled with the [`wasmGC`](https://cheerpj.com/docs/reference/cheerpjInit.md#wasmgc) init option
- New [`env`](https://cheerpj.com/docs/reference/cheerpjInit.md#env) init option to set environment variables for the Java runtime
- Runtime improvements
- Various bug fixes

## 4.3 - April 21, 2026

```html
<script src="https://cjrtnc.leaningtech.com/4.3/loader.js"></script>
```

- Added new upload icon directly to decorated java window title bars
- Introduced a dedicated virtual directory to download files to the local device
- Added long-press gesture support to simulate mouse hover events for enhanced mobile/touch screen support
- General pointer event improvements
- Runtime improvements
- New [`disableScaling`](https://cheerpj.com/docs/reference/cheerpjInit.md#disablescaling) init option to turn off CheerpJ display scaling on high-DPI screens

## 4.2 - Jun 26, 2025

```html
<script src="https://cjrtnc.leaningtech.com/4.2/loader.js"></script>
```

- Improved Java 17 support
- Multiple clipboard fixes
- Various bug fixes

## [4.1](https://labs.leaningtech.com/blog/cheerpj-4.1) - May 28, 2025

```html
<script src="https://cjrtnc.leaningtech.com/4.1/loader.js"></script>
```

- Support for SSL and Audio in Java 11
- Preview of Java 17 support
- Improved networking stack
- Improved mobile usability
- Improved performance
- Various bug fixes

## [4.0](https://labs.leaningtech.com/blog/cheerpj-4.0) - April 22, 2025

```html
<script src="https://cjrtnc.leaningtech.com/4.0/loader.js"></script>
```

- Support for Java 11
- Support WebAssembly JNI modules
- Improved mobile usability
- Improved performance
- Various bug fixes
- [`enableInputMethods`](https://cheerpj.com/docs/reference/cheerpjInit.md#enableinputmethods) is set to `true` by default.

## [3.1](https://labs.leaningtech.com/blog/cheerpj-3.1) - February 5, 2025

```html
<script src="https://cjrtnc.leaningtech.com/3.1/cj3loader.js"></script>
```

- Maximise window support
- Brand new “execCallback” option
- Restore audio support
- Various bug fixes
- Improved font behavior
- Improved debugging options
- Improved performance

## [3.0](https://cheerpj.com/cheerpj-3-now-generally-available/) - February 1, 2024

```html
<script src="https://cjrtnc.leaningtech.com/3.0/cj3loader.js"></script>
```

- Support all Java opcodes in the JIT
- Better support for missing JNI symbols
- Improved support for socket syscalls
- Support for loading native libraries as JavaScript modules
- Support zero-copy passing of primitive arrays in library mode
- Restore support for image filtering
- Restore support for printing
- Optimized font handling
- Improved error message when server does not support content ranges

## [3.0rc2](https://labs.leaningtech.com/blog/cheerpj-3-deep-dive) - November 29, 2023

```html
<script src="https://cjrtnc.leaningtech.com/3.0/cj3loader.js"></script>
```

- Reduced verbosity of debug messages
- Support for `synchronised` methods in the JIT
- Restored support for AWT to the same level as CheerpJ 2.3
- Improved reflection support
- Support for Web Workers (just use `importScripts`)
- Improved clipboard support
- Improved library mode with support object field access, arrays, `instanceof`, quality-of-life and debugging
- Improved support for fonts
- Improved support for class loaders
- Fixed preloading support
- Support for `ClassCastException`
- `cheerpjAddStringFile` deprecated, renamed to `cheerpOSAddStringFile`

## [3.0rc1](https://cheerpj.com/announcing-cheerpj-3-0rc1-help-us-test-and-improve/) - October 18, 2023

```html
<script src="https://cjrtnc.leaningtech.com/3.0rc1/cj3loader.js"></script>
```

- Completely new JIT-based architecture
  - Removed AOT compiler
- Full classloader support
- New scalable JNI architecture (`cheerpjInit` `natives` option)
- Library mode (`cheerpjRunLibrary`)
  - Removed `cjCall` and `cjNew`
- `cheerpjInit` is now asynchronous
- `cheerpj-dom.jar` removed
- `cheerpjRunJarWithClasspath` removed
- `CheerpJWorker` removed (3.0rc2 adds support for `importScripts`)
- `com.leaningtech.handlers` HTTP handler no longer needed. HTTP(S) requests just work

## Previous versions

[CheerpJ 3.0 was a major architectural rewrite of CheerpJ](https://labs.leaningtech.com/blog/announcing-cheerpj-3).
