Changelog
6.0.6 2026-07-22
Trusted class-definition provenance
- Fixed protected JavaFX FXML startup failures caused by
MethodUtildefining its verifiedTrampolinehelper throughdefineClass(byte[]). Trust now propagates only from VM-verified class or loader provenance, not from class names, paths, packages, orCodeSourcestrings. - Added real FXML coverage with
fx:controller, property elements, controller injection, and WebView startup, plus regressions for trusted dynamic definitions, two-level propagation, unknown sources, unauthorized JARs, and protected-name replacement. - Published VLX 1.0.14 runtimes for JDK 11, 17, 21, and 25. JDK 8 remains on VLX 1.0.11.
6.0.5 2026-07-21
JavaFX native runtime integrity
- Fixed Windows JavaFX WebView startup failures (
Graphics Device initialization failed/No toolkit found) by placing packaged JavaFX DLLs invlxjre/binand aligning the launcher's native library search. - Extended the encrypted
app.p4jxallowlist to external native libraries. JavaFX native files must match exact SHA-256 values regardless of path, and Glass revalidates the actual loaded file; unrecognized or tampered files are rejected. - Published refreshed Protector4J runtimes for JDK 11, 17, 21, and 25. Supported JavaFX grids passed L5.1-L5.4, covering WebView startup plus tamper rejection for module JARs,
jdk.jsobject, and Glass native libraries.
6.0.4 2026-07-21
External module integrity and JavaFX runtime compatibility
- Removed path-based trust for external modules. Every external module JAR must now match an exact SHA-256 allowlist entry embedded in
app.p4jx; unrecognized or tampered files are rejected regardless of location. - Added automatic dependency-closure detection from JavaFX
module-info.classand controlled admission of pinned JavaFX and JDK modules, includingjavafx.mediaandjdk.jsobject. - Fixed JavaFX WebView startup and post-boot-layer E818 /
ClassFormatErrorfailures across supported JDK trains and platforms with newly released P4JX runtimes.
6.0.3 2026-07-20
JavaFX WebView module compatibility
- Fixed optional
jdk.jsobjectresolution for supported P4JX runtimes rebuilt from the same JDK/VLX version. Packaging no longer rejects a compatible runtime solely because its completelib/modulesimage has different bytes. - Retained train/platform-specific artifact selection, exact module SHA-256 and module-name validation, and dependency-closure verification after installation.
6.0.2 2026-07-20
JavaFX WebView compatibility
- Fixed JavaFX WebView startup failures by packaging
javafx.mediatogether withjavafx.weband automatically resolving the exact P4JX-matchedjdk.jsobjectmodule when a pruned runtime does not include it. - Added SHA-256-pinned, version/platform/runtime-bound optional module downloads from the regional public download service. Runtimes that already include the module skip the download.
6.0.1 2026-07-20
JavaFX compatibility
- Fixed startup failures for fat JARs that embed JavaFX runtime classes. Compatibility Apply now keeps embedded JavaFX API, implementation, and JNI bridge namespaces unencrypted, avoiding duplicate ownership with packaged JavaFX modules.
- Improved compatibility diagnostics and multilingual guidance for applications with shaded JavaFX runtimes.
6.0.0 2026-07-20
Protector4J 6.0 is a major release built on a redesigned protection architecture, rather than an incremental update to the 5.x series.
Architecture and protection
- Redesigned the foundational architecture of Protector4J and introduced the new P4JX protection engine.
- Added nearly 100 protection measures across archive generation, class loading, runtime execution, anti-debugging, and artifact integrity.
- Significantly raised the barrier to reverse engineering. The new architecture is designed to make short-term cracking extremely difficult, even with advanced AI-assisted analysis tools.
- Strengthened license requests, runtime downloads, artifact verification, and cross-platform installer security.
Product experience
- Added support for JDK 8, 11, 17, 21, and 25, with graphical packaging workflows for Java, JavaFX, Spring Boot, and Tomcat applications.
- Added compatibility scanning, selective class encryption, dependency JAR protection, YAML task import/export, and batch builds for multiple target platforms.
- Redesigned the desktop interface with support for 11 languages and persistent language preferences.
Migration notes
Protector4J 6.0 differs substantially from earlier versions. Please read the latest documentation before using it, and rebuild and migrate your encrypted applications to 6.0 as soon as practical to benefit from the stronger protection.
Earlier releases
Changelog
5.7.0 2026-03-07
- Add support for JDK25
5.6.2 2026-01-03
- Fix jre download issue
- Fix pidkiller issue
5.6.1 2025-08-13
- running issue
5.6.0 2025-08-09
- Fix GraphQL resource issue
5.5.1 2025-06-01
- Fix the resource downloading issue
5.5.0 2025-04-19
- Fix issues about decoder
5.4.1 2025-04-17
- Build pidchecker with latest go version
5.4.0 2025-04-08
- Update JDK17 to 17.0.14
5.3.5 2025-03-26
- Update the executable wrapper
5.3.4 2025-03-08
- Fix the issue of not being able to run on some Windows systems
5.3.3 2025-02-20
- Fix the issue of not running under some Windows systems
5.3.2 2025-02-04
- Fix the issue of incorrect META-INF introduced by JAVA library encryption
5.3.1 2025-01-28
- Fix the issue of not being able to run on lower version CPUs
5.3.0 2025-01-25
- Add jdk.naming.dns module
5.2.0 2025-01-19
- New decoder
5.1.0 2025-01-12
- Fix the false positive issue of the decoder under Windows.
5.0.0 2024-12-28
- Add support for encrypted Java library alone(Preview), allowing the application to run with normal jre
4.8.1 2024-12-08
- Fix the issue of not checking file types when processing Tomcat tasks.
4.8.0 2024-11-30
- Fix the issue of not being able to run on Windows 7
- Fix the issue of the jdk.net module not being imported
4.7.1 2024-09-19
- Fix the issue that the generated linux app does not run properly
4.7.0 2024-09-08
- Fix the issue that the generated program can't run under macOS
- Fix the issue about false positive of security software
4.6.2 2024-07-21
- Add option to remove application.properties file from libraries for SpringBoot applications
- Add a scrollbar to solve the issue that the elements on the window are not fully displayed when the window is too small.
4.6.1 2024-05-25
- Fix the issue of repeated downloads of vlxjre8 on Mac.
- Fix the problem of missing JVM options when loading TaskInfo.
4.6.0 2024-04-30
- Update jdk to solve the login module missing issue
- Update add-permission-script.sh
4.5.3 2024-03-16
- Add tomcat 10.1.19
4.5.2 2024-03-02
- Fixed the wrapper issue under Windows
4.5.1 2024-03-01
- Fixed the signature issue about Java 21
4.5.0 2024-02-25
- Fixed the issue that virtual thread can't work
4.4.0 2024-02-24
- Fixed issue about decoder
4.3.0 2024-02-06
- Update Tomcat to 9.0.85
4.2.2 2024-01-31
- Remove the unuseful wrapper.json file
4.2.1 2024-01-25
- Fixed the issue of permission script
4.2.0 2024-01-23
- Fixed the issue that broken pipe causes app to exit
- Fixed the issue that /tmp folder auto-cleanup causes app to exit
- Fixed the issue that Java 8 cannot find libfreetype on macos
- Fixed the issue that conflicts exist when multiple application.properties exist
4.1.0 2023-10-30
- Fixed a problem with JDK8
- Fixed a broken pipe issue on Linux and macOS.
- Chinese users can now select the server as https://protector4j.cn
4.0.1 2023-10-24
- Upgrade decoder
4.0.0 2023-10-17
- Added support for Java 21
- Security enhancements for stronger protections
3.3.0 2023-09-29
- Fixed a problem where Tomcat projects would not start properly.
- Warns when duplicate classes exist in a project
3.2.0 2023-08-24
- Fixed a problem with Windows coding in multi-language environments
3.1.1 2023-08-02
- Fixed garbled code in non-English paths
3.1.0 2023-07-22
- Fixed ZipInputStream related issues.
- Fixed ZipFileSystem related issues
- Fixed other issues
3.0.2 2023-05-29
- Fixed decoding problems on Windows
3.0.1 2023-05-25
- Fixed startup problems with mac-aarch64 version
3.0.0 2023-05-20
- New application startup system
- New decoding system
- Java 8 can now run programs with the -jar command
2.12.5 2023-05-12
- Fixed jdk8 not finding freetype on macOS
2.12.4 2023-02-28
- Update backend