Zydeco
======

Created:      2020-01-15
Home page:    <http://zydeco.toby.ink/>
Home page:    <https://metacpan.org/release/Zydeco>
Bug tracker:  <https://github.com/tobyink/p5-zydeco/issues>
Maintainer:   Toby Inkster (TOBYINK) <tobyink@cpan.org>

0.617	2022-10-23

 [ Test Suite ]
 - Don't require Devel::TypeTiny::Perl56Compat in test suite.

0.616	2022-07-19

 [ Packaging ]
 - Require latest MooX::Press.

0.615	2022-06-20

 - Added: Steal `field` from MooseX::Extended.
 - Added: Steal `param` from MooseX::Extended.

0.614	2022-06-19

 - Added: Support coderef multimethods.

0.613	2020-01-09

 [ Documentation ]
 - Fixes for some typos.
   Sébastien Feugère++
   <https://github.com/tobyink/p5-zydeco/pull/8>

 [ Packaging ]
 - Move issue tracker to GitHub.

0.612	2020-10-10

 - Added: New `symmethod` keyword.

0.611	2020-09-23

 [ Documentation ]
 - Moose metaclass example.

 [ Other ]
 - Pass `definition_context` through to MooX::Press for methods, factories,
   classes, roles, attributes, etc.

0.610	2020-09-23

 [ Bug Fixes ]
 - Improvements to line number reporting.
   <https://github.com/tobyink/p5-zydeco/issues/7>

0.609	2020-09-19

 [ Packaging ]
 - Require latest MooX::Press as 0.073 and 0.074 have buggy handling of
   type constraints for tag roles.

0.608	2020-09-17

 - Fix parsing whitespace around lists of parameterized role parameters.

0.607	2020-09-17

 - Make even more use of MooX::Press::make_absolute_package_name().

0.606	2020-09-15

 [ Bug Fixes ]
 - Fixes for parsing `extends` and `with` outside of `class`/`role` blocks.
   <https://github.com/tobyink/p5-zydeco/issues/5>

0.605	2020-09-15

 - Make use of MooX::Press::make_absolute_package_name().

0.604	2020-09-15

 - Factor out a lot of code for run-time modification of packages (which
   happens in hooks) to MooX::Press, allowing code to be shared with
   Zydeco::Lite.

0.603	2020-09-12

 - The `include` keyword now loads *.zydeco.pm files instead of *.pl files.

0.602	2020-09-11

 - Added: Make $factory variable available within `has` defaults, `method`
   bodies, `multi method` bodies, and method modifier bodies.

0.601	2020-09-04

 [ Bug Fixes ]
 - The `blessed` and `confess` functions weren't being exported correctly.

 [ Documentation ]
 - Improvements to the structs.pl example.

 [ Other ]
 - Added: The `coerce` and `factory` keywords now work within `after_apply`
   and `before_apply` hooks.

0.600	2020-09-03

 - Protect lexical attributes and methods with Internals::SvREADONLY. This
   is almost certainly what you want.

0.521	2020-09-02

 - Make = shortcut for method bodies smarter at deciding when to optimize
   and when it needs to properly close over variables.

0.520	2020-09-02

 [ Packaging ]
 - Use the latest version of MooX::Press.

 [ Other ]
 - Automatically import types into the caller package for each new class
   and role as it is defined.

0.519	2020-08-25

 [ Documentation ]
 - Document :coerce / :coercion.

 [ Packaging ]
 - Use the latest version of MooX::Press.

0.518	2020-04-08

 [ Documentation ]
 - Document method modifiers.

 [ Packaging ]
 - Use the latest version of MooX::Press.

0.517	2020-04-08

 [ Packaging ]
 - Use the latest version of MooX::Press.

 [ Other ]
 - Added: Support `multi factory` for classes.

0.516	2020-03-24

 [ Packaging ]
 - Require Keyword::Simple 0.04.

0.515	2020-03-24

 [ Bug Fixes ]
 - Fix for parsing factory/via statements.

0.514	2020-03-03

 - Allow bare sigils in signature list.
 - Attributes like :lvalue on methods are now passed through to MooX::Press
   (though MooX::Press currently does nothing with them).

0.513	2020-03-03

 [ Packaging ]
 - If it is detected that Variable::Magic is installed, make sure it's
   up-to-date. (I believe older versions are causing problems with
   B::Hooks::EndOfScope::XS and causing test fails.)

0.512	2020-03-02

 [ Test Suite ]
 - Output installed module versions for many dependencies.

0.511	2020-02-28

 [ Packaging ]
 - Require newer PPR.

 [ Other ]
 - Added: Abbreviated syntax for defining methods, multi methods, factory
   methods, coercions, and method modifiers.
 - Added: Allow comments within type constraints within signatures, but
   only on Perl 5.16+.

0.510	2020-02-24

 [ Documentation ]
 - Start totally rewriting documentation.

 [ Packaging ]
 - Require MooX::Press 0.057.

 [ Other ]
 - Default to 'ro' accessors.

0.509	2020-02-20

 [ Bug Fixes ]
 - More reliable parsing of aliases for multimethod candidates.
 - Syntax rewrite in version 0.100 accidentally made the optional block
   after a coercion declaration required. It is now optional again.

 [ Documentation ]
 - Remove pod from MooX::Pression stub module.

 [ Other ]
 - Allow a lot of keywords to appear in `begin`, `end`, `after_apply`, and
   `before apply` hooks which previously did not work.

0.508	2020-02-18

 - Added: Provide `before_apply` and `after_apply` hooks for roles using
   Role::Hooks.
 - Allow `begin` and `end` to be used multiple times in a class/role.

0.507	2020-02-17

 - Cope when Zydeco is imported into the same package twice (but blow up if
   it's also the same lexical scope.).

0.506	2020-02-16

 - Public attributes may now have private accessors and delegations.

0.505	2020-02-16

 [ Bug Fixes ]
 - Fix link to website (should not be HTTPS).

0.504	2020-02-16

 [ Documentation ]
 - Zydeco vs MooX::Press.

 [ Packaging ]
 - Zydeco now has a website.

0.503	2020-02-15

 - Allow `version`, `extends`, and `with` to be part of a
   class/role/interface declaration instead of within the block.

0.502	2020-02-15

 [ Documentation ]
 - IMPORTS should be a level 1 heading.

0.501	2020-02-15

 - Better defaults of `factory_package` and `prefix` in latest MooX::Press.
 - Provide an `unimport` method.

0.500	2020-02-14

 [ Documentation ]
 - Better description.
 - Restructure documentation.

 [ Packaging ]
 - MooX::Pression is now called Zydeco.