Revision history for Rinci
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'.