PerlOnJava 5.44.1 delivers a substantially more complete Perl runtime on the JVM, centered on regex compatibility, threads, native async/await, and broader CPAN application support.
Highlights
Compatibility and CPAN
- 686,288 of 696,597 assertions pass in the Perl standard test suite (98.5%).
- 7,522 of 16,311 randomly selected CPAN modules pass all tests (46.1%).
WWW::Mechanize,Moo, Template Toolkit,DBIx::Class, andCatalyst::Runtimecan be installed from CPAN withjcpan;MooseandFuture::AsyncAwaitare bundled.
Regex and Unicode
- Completes the Joni-backed regex implementation slice on both execution backends.
- Adds dynamic regex programs, bounded recursion, variable-length lookbehind, grapheme clusters, advanced Unicode properties, and Perl control verbs.
- The 80-file core regex gate gains 729 passing assertions over the earlier baseline with no per-file regressions.
Threads and Async/Await
- Adds full ithread support and interpreter multiplicity across both backends, including
threads,threads::shared,Thread::Queue, andThread::Semaphore. - Adds native
Future::AsyncAwaitsyntax and runtime support for suspension, resumption, cancellation, async signatures,defer,CANCEL, and the Awaitable role. - All 52 upstream Future::AsyncAwait files and 225 assertions pass on both execution backends.
Applications and Runtime
- Adds single-process Catalyst applications through
Plack::Handler::Netty, plus the PAGI HTTP, WebSocket, and Server-Sent Events reference stack. - Adds Perl taint mode with
-Ton both execution backends. - Expands Java-backed compatibility for XML, Markdown, introspection, YAML, cryptography, process, scalar, tied-container, and other modules.
- Improves
jcpan, MakeMaker, prerequisite resolution, generated modules, encoding, networking, lifecycle behavior, and interpreter parity.
Distribution
- Preserves the single-JAR distribution model with stronger packaging, SBOM, license, provenance, Ubuntu, and Windows validation.
See the full changelog and documentation.