Branch: refs/heads/parsexs-outargs
  Home:   https://github.com/Perl/perl5
  Commit: 80e9e9f8c0a5d5210175de86ff1b0a5388fc40f8
      
https://github.com/Perl/perl5/commit/80e9e9f8c0a5d5210175de86ff1b0a5388fc40f8
  Author: Karl Williamson <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M t/loc_tools.pl

  Log Message:
  -----------
  cygwin has two bad locales; skip them in testing


  Commit: 0ac24e81b144856829886668dee04f0368e9f6bb
      
https://github.com/Perl/perl5/commit/0ac24e81b144856829886668dee04f0368e9f6bb
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M pod/perlhist.pod
    M pod/perlpolicy.pod

  Log Message:
  -----------
  Update perlhist and perlpolicy for 5.44


  Commit: e634cc838fb1785dfafb5d13b52807ea16b5c52c
      
https://github.com/Perl/perl5/commit/e634cc838fb1785dfafb5d13b52807ea16b5c52c
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M META.json
    M patchlevel.h

  Log Message:
  -----------
  Remove RC2 marker from patchlevel.h for 5.44.0 release


  Commit: f13f58bd9d4aff45f5ff409ff3b8f4dc2e6dbd2b
      
https://github.com/Perl/perl5/commit/f13f58bd9d4aff45f5ff409ff3b8f4dc2e6dbd2b
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Porting/epigraphs.pod

  Log Message:
  -----------
  Add epigraph for v5.44.0


  Commit: ece4bebaad6694a84b938114045f9b1ac1831416
      
https://github.com/Perl/perl5/commit/ece4bebaad6694a84b938114045f9b1ac1831416
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Porting/release_schedule.pod

  Log Message:
  -----------
  Update release schedule


  Commit: e3159c8858526e901d1ec9cc253a8472f4881da7
      
https://github.com/Perl/perl5/commit/e3159c8858526e901d1ec9cc253a8472f4881da7
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M MANIFEST
    M Makefile.SH
    M pod/.gitignore
    M pod/perl.pod
    A pod/perl5440delta.pod
    M pod/perldelta.pod
    M vms/descrip_mms.template
    M win32/GNUmakefile
    M win32/Makefile
    M win32/pod.mak

  Log Message:
  -----------
  Add new perldelta for 5.45.0


  Commit: e812c3ceb9254d7e38ae456d610224e2cc953228
      
https://github.com/Perl/perl5/commit/e812c3ceb9254d7e38ae456d610224e2cc953228
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M lib/B/Op_private.pm
    M lib/feature.pm
    M regen/feature.pl

  Log Message:
  -----------
  Regenerate for 5.45.0


  Commit: a8b445d8373ac0cb491ea67a0b2342214214493d
      
https://github.com/Perl/perl5/commit/a8b445d8373ac0cb491ea67a0b2342214214493d
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/Module-CoreList/lib/Module/CoreList.pm
    M dist/Module-CoreList/lib/Module/CoreList/Utils.pm

  Log Message:
  -----------
  Update Module::Corelist for 5.45.0


  Commit: a5b98d8d117b7c2374e685cf4335d0720358760f
      
https://github.com/Perl/perl5/commit/a5b98d8d117b7c2374e685cf4335d0720358760f
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Cross/config.sh-arm-linux
    M Cross/config.sh-arm-linux-n770
    M INSTALL
    M META.json
    M META.yml
    M Porting/config.sh
    M Porting/config_H
    M Porting/perldelta_template.pod
    M Porting/sync-with-cpan
    M Porting/todo.pod
    M README.haiku
    M README.macosx
    M README.os2
    M README.vms
    M README.win32
    M hints/catamount.sh
    M patchlevel.h
    M plan9/config_sh.sample
    M win32/GNUmakefile
    M win32/Makefile

  Log Message:
  -----------
  Bump version to 5.45.0


  Commit: d1f999dc7c0e133176f5a143f9b753b02b12dc67
      
https://github.com/Perl/perl5/commit/d1f999dc7c0e133176f5a143f9b753b02b12dc67
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M Porting/Maintainers.pl

  Log Message:
  -----------
  Update Maintainers.pl for Module::Corelist


  Commit: 7bfc41325f523abd1348c34c170e454e642a05b3
      
https://github.com/Perl/perl5/commit/7bfc41325f523abd1348c34c170e454e642a05b3
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M pod/perlhist.pod

  Log Message:
  -----------
  Update perlhist for 5.45.0


  Commit: 62a8acbc36a76bb960b6625cdd4da9bec44e0c69
      
https://github.com/Perl/perl5/commit/62a8acbc36a76bb960b6625cdd4da9bec44e0c69
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    A .github/workflows/detect-conflicts.yml

  Log Message:
  -----------
  github: re-instate and update detect-conflicts workflow

This originally used a customized workflow at
https://github.com/atoomic/auto-label-merge-conflicts/tree/custom
which included
https://github.com/mschilde/auto-label-merge-conflicts/pull/43 which
was merged in 2020.

Recently this custom version has been failing due to a bug that has
been fixed upstream in
https://github.com/mschilde/auto-label-merge-conflicts/pull/67

Unfortunately this workflow only runs on the blead branch, so we can
only see if it works by merging it.


  Commit: fb7ce419b31cde9a82b7c595864898751781d525
      
https://github.com/Perl/perl5/commit/fb7ce419b31cde9a82b7c595864898751781d525
  Author: James E Keenan <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M MANIFEST
    M META.json
    M Porting/Maintainers.pl
    M cpan/JSON-PP/bin/json_pp
    M cpan/JSON-PP/lib/JSON/PP.pm
    M cpan/JSON-PP/lib/JSON/PP/Boolean.pm
    A cpan/JSON-PP/t/121_reentrant.t

  Log Message:
  -----------
  JSON::PP: Synch with CPAN version 4.18

>From Changes:

