Branch: refs/heads/yves/namespace
  Home:   https://github.com/Perl/perl5
  Commit: 8328b0a2ce44fbadbfae838778f20da72b5f3a84
      
https://github.com/Perl/perl5/commit/8328b0a2ce44fbadbfae838778f20da72b5f3a84
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M .gitignore
    M MANIFEST.SKIP

  Log Message:
  -----------
  Ignore agent related content


  Commit: 1928316ca29f9e290277b398fd659cd04d225ebf
      
https://github.com/Perl/perl5/commit/1928316ca29f9e290277b398fd659cd04d225ebf
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST
    M cop.h
    M dump.c
    M embed.fnc
    M embed.h
    M embedvar.h
    M ext/Opcode/Opcode.pm
    M ext/XS-APItest/APItest.pm
    M ext/XS-APItest/APItest.xs
    M ext/XS-APItest/APItest_runtime_helpers.xs
    A ext/XS-APItest/t/generator-runtime.t
    M feature.h
    M gv.c
    M intrpvar.h
    M keywords.c
    M keywords.h
    M lib/B/Deparse-core.t
    M lib/B/Deparse.pm
    M lib/B/Op_private.pm
    M lib/feature.pm
    M opcode.h
    M opnames.h
    M perl.h
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pod/perl.pod
    A pod/perlasync.pod
    M pod/perldelta.pod
    M pod/perldiag.pod
    M pod/perlexperiment.pod
    M pod/perlfunc.pod
    M pp.c
    M pp_ctl.c
    M pp_proto.h
    M proto.h
    M regen/feature.pl
    M regen/keywords.pl
    M regen/opcodes
    M run.c
    M sv.c
    M t/op/coreamp.t
    M t/op/coresubs.t
    A t/op/generator.t
    M toke.c
    M win32/pod.mak

  Log Message:
  -----------
  add a generator syntax


  Commit: 6433455e0055b2436222f5c5554d1d83f0d74861
      
https://github.com/Perl/perl5/commit/6433455e0055b2436222f5c5554d1d83f0d74861
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    A generator_plan.md

  Log Message:
  -----------
  add the plan


  Commit: 3bc7ca52a821ed036adf01203753ea282643da99
      
https://github.com/Perl/perl5/commit/3bc7ca52a821ed036adf01203753ea282643da99
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M cop.h
    M embed.fnc
    M embed.h
    M proto.h
    M run.c

  Log Message:
  -----------
  Pass initial arguments into generators


  Commit: 5e9f108c636f77d37d305533f2dd5862de222571
      
https://github.com/Perl/perl5/commit/5e9f108c636f77d37d305533f2dd5862de222571
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M cop.h
    M embed.fnc
    M embed.h
    M generator_plan.md
    M lib/B/Op_private.pm
    M opcode.h
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pp_ctl.c
    M proto.h
    M regen/opcodes
    M run.c

  Log Message:
  -----------
  Pass arguments and lists through generators


  Commit: 4d204fe4be858089d570bb2e3f806ad4cc35da66
      
https://github.com/Perl/perl5/commit/4d204fe4be858089d570bb2e3f806ad4cc35da66
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M embed.h
    M generator_plan.md
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pod/perlasync.pod
    M pp_ctl.c
    M proto.h
    M run.c
    M t/op/generator.t

  Log Message:
  -----------
  Test and document parameterized generators


  Commit: a9f40271514768480d0db74c2e3fb96023e0cbea
      
https://github.com/Perl/perl5/commit/a9f40271514768480d0db74c2e3fb96023e0cbea
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M cop.h
    M embed.fnc

  Log Message:
  -----------
  Track generator return state


  Commit: 19f8b301fb260bba5ad14ac3a9f15f5bd7bf5741
      
https://github.com/Perl/perl5/commit/19f8b301fb260bba5ad14ac3a9f15f5bd7bf5741
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M embed.fnc

  Log Message:
  -----------
  Normalize generator API declarations


  Commit: cd76ec2646eec32cfc30c2cd5c150f7b2284c7b9
      
https://github.com/Perl/perl5/commit/cd76ec2646eec32cfc30c2cd5c150f7b2284c7b9
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M pod/perlasync.pod
    M pod/perldiag.pod

  Log Message:
  -----------
  Document generator argument diagnostics


  Commit: 4331ab2b1e9f1567b82d41aceae3ab2fda4deafa
      
https://github.com/Perl/perl5/commit/4331ab2b1e9f1567b82d41aceae3ab2fda4deafa
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M pod/perlasync.pod
    M run.c
    M t/op/generator.t

  Log Message:
  -----------
  Return first generator value in scalar context


  Commit: 69ac6b47ccc6a10dcabd0d072cf7496b91964040
      
https://github.com/Perl/perl5/commit/69ac6b47ccc6a10dcabd0d072cf7496b91964040
  Author: Stevan Little <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M class.c
    A class.h
    M embed.fnc
    M embed.h
    M hv.c
    M hv.h
    M lib/B/Deparse.pm
    M lib/B/Op_private.pm
    M op.c
    M opcode.h
    M opnames.h
    M pad.c
    M pad.h
    M perly.y
    M pp.c
    M pp_proto.h
    M proto.h
    M regen/keywords.pl
    M regen/opcodes
    M sv.c
    A t/role/examples/001-currency.t
    A t/role/examples/002-shard-migrator.t
    A t/role/examples/003-lambda-terms.t
    A t/role/examples/004-native-types.t
    A t/role/role.t
    A t/role/role_compose.t
    A t/role/role_conflict_resolution.t
    A t/role/role_does.t
    A t/role/role_does_method.t
    A t/role/role_does_semantics.t
    A t/role/role_field_composition.t
    A t/role/role_field_conflicts.t
    A t/role/role_fields.t
    A t/role/role_requires.t
    M toke.c
    M universal.c

  Log Message:
  -----------
  class: roles v3 -- algebraic composition with conflict detection and 'does'

This commit adds roles to the 'use feature "class"' system (originally
introduced in Perl 5.38). It supersedes the earlier roles-v1 and
roles-v2 work.

== Overview ==

A role is declared with the 'role' keyword and consumed by a class or
another role with the :does attribute:

    role Printable {
        method print { say $self->to_string }
    }

    class Document :does(Printable) {
        field $content :param;
        method to_string { $content }
    }

:does accepts a parenthesised list: :does(RoleA, RoleB).

Roles may contain fields, methods (including required method stubs),
and ADJUST blocks. Fields and methods from composed roles are installed
into the consumer's stash at seal time.

== Proto-Role Algebra ==

The core of this implementation is a proto_role_t (class.h) that every
class and role builds during parsing. It captures:

  - method_slot_t: name, origin bitset, CV pointer, and provenance
    (from_field pointer, non-NULL for :reader/:writer generated
    accessors)
  - field_slot_t: PADNAME pointer and origin bitset
  - An origin_set_t (U32 bitset) where each composing role gets one bit

Composition is a sorted merge-join (S_merge_method_slots,
S_merge_field_slots) that ORs origin bits. The algebra is:

  Required    origin_set == 0    (pure obligation)
  Defined     popcount == 1      (one provider)
  Conflicted  popcount > 1       (multiple providers)

This makes associativity and commutativity structurally guaranteed.

Resolution (S_proto_role_resolve) runs after composition and checks:

  - Conflicted slot: consumer must provide an explicit method. A
    generated accessor (:reader/:writer) does not count. An inherited
    method does not count. All unresolved conflicts are collected and
    reported in one croak.
  - Required slot: consumer explicit method OR inherited method
    satisfies it. Unresolved required slots at class seal time are
    errors; at role seal time they propagate.

