The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Rinci

1.1.12   2012-03-13

         [ENHANCEMENTS]

         + Add 'Rinci::result'.


1.1.11   2012-03-13

         [INCOMPATIBLE CHANGES]

         + package: Remove property 'pkg_version' (use 'entity_version'
         instead).

         [ENHANCEMENTS]

         + Add property 'entity_version'.


1.1.10   2012-02-28

         + function: arg spec 'aliases': Add alias spec 'schema'


1.1.9    2012-02-28

         [INCOMPATIBLE CHANGE]

         + function: Change (back) 'set' alias spec to 'code', in arg spec
         'aliases' (for backward compatibility with 1.0)


1.1.8    2012-02-28

         [INCOMPATIBLE CHANGES]

         + function: Replace (back) 'alias_for' argument spec with
         'cmdline_aliases'. I first used 'alias_for' so I can list each alias as
         a key in 'args' property. The goal is so I can get all argument names
         (+ aliases) simply by doing a keys() on 'args' hash. And the goal of
         that is to add a 'complete_arg_name' Riap action which is more
         lightweight than a full 'meta' just to get argument names. Turns out
         that I don't need 'alias_for' just to support 'complete_arg_name', and
         also turns out that completing argument name needs more than just all
         argument names + aliases. You also need 'pos' information. So a full
         'meta' is currently used. The reason I now revert to 'cmdline_aliases'
         style is because I don't want command-line aliases to become
         full/first-class argument.


1.1.7    2012-02-23

         + package: Add property 'pkg_version'.


1.1.6    2012-02-21

         + function: Add 'alias_for' argument specification.


1.1.5    2012-02-10

         No spec changes.

         + Add Rinci::Schema.


1.1.4    2012-02-01

         + Declare that 1.1 series might introduce minor backward compatibility
           problems between revisions.

         + Rename 'arg_pass_style' and 'result_envelope' to the old
           (Sub::Spec-era) 'args_as' and 'result_naked'. New names are not
           better.

         + Code entity URI now moved to Riap specification as the 'riap' URI
           scheme.

         + Some minor revisions.


1.1.3    2012-01-27

         + Change syntax of code entity URI, from 'Pkg.SubPkg.func' to
           'pm:/Pkg/SubPkg/func' (or 'py:', 'php:', and so on).

         + Some minor revisions like wording and paragraph reorganization.


1.1.2    2012-01-19

         + Add 'default_lang' property. Add guidelines on what to put in 'summary'
           and 'description'.

         + variable: Add 'schema' property.


1.1.1    2012-01-18

         No spec changes. Update module names (Rinci::HTTP -> Riap, Rias ->
         Perinci). Add documents Rinci::Upgrading and Rinci::Tutorial (stub).


1.1.0    2012-01-15

         First release. Spun off from Sub::Spec.

         Incompatible differences with Sub::Spec 1.0.x:

         + Terminology: 'spec clause' becomes 'property'. This is to avoid
           confusion with 'clause' as used in Sah schema language.

         + Default text markup format changed from Org to Markdown, but a new
           properties 'text_markup' is added to allow specifying 'org' or
           'markdown' (or 'none').

         + 'v' clause is now required to declare Rinci spec version (with value
           1.1, if unspecified then assumed spec is old Sub::Spec 1.0).

         + function: Incompatible changes to 'args' and 'result' properties;
           'args' is now a hash of arg names and arg *specs* (instead of arg
           schemas). 'result' is now a hash of data, instead of schema. The
           purpose is to keep Sah schema clean from custom, non-schema-related
           schema clauses, like arg_* (thus requiring custom Sah extensions,
           etc). Mixing them into schemas was not the right way.

         + function: property 'type' removed, replaced with 'is_func',
           'is_meth', 'is_static_meth'. This is because a single
           subroutine/function can act as all.

         + function: Other properties which are also removed/replaced: 'timeout'
           (non-core), 'retry' (non-core), 'scope' (can be replaced by using
           tags), 'result_naked' (replaced by 'result_envelope'), 'args_as'
           (replaced by 'arg_pass_style').

         + function: property 'deps': terminology change ('dep clause' -> 'dep
           type'), rename dep types: 'sub' -> 'func', 'mod' -> 'perl_module'.

         Additions:

         + Keys beginning with "_" are allowed and ignored. This can be used to
           store extra information.

         + New properties: 'tags', 'links', 'examples'.