Skip to content

PerlOnJava 5.44.1: Regex, Threads, Async/Await, and CPAN Compatibility

Latest

Choose a tag to compare

@fglock fglock released this 24 Aug 21:38
· 4 commits to master since this release

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, and Catalyst::Runtime can be installed from CPAN with jcpan; Moose and Future::AsyncAwait are 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, and Thread::Semaphore.
  • Adds native Future::AsyncAwait syntax 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 -T on 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.