4.18 2026-03-20
- fix duplicate specification warning (GH#93, 88; Heiko Jansen++)
- fix typo (GH#92, sobrado8086++; GH#96, Grinnz++)
- fix decode_json prototype (reported by bdfoy++)
- fix space_after (GH#89, haukex++)

4.17_01 2023-07-29
- fix a reentrant issue (experimental) (GH#61, 87)

Committer:

Initially t/porting/regen.t failed. Ran:

cd t; ./perl harness -v porting/regen.t; cd -

... which in turn instructed me to run:

./perl -Ilib Porting/makemeta -j

... which update META.json, after which 'make test_porting' passed.


  Commit: abf62f74d2e0f98281c17d2e50edcce6869e4752
      
https://github.com/Perl/perl5/commit/abf62f74d2e0f98281c17d2e50edcce6869e4752
  Author: Chad Granum <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M MANIFEST
    M Porting/Maintainers.pl
    A cpan/Test-Simple/CLAUDE.md
    M cpan/Test-Simple/lib/Test/Builder.pm
    M cpan/Test-Simple/lib/Test/Builder/Formatter.pm
    M cpan/Test-Simple/lib/Test/Builder/Module.pm
    M cpan/Test-Simple/lib/Test/Builder/Tester.pm
    M cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
    M cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
    M cpan/Test-Simple/lib/Test/More.pm
    M cpan/Test-Simple/lib/Test/Simple.pm
    M cpan/Test-Simple/lib/Test/Tester.pm
    M cpan/Test-Simple/lib/Test/Tester/Capture.pm
    M cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
    M cpan/Test-Simple/lib/Test/Tester/Delegate.pm
    M cpan/Test-Simple/lib/Test/use/ok.pm
    M cpan/Test-Simple/lib/Test2.pm
    M cpan/Test-Simple/lib/Test2/API.pm
    M cpan/Test-Simple/lib/Test2/API/Breakage.pm
    M cpan/Test-Simple/lib/Test2/API/Context.pm
    M cpan/Test-Simple/lib/Test2/API/Instance.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Event.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Facet.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Hub.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Squasher.pm
    M cpan/Test-Simple/lib/Test2/API/Stack.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Event/Attach.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Event/Detach.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Formatter.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Hub.pm
    M cpan/Test-Simple/lib/Test2/Bundle.pm
    M cpan/Test-Simple/lib/Test2/Bundle/Extended.pm
    M cpan/Test-Simple/lib/Test2/Bundle/More.pm
    M cpan/Test-Simple/lib/Test2/Bundle/Simple.pm
    M cpan/Test-Simple/lib/Test2/Compare.pm
    M cpan/Test-Simple/lib/Test2/Compare/Array.pm
    M cpan/Test-Simple/lib/Test2/Compare/Bag.pm
    M cpan/Test-Simple/lib/Test2/Compare/Base.pm
    M cpan/Test-Simple/lib/Test2/Compare/Bool.pm
    M cpan/Test-Simple/lib/Test2/Compare/Custom.pm
    M cpan/Test-Simple/lib/Test2/Compare/DeepRef.pm
    M cpan/Test-Simple/lib/Test2/Compare/Delta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Event.pm
    M cpan/Test-Simple/lib/Test2/Compare/EventMeta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Float.pm
    M cpan/Test-Simple/lib/Test2/Compare/Hash.pm
    M cpan/Test-Simple/lib/Test2/Compare/Isa.pm
    M cpan/Test-Simple/lib/Test2/Compare/Meta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Negatable.pm
    M cpan/Test-Simple/lib/Test2/Compare/Number.pm
    M cpan/Test-Simple/lib/Test2/Compare/Object.pm
    M cpan/Test-Simple/lib/Test2/Compare/OrderedSubset.pm
    M cpan/Test-Simple/lib/Test2/Compare/Pattern.pm
    M cpan/Test-Simple/lib/Test2/Compare/Ref.pm
    M cpan/Test-Simple/lib/Test2/Compare/Regex.pm
    M cpan/Test-Simple/lib/Test2/Compare/Scalar.pm
    M cpan/Test-Simple/lib/Test2/Compare/Set.pm
    M cpan/Test-Simple/lib/Test2/Compare/String.pm
    M cpan/Test-Simple/lib/Test2/Compare/Undef.pm
    M cpan/Test-Simple/lib/Test2/Compare/Wildcard.pm
    M cpan/Test-Simple/lib/Test2/Env.pm
    M cpan/Test-Simple/lib/Test2/Event.pm
    M cpan/Test-Simple/lib/Test2/Event/Bail.pm
    M cpan/Test-Simple/lib/Test2/Event/Diag.pm
    M cpan/Test-Simple/lib/Test2/Event/Encoding.pm
    M cpan/Test-Simple/lib/Test2/Event/Exception.pm
    M cpan/Test-Simple/lib/Test2/Event/Fail.pm
    M cpan/Test-Simple/lib/Test2/Event/Generic.pm
    M cpan/Test-Simple/lib/Test2/Event/Note.pm
    M cpan/Test-Simple/lib/Test2/Event/Ok.pm
    M cpan/Test-Simple/lib/Test2/Event/Pass.pm
    M cpan/Test-Simple/lib/Test2/Event/Plan.pm
    M cpan/Test-Simple/lib/Test2/Event/Skip.pm
    M cpan/Test-Simple/lib/Test2/Event/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
    M cpan/Test-Simple/lib/Test2/Event/V2.pm
    M cpan/Test-Simple/lib/Test2/Event/Waiting.pm
    M cpan/Test-Simple/lib/Test2/EventFacet.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/About.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Info/Table.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
    M cpan/Test-Simple/lib/Test2/Formatter.pm
    M cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
    M cpan/Test-Simple/lib/Test2/Handle.pm
    M cpan/Test-Simple/lib/Test2/Hub.pm
    M cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
    M cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
    M cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
    M cpan/Test-Simple/lib/Test2/IPC.pm
    M cpan/Test-Simple/lib/Test2/IPC/Driver.pm
    M cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
    M cpan/Test-Simple/lib/Test2/Manual.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/API.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Context.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/EndToEnd.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Event.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Hubs.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/IPC.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Utilities.pm
    M cpan/Test-Simple/lib/Test2/Manual/Concurrency.pm
    M cpan/Test-Simple/lib/Test2/Manual/Contributing.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Introduction.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Migrating.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Planning.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Todo.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/FirstTool.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Formatter.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Nesting.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/TestExit.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/TestingDone.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/ToolCompletes.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/ToolStarts.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/TestBuilder.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Testing.pm
    M cpan/Test-Simple/lib/Test2/Mock.pm
    M cpan/Test-Simple/lib/Test2/Plugin.pm
    M cpan/Test-Simple/lib/Test2/Plugin/BailOnFail.pm
    M cpan/Test-Simple/lib/Test2/Plugin/DieOnFail.pm
    M cpan/Test-Simple/lib/Test2/Plugin/ExitSummary.pm
    M cpan/Test-Simple/lib/Test2/Plugin/SRand.pm
    M cpan/Test-Simple/lib/Test2/Plugin/Times.pm
    M cpan/Test-Simple/lib/Test2/Plugin/UTF8.pm
    M cpan/Test-Simple/lib/Test2/Require.pm
    M cpan/Test-Simple/lib/Test2/Require/AuthorTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/AutomatedTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/EnvVar.pm
    M cpan/Test-Simple/lib/Test2/Require/ExtendedTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Fork.pm
    M cpan/Test-Simple/lib/Test2/Require/Module.pm
    M cpan/Test-Simple/lib/Test2/Require/NonInteractiveTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Perl.pm
    M cpan/Test-Simple/lib/Test2/Require/RealFork.pm
    M cpan/Test-Simple/lib/Test2/Require/ReleaseTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Threads.pm
    M cpan/Test-Simple/lib/Test2/Suite.pm
    M cpan/Test-Simple/lib/Test2/Todo.pm
    M cpan/Test-Simple/lib/Test2/Tools.pm
    M cpan/Test-Simple/lib/Test2/Tools/AsyncSubtest.pm
    M cpan/Test-Simple/lib/Test2/Tools/Basic.pm
    M cpan/Test-Simple/lib/Test2/Tools/Class.pm
    M cpan/Test-Simple/lib/Test2/Tools/ClassicCompare.pm
    M cpan/Test-Simple/lib/Test2/Tools/Compare.pm
    M cpan/Test-Simple/lib/Test2/Tools/Defer.pm
    M cpan/Test-Simple/lib/Test2/Tools/Encoding.pm
    M cpan/Test-Simple/lib/Test2/Tools/Event.pm
    M cpan/Test-Simple/lib/Test2/Tools/Exception.pm
    M cpan/Test-Simple/lib/Test2/Tools/Exports.pm
    M cpan/Test-Simple/lib/Test2/Tools/GenTemp.pm
    M cpan/Test-Simple/lib/Test2/Tools/Grab.pm
    M cpan/Test-Simple/lib/Test2/Tools/Mock.pm
    M cpan/Test-Simple/lib/Test2/Tools/Ref.pm
    M cpan/Test-Simple/lib/Test2/Tools/Refcount.pm
    M cpan/Test-Simple/lib/Test2/Tools/Spec.pm
    M cpan/Test-Simple/lib/Test2/Tools/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Tools/Target.pm
    M cpan/Test-Simple/lib/Test2/Tools/Tester.pm
    M cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
    M cpan/Test-Simple/lib/Test2/Tools/Warnings.pm
    M cpan/Test-Simple/lib/Test2/Transition.pod
    M cpan/Test-Simple/lib/Test2/Util.pm
    M cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
    M cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
    M cpan/Test-Simple/lib/Test2/Util/Grabber.pm
    M cpan/Test-Simple/lib/Test2/Util/Guard.pm
    M cpan/Test-Simple/lib/Test2/Util/HashBase.pm
    M cpan/Test-Simple/lib/Test2/Util/Importer.pm
    M cpan/Test-Simple/lib/Test2/Util/Ref.pm
    M cpan/Test-Simple/lib/Test2/Util/Sig.pm
    M cpan/Test-Simple/lib/Test2/Util/Stash.pm
    M cpan/Test-Simple/lib/Test2/Util/Sub.pm
    M cpan/Test-Simple/lib/Test2/Util/Table.pm
    M cpan/Test-Simple/lib/Test2/Util/Table/Cell.pm
    M cpan/Test-Simple/lib/Test2/Util/Table/LineBreak.pm
    M cpan/Test-Simple/lib/Test2/Util/Term.pm
    M cpan/Test-Simple/lib/Test2/Util/Times.pm
    M cpan/Test-Simple/lib/Test2/Util/Trace.pm
    M cpan/Test-Simple/lib/Test2/V0.pm
    M cpan/Test-Simple/lib/Test2/V1.pm
    M cpan/Test-Simple/lib/Test2/V1/Base.pm
    M cpan/Test-Simple/lib/Test2/V1/Handle.pm
    M cpan/Test-Simple/lib/Test2/Workflow.pm
    M cpan/Test-Simple/lib/Test2/Workflow/BlockBase.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Build.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Runner.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task/Action.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task/Group.pm
    M cpan/Test-Simple/lib/ok.pm
    M cpan/Test-Simple/t/Legacy/subtest/line_numbers.t
    M cpan/Test-Simple/t/Legacy/subtest/predicate.t
    M cpan/Test-Simple/t/Test2/modules/API/Breakage.t
    M cpan/Test-Simple/t/modules/Handle.t
    M cpan/Test-Simple/t/modules/Tools/Compare.t
    M cpan/Test-Simple/t/modules/Tools/Subtest.t
    M cpan/Test-Simple/t/regression/684-nested_todo_diag.t

  Log Message:
  -----------
  cpan/Test-Simple - Update to version 1.302222

1.302222  2026-06-15 10:18:50-07:00 America/Los_Angeles

    - Add missing Changes entry
    - Fix test that fails on some windows versions due to path seperators

1.302221  2026-06-13 22:12:23-07:00 America/Los_Angeles
    - EBDIC fixes

1.302220  2026-06-09 15:49:19-07:00 America/Los_Angeles
    - Add [PruneCruft] to dist.ini so build artifacts (blib/, pm_to_blib, 
MYMETA.*) no longer leak into release tarballs.
    - Remove Net::BitTorrent from broken list
    - Amend tests to adapt to more accurate line number reporting in core 
(#1080)


  Commit: 9f30045db224205609b4be2b72fdff9b7807c0b4
      
https://github.com/Perl/perl5/commit/9f30045db224205609b4be2b72fdff9b7807c0b4
  Author: James E Keenan <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M autodoc.pl

  Log Message:
  -----------
  autodoc.pl: die instead of warn

As mentioned by Karl Williamson in
https://github.com/Perl/perl5/issues/24276#issuecomment-4061109464, it's
easy to miss perl-level warnings emitted by autodoc.pl.  If we were to
change all instances of `warn` to `die`, we'd be better alerted to
changes in core that run afoul of such messages.

Note that we would have to fix the problem discussed in GH #24276 before
merging this branch.


  Commit: 6128d6eff7175ef8f786dda835b6d435a64c06e7
      
https://github.com/Perl/perl5/commit/6128d6eff7175ef8f786dda835b6d435a64c06e7
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  perlxs: fix minor issues


  Commit: b8a2228aa79dd73ba7db0a89658b8e4016a4d7f5
      
https://github.com/Perl/perl5/commit/b8a2228aa79dd73ba7db0a89658b8e4016a4d7f5
  Author: Graham Knop <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/t/lib/TestMany.pm

  Log Message:
  -----------
  ExtUtils-ParseXS: silence warnings on older perls

Running on older perls where Test::More has not been updated would show
uninitialized warnings because the empty outputs were undefined.


  Commit: 3f444cefe92140526fc88ab77290f9bb8d775360
      
https://github.com/Perl/perl5/commit/3f444cefe92140526fc88ab77290f9bb8d775360
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/IO/Makefile.PL

  Log Message:
  -----------
  IO: fix ExtUtils::MakeMaker version check in Makefile.PL

A string comparison against '6.30' avoids warnings on older MakeMakers
(where VERSION may contain underscores), but will produce wrong results
when ExtUtils::MakeMaker reaches version 10 or higher.


  Commit: d8a71faf65d43644b29d6f4f2759b703c3536070
      
https://github.com/Perl/perl5/commit/d8a71faf65d43644b29d6f4f2759b703c3536070
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/IO/Makefile.PL

  Log Message:
  -----------
  IO: switch license URL to https

<http://dev.perl.org/licenses/> redirects to the https version anyway,
so just link to that.


  Commit: 563f57ab28c755d45a87875ce7461d4e8117f079
      
https://github.com/Perl/perl5/commit/563f57ab28c755d45a87875ce7461d4e8117f079
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M dist/IO/Makefile.PL

  Log Message:
  -----------
  IO: simplify min perl version assert in Makefile.PL

The BEGIN/require form is only needed for compatibility with perl 5.000
.. 5.003.¹ Starting with 5.004, 'use VERSION' works fine. (And before
5.000, 'BEGIN' was a syntax error anyway.)

---

¹ Happy 30th birthday, perl 5.003!


  Commit: 54e8d7f81d44acc28508644831db8a3517ffe45b
      
https://github.com/Perl/perl5/commit/54e8d7f81d44acc28508644831db8a3517ffe45b
  Author: Richard Leach <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M t/op/runlevel.t

  Log Message:
  -----------
  Add a test for GH#4693, fixed at some point in the past

This old ticket pertains to incorrect line numbers when a LOGOP condition
can be evaluated at compile time.

```
if (0) {print "aa";}
elsif (1) {print "bb";}
```

The condition and untaken branch are freed during compilation. At some point,
the surviving optree did not include a COP containing an accurate line number.

It does nowadays, but there doesn't seem to be a dedicated test for it. This
commit adds one, plus tests for `if()` and `else()` variants.


  Commit: 827f0de8d5853148c7c8792b5574b5f574da4e51
      
https://github.com/Perl/perl5/commit/827f0de8d5853148c7c8792b5574b5f574da4e51
  Author: Tony Cook <[email protected]>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M pod/perlperf.pod

  Log Message:
  -----------
  perlperf: make the example dereference case more reasonable

update the results and make the comparison a bit easier to read.

Fixes #10346


  Commit: 18130018e5fa1e5f179ef5558c005b4669d94486
      
https://github.com/Perl/perl5/commit/18130018e5fa1e5f179ef5558c005b4669d94486
  Author: Richard Leach <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M regexec.c

  Log Message:
  -----------
  S_cleanup_regmatch_info_aux - don't Safefree(NULL)

One of the tasks of the `S_cleanup_regmatch_info_aux` destructor is to
free any `aux->poscache` allocation.

However, many regular expressions - such as a simple TRIE - don't cause
an allocation to occur. This commit adds a check to ensure that an
unnecessary function call isn't made in those instances.


  Commit: 3ae840500535b1094ecc0561ffd53a076b27344a
      
https://github.com/Perl/perl5/commit/3ae840500535b1094ecc0561ffd53a076b27344a
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M op.c
    M t/lib/warnings/op

  Log Message:
  -----------
  op.c: don't warn on 'open my $fh, $file;'

We have a hacky heuristic that complains about `Missing parentheses
around "my" list` when it sees `my $x, $y;` or similar, assuming the
programmer intended to declare both variables as local: `my ($x, $y);`.

However, this warning is inappropriate for open/opendir because `open my
$fh, $mode, $file` or `opendir my $dh, $dir` can appear in perfectly
correct code. Detecting this case is not easy because the warning is
generated by inspecting and the tokenizer state and manually reparsing
parts of the input. This commit adds even more hackery and reparsing to
avoid the inappropriate warning.

Fixes #4186.


  Commit: 9041d83d909f14661afa72e52c00652b0fcf8778
      
https://github.com/Perl/perl5/commit/9041d83d909f14661afa72e52c00652b0fcf8778
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M op.c
    M t/lib/warnings/op

  Log Message:
  -----------
  op.c: don't warn on 'socket my $x, $y', 'accept my $x, $y'

These functions autovivify filehandles, just like open and opendir.


  Commit: a68afd436fb7b957c05556a1dad544afb9f840a7
      
https://github.com/Perl/perl5/commit/a68afd436fb7b957c05556a1dad544afb9f840a7
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M MANIFEST
    A dist/Devel-PPPort/parts/base/5037003
    M dist/Devel-PPPort/parts/inc/mPUSH

  Log Message:
  -----------
  Add mXPUSHpvs to Devel::PPPort


  Commit: 9dd31452bb05c0739c7f39ef3704ad362aaaa3cb
      
https://github.com/Perl/perl5/commit/9dd31452bb05c0739c7f39ef3704ad362aaaa3cb
  Author: Leon Timmermans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M MANIFEST
    A dist/Devel-PPPort/parts/base/5037000
    M dist/Devel-PPPort/parts/inc/misc

  Log Message:
  -----------
  Add newSVbool to Devel::PPPort


  Commit: 8ff6d8e68b016c6b3b48adff49366115e7c2623d
      
https://github.com/Perl/perl5/commit/8ff6d8e68b016c6b3b48adff49366115e7c2623d
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/SelfLoader/lib/SelfLoader.pm

  Log Message:
  -----------
  SelfLoader: try harder to not confuse PERLIO=stdio

The previous change was failing on some FreeBSD and Linux, possibly
because it assumed that a stdio level seek would result in an fd level
seek, but a libc could optimize to just reposition within the buffer
if the seeked to position has already been read in.

So split this into two, first test that the handle is seekable without
a net change in position, then only reposition the duplicated handle,
which *should* have no buffered content.


  Commit: 0fa23aa980f547fce6c5d589709f1500633aa4ca
      
https://github.com/Perl/perl5/commit/0fa23aa980f547fce6c5d589709f1500633aa4ca
  Author: Georgij Tsarin <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M AUTHORS
    M pod/perldiag.pod
    M pp_sys.c

  Log Message:
  -----------
  pp_sys: clamp returned socket address lengths


  Commit: 9858ecee0156402268f2164254f480115136a743
      
https://github.com/Perl/perl5/commit/9858ecee0156402268f2164254f480115136a743
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Node.pm
    M dist/ExtUtils-ParseXS/t/008-parse-xsub-keywords.t

  Log Message:
  -----------
  ExtUtils::ParseXS: PERL_UNUSED_VAR() a possibly unused variable

EU::PXS declares `CV *cv;` in an inner scope of the boot function if it
has seen an ALIAS or XSINTERFACE_FUNC_SET(), but if all of the
functions being added by the boot block are guarded by false
conditionals it is possible for the cv to be unused, producing a C
compiler warning at compile-time.

Invoke the magic to silence the warning.

Encountered at https://github.com/Perl/perl5/pull/24439#issuecomment-4618125567


  Commit: d3cd50cf8a91d5a905328e6a9ade702a0c636648
      
https://github.com/Perl/perl5/commit/d3cd50cf8a91d5a905328e6a9ade702a0c636648
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Node.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    M dist/ExtUtils-ParseXS/lib/perlxs.pod

  Log Message:
  -----------
  ExtUtils::ParseXS: bump versions


  Commit: 700c39bec642d67e4b84cfd11642edb0657f9bc9
      
https://github.com/Perl/perl5/commit/700c39bec642d67e4b84cfd11642edb0657f9bc9
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/Changes

  Log Message:
  -----------
  ExtUtils::ParseXS: update Changes


  Commit: 3657fe2672c8b557582e1c46528a4f20ded9c14e
      
https://github.com/Perl/perl5/commit/3657fe2672c8b557582e1c46528a4f20ded9c14e
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/IO/t/IO.t

  Log Message:
  -----------
  IO.t: fix version check on older perls

In perls before 5.10, $^V was a plain string, not an object with an
overloaded >= operator, causing this warning on perl 5.8:

    Argument "^E^Q^D" isn't numeric in numeric ge (>=) at t/IO.t line 52.


  Commit: a1d27354cdc17a77c95d1548cc9939dd6b8e1bb8
      
https://github.com/Perl/perl5/commit/a1d27354cdc17a77c95d1548cc9939dd6b8e1bb8
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M sv.c
    M t/lib/warnings/pp_hot

  Log Message:
  -----------
  improve "uninitialized value" warning for multiconcat

The Perl code '$y = "foo" . length($x)' is compiled to a single
multiconcat op. When the code encounters an 'undef' value, it tries to
determine the source, which in this case must be length($x), propagating
undef from $x. But $y, the target of the assignment, is also one of
multiconcat's children, and was also considered a potential source of
undefs, preventing the right variable from being blamed.

This patch makes the scan for potential sources of undefs skip over
multiconcat's last child (the target) if OPf_STACKED is set.

Fixes #24460.


  Commit: 2cfd97a418952481da0e0c933e071a8c0b9a1359
      
https://github.com/Perl/perl5/commit/2cfd97a418952481da0e0c933e071a8c0b9a1359
  Author: Lukas Mai <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M sv.c
    M t/lib/warnings/pp_hot

  Log Message:
  -----------
  improve "uninitialized" warnings for append multiconcat

In the append case of multiconcat ($y .= "foo" . $x), the target $y is
an input to the operation, but can be skipped when scanning for undefs
because using .= on an uninitialized variable never triggers warnings.
So if a warning is to be emitted, we can blame some non-target child op.


  Commit: ff131520c8780dc0c84fdad9ede7e0249739e519
      
https://github.com/Perl/perl5/commit/ff131520c8780dc0c84fdad9ede7e0249739e519
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M pad.c
    M t/lib/croak/class

  Log Message:
  -----------
  pad_findlex: propagate FIELD_OK recursively

Code like:

class Foo {
   field $message :param :reader;

   sub foo {
       return method () { $message }
   }
}

would fail to build because pad_findlex() didn't propagate the
padfind_FIELD_OK flag from the anonymous method scope through to the
class scope, and reported:

  Field $message is not accessible outside a method ...

so propagate the flag.

In the original test cases the scope was a BEGIN block, hidden in a
use:

  use overload '""' => method (@) { $message };

I thought this might allow code like:

use v5.40;
use experimental 'class';

class Outer {
    field $outer :param :reader;

    class Inner {
        field $inner :param :reader;
        method foo () { $outer }
    }
}

to compile, but this is already caught by a check of the field stash
against the method expected stash.

Fixes #24418, #23446


  Commit: f77fc4195ce2dfe89948469aedf34d108ca971d3
      
https://github.com/Perl/perl5/commit/f77fc4195ce2dfe89948469aedf34d108ca971d3
  Author: Tony Cook <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M pod/perldelta.pod

  Log Message:
  -----------
  perldelta for pad_findlex: propagate FIELD_OK


  Commit: c610b797f92c03be2df035fa0f08bb3821b28023
      
https://github.com/Perl/perl5/commit/c610b797f92c03be2df035fa0f08bb3821b28023
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M ext/B/Makefile.PL

  Log Message:
  -----------
  Have the B module export the SVt_* type constants


  Commit: 7034b296f81ba53ce39a9a29044f5a4fe623b5a6
      
https://github.com/Perl/perl5/commit/7034b296f81ba53ce39a9a29044f5a4fe623b5a6
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dump.c
    M embed.fnc
    M embed.h
    M proto.h

  Log Message:
  -----------
  Add svtypename() as an API function for debug purposes


  Commit: 6cf0f7ee93f53f23504a0776d6dca752d0d350fa
      
https://github.com/Perl/perl5/commit/6cf0f7ee93f53f23504a0776d6dca752d0d350fa
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M MANIFEST
    M ext/XS-APItest/APItest.pm
    M ext/XS-APItest/APItest.xs
    A ext/XS-APItest/t/sv.t

  Log Message:
  -----------
  Add XS-APItest for svtypename()


  Commit: 099d2258d3d4499753cfdf4dec77ae456c33f0e3
      
https://github.com/Perl/perl5/commit/099d2258d3d4499753cfdf4dec77ae456c33f0e3
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M pod/perldiag.pod
    M sv.c
    M t/lib/croak/gv

  Log Message:
  -----------
  Forbid assigning reference to SVt_PVOBJ into a GV (fixes GH#24469)


  Commit: 99e22f050da99c5510b61f9249018601a0ea324d
      
https://github.com/Perl/perl5/commit/99e22f050da99c5510b61f9249018601a0ea324d
  Author: Paul "LeoNerd" Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M sv.c

  Log Message:
  -----------
  Forbid SVt_PVOBJ to sv_setiv() and sv_setnv()


  Commit: ccb17fbffbd384acdd19bb2648342f3de2e7d626
      
https://github.com/Perl/perl5/commit/ccb17fbffbd384acdd19bb2648342f3de2e7d626
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/lib/autouse.pm

  Log Message:
  -----------
  autouse: bump version


  Commit: 6ac40178a108a89e55c2125884a20fa185223f6e
      
https://github.com/Perl/perl5/commit/6ac40178a108a89e55c2125884a20fa185223f6e
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/lib/autouse.pm
    M dist/autouse/t/autouse.t
    M dist/autouse/t/lib/MyTestModule.pm
    M dist/autouse/t/lib/MyTestModule2.pm

  Log Message:
  -----------
  autouse: normalize whitespace


  Commit: 4432ce52a7c78dc2bb7ed5f0c7251421cffc462e
      
https://github.com/Perl/perl5/commit/4432ce52a7c78dc2bb7ed5f0c7251421cffc462e
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/lib/autouse.pm
    M dist/autouse/t/autouse.t
    M dist/autouse/t/lib/MyTestModule.pm
    M dist/autouse/t/lib/MyTestModule2.pm

  Log Message:
  -----------
  autouse: use strict and warnings

autouse was already loading warnings.pm, so there is no reason to avoid
using it. And there is no reason to avoid strict in a module like this.


  Commit: ede239c70117de619bd9a4d8ff62872c226f1f51
      
https://github.com/Perl/perl5/commit/ede239c70117de619bd9a4d8ff62872c226f1f51
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/t/autouse.t

  Log Message:
  -----------
  autouse: set up t/lib early in tests


  Commit: ec2644565b18aa53f916d231ddfe6de4fd6687e8
      
https://github.com/Perl/perl5/commit/ec2644565b18aa53f916d231ddfe6de4fd6687e8
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M MANIFEST
    M dist/autouse/t/autouse.t
    A dist/autouse/t/lib/MyTestModuleNormal.pm
    A dist/autouse/t/lib/MyTestModuleWithProto.pm

  Log Message:
  -----------
  autouse: use test module rather than Scalar::Util

autouse needs a module to test with using a prototype. But there is no
reason it needs to be Scalar::Util. Using Scalar::Util presents a
problem because it is used by Test::More. This means the test has to be
written in an odd order. A simpler option is to use a test module set up
specifically for this test. This also means we don't need to care if the
perl build includes List::Util.

Since we're already reorganizing the tests for Scalar::Util, make the
prototype tests more consistent and complete.


  Commit: 7c739d695927e8ed93fcbc0a1a2c39ff5aaceb15
      
https://github.com/Perl/perl5/commit/7c739d695927e8ed93fcbc0a1a2c39ff5aaceb15
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/t/autouse.t

  Log Message:
  -----------
  autouse: check test module %INC entry rather than Errno

Errno is loaded only to check for an %INC entry. Since we're already
loading a test module we can just check its entries instead.


  Commit: a1ad8fb250882b05716e1bb06fa94d910ae12ee6
      
https://github.com/Perl/perl5/commit/a1ad8fb250882b05716e1bb06fa94d910ae12ee6
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M MANIFEST
    A dist/autouse/Changes

  Log Message:
  -----------
  autouse: add change log


  Commit: 0104e1184b9b0e6e34cff9cee201a0a2bc25261f
      
https://github.com/Perl/perl5/commit/0104e1184b9b0e6e34cff9cee201a0a2bc25261f
  Author: Graham Knop <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M dist/autouse/Changes

  Log Message:
  -----------
  autouse: add new changelog entries for 1.12


  Commit: 0bc1c52a36a6c2d50a5798039f4d5e5daf5880b3
      
https://github.com/Perl/perl5/commit/0bc1c52a36a6c2d50a5798039f4d5e5daf5880b3
  Author: Richard Leach <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M op.c
    M pad.c

  Log Message:
  -----------
  S_maybe_targlex: don't leak the unused PADTMP pad slot

The TARGMY optimization converts an optree like this:

    <2> sassign [no pad slot allocated]
        <2> some_op [pad slot B allocated]
        <1> padsv [pad slot A allocated]

into:

    <2> some_op [pad slot A swiped]

using the code:

  swipe_and_detach:
    kid->op_targ = kkid->op_targ; <--- some_op now points to slot A
    kkid->op_targ = 0;            <--- padsv doesn't point to any slot
    /* Now we do not need PADSV and SASSIGN.
    * Detach kid and free the rest. */
    op_sibling_splice(o, NULL, 1, NULL);
    op_free(o);
    return kid;

At this point, slot B has been abandoned but not made available for
any newly created OPs to use. The slot is filled, but serves no purpose.

This commit swaps the `op_targ` values of `kid` and `kkid`, so that
when `kkid` is freed, slot B is made available for reuse. It also ensures
that new PADTMP and CONST type searches for available slots start at this
slot, rather than just after it.

At run time, potentially lower pad sizes and better memory locality may
help with overall performance. At compile time, activities like
`S_pad_findlex` scanning through the pad to resolve a variable is more
efficient if the pad isn't littered with holes from abandoned slots.

Pad sizes and savings will greatly vary, from mimimal to meaningful.
Notable outliers in the difference in slots "used" within core include:
 * ExtUtils::MM_Any::_add_requirements_to_meta      71 ->  41
 * HTTP::Tiny::_prepare_headers_and_cb             167 -> 110
 * Pod::Html::process_options                      128 ->  74
 * Term::Table::init                                80 ->  52
 * Test2::API::Context::init                        36 ->  23
 * Test2::Event::Plan::facet_data                   44 ->  28
 * Time::Piece::use_locale                          91 ->  68
 * Unicode::Collate::new                           101 ->  66


  Commit: a4c4abfb937d4089368bb9eb9bde4ea3021a39b0
      
https://github.com/Perl/perl5/commit/a4c4abfb937d4089368bb9eb9bde4ea3021a39b0
  Author: Richard Leach <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M op.c

  Log Message:
  -----------
  Move S_maybe_targlex in preparation for the next commit


  Commit: edc77d1b36336920f654386bb10a9701c62337d0
      
https://github.com/Perl/perl5/commit/edc77d1b36336920f654386bb10a9701c62337d0
  Author: Richard Leach <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M op.c

  Log Message:
  -----------
  S_maybe_targlex now runs before an OP_SASSIGN is created, instead of after

Prior to this commit, `Perl_ck_sassign` would call `S_maybe_targlex` to
try and unpick the `OP_SASSIGN` just created.

With this commit, `Perl_newBINOP` instead calls `S_maybe_targlex` before
trying to build the `OP_SASSIGN`. This reduces the churn associated with
OP and pad slot allocation/deallocation.

`Perl_newBINOP` already checked to see if `type != OP_SASSIGN`, so
this change adds only a small branch when that condition is not met.


  Commit: af11b0c528200761891d46a7f6566aa880be45ca
      
https://github.com/Perl/perl5/commit/af11b0c528200761891d46a7f6566aa880be45ca
  Author: Yves Orton <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M regexec.c
    M regexp.h
    M t/re/pat_re_eval.t

  Log Message:
  -----------
  regexec.c - preserve COW-backed subbeg state across /(?{})/

Fix the capture-string save/restore bug when /(?{})/ temporarily
retargets RXp_SUBBEG to the current string. We must preserve both
heap-copied subbeg state and saved_copy-backed COW state so that cleanup
restores the original pointer values and ownership flags consistently.

Add regressions for the minimal cases discussed in GH #16952 and its
migrated RT ticket RT #134026, and for the later duplicate report
GH #24338: the stale capture case, the direct fetch of $&, and the
substitution form that used to assert on debugging builds.


  Commit: 41e9e248602450d78de34ee2f2ff662fd27bddb8
      
https://github.com/Perl/perl5/commit/41e9e248602450d78de34ee2f2ff662fd27bddb8
  Author: Paul Evans <[email protected]>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    A .github/workflows/detect-conflicts.yml
    M AUTHORS
    M Cross/config.sh-arm-linux
    M Cross/config.sh-arm-linux-n770
    M INSTALL
    M MANIFEST
    M META.json
    M META.yml
    M Makefile.SH
    M Porting/Maintainers.pl
    M Porting/config.sh
    M Porting/config_H
    M Porting/epigraphs.pod
    M Porting/perldelta_template.pod
    M Porting/release_schedule.pod
    M Porting/sync-with-cpan
    M Porting/todo.pod
    M README.haiku
    M README.macosx
    M README.os2
    M README.vms
    M README.win32
    M autodoc.pl
    M cpan/JSON-PP/bin/json_pp
    M cpan/JSON-PP/lib/JSON/PP.pm
    M cpan/JSON-PP/lib/JSON/PP/Boolean.pm
    A cpan/JSON-PP/t/121_reentrant.t
    A cpan/Test-Simple/CLAUDE.md
    M cpan/Test-Simple/lib/Test/Builder.pm
    M cpan/Test-Simple/lib/Test/Builder/Formatter.pm
    M cpan/Test-Simple/lib/Test/Builder/Module.pm
    M cpan/Test-Simple/lib/Test/Builder/Tester.pm
    M cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
    M cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
    M cpan/Test-Simple/lib/Test/More.pm
    M cpan/Test-Simple/lib/Test/Simple.pm
    M cpan/Test-Simple/lib/Test/Tester.pm
    M cpan/Test-Simple/lib/Test/Tester/Capture.pm
    M cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
    M cpan/Test-Simple/lib/Test/Tester/Delegate.pm
    M cpan/Test-Simple/lib/Test/use/ok.pm
    M cpan/Test-Simple/lib/Test2.pm
    M cpan/Test-Simple/lib/Test2/API.pm
    M cpan/Test-Simple/lib/Test2/API/Breakage.pm
    M cpan/Test-Simple/lib/Test2/API/Context.pm
    M cpan/Test-Simple/lib/Test2/API/Instance.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Event.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Facet.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Hub.pm
    M cpan/Test-Simple/lib/Test2/API/InterceptResult/Squasher.pm
    M cpan/Test-Simple/lib/Test2/API/Stack.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Event/Attach.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Event/Detach.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Formatter.pm
    M cpan/Test-Simple/lib/Test2/AsyncSubtest/Hub.pm
    M cpan/Test-Simple/lib/Test2/Bundle.pm
    M cpan/Test-Simple/lib/Test2/Bundle/Extended.pm
    M cpan/Test-Simple/lib/Test2/Bundle/More.pm
    M cpan/Test-Simple/lib/Test2/Bundle/Simple.pm
    M cpan/Test-Simple/lib/Test2/Compare.pm
    M cpan/Test-Simple/lib/Test2/Compare/Array.pm
    M cpan/Test-Simple/lib/Test2/Compare/Bag.pm
    M cpan/Test-Simple/lib/Test2/Compare/Base.pm
    M cpan/Test-Simple/lib/Test2/Compare/Bool.pm
    M cpan/Test-Simple/lib/Test2/Compare/Custom.pm
    M cpan/Test-Simple/lib/Test2/Compare/DeepRef.pm
    M cpan/Test-Simple/lib/Test2/Compare/Delta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Event.pm
    M cpan/Test-Simple/lib/Test2/Compare/EventMeta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Float.pm
    M cpan/Test-Simple/lib/Test2/Compare/Hash.pm
    M cpan/Test-Simple/lib/Test2/Compare/Isa.pm
    M cpan/Test-Simple/lib/Test2/Compare/Meta.pm
    M cpan/Test-Simple/lib/Test2/Compare/Negatable.pm
    M cpan/Test-Simple/lib/Test2/Compare/Number.pm
    M cpan/Test-Simple/lib/Test2/Compare/Object.pm
    M cpan/Test-Simple/lib/Test2/Compare/OrderedSubset.pm
    M cpan/Test-Simple/lib/Test2/Compare/Pattern.pm
    M cpan/Test-Simple/lib/Test2/Compare/Ref.pm
    M cpan/Test-Simple/lib/Test2/Compare/Regex.pm
    M cpan/Test-Simple/lib/Test2/Compare/Scalar.pm
    M cpan/Test-Simple/lib/Test2/Compare/Set.pm
    M cpan/Test-Simple/lib/Test2/Compare/String.pm
    M cpan/Test-Simple/lib/Test2/Compare/Undef.pm
    M cpan/Test-Simple/lib/Test2/Compare/Wildcard.pm
    M cpan/Test-Simple/lib/Test2/Env.pm
    M cpan/Test-Simple/lib/Test2/Event.pm
    M cpan/Test-Simple/lib/Test2/Event/Bail.pm
    M cpan/Test-Simple/lib/Test2/Event/Diag.pm
    M cpan/Test-Simple/lib/Test2/Event/Encoding.pm
    M cpan/Test-Simple/lib/Test2/Event/Exception.pm
    M cpan/Test-Simple/lib/Test2/Event/Fail.pm
    M cpan/Test-Simple/lib/Test2/Event/Generic.pm
    M cpan/Test-Simple/lib/Test2/Event/Note.pm
    M cpan/Test-Simple/lib/Test2/Event/Ok.pm
    M cpan/Test-Simple/lib/Test2/Event/Pass.pm
    M cpan/Test-Simple/lib/Test2/Event/Plan.pm
    M cpan/Test-Simple/lib/Test2/Event/Skip.pm
    M cpan/Test-Simple/lib/Test2/Event/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
    M cpan/Test-Simple/lib/Test2/Event/V2.pm
    M cpan/Test-Simple/lib/Test2/Event/Waiting.pm
    M cpan/Test-Simple/lib/Test2/EventFacet.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/About.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Info/Table.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
    M cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
    M cpan/Test-Simple/lib/Test2/Formatter.pm
    M cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
    M cpan/Test-Simple/lib/Test2/Handle.pm
    M cpan/Test-Simple/lib/Test2/Hub.pm
    M cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
    M cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
    M cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
    M cpan/Test-Simple/lib/Test2/IPC.pm
    M cpan/Test-Simple/lib/Test2/IPC/Driver.pm
    M cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
    M cpan/Test-Simple/lib/Test2/Manual.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/API.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Context.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/EndToEnd.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Event.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Hubs.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/IPC.pm
    M cpan/Test-Simple/lib/Test2/Manual/Anatomy/Utilities.pm
    M cpan/Test-Simple/lib/Test2/Manual/Concurrency.pm
    M cpan/Test-Simple/lib/Test2/Manual/Contributing.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Introduction.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Migrating.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Planning.pm
    M cpan/Test-Simple/lib/Test2/Manual/Testing/Todo.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/FirstTool.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Formatter.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Nesting.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/TestExit.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/TestingDone.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/ToolCompletes.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Plugin/ToolStarts.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/TestBuilder.pm
    M cpan/Test-Simple/lib/Test2/Manual/Tooling/Testing.pm
    M cpan/Test-Simple/lib/Test2/Mock.pm
    M cpan/Test-Simple/lib/Test2/Plugin.pm
    M cpan/Test-Simple/lib/Test2/Plugin/BailOnFail.pm
    M cpan/Test-Simple/lib/Test2/Plugin/DieOnFail.pm
    M cpan/Test-Simple/lib/Test2/Plugin/ExitSummary.pm
    M cpan/Test-Simple/lib/Test2/Plugin/SRand.pm
    M cpan/Test-Simple/lib/Test2/Plugin/Times.pm
    M cpan/Test-Simple/lib/Test2/Plugin/UTF8.pm
    M cpan/Test-Simple/lib/Test2/Require.pm
    M cpan/Test-Simple/lib/Test2/Require/AuthorTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/AutomatedTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/EnvVar.pm
    M cpan/Test-Simple/lib/Test2/Require/ExtendedTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Fork.pm
    M cpan/Test-Simple/lib/Test2/Require/Module.pm
    M cpan/Test-Simple/lib/Test2/Require/NonInteractiveTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Perl.pm
    M cpan/Test-Simple/lib/Test2/Require/RealFork.pm
    M cpan/Test-Simple/lib/Test2/Require/ReleaseTesting.pm
    M cpan/Test-Simple/lib/Test2/Require/Threads.pm
    M cpan/Test-Simple/lib/Test2/Suite.pm
    M cpan/Test-Simple/lib/Test2/Todo.pm
    M cpan/Test-Simple/lib/Test2/Tools.pm
    M cpan/Test-Simple/lib/Test2/Tools/AsyncSubtest.pm
    M cpan/Test-Simple/lib/Test2/Tools/Basic.pm
    M cpan/Test-Simple/lib/Test2/Tools/Class.pm
    M cpan/Test-Simple/lib/Test2/Tools/ClassicCompare.pm
    M cpan/Test-Simple/lib/Test2/Tools/Compare.pm
    M cpan/Test-Simple/lib/Test2/Tools/Defer.pm
    M cpan/Test-Simple/lib/Test2/Tools/Encoding.pm
    M cpan/Test-Simple/lib/Test2/Tools/Event.pm
    M cpan/Test-Simple/lib/Test2/Tools/Exception.pm
    M cpan/Test-Simple/lib/Test2/Tools/Exports.pm
    M cpan/Test-Simple/lib/Test2/Tools/GenTemp.pm
    M cpan/Test-Simple/lib/Test2/Tools/Grab.pm
    M cpan/Test-Simple/lib/Test2/Tools/Mock.pm
    M cpan/Test-Simple/lib/Test2/Tools/Ref.pm
    M cpan/Test-Simple/lib/Test2/Tools/Refcount.pm
    M cpan/Test-Simple/lib/Test2/Tools/Spec.pm
    M cpan/Test-Simple/lib/Test2/Tools/Subtest.pm
    M cpan/Test-Simple/lib/Test2/Tools/Target.pm
    M cpan/Test-Simple/lib/Test2/Tools/Tester.pm
    M cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
    M cpan/Test-Simple/lib/Test2/Tools/Warnings.pm
    M cpan/Test-Simple/lib/Test2/Transition.pod
    M cpan/Test-Simple/lib/Test2/Util.pm
    M cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
    M cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
    M cpan/Test-Simple/lib/Test2/Util/Grabber.pm
    M cpan/Test-Simple/lib/Test2/Util/Guard.pm
    M cpan/Test-Simple/lib/Test2/Util/HashBase.pm
    M cpan/Test-Simple/lib/Test2/Util/Importer.pm
    M cpan/Test-Simple/lib/Test2/Util/Ref.pm
    M cpan/Test-Simple/lib/Test2/Util/Sig.pm
    M cpan/Test-Simple/lib/Test2/Util/Stash.pm
    M cpan/Test-Simple/lib/Test2/Util/Sub.pm
    M cpan/Test-Simple/lib/Test2/Util/Table.pm
    M cpan/Test-Simple/lib/Test2/Util/Table/Cell.pm
    M cpan/Test-Simple/lib/Test2/Util/Table/LineBreak.pm
    M cpan/Test-Simple/lib/Test2/Util/Term.pm
    M cpan/Test-Simple/lib/Test2/Util/Times.pm
    M cpan/Test-Simple/lib/Test2/Util/Trace.pm
    M cpan/Test-Simple/lib/Test2/V0.pm
    M cpan/Test-Simple/lib/Test2/V1.pm
    M cpan/Test-Simple/lib/Test2/V1/Base.pm
    M cpan/Test-Simple/lib/Test2/V1/Handle.pm
    M cpan/Test-Simple/lib/Test2/Workflow.pm
    M cpan/Test-Simple/lib/Test2/Workflow/BlockBase.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Build.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Runner.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task/Action.pm
    M cpan/Test-Simple/lib/Test2/Workflow/Task/Group.pm
    M cpan/Test-Simple/lib/ok.pm
    M cpan/Test-Simple/t/Legacy/subtest/line_numbers.t
    M cpan/Test-Simple/t/Legacy/subtest/predicate.t
    M cpan/Test-Simple/t/Test2/modules/API/Breakage.t
    M cpan/Test-Simple/t/modules/Handle.t
    M cpan/Test-Simple/t/modules/Tools/Compare.t
    M cpan/Test-Simple/t/modules/Tools/Subtest.t
    M cpan/Test-Simple/t/regression/684-nested_todo_diag.t
    A dist/Devel-PPPort/parts/base/5037000
    A dist/Devel-PPPort/parts/base/5037003
    M dist/Devel-PPPort/parts/inc/mPUSH
    M dist/Devel-PPPort/parts/inc/misc
    M dist/ExtUtils-ParseXS/Changes
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Node.pm
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M dist/ExtUtils-ParseXS/t/008-parse-xsub-keywords.t
    M dist/ExtUtils-ParseXS/t/lib/TestMany.pm
    M dist/IO/Makefile.PL
    M dist/IO/t/IO.t
    M dist/Module-CoreList/lib/Module/CoreList.pm
    M dist/Module-CoreList/lib/Module/CoreList/Utils.pm
    M dist/SelfLoader/lib/SelfLoader.pm
    A dist/autouse/Changes
    M dist/autouse/lib/autouse.pm
    M dist/autouse/t/autouse.t
    M dist/autouse/t/lib/MyTestModule.pm
    M dist/autouse/t/lib/MyTestModule2.pm
    A dist/autouse/t/lib/MyTestModuleNormal.pm
    A dist/autouse/t/lib/MyTestModuleWithProto.pm
    M dump.c
    M embed.fnc
    M embed.h
    M ext/B/Makefile.PL
    M ext/XS-APItest/APItest.pm
    M ext/XS-APItest/APItest.xs
    A ext/XS-APItest/t/sv.t
    M hints/catamount.sh
    M lib/B/Op_private.pm
    M lib/feature.pm
    M op.c
    M pad.c
    M patchlevel.h
    M plan9/config_sh.sample
    M pod/.gitignore
    M pod/perl.pod
    A pod/perl5440delta.pod
    M pod/perldelta.pod
    M pod/perldiag.pod
    M pod/perlhist.pod
    M pod/perlperf.pod
    M pod/perlpolicy.pod
    M pp_sys.c
    M proto.h
    M regen/feature.pl
    M regexec.c
    M regexp.h
    M sv.c
    M t/lib/croak/class
    M t/lib/croak/gv
    M t/lib/warnings/op
    M t/lib/warnings/pp_hot
    M t/loc_tools.pl
    M t/op/runlevel.t
    M t/re/pat_re_eval.t
    M vms/descrip_mms.template
    M win32/GNUmakefile
    M win32/Makefile
    M win32/pod.mak

  Log Message:
  -----------
  Merge branch 'blead' into parsexs-outargs


Compare: https://github.com/Perl/perl5/compare/59d9c56c8d46...41e9e2486024

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to