Skip to content

Release PerlOnJava 5.44.1 - #1101

Merged
fglock merged 9 commits into
masterfrom
release/5.44.1
Aug 24, 2026
Merged

Release PerlOnJava 5.44.1#1101
fglock merged 9 commits into
masterfrom
release/5.44.1

Conversation

@fglock

@fglock fglock commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • prepare version 5.44.1, promote the changelog, and document the reusable release workflow
  • preserve async warning policy across queued resumes and align interpreter await diagnostics
  • serialize lazy compilation during thread snapshots and retain PR 1100's bundled-IO CPAN overlay fix
  • fix Catalyst routing, encoding, recursion, lifecycle, closure, and bundled Moose compatibility regressions
  • align scalar-context sort with standard Perl on both backends

Validation completed

  • rebased onto origin/master at c7b1a560d
  • make — all unit shards, Joni, packaging, and shadow JAR pass
  • make test-bundled-modules — all bundled-module tests pass
  • Ubuntu and Windows CI — pass
  • Future::AsyncAwait 0.71 — 52 files and 225 tests pass on both backends
  • new/updated release regressions — 69 assertions pass on both backends and encode standard Perl behavior
  • Catalyst fixed-file gate — 12 files and 568 tests pass
  • Catalyst uploads — 105/105 pass post-rebase in 44.5 seconds
  • Catalyst Netty route smoke — routing, uploads, UTF-8, errors, redirects, headers/cookies, logging, and PSGI pass
  • examples — core, HTTP, PAGI, Plack, ExifTool, Catalyst Netty, thread examples, and JAPH pass
  • bounded regex stress — 152/152 on each backend
  • repeated DBI thread and lazy-snapshot stress — 10/10 on each backend

Documented Catalyst boundaries

  • single-process Catalyst applications are supported through Plack::Handler::Netty; fork/prefork and fork-based reload patterns remain unsupported
  • one upstream test requires undeclared Class::Accessor and passes when that fixture is installed
  • one gzip charset assertion reflects Catalyst 5.90132 incompatibility with modern HTTP::Headers, reproduced with system Perl

All release-blocking Catalyst regressions found during the 200-file upstream scan are fixed and covered. This PR is ready for review and UAT; merge, tag, and release remain gated on explicit approval.

fglock and others added 7 commits August 24, 2026 20:43
Document the guarded version, changelog, validation, tagging, and GitHub
release procedure for repeatable project releases.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Increment the project version, promote the changelog, refresh compatibility
reports and documentation, and strengthen the reusable release workflow.

Preserve async warning policy across queued resumes and serialize lazy
compilation during thread snapshots, with focused regression coverage.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Prevent dependency blibs from replacing IO::Handle and IO::File with
core-Perl files that require unavailable XS methods. Add a focused
launcher-bound regression test and document the triage pattern.

Generated with Codex (https://openai.com/codex)

Co-Authored-By: Codex <noreply@openai.com>
Use the string-eval-specific await diagnostic only at eval top level so an
ordinary sub compiled through the interpreter reports the canonical
Future::AsyncAwait error.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Update the async upstream test count and record completion of the latest-master
integration and post-rebase validation gates.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Fix Catalyst routing, encoding, lifecycle, closure, recursion, and module
compatibility failures found during the 5.44.1 release gate. Preserve dynamic
locals across loop control on both backends, restore overloaded require errors,
and align scalar-context sort with standard Perl.

Add focused system-Perl-validated regressions and replace the bundled
Devel::Cycle stub with the official pure-Perl 1.12 implementation.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Update the regex implementation progress tracker for the latest master rebase
and the final Catalyst, bundled-module, and scalar-sort acceptance results.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
fglock and others added 2 commits August 24, 2026 21:45
Evaluate reverse operands in list context in the bytecode backend so scalar
reverse-sort expressions retain Perl semantics. Preserve readonly undef aliases
in interpreted foreach loops while keeping references tied to the original
scalar cell.

Add system-Perl-validated regressions and record the UAT recovery and benchmark
variance evidence in the implementation plan.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Preserve canonical foreach reference identity while wrapping read-only scalar
dereference targets in the interpreter mutation guard. This restores the
standard error for assignments through references to literal foreach aliases.

Extend the system-Perl-validated regression across numeric, string, and undef
aliases and record the full local Perl comparison as a release gate.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock merged commit 7bb930a into master Aug 24, 2026
2 checks passed
@fglock
fglock deleted the release/5.44.1 branch August 24, 2026 21:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant