Revision history for Dios

0.000001  Tue May 12 14:10:17 2015
       Initial release.


0.000002  Wed Jul 22 10:43:23 2015

    First public release


0.000003  Sun Jul 26 13:07:00 2015

    Added missing dependency of Keyword::Declare
    (thanks, Matt!)


0.000004  Sat Aug  1 08:53:56 2015

    Split test prereqs out in Makefile.PL
    (Thanks Karen)

    Added Variable::Magic dependency

    Added missing paren in Synopsis code
    (Thanks, Olivier)

    Added Dios::Types::Pure to enable users
    to take advantage of Dios::Types without
    the compile-time and memory penalties of
    the 'subtype' keyword
    (Thanks, Olivier!)


0.000005  Sun Aug  2 06:56:20 2015

    Added Object::InsideOut as a prereq
    (Thanks Slaven!)


0.000006  Mon Aug 10 20:06:11 2015

    Rejigged t/*lvalue* to avoid problems if Want.pm not installed
    (thanks Matthias and Peter!)



0.000007  Wed Aug 12 07:59:24 2015

    Changed Makefile.PL to eliminated Data::Alias prereq under 5.22+
    (thanks Peter and Karen)



0.001001  Fri Jul  1 21:50:07 2016

    MAJOR FEATURE RELEASE:

        * Added multiple dispatch

        * Added return types

        * Added nameless sigiled positional variables

        * Added type-only positional variables

        * Added literal value constraints

        * Added arrays and hashes as attributes

        * Added typed lexical variables (via 'lex' declarator)


    Other fixes:

        * Documented unresolved issues with quotelikes,
          and now generate error messages for them

        * Various doc tweaks (mainly corrected code examples for Tuple type)

        * Added Dios::Types::Pure to MANIFEST so it's actually indexed
          (Sorry, Olivier!)




0.002000  Tue Jun 20 06:04:11 2017


        * Clarified use of eval{} in documentation
          (thanks Olivier)


0.002001  Wed Jun 21 14:51:09 2017

        * Refined dependency specification for Keyword::Declare


0.002002  Wed Jun 28 07:08:14 2017

        * Fixed parameter handling in methods with explicit return type
          but implicit invocant (thanks, Jeff!)


0.002003  Sun Jul 16 15:17:11 2017

        * Various extensions to Dios::Types (thanks Toby!)
            - Added Hash[KEYTYPE => VALUETYPE]
            - Extended Can[METHODNAME] to also allow Can[METHODNAME1, METHODNAME2, ETC]
            - Added Overloads[OP, OP, ETC] to test whether value overloads operators

        * Improved performance of certain typechecks in Dios::Types
            - Int check now much faster

        * Added validator_for() function to Dios::Types API
          to allow type checks to be precompiled
          (and thereafter 2-3 times faster)

        * Made Dios::Types transparent to the Carp module

        * Patched a bug in initialization of Dios hash fields
          that was caused by core parser changes in Perl 5.22+
          (Thanks, Jeff!)




0.002004  Tue Jul 18 12:56:41 2017

        * Fixed subtle persistence bug in
          validator_for() description processing

        * Backed off on cleverness of selecting between optional
          scalar parameters vs tailing slurpies...due to bad effects
          on optional typed scalars elsewhere. No documentation
          change, since the inference behaviour was not previously
          documented. (Thanks, Jeff)



0.002005  Fri Aug  4 16:01:31 2017

        * Fixed lexical scoping bugs for subtypes involving other subtypes
          (Thanks, Jeff)

        * Allowed subtypes of compound types
          (Thanks, Jeff)

        * Fixed egregious bug in precedence of & and |


0.002006  Sat Aug  5 06:50:30 2017

        * Made subtype definitions export themselves if placed in 
          an import() or unimport() sub.
          (Thanks Jeff)


0.002007  Sun Aug  6 20:46:46 2017

        * Allowed attributes to be specified with subtype types
          (Thanks Jeff!)


0.002008  Wed Aug  9 21:24:44 2017

        * Fixed the behaviour of is req/is required
          (Thanks Jeff)


0.002009  Mon Aug 14 13:39:04 2017

        * Fixed handling of Hash[K=>V] and Match[...] type declarators
          (Thanks, Felix!)


0.002010  Sun Aug 27 15:32:26 2017

        * Silenced the warning when a variable declared in a method
          shadows the name of an attribute variable
          (thanks, William)

        * Fixed non-persistence of values in typed attributes
          (thanks, Felix!)



0.002011  Sat Sep  2 09:40:40 2017

        * Silenced the warning when a variable declared in a submethod
          shadows the name of an attribute variable

        * Fixed initialization of objects with BUILD methods
          (thanks, Felix!)


0.002012  Fri Feb  4 00:29:58 2022

        * Fixed internal bug when calling B::Deparse::ambient_pragmas()
          under Perl 5.30 and later

        * Fixed bug in submethod invocation
          (did not actually restrict to class)

        * Added compile-time error message when BUILD() methods
          use a named argument with the same name as an attribute
          (it already didn't work; now it reports the problem)

        * Fixed internal usage of overload::Method()
          (thanks, Hugo!)

        * Documented failure under Perl 5.20 and
          Keyword::Simple 0.3 requirement under Perl 5.14 and 5.16