Revision history for Perl module Wanted

v0.1.1 2026-06-08T07:19:56+0900
	- Test-only maintenance release; no functional changes to the XS implementation.
	- Replaced the Perl 5.10 defined-or operator (//) in t/02.all.t and t/04.boolean.t
	  with defined()/ternary expressions.
	  This restores syntax compatibility with Perl 5.8.x, where those test files failed
	  to compile on CPAN Testers.
    - Simplified t/11.rreturn.t by removing internal want_lvalue() assertions from
      lvalue-assignment test paths. Those checks were probing implementation details and
      could not reliably distinguish between Perls that correctly propagated lvalue
      context and those that did not. The test now focuses on the actual behaviour under
      test: whether rreturn correctly dies in lvalue assignment contexts.
    - Eliminated spurious TODO passed reports from t/11.rreturn.t on some CPAN Testers
      platforms.
	- Updated GitLab repository and bugtracker metadata after moving the project to the
	  'deguest' group.
    - Fixed a precedence bug in t/93.signature.t that caused the AUTHOR_TESTING level
      check to behave incorrectly.

v0.1.0 2025-05-24T22:45:22+0900
	- Initial version as a fork from Want, which does not seem maintained anymore.
	- Added context() function to determine the caller's context (RT#16670).
	- Fixed various bugs from Want:
	  - RT#4628: Segfault in Set::Array
	    Now returns undef in invalid contexts.
	  - RT#57980: Segmentation Fault in Tied Module
	    Now returns undef in tied contexts.
	  - RT#68350: Segfault in Overloaded Operator '>'
	    Now returns undef in invalid contexts.
	  - RT#90062: Segfault Under Threads
	    Now returns undef in invalid thread contexts.
	  - RT#2196: Bus Error Inside Tie
	    Now returns undef in tied contexts; version requirement updated to 5.006
	    (inherited from Want-0.29).
	  - RT#104042: Add OpSIBLING Support
	    Already fixed in Want-0.26 and inherited.
	  - RT#133060: Test Failure When File Path Contains Space
	    Not applicable in our test suite.
	  - RT#136651: Segmentation Fault When Used Inside a Thread
	    Now returns undef in invalid thread contexts.
	  - RT#47963: want() Confused by Prototypes
	    Documented limitation in POD under LIMITATIONS; fix requires XS-level changes not
	    implemented in this release.
	- Fixed lvalue reference assignment issue on Perl < 5.12.0 (e.g., \(scalar g(...))
	  not tying to underlying variable); added version guard in t/02.all.t.
	- Fixed first_multideref_type() usage on Perl < 5.22.0 (OP_MULTIDEREF introduced in
	  5.22.0); added version guards in Want.pm and t/02.all.t.
	- Fixed critical bug in double_return() under Perl 5.22.x and 5.24.x that caused
	  double-free errors in lvalue assignment contexts.
	  This was caused by unsafe freeing of op tree structures reused by Perl.
	  The workaround is version-guarded and safe.
	- Marked double_return() as stable and safe for use in all supported versions.
	- All tests now pass successfully across Perl 5.8.8 through 5.38.
	- Confirmed correctness of disarm_temp(), copy_rval(), and copy_rvals() logic on
	  stack markers.
	- Known limitation: In Perl 5.36+, want_lvalue() may fail to detect lvalue context in
	  some scenarios (e.g., inside eval) due to CxLVAL unreliability (affects
	  t/11.rreturn.t tests 7 and 14).
	- Modernised test suite with Test::More.
	- Added detailed comments to all XS functions in Wanted.xs and FirstMultideref.xsh
	  for better documentation.