Diamond composition is handled correctly: the bitset means same-origin
methods collapse without conflict.

== Nominal and Structural Role Checks ==

Three ways to test role membership:

  $obj->does('RoleName')     nominal: walks xhv_class_roles transitively
  $obj does RoleName         infix operator (like 'isa'), guards with
                             feature 'class'
  $obj->DOES('RoleName')     structural: walks the role's proto-role
                             method_slots and verifies each Defined
                             method still dispatches to the role's
                             original CvSTASH; generated accessors
                             (from_field != NULL) are skipped

->does and ->DOES can disagree when a subclass overrides a role method;
this is intentional.

== Bug Fix ==

Also fixes a segfault when a class with a unit-style declaration
(class Foo; ...) inherits from another class. The unit-class path was
not initialising xhv_class_suspended_initfields_compcv before the
superclass ADJUST blocks ran. (GH #20890)

== Memory ==

proto_role_t is retained after sealing so that ->DOES can do structural
checks at runtime. hv_undef_flags() now calls proto_role_free() in the
class/role cleanup block so the struct and its ref-counted contents are
freed when the stash is eventually destroyed.

== Tests ==

New test files under t/role/:
  role.t                    basic role machinery
  role_compose.t            method and field composition
  role_does.t               :does attribute validation
  role_does_semantics.t     ->does / 'does' / isa semantics
  role_does_method.t        ->does, infix 'does', ->DOES
  role_field_composition.t  field inheritance through roles
  role_field_conflicts.t    field conflict detection
  role_fields.t             role field behaviour
  role_requires.t           required method stubs
  role_conflict_resolution.t  conflict detection and resolution rules
  examples/                 four worked examples

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>


  Commit: ba76daf005dbd7426cec4993a033cc0f68860bd1
      
https://github.com/Perl/perl5/commit/ba76daf005dbd7426cec4993a033cc0f68860bd1
  Author: Stevan Little <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST
    M class.c
    M t/op/universal.t

  Log Message:
  -----------
  fix CI failures: MANIFEST, perldiag, Opcode tag, universal.t, compiler warning

MANIFEST: add class.h and all t/role/*.t test files.

pod/perldiag.pod: add entries for all new diagnostics introduced by
the roles implementation:
  - Cannot '%s' outside of a 'class' or 'role'
  - Cannot create role %s as it already has a non-empty @ISA
  - Cannot define role "%s" as it is already a class
  - Cannot reopen existing role "%s"
  - Field %s conflicts between "%s" and "%s"
  - Method %s conflicts between "%s" and "%s"
  - Method %s is required by role %s but not provided by "%s"
  - role is experimental
  - Roles cannot use :isa
  - Too many roles in a single composition (max %d)
  - Unexpected characters while parsing :does attribute: %s
  - :does attribute requires a role but "%s" is not one
  - proto_role_compose_and_install: role has no proto-role (S debugging)

ext/Opcode/Opcode.pm: add 'does' to the tagged opname list alongside
'isa'.

t/op/universal.t: update expected UNIVERSAL:: method list to include
'does', which is now installed alongside 'isa', 'can', etc.

class.c: remove unused 'stash' parameter from S_apply_one_role() to
fix the compiler warning.  Change the DEBUGGING fallback warn to use
Perl_ck_warner_d(packWARN(WARN_DEBUGGING)) so diag.t can verify its
severity and category.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>


  Commit: 56dd12582d47eb7d52f94b31cf20dc1500128bd3
      
https://github.com/Perl/perl5/commit/56dd12582d47eb7d52f94b31cf20dc1500128bd3
  Author: Stevan Little <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M gv.c
    M t/op/coreamp.t
    M t/op/coresubs.t

  Log Message:
  -----------
  fix -Dusethreads CI failures: does/role in CORE:: and version bump

- gv.c: add KEY_does and KEY_role to S_maybe_add_coresub's return-NULL
  switch, so CORE::does and CORE::role are not registered as callable
  CORE:: subs (same treatment as KEY_isa, KEY_class, etc.)
- t/op/coresubs.t: add 'does' and 'role' to %unsupported
- t/op/coreamp.t: add 'does' and 'role' to %nottest_words
- lib/B/Deparse.pm: bump version 1.89 -> 1.90 for porting/cmp_version.t

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>


  Commit: 37c3ecc06092c35abeec18ad4ade290a766f4a86
      
https://github.com/Perl/perl5/commit/37c3ecc06092c35abeec18ad4ade290a766f4a86
  Author: Stevan Little <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M class.c
    M t/role/role.t
    M t/role/role_compose.t
    M t/role/role_does.t
    M t/role/role_requires.t

  Log Message:
  -----------
  class: fix transitive required-method propagation through role chains

After composing role B :does(A), B's stored proto-role was only the pre-
composition snapshot (B's own methods), so required methods from A were
lost when a class later composed B. This caused no error when a class
failed to satisfy a transitively-required method.

Fix: after role composition, append any Required slots from the composed
proto that are not already in the stored proto-role. Defined slots are
intentionally NOT propagated - only the role's own method implementations
are stored, since the structural DOES check verifies CvSTASH == rolestash.

Also fix the eval "use VERSION" issue in role tests: replace inner "use v5.36"
with "use strict" since "use VERSION" is forbidden in nested evals once a
v5.39+ version is in scope. Update test regexes to match the actual error
message format our implementation produces.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>


  Commit: 238cb612729f0b308a7f6679e488fbe3326f040b
      
https://github.com/Perl/perl5/commit/238cb612729f0b308a7f6679e488fbe3326f040b
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST
    M class.c
    M class.h
    M embed.fnc
    M embed.h
    M hv.h
    M keywords.c
    M keywords.h
    M lib/B/Deparse.pm
    M lib/B/Op_private.pm
    M lib/UNIVERSAL.pm
    M op.c
    M opcode.h
    M opnames.h
    M pad.c
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pod/perlclass.pod
    M pod/perldiag.pod
    M pp.c
    M pp_proto.h
    M proto.h
    M regen/keywords.pl
    M regen/opcodes
    M t/TEST
    M t/harness
    M t/role/examples/001-currency.t
    M t/role/examples/002-shard-migrator.t
    M t/role/examples/003-lambda-terms.t
    M t/role/examples/004-native-types.t
    M t/role/role_compose.t
    M t/role/role_conflict_resolution.t
    R t/role/role_does.t
    R t/role/role_does_method.t
    R t/role/role_does_semantics.t
    M t/role/role_field_composition.t
    M t/role/role_field_conflicts.t
    M t/role/role_fields.t
    A t/role/role_implements.t
    A t/role/role_implements_method.t
    A t/role/role_implements_semantics.t
    M t/role/role_requires.t
    M toke.c
    M universal.c

  Log Message:
  -----------
  role: delegate DOES through implements


  Commit: 16ef200ee81cdad825ab0e4b4723cbf265c2911e
      
https://github.com/Perl/perl5/commit/16ef200ee81cdad825ab0e4b4723cbf265c2911e
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M builtin.c
    M class.c
    M embed.fnc
    M embed.h
    M lib/builtin.pm
    M proto.h

  Log Message:
  -----------
  class: add package_implements builtin


  Commit: 7f5fce798d97e0c154a3fe7c0dd0a0f8776c75f5
      
https://github.com/Perl/perl5/commit/7f5fce798d97e0c154a3fe7c0dd0a0f8776c75f5
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M builtin.c
    M class.c
    M dist/Data-Dumper/Dumper.pm
    M dist/Data-Dumper/Dumper.xs
    M embed.fnc
    M embed.h
    M lib/builtin.pm
    M proto.h
    A t/class/object_hash.t

  Log Message:
  -----------
  class: expose shallow object hash conversion


  Commit: 4c203fcc631aae90dca6a2a2148f9e948adc318b
      
https://github.com/Perl/perl5/commit/4c203fcc631aae90dca6a2a2148f9e948adc318b
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M dist/Data-Dumper/Changes
    M dist/Data-Dumper/Dumper.pm
    M dist/Data-Dumper/Dumper.xs

  Log Message:
  -----------
  Data-Dumper: document class object support


  Commit: e5a187edb7dc93fee46c877c6c5a981cca4501c1
      
https://github.com/Perl/perl5/commit/e5a187edb7dc93fee46c877c6c5a981cca4501c1
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M dist/Data-Dumper/Dumper.xs

  Log Message:
  -----------
  Data-Dumper: guard class API by generated macro


  Commit: 9b981a43de72a1350be98edb1ad015eb53d8d2ce
      
https://github.com/Perl/perl5/commit/9b981a43de72a1350be98edb1ad015eb53d8d2ce
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M pod/perldelta.pod

  Log Message:
  -----------
  Data-Dumper: document class object support in perldelta


  Commit: f1ab50f9b05035f3269ed1aed462e82b2fd43f37
      
https://github.com/Perl/perl5/commit/f1ab50f9b05035f3269ed1aed462e82b2fd43f37
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M builtin.c
    M class.c

  Log Message:
  -----------
  class: document object conversion APIs


  Commit: 55af04bb04dd1886e223504f1f57eecbf6118202
      
https://github.com/Perl/perl5/commit/55af04bb04dd1886e223504f1f57eecbf6118202
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST

  Log Message:
  -----------
  class: add object hash conversion test to manifest


  Commit: 833a98291eba91679e0deb3e883b3f8b39757e65
      
https://github.com/Perl/perl5/commit/833a98291eba91679e0deb3e883b3f8b39757e65
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST
    R t/role/examples/001-currency.t
    R t/role/examples/002-shard-migrator.t
    R t/role/examples/003-lambda-terms.t
    R t/role/examples/004-native-types.t
    M t/role/role.t
    M t/role/role_compose.t
    M t/role/role_conflict_resolution.t
    M t/role/role_field_composition.t
    M t/role/role_field_conflicts.t
    M t/role/role_fields.t
    M t/role/role_implements.t
    M t/role/role_implements_method.t
    M t/role/role_implements_semantics.t
    M t/role/role_requires.t
    M universal.c

  Log Message:
  -----------
  role: align tests with core harness and DOES fallback


  Commit: 0ed7a5992eedbe8fdbc5f3750aa9c2691aea4094
      
https://github.com/Perl/perl5/commit/0ed7a5992eedbe8fdbc5f3750aa9c2691aea4094
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M MANIFEST
    M builtin.c
    M class.c
    M class.h
    M ext/Opcode/Opcode.pm
    M lib/B/Deparse-core.t
    M lib/UNIVERSAL.pm
    M lib/builtin.pm
    M opcode.h
    M pod/perldiag.pod
    M regen/opcodes
    M run.c
    M sv.c
    M t/op/universal.t

  Log Message:
  -----------
  class: clone role metadata with threaded stashes


  Commit: 05c56463a9c6a395c2b6776fb3bfe46e7461cac9
      
https://github.com/Perl/perl5/commit/05c56463a9c6a395c2b6776fb3bfe46e7461cac9
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M class.c

  Log Message:
  -----------
  class: preserve field index sentinel type


  Commit: addf49caf9f16a82bef12e590891d9207f86fc9c
      
https://github.com/Perl/perl5/commit/addf49caf9f16a82bef12e590891d9207f86fc9c
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M class.c

  Log Message:
  -----------
  class: keep field map bounds signed


  Commit: 60e076e23eab0468dca4e1fdbebd5972a4eff8b7
      
https://github.com/Perl/perl5/commit/60e076e23eab0468dca4e1fdbebd5972a4eff8b7
  Author: Yves Orton <[email protected]>
  Date:   2026-08-28 (Fri, 28 Aug 2026)

  Changed paths:
    M t/op/coreamp.t

  Log Message:
  -----------
  tests: silence experimental comparison warnings in coreamp


  Commit: b6281ea0f51031c279c1970f314a402857fdc553
      
https://github.com/Perl/perl5/commit/b6281ea0f51031c279c1970f314a402857fdc553
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M class.c
    M embed.h
    M ext/Opcode/Opcode.pm
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pod/perldiag.pod

  Log Message:
  -----------
  class: restore safe method parse cleanup


  Commit: 1bb05e8aa5f26ad2a301dcea2825bd134515b2cd
      
https://github.com/Perl/perl5/commit/1bb05e8aa5f26ad2a301dcea2825bd134515b2cd
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    A dist/p5-matrix-utils/Changes
    A dist/p5-matrix-utils/XS_DESIGN.md
    A dist/p5-matrix-utils/lib/MNIST.pm
    A dist/p5-matrix-utils/lib/Matrix.pm
    A dist/p5-matrix-utils/lib/Scalar.pm
    A dist/p5-matrix-utils/lib/Tensor.pm
    A dist/p5-matrix-utils/lib/Vector.pm
    A dist/p5-matrix-utils/t/matrix-utils.t

  Log Message:
  -----------
  dist: add p5-matrix-utils prototype


  Commit: 8faead5c6b4b7c6b0ce8c3ed5b14f5fd8244064d
      
https://github.com/Perl/perl5/commit/8faead5c6b4b7c6b0ce8c3ed5b14f5fd8244064d
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    A dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
    A dist/p5-matrix-utils/NOTES.md
    A dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
    A dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
    A dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
    A dist/p5-matrix-utils/TRAINING_SUCCESS.md
    A dist/p5-matrix-utils/examples/README.md
    A dist/p5-matrix-utils/examples/benchmark.pl
    A dist/p5-matrix-utils/examples/idx_format_info.md
    A dist/p5-matrix-utils/examples/matrix_bench.pl
    A dist/p5-matrix-utils/examples/mnist_network.pl
    A dist/p5-matrix-utils/examples/mnist_training.pl
    A dist/p5-matrix-utils/examples/xor_training.pl
    A dist/p5-matrix-utils/t/000-tensor/010-access.t
    A dist/p5-matrix-utils/t/000-tensor/020-constructors.t
    A dist/p5-matrix-utils/t/000-tensor/030-math.t
    A dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
    A dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
    A dist/p5-matrix-utils/t/000-tensor/060-numerical.t
    A dist/p5-matrix-utils/t/000-tensor/070-reductions.t
    A dist/p5-matrix-utils/t/010-core/001-scalar.t
    A dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
    A dist/p5-matrix-utils/t/010-core/020-ops.t
    A dist/p5-matrix-utils/t/010-core/120-ops.t
    A dist/p5-matrix-utils/t/100-vector/110-access.t
    A dist/p5-matrix-utils/t/100-vector/120-scalar.t
    A dist/p5-matrix-utils/t/100-vector/130-matrix.t
    A dist/p5-matrix-utils/t/100-vector/150-math.t
    A dist/p5-matrix-utils/t/100-vector/160-concat.t
    A dist/p5-matrix-utils/t/100-vector/170-reductions.t
    A dist/p5-matrix-utils/t/100-vector/180-comparisons.t
    A dist/p5-matrix-utils/t/100-vector/190-logical-math.t
    A dist/p5-matrix-utils/t/200-matrix/210-access.t
    A dist/p5-matrix-utils/t/200-matrix/220-constructors.t
    A dist/p5-matrix-utils/t/200-matrix/230-operations.t
    A dist/p5-matrix-utils/t/200-matrix/250-math.t
    A dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
    A dist/p5-matrix-utils/t/200-matrix/270-accessors.t
    A dist/p5-matrix-utils/t/200-matrix/280-reductions.t
    A dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
    A dist/p5-matrix-utils/t/200-matrix/300-logical-math.t

  Log Message:
  -----------
  dist: import complete p5-matrix-utils tree


  Commit: 745cfbfbba53ea559e5b142d8e16c466c7aba8ae
      
https://github.com/Perl/perl5/commit/745cfbfbba53ea559e5b142d8e16c466c7aba8ae
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    A dist/p5-matrix-utils/XS.xs
    A dist/p5-matrix-utils/lib/Tensor/XS.pm
    A dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: add native Tensor XS storage prototype


  Commit: 48e8b8573c1655512efe21ccba0e88378a7c1595
      
https://github.com/Perl/perl5/commit/48e8b8573c1655512efe21ccba0e88378a7c1595
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    A dist/p5-matrix-utils/Makefile.PL

  Log Message:
  -----------
  dist: retain Tensor::XS build metadata


  Commit: 74744c7d991afe7d11d43262c5b0ba31dd34f12e
      
https://github.com/Perl/perl5/commit/74744c7d991afe7d11d43262c5b0ba31dd34f12e
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS_DESIGN.md

  Log Message:
  -----------
  dist: record Tensor XS migration status


  Commit: d65f64a8b170d632bcbd3d27cd4410ae211683a8
      
https://github.com/Perl/perl5/commit/d65f64a8b170d632bcbd3d27cd4410ae211683a8
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: make native tensor access coordinate based


  Commit: 6e816203758338d7b0070bbf87ba8117320b0cd1
      
https://github.com/Perl/perl5/commit/6e816203758338d7b0070bbf87ba8117320b0cd1
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS_DESIGN.md

  Log Message:
  -----------
  dist: update Tensor XS design status


  Commit: 7dcfe1af3e884d37a146b08ad62f01a1c843a99f
      
https://github.com/Perl/perl5/commit/7dcfe1af3e884d37a146b08ad62f01a1c843a99f
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: accept nested native tensor data


  Commit: 6ae704f81b66b6bf435854f828872a052d600c40
      
https://github.com/Perl/perl5/commit/6ae704f81b66b6bf435854f828872a052d600c40
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/XS_DESIGN.md
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: use conventional tensor strides


  Commit: 1d352aaccdbf5b3fb873255b58a8368d870b6705
      
https://github.com/Perl/perl5/commit/1d352aaccdbf5b3fb873255b58a8368d870b6705
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: make native tensor bulk loads atomic


  Commit: 817e776b5f259454752196a2cf6e25897f18086d
      
https://github.com/Perl/perl5/commit/817e776b5f259454752196a2cf6e25897f18086d
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: add native tensor flat indexing


  Commit: 92affa04beb6157e14b1ed41fb5c033ff8949937
      
https://github.com/Perl/perl5/commit/92affa04beb6157e14b1ed41fb5c033ff8949937
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS_DESIGN.md

  Log Message:
  -----------
  dist: document native tensor indexing


  Commit: 2ab7bb9184741450c432e5ff6a757ef6c4ecccfe
      
https://github.com/Perl/perl5/commit/2ab7bb9184741450c432e5ff6a757ef6c4ecccfe
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/XS_DESIGN.md
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: harden native tensor blob layout


  Commit: 1a9e797cba62c3be4de31679df19484019695bb4
      
https://github.com/Perl/perl5/commit/1a9e797cba62c3be4de31679df19484019695bb4
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs

  Log Message:
  -----------
  dist: validate native tensor blob boundaries


  Commit: f39f9477118f584c96960438a21a4ce50ffedfb0
      
https://github.com/Perl/perl5/commit/f39f9477118f584c96960438a21a4ce50ffedfb0
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS_DESIGN.md

  Log Message:
  -----------
  dist: define extensible tensor dtype model


  Commit: a8ab04465af5adafbd028925368c7728e9aa49ab
      
https://github.com/Perl/perl5/commit/a8ab04465af5adafbd028925368c7728e9aa49ab
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/XS_DESIGN.md
    M dist/p5-matrix-utils/lib/Tensor/XS.pm
    M dist/p5-matrix-utils/t/xs-native.t

  Log Message:
  -----------
  dist: add descriptor-driven tensor dtypes


  Commit: 9d9251bbc68e08e24939e893ff62d8253c4a126c
      
https://github.com/Perl/perl5/commit/9d9251bbc68e08e24939e893ff62d8253c4a126c
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/XS_DESIGN.md
    M dist/p5-matrix-utils/lib/Tensor.pm

  Log Message:
  -----------
  dist: back Tensor with native XS storage


  Commit: f0581cc7b198d5478bbf63b2a4c414c083cf7932
      
https://github.com/Perl/perl5/commit/f0581cc7b198d5478bbf63b2a4c414c083cf7932
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS.xs
    M dist/p5-matrix-utils/lib/Tensor.pm

  Log Message:
  -----------
  dist: finish native Tensor storage bridge


  Commit: 26d569ac7f308f61617b6d97e582f8721bfa2b9e
      
https://github.com/Perl/perl5/commit/26d569ac7f308f61617b6d97e582f8721bfa2b9e
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/XS_DESIGN.md
    M dist/p5-matrix-utils/t/000-tensor/010-access.t
    M dist/p5-matrix-utils/t/000-tensor/020-constructors.t
    M dist/p5-matrix-utils/t/000-tensor/030-math.t
    M dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
    M dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
    M dist/p5-matrix-utils/t/000-tensor/060-numerical.t
    M dist/p5-matrix-utils/t/000-tensor/070-reductions.t
    M dist/p5-matrix-utils/t/010-core/001-scalar.t
    M dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
    M dist/p5-matrix-utils/t/010-core/120-ops.t
    M dist/p5-matrix-utils/t/100-vector/110-access.t
    M dist/p5-matrix-utils/t/100-vector/170-reductions.t
    M dist/p5-matrix-utils/t/100-vector/180-comparisons.t
    M dist/p5-matrix-utils/t/100-vector/190-logical-math.t
    M dist/p5-matrix-utils/t/200-matrix/210-access.t
    M dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
    M dist/p5-matrix-utils/t/200-matrix/270-accessors.t
    M dist/p5-matrix-utils/t/200-matrix/280-reductions.t
    M dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
    M dist/p5-matrix-utils/t/200-matrix/300-logical-math.t

  Log Message:
  -----------
  dist: remove Test::Exception from tensor tests


  Commit: 149fa74f87c9848097d1127cf6cfa3c80f398f8a
      
https://github.com/Perl/perl5/commit/149fa74f87c9848097d1127cf6cfa3c80f398f8a
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M dist/p5-matrix-utils/Changes
    M dist/p5-matrix-utils/Makefile.PL

  Log Message:
  -----------
  dist: package native tensor classes and tests


  Commit: 53701cc9bafd6dcefe0c325df3bb2a3f809c8c6f
      
https://github.com/Perl/perl5/commit/53701cc9bafd6dcefe0c325df3bb2a3f809c8c6f
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M generator_plan.md

  Log Message:
  -----------
  generator: plan swappable execution context


  Commit: 72654909eb3d7a3621ba8944be87519c36771a90
      
https://github.com/Perl/perl5/commit/72654909eb3d7a3621ba8944be87519c36771a90
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M generator_plan.md

  Log Message:
  -----------
  generator: document context ownership lifecycle


  Commit: 093ebf375efb85a2b7749c21654741febcc659ae
      
https://github.com/Perl/perl5/commit/093ebf375efb85a2b7749c21654741febcc659ae
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M Configure
    M MANIFEST
    M Makefile.SH
    M cop.h
    A dist/Tensor-XS/Changes
    A dist/Tensor-XS/Makefile.PL
    A dist/Tensor-XS/NEURAL_NETWORK_FEATURES.md
    A dist/Tensor-XS/NOTES.md
    A dist/Tensor-XS/OPTIMIZATION_OPPORTUNITIES.md
    A dist/Tensor-XS/OPTIMIZATION_SUCCESS.md
    A dist/Tensor-XS/OPTIMIZATION_V2_RESULTS.md
    A dist/Tensor-XS/TRAINING_SUCCESS.md
    A dist/Tensor-XS/XS.xs
    A dist/Tensor-XS/XS_DESIGN.md
    A dist/Tensor-XS/examples/README.md
    A dist/Tensor-XS/examples/benchmark.pl
    A dist/Tensor-XS/examples/idx_format_info.md
    A dist/Tensor-XS/examples/matrix_bench.pl
    A dist/Tensor-XS/examples/mnist_network.pl
    A dist/Tensor-XS/examples/mnist_training.pl
    A dist/Tensor-XS/examples/xor_training.pl
    A dist/Tensor-XS/lib/MNIST.pm
    A dist/Tensor-XS/lib/Matrix.pm
    A dist/Tensor-XS/lib/Scalar.pm
    A dist/Tensor-XS/lib/Tensor.pm
    A dist/Tensor-XS/lib/Tensor/XS.pm
    A dist/Tensor-XS/lib/Vector.pm
    A dist/Tensor-XS/t/000-tensor/010-access.t
    A dist/Tensor-XS/t/000-tensor/020-constructors.t
    A dist/Tensor-XS/t/000-tensor/030-math.t
    A dist/Tensor-XS/t/000-tensor/040-comparisons.t
    A dist/Tensor-XS/t/000-tensor/050-logical-math.t
    A dist/Tensor-XS/t/000-tensor/060-numerical.t
    A dist/Tensor-XS/t/000-tensor/070-reductions.t
    A dist/Tensor-XS/t/010-core/001-scalar.t
    A dist/Tensor-XS/t/010-core/010-reduce_data_array.t
    A dist/Tensor-XS/t/010-core/020-ops.t
    A dist/Tensor-XS/t/010-core/120-ops.t
    A dist/Tensor-XS/t/100-vector/110-access.t
    A dist/Tensor-XS/t/100-vector/120-scalar.t
    A dist/Tensor-XS/t/100-vector/130-matrix.t
    A dist/Tensor-XS/t/100-vector/150-math.t
    A dist/Tensor-XS/t/100-vector/160-concat.t
    A dist/Tensor-XS/t/100-vector/170-reductions.t
    A dist/Tensor-XS/t/100-vector/180-comparisons.t
    A dist/Tensor-XS/t/100-vector/190-logical-math.t
    A dist/Tensor-XS/t/200-matrix/210-access.t
    A dist/Tensor-XS/t/200-matrix/220-constructors.t
    A dist/Tensor-XS/t/200-matrix/230-operations.t
    A dist/Tensor-XS/t/200-matrix/250-math.t
    A dist/Tensor-XS/t/200-matrix/260-concat-stack.t
    A dist/Tensor-XS/t/200-matrix/270-accessors.t
    A dist/Tensor-XS/t/200-matrix/280-reductions.t
    A dist/Tensor-XS/t/200-matrix/290-comparisons.t
    A dist/Tensor-XS/t/200-matrix/300-logical-math.t
    A dist/Tensor-XS/t/matrix-utils.t
    A dist/Tensor-XS/t/xs-native.t
    R dist/p5-matrix-utils/Changes
    R dist/p5-matrix-utils/Makefile.PL
    R dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
    R dist/p5-matrix-utils/NOTES.md
    R dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
    R dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
    R dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
    R dist/p5-matrix-utils/TRAINING_SUCCESS.md
    R dist/p5-matrix-utils/XS.xs
    R dist/p5-matrix-utils/XS_DESIGN.md
    R dist/p5-matrix-utils/examples/README.md
    R dist/p5-matrix-utils/examples/benchmark.pl
    R dist/p5-matrix-utils/examples/idx_format_info.md
    R dist/p5-matrix-utils/examples/matrix_bench.pl
    R dist/p5-matrix-utils/examples/mnist_network.pl
    R dist/p5-matrix-utils/examples/mnist_training.pl
    R dist/p5-matrix-utils/examples/xor_training.pl
    R dist/p5-matrix-utils/lib/MNIST.pm
    R dist/p5-matrix-utils/lib/Matrix.pm
    R dist/p5-matrix-utils/lib/Scalar.pm
    R dist/p5-matrix-utils/lib/Tensor.pm
    R dist/p5-matrix-utils/lib/Tensor/XS.pm
    R dist/p5-matrix-utils/lib/Vector.pm
    R dist/p5-matrix-utils/t/000-tensor/010-access.t
    R dist/p5-matrix-utils/t/000-tensor/020-constructors.t
    R dist/p5-matrix-utils/t/000-tensor/030-math.t
    R dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
    R dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
    R dist/p5-matrix-utils/t/000-tensor/060-numerical.t
    R dist/p5-matrix-utils/t/000-tensor/070-reductions.t
    R dist/p5-matrix-utils/t/010-core/001-scalar.t
    R dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
    R dist/p5-matrix-utils/t/010-core/020-ops.t
    R dist/p5-matrix-utils/t/010-core/120-ops.t
    R dist/p5-matrix-utils/t/100-vector/110-access.t
    R dist/p5-matrix-utils/t/100-vector/120-scalar.t
    R dist/p5-matrix-utils/t/100-vector/130-matrix.t
    R dist/p5-matrix-utils/t/100-vector/150-math.t
    R dist/p5-matrix-utils/t/100-vector/160-concat.t
    R dist/p5-matrix-utils/t/100-vector/170-reductions.t
    R dist/p5-matrix-utils/t/100-vector/180-comparisons.t
    R dist/p5-matrix-utils/t/100-vector/190-logical-math.t
    R dist/p5-matrix-utils/t/200-matrix/210-access.t
    R dist/p5-matrix-utils/t/200-matrix/220-constructors.t
    R dist/p5-matrix-utils/t/200-matrix/230-operations.t
    R dist/p5-matrix-utils/t/200-matrix/250-math.t
    R dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
    R dist/p5-matrix-utils/t/200-matrix/270-accessors.t
    R dist/p5-matrix-utils/t/200-matrix/280-reductions.t
    R dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
    R dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
    R dist/p5-matrix-utils/t/matrix-utils.t
    R dist/p5-matrix-utils/t/xs-native.t
    M dist/threads/lib/threads.pm
    M dist/threads/threads.xs
    M embedvar.h
    M ext/B/B.pm
    M ext/B/B.xs
    M ext/XS-APItest/APItest_runtime_helpers.xs
    M intrpvar.h
    M lib/.gitignore
    M makedef.pl
    M pad.h
    M perl.c
    M perl.h
    M regen/embed.pl
    M sv.c
    M win32/FindExt.pm
    M win32/GNUmakefile
    M win32/Makefile

  Log Message:
  -----------
  core: make execution context swappable and configure Tensor::XS


  Commit: 9a2206ea08b45e65d8e6e749ea10571b34966e05
      
https://github.com/Perl/perl5/commit/9a2206ea08b45e65d8e6e749ea10571b34966e05
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M cop.h
    M embed.fnc
    M embed.h
    M ext/XS-APItest/APItest_runtime_helpers.xs
    M proto.h
    M run.c

  Log Message:
  -----------
  generator: switch process state by context pointer


  Commit: 392839748c958bebd965ae6688c64aee8134008c
      
https://github.com/Perl/perl5/commit/392839748c958bebd965ae6688c64aee8134008c
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M perl.c

  Log Message:
  -----------
  interpreter: initialize unthreaded execution context


  Commit: 330d164ef1473c3ef51a08a2e4a3ef13a42b2790
      
https://github.com/Perl/perl5/commit/330d164ef1473c3ef51a08a2e4a3ef13a42b2790
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M generator_plan.md

  Log Message:
  -----------
  generator: record execution-context validation


  Commit: 08df9595f0c163f3696b534308fa2e2d9ec68050
      
https://github.com/Perl/perl5/commit/08df9595f0c163f3696b534308fa2e2d9ec68050
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M lib/overload.pm

  Log Message:
  -----------
  overload: suppress intentional redefinition warnings


  Commit: 8605b0b495f4ccd3d53fdcd49a7357e3f0743bc3
      
https://github.com/Perl/perl5/commit/8605b0b495f4ccd3d53fdcd49a7357e3f0743bc3
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M makedef.pl

  Log Message:
  -----------
  makedef: omit execution-context members from exports


  Commit: f8cf96748f270e4461858d99b5a38fe13e657a01
      
https://github.com/Perl/perl5/commit/f8cf96748f270e4461858d99b5a38fe13e657a01
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M Porting/Maintainers.pl

  Log Message:
  -----------
  maintainers: register Cpanel::JSON::XS


  Commit: bef80c5f67184725349c3b2dcea8681c6f7652ea
      
https://github.com/Perl/perl5/commit/bef80c5f67184725349c3b2dcea8681c6f7652ea
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M t/class/gh22169.t

  Log Message:
  -----------
  class: silence intentional replacement warning in gh22169 test


  Commit: e6ed1fa66c6bd4e42b1bb1049f3fa9280d49aecb
      
https://github.com/Perl/perl5/commit/e6ed1fa66c6bd4e42b1bb1049f3fa9280d49aecb
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    M Makefile.SH
    M Porting/Maintainers.pl
    M Porting/sync-with-cpan
    A cpan/Cpanel-JSON-XS/.appveyor.yml
    A cpan/Cpanel-JSON-XS/.github/FUNDING.yml
    A cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
    A cpan/Cpanel-JSON-XS/.whitesource
    A cpan/Cpanel-JSON-XS/XS.pm
    A cpan/Cpanel-JSON-XS/XS.xs
    A cpan/Cpanel-JSON-XS/XS/Boolean.pm
    A cpan/Cpanel-JSON-XS/XS/Type.pm
    A cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
    A cpan/Cpanel-JSON-XS/eg/bench
    A cpan/Cpanel-JSON-XS/t/00_load.t
    A cpan/Cpanel-JSON-XS/t/01_utf8.t
    A cpan/Cpanel-JSON-XS/t/02_error.t
    A cpan/Cpanel-JSON-XS/t/03_types.t
    A cpan/Cpanel-JSON-XS/t/04_dwiw_encode.t
    A cpan/Cpanel-JSON-XS/t/05_dwiw_decode.t
    A cpan/Cpanel-JSON-XS/t/06_pc_pretty.t
    A cpan/Cpanel-JSON-XS/t/07_pc_esc.t
    A cpan/Cpanel-JSON-XS/t/08_pc_base.t
    A cpan/Cpanel-JSON-XS/t/08_pc_base_nv.t
    A cpan/Cpanel-JSON-XS/t/09_pc_extra_number.t
    A cpan/Cpanel-JSON-XS/t/104_sortby.t
    A cpan/Cpanel-JSON-XS/t/105_esc_slash.t
    A cpan/Cpanel-JSON-XS/t/106_allow_barekey.t
    A cpan/Cpanel-JSON-XS/t/107_allow_singlequote.t
    A cpan/Cpanel-JSON-XS/t/108_decode.t
    A cpan/Cpanel-JSON-XS/t/109_encode.t
    A cpan/Cpanel-JSON-XS/t/10_pc_keysort.t
    A cpan/Cpanel-JSON-XS/t/110_bignum.t
    A cpan/Cpanel-JSON-XS/t/112_upgrade.t
    A cpan/Cpanel-JSON-XS/t/113_overloaded_eq.t
    A cpan/Cpanel-JSON-XS/t/114_decode_prefix.t
    A cpan/Cpanel-JSON-XS/t/115_tie_ixhash.t
    A cpan/Cpanel-JSON-XS/t/116_incr_parse_fixed.t
    A cpan/Cpanel-JSON-XS/t/117_numbers.t
    A cpan/Cpanel-JSON-XS/t/118_type.t
    A cpan/Cpanel-JSON-XS/t/119_type_decode.t
    A cpan/Cpanel-JSON-XS/t/11_pc_expo.t
    A cpan/Cpanel-JSON-XS/t/120_type_all_string.t
    A cpan/Cpanel-JSON-XS/t/121_memleak.t
    A cpan/Cpanel-JSON-XS/t/122_type_encode.t
    A cpan/Cpanel-JSON-XS/t/125_shared_boolean.t
    A cpan/Cpanel-JSON-XS/t/12_blessed.t
    A cpan/Cpanel-JSON-XS/t/13_limit.t
    A cpan/Cpanel-JSON-XS/t/14_latin1.t
    A cpan/Cpanel-JSON-XS/t/15_prefix.t
    A cpan/Cpanel-JSON-XS/t/16_tied.t
    A cpan/Cpanel-JSON-XS/t/17_relaxed.t
    A cpan/Cpanel-JSON-XS/t/18_json_checker.t
    A cpan/Cpanel-JSON-XS/t/19_incr.t
    A cpan/Cpanel-JSON-XS/t/20_faihu.t
    A cpan/Cpanel-JSON-XS/t/20_unknown.t
    A cpan/Cpanel-JSON-XS/t/21_evans.t
    A cpan/Cpanel-JSON-XS/t/22_comment_at_eof.t
    A cpan/Cpanel-JSON-XS/t/23_array_ctx.t
    A cpan/Cpanel-JSON-XS/t/24_freeze_recursion.t
    A cpan/Cpanel-JSON-XS/t/25_boolean.t
    A cpan/Cpanel-JSON-XS/t/26_duplicate.t
    A cpan/Cpanel-JSON-XS/t/30_jsonspec.t
    A cpan/Cpanel-JSON-XS/t/31_bom.t
    A cpan/Cpanel-JSON-XS/t/52_object.t
    A cpan/Cpanel-JSON-XS/t/53_readonly.t
    A cpan/Cpanel-JSON-XS/t/54_stringify.t
    A cpan/Cpanel-JSON-XS/t/55_modifiable.t
    A cpan/Cpanel-JSON-XS/t/96_interop.t
    A cpan/Cpanel-JSON-XS/t/96_interop_pp.t
    A cpan/Cpanel-JSON-XS/t/96_mojo.t
    A cpan/Cpanel-JSON-XS/t/97_unshare_hek.t
    A cpan/Cpanel-JSON-XS/t/98_56only.t
    A cpan/Cpanel-JSON-XS/t/99_binary.t
    A cpan/Cpanel-JSON-XS/t/_unicode_handling.pm
    A cpan/Cpanel-JSON-XS/t/appveyor-test.bat
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_neg_int_huge_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_pos_double_huge_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_object_key_lone_2nd_surrogate.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_surrogate.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-8_invalid_sequence.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_pair.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogates_escape_valid.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_inverted_surrogates_U+1D11E.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_lone_second_surrogate.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_not_in_unicode_range.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_truncated-utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FDD0_nonchar.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FFFE_nonchar.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_500_nested_arrays.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_UTF-8_BOM_empty_object.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_1_true_without_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_a_invalid_utf8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_colon_instead_of_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_after_close.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_and_number.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_extra_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_close.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete_invalid_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_inner_array_no_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_invalid_utf8.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_items_separated_by_semicolon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_minus.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_missing_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_newlines_unclosed.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_several_commas.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_spaces_vertical_tab_formfeed.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_star_inside.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_trailing_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_new_lines.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_object_inside.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_false.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_true.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_++.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+1.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+Inf.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-01.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-1.0..json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-2..json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-NaN.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.-1.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.2e-3.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.1.2.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e+.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.e1.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E+.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e+.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e+.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e-.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1_000.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1eE2.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e+3.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e-3.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e3.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_9.e+.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_Inf.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_NaN.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_expression.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_1_digit.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_2_digits.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_infinity.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid+-.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-negative-real.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-exponent.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_infinity.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_sign_with_trailing_garbage.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_space_1.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_int_starting_with_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_real_without_int_part.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_with_garbage_at_end.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_garbage_after_e.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_with_invalid_utf8_after_e.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_without_fractional_part.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_starting_with_dot.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_then_00.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha_char.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_leading_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bad_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bracket_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_comma_instead_of_colon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_double_colon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_emoji.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_garbage_at_end.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_key_with_single_quotes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_colon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_semicolon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_no-colon.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key_but_huge_number_instead.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_pi_in_key_and_trailing_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_repeated_null_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_several_trailing_commas.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_single_quote.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_open.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_two_commas_in_a_row.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unquoted_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unterminated-value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_single_string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_trailing_garbage.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_single_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1x.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF-16_incomplete_surrogate.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF8_surrogate_U+D800.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_accentuated_char_no_quotes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_backslash_00.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escape_x.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_backslash_bad.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_ctrl_char_tab.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_emoji.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escape.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escaped_character.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid-utf-8-in-escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_backslash_esc.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_unicode_escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf8_after_escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_iso_latin_1.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_leading_uescaped_thinspace.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_lone_utf8_continuation_byte.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_no_quotes_with_bad_escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_2_bytes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_doublequote.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_quote.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_string_no_double_quotes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_start_escape_unclosed.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_crtl_char.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_newline.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_tab.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unicode_CapitalU.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_with_trailing_garbage.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_100000_opening_arrays.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_U+2060_word_joined.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_UTF8_BOM_no_data.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_trailing_garbage.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_extra_array_close.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_unclosed_string.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ascii-unicode-identifier.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_capitalized_True.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_close_unopened_array.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_comma_instead_of_closing_brace.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_double_array.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_end_array.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_incomplete_UTF8_BOM.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-invalid-utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-open-bracket.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lt.gt.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ltnullgt.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_no_data.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_null-byte-outside-string.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_number_with_trailing_garbage.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_followed_by_closing_object.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_unclosed_no_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_comment.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_trailing_garbage.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_apostrophe.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_object.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_object.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_close_array.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_comma.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_array.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_string.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_string_with_apostrophes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_open.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_point.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_star.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_trailing_#.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_uescaped_LF_before_string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_partial_null.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_false.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_true.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_object.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unicode-identifier.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_formfeed.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_arraysWithSpaces.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty-string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_ending_with_newline.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_false.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_heterogeneous.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_1_and_newline.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_leading_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_several_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_trailing_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e+1.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e1.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_after_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_close_to_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_huge_neg_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_huge_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_int_with_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_minus_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_one.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_neg_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_pos_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_exponent.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_fraction_exponent.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_exp.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_overflow.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_exponent.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_overflow.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_underflow.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_real.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_neg_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_pos_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_very_big_negative_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_basic.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key_and_value.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_escaped_null_in_key.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_extreme_numbers.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_long_strings.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_simple.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_string_unicode.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_with_newlines.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pair.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pairs.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_allowed_escapes.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_and_u_escaped_zero.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_doublequotes.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_comments.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_a.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_n.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_control_character.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_noncharacter.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array_with_leading_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_last_surrogates_1_and_2.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_newline_uescaped.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_null_escape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_one-byte-utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_pi.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_simple_ascii.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_space.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_three-byte-utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_two-byte-utf-8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2028_line_sep.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2029_par_sep.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_uEscape.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unescaped_char_delete.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicodeEscapedBackslash.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_2.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+2064_invisible_plus.json
    A 
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_escaped_double_quote.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16be.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32be.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf8.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_with_del_character.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_false.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_int.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_negative_real.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_null.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_string.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_true.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_string_empty.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_trailing_newline.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_true_in_array.json
    A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_whitespace_array.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_1.0.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_1.000000000000000005.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_1000000000000000.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_10000000000000000999.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_1e-999.json
    A cpan/Cpanel-JSON-XS/t/test_transform/number_1e6.json
    A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfc_nfd.json
    A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfd_nfc.json
    A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_different_values.json
    A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_same_value.json
    A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_unclear_values.json
    A 
cpan/Cpanel-JSON-XS/t/test_transform/string_1_escaped_invalid_codepoint.json
    A cpan/Cpanel-JSON-XS/t/test_transform/string_1_invalid_codepoint.json
    A 
cpan/Cpanel-JSON-XS/t/test_transform/string_2_escaped_invalid_codepoints.json
    A cpan/Cpanel-JSON-XS/t/test_transform/string_2_invalid_codepoints.json
    A 
cpan/Cpanel-JSON-XS/t/test_transform/string_3_escaped_invalid_codepoints.json
    A cpan/Cpanel-JSON-XS/t/test_transform/string_3_invalid_codepoints.json
    A cpan/Cpanel-JSON-XS/t/test_transform/string_with_escaped_NULL.json
    A cpan/Cpanel-JSON-XS/t/zero-mojibake.t
    A cpan/Cpanel-JSON-XS/typemap
    A cpan/Cpanel-JSON-XS/xt/changes.t
    A cpan/Cpanel-JSON-XS/xt/checkchanges.t
    A cpan/Cpanel-JSON-XS/xt/gh70-asan.t
    A cpan/Cpanel-JSON-XS/xt/kwalitee.t
    A cpan/Cpanel-JSON-XS/xt/leaktrace.t
    A cpan/Cpanel-JSON-XS/xt/manifest.t
    A cpan/Cpanel-JSON-XS/xt/meta.t
    A cpan/Cpanel-JSON-XS/xt/perl_minimum_version.t
    A cpan/Cpanel-JSON-XS/xt/pod-coverage.t
    A cpan/Cpanel-JSON-XS/xt/pod-spell-mistakes.t
    A cpan/Cpanel-JSON-XS/xt/pod-spelling.t
    A cpan/Cpanel-JSON-XS/xt/pod.t
    M lib/.gitignore
    M win32/GNUmakefile
    M win32/Makefile

  Log Message:
  -----------
  core: add Cpanel::JSON::XS


  Commit: df5d3d31646d1051905a16f78efc150a791cc2b6
      
https://github.com/Perl/perl5/commit/df5d3d31646d1051905a16f78efc150a791cc2b6
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M t/harness

  Log Message:
  -----------
  harness: prioritize tests without saved timings


  Commit: 3129ae8fe2b87cdebb38e4506c703b049a3facaf
      
https://github.com/Perl/perl5/commit/3129ae8fe2b87cdebb38e4506c703b049a3facaf
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    R cpan/Cpanel-JSON-XS/.appveyor.yml
    R cpan/Cpanel-JSON-XS/.github/FUNDING.yml
    R cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
    R cpan/Cpanel-JSON-XS/.whitesource
    M cpan/Cpanel-JSON-XS/XS.xs
    M cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
    M cpan/Cpanel-JSON-XS/eg/bench
    M cpan/Cpanel-JSON-XS/t/20_unknown.t
    M t/porting/filenames.t
    A utils/cpanel_json_xs.PL

  Log Message:
  -----------
  core: finish Cpanel JSON XS integration cleanup


  Commit: 4fe6037377693a38ab0bb2c789f6a79a6ec5c1a3
      
https://github.com/Perl/perl5/commit/4fe6037377693a38ab0bb2c789f6a79a6ec5c1a3
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    A .agent/skills/perl-configure-build-system/SKILL.md
    A 
.agent/skills/perl-configure-build-system/references/configure-build-system.md
    A .agent/skills/perl-core-archaeology/SKILL.md
    A .agent/skills/perl-core-archaeology/references/core-archaeology.md
    A .agent/skills/perl-core-build-test-debug/SKILL.md
    A .agent/skills/perl-core-build-test-debug/references/testing-debugging.md
    A .agent/skills/perl-core-docs-release/SKILL.md
    A .agent/skills/perl-core-docs-release/references/docs-release.md
    A .agent/skills/perl-core-hacking/SKILL.md
    A .agent/skills/perl-core-hacking/references/core-change-workflow.md
    A .agent/skills/perl-core-orientation/SKILL.md
    A .agent/skills/perl-core-orientation/references/source-map.md
    A .agent/skills/perl-core-portability/SKILL.md
    A .agent/skills/perl-core-portability/references/core-portability.md
    A .agent/skills/perl-embed-fnc/SKILL.md
    A .agent/skills/perl-embed-fnc/references/embed-fnc-guide.md
    A .agent/skills/perl-generated-files/SKILL.md
    A .agent/skills/perl-generated-files/references/generated-files.md
    A .agent/skills/perl-language-library/SKILL.md
    A .agent/skills/perl-language-library/references/language-library.md
    A .agent/skills/perl-parser-optree-ops/SKILL.md
    A .agent/skills/perl-parser-optree-ops/references/parser-optree-ops.md
    A .agent/skills/perl-regex-engine/SKILL.md
    A .agent/skills/perl-regex-engine/references/regex-engine-map.md
    A .agent/skills/perl-sv-magic-memory/SKILL.md
    A .agent/skills/perl-sv-magic-memory/references/sv-magic-memory.md
    A .agent/skills/perl-xs-embedding/SKILL.md
    A .agent/skills/perl-xs-embedding/references/xs-embedding.md
    M .gitignore
    A AGENTS.md
    R AI_POLICY.md
    A CLAUDE.md

  Log Message:
  -----------
  add skills


  Commit: 416af500f94f87ec352bf915c07b610fbda4f2e9
      
https://github.com/Perl/perl5/commit/416af500f94f87ec352bf915c07b610fbda4f2e9
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    M MANIFEST.SKIP

  Log Message:
  -----------
  porting: exclude agent files from the distribution manifest


  Commit: 73c6a743e080fdd3532e2a95ee59e34c7a1ecf1e
      
https://github.com/Perl/perl5/commit/73c6a743e080fdd3532e2a95ee59e34c7a1ecf1e
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    M embed.fnc
    M embed.h
    M feature.h
    M keywords.c
    M keywords.h
    M lib/feature.pm
    M op.c
    M perly.act
    M perly.h
    M perly.tab
    M perly.y
    M pod/perl.pod
    M pod/perldelta.pod
    A pod/perlnamespace.pod
    M pod/perlsyn.pod
    M proto.h
    M regen/feature.pl
    M regen/keywords.pl
    A t/comp/namespaces.t
    M toke.c

  Log Message:
  -----------
  core: add lexical namespace foundation


  Commit: 0431bedc16d492189ab566a55bd499390a52e58c
      
https://github.com/Perl/perl5/commit/0431bedc16d492189ab566a55bd499390a52e58c
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M lib/feature.pm
    M lib/warnings.pm
    M pod/perlfunc.pod
    M regen/feature.pl
    M regen/warnings.pl
    M t/comp/namespaces.t
    M toke.c
    M warnings.h

  Log Message:
  -----------
  core: mark namespaces as experimental


  Commit: 6945cbb0eb0dc7fa499154129c2dc64d2f34e7d1
      
https://github.com/Perl/perl5/commit/6945cbb0eb0dc7fa499154129c2dc64d2f34e7d1
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  core: resolve namespace-qualified symbols


  Commit: db2f74d0af7b2be7103c53b4d4669c280b2a06c9
      
https://github.com/Perl/perl5/commit/db2f74d0af7b2be7103c53b4d4669c280b2a06c9
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M MANIFEST
    M op.c
    M pod/perldiag.pod
    M pod/perlfunc.pod
    M win32/pod.mak

  Log Message:
  -----------
  core: document namespace APIs and diagnostics


  Commit: 8b16b14182aa4db5135ca0539dab5a40deca8aec
      
https://github.com/Perl/perl5/commit/8b16b14182aa4db5135ca0539dab5a40deca8aec
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M t/comp/namespaces.t
    M t/op/coreamp.t
    M t/op/coresubs.t

  Log Message:
  -----------
  tests: cover namespace test setup and keyword warnings


  Commit: c8c19e19db65a40899ed37939606dd032ebfd4f4
      
https://github.com/Perl/perl5/commit/c8c19e19db65a40899ed37939606dd032ebfd4f4
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M gv.c

  Log Message:
  -----------
  core: exclude namespace keywords from CORE subs


  Commit: 2e2458d3175bad79ed4e06cda63c3e893ce8e991
      
https://github.com/Perl/perl5/commit/2e2458d3175bad79ed4e06cda63c3e893ce8e991
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M t/comp/namespaces.t
    M toke.c

  Log Message:
  -----------
  namespaces: support explicit CORE boundaries


  Commit: b9a33dc9e9dd1553cdd44c4c351cf76949bf4209
      
https://github.com/Perl/perl5/commit/b9a33dc9e9dd1553cdd44c4c351cf76949bf4209
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M ext/Pod-Functions/t/Functions.t
    M t/comp/namespaces.t
    M t/porting/test_bootstrap.t
    M toke.c

  Log Message:
  -----------
  tests: restore feature-off namespace compatibility


  Commit: 9fe887ea559b9df3e1a236b6b2674569d0f1e0a6
      
https://github.com/Perl/perl5/commit/9fe887ea559b9df3e1a236b6b2674569d0f1e0a6
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M lib/B/Deparse-core.t

  Log Message:
  -----------
  tests: account for namespace keywords in deparse sanity check


  Commit: afee758d9ea5259e67892fc0c4893e02df5a7996
      
https://github.com/Perl/perl5/commit/afee758d9ea5259e67892fc0c4893e02df5a7996
  Author: Yves Orton <[email protected]>
  Date:   2026-08-29 (Sat, 29 Aug 2026)

  Changed paths:
    M lib/B/Deparse-core.t

  Log Message:
  -----------
  tests: silence experimental comparison warnings


Compare: https://github.com/Perl/perl5/compare/8328b0a2ce44%5E...afee758d9ea5

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

Reply via email to