Revision history for Syntax-Keyword-Try

0.26    2021-10-12
         * Many internal updates to hax/ support files

         * Fix try { return } to work correctly in all contexts without
           upsetting -DDEBUGGING perls

0.25    2021-06-01
         * Rewrite parsing logic to use XS::Parse::Keyword 0.06
         * Removed the new-deprecated `try do { ... }` experimental syntax
         * Updated docs now that 5.34 is officially released, including
           `use feature 'try'`.

0.24    2021-05-10
         * Deprecate the `try do { ... }` (experimental) syntax now that
           try-in-do works reliably. It will be removed soon because it gets
           in the way of converting the parser logic to XS::Parse::Keyword
         * Add documentation about the core `use feature 'try'` and
           Feature::Compat::Try module
         * Added an initial attempt at B::Deparse logic

0.23    2021-03-27
         * Unit tests and documentation of the handling of the final-value
           semantics of `do { try ... }`
         * Also mention core's `feature 'try'` in documentation
         * Gives notice that the experimental 'try_value' feature is now
           discouraged and will eventually be removed

0.22    2021-03-26
         * Preserve wantarray context within the try {} block (RT133616)
         * List-context `try do {}` now works fine as well
         * Apply unit-testing for RT134790

0.21    2021-01-22
         * Add some import configuration options required to make
           Feature::Compat::Try work. Currently unit-tested but undocumented.

0.20    2020-11-24
         * Fix for perl 5.14 by #include'ing hax/ files in the right order

0.19    2020-11-24
         * Avoid the core Off() and Bit() macros as they were removed after
           perl 5.33.3
         * Support :experimental(try_value) to activate and silence the
         * Add documentation about the scalar context propagation issue of

0.18    2020-08-01
         * De-experiment the `catch ($var)` syntax

0.17    2020-07-31
         * Ensure that `catch ($var)` does not retain exception value after
           block exit
         * Docs fixes for clarity on experimental status of `catch ($var)`

         * Ensure sv_isa_sv is a macro for aTHX on threaded perls

0.16    2020-07-23
         * Provide the `:experimental` import tag as a nicer way to silence
           experimental warnings

         * Don't name a variable `class` because it upsets some C compilers

0.15    2020-07-21
         * Experimental typed `catch (VAR ...)` conditions

0.14    2020-07-07
         * Optional experimental syntax of `catch (VAR)` instead of previous
           experimental `catch my VAR`
         * Mark `catch my VAR` as deprecated
         * Added explicit use VERSION declarations to every perl file

0.13    2020-06-29
         * Pack correct MANIFEST to include hax/ files

0.12    2020-06-29
         * Optional and experimental allocation of a new lexical under
           `catch my $VAR` syntax (RT130702). However, this syntax may not
           survive long, as part of the ongoing typed catch design work.

         * Work around perl versions prior to 5.22 built with -DDEBUGGING
           getting upset about new*OP() being invoked with OP_CUSTOM

0.11    2019-09-07
         * Use wrap_keyword_plugin() instead of direct access to
         * Build OP_ENTER/OP_LEAVE structure the correct way so perl 5.31.3
           doesn't crash
         * Fix OP_NEXT/OP_LAST/OP_REDO mangling for perl 5.31.3 to avoid
           CPU spin (RT129975)

0.10    2019-06-13
         * Added experimental value-semantic expression form (RT121267)
         * Document that the module works nicely with Future::AsyncAwait
         * Ignore import symbols `catch` and `finally`

         * Fixed spelling mistakes in documentation (patch from debian)

0.09    2017-11-08 14:33:19
         * Make module loading thread-safe on perls 5.16 and above. (RT123547)
           Safety on perl 5.14 is still an unsolved problem.

0.08    2017-09-14 17:26:20
         * Handle the OpSIBLING of an OP_{NEXT,LAST,REDO} correctly (RT123040)

0.07    2017-08-13 23:11:39
         * Capture 80await+try.t unit test from Future-AsyncAwait
         * Improved implementation of OP_PUSHFINALLY to help make try/finally
           inside async/await subs work

         * Make 'eval { try { return ... } }' work correctly
         * Make 'return LIST' inside try{} blocks work correctly (RT122795)
            - with thanks to Zefram for code inspiration

0.06    2017/06/06 14:59:30
         * Clarify documentation about the behaviour of try {} blocks without
           catch {}; include comparison with other modules

         * Fix typo in #ifdef test (RT119709)
         * Restore C89 compatibility again (RT119665)

0.05    2017/06/05 14:04:06
         * Add a SEE ALSO link pointing at the value-semantics RT ticket

         * Fix cLISTOP->op_last field to keep DEBUGGING builds happy

0.04    2016/11/25 15:06:18
         * Removed stale documentation about now-fixed warnings from

         * Fix C code for C89 compatibility (RT118950)
         * Localise $@ around try/catch (RT118415)

0.03    2016/11/24 10:27:45
         * Default import of 'try' keyword
         * Suppress 'exiting' warning around next/last/redo inside a try block
         * Don't bother outputting a Makefile.PL

0.02    2016/09/06 21:29:25
         * Use OpSIBLING() macro for compatibility for perl 5.25.x
         * Documentation fixes

0.01    2016/09/05 22:19:33
        First version, released on an unsuspecting world.