- Fix a typo in an earlier Changes entry (James E Keenan) [github #1083]
- Update the author address to exodist7@gmail.com; mail to the old cpan.org address is no longer delivered.
- Ship AI_AND_LLM_POLICY.md, the contributor policy for AI and LLM generated code, covering human review, bot accounts in tickets and pull requests, and noting AI use.
- Stop shipping perltidyrc and repository-only markdown files.
- Ship the xt/ author and release tests so they run during release testing.
- Ship three test files that an unanchored MANIFEST.SKIP pattern had silently excluded from the distribution.
- Fix POD typos in Test2::API, Test2::Handle, Test2::V1, Test2::API::InterceptResult::Event, and Test2::Manual::Testing::Introduction.
- Quote the file name in the #line directive Test2::Handle generates, so tests pass when the build directory path contains spaces (Lukas Mai) [github #1088]
- Fix further POD typos in Test2::V1 (Lukas Mai) [github #1054]
- Derive the tested perl versions from the perl-versions action so CI keeps up to date (Branislav Zahradník) [github #1085]
- Reject end() in an array, bag, or hash builder that uses all_items, all_keys, or all_values but specifies no items or fields; such a check can only match an empty structure [github #1086]
- Enforce end() in a bag that also uses all_items; extra items were ignored. This includes the implicit end() inside is(), so such bags now warn or fail where they silently passed. [github #1086]
- Document that Test2::Plugin::BailOnFail and Test2::Plugin::DieOnFail cannot act on a failure inside a forked subtest until the owning process merges it [github #1081]
- Use Test2::V0 instead of the deprecated Test2::Bundle::Extended in the Test2::Tools::AsyncSubtest and Test2::Tools::Spec examples [github #1079]
- Fail a Test::More subtest whose code dies, reporting the exception inside it, instead of reporting the subtest as passing. The exception still propagates. [github #1075]
- Return the number of assertions made from done_testing() in Test2::Tools::Basic and Test2::Tools::Tiny, so a test file ending in it is true to do() [github #1073]