Revision history for Riap
1.2.4 2015-09-04 (PERLANCAR)
- No spec changes.
- [dist] Move spec prereqs from RuntimeRequires to
DevelopRecommends to reduce deps but still allow indicating spec
requirement.
1.2.3 2015-03-05 (PERLANCAR)
[REMOVED FEATURES]
- Remove support for "J" header in Riap::Simple. In order to further
simplify the Riap::Simple protocol, client can now only send "j"
header. The server now responds also using "j" header. All request and
response are now single lines.
1.2.2 2014-10-30 (PERLANCAR)
- Support Rinci's partial argument/result as well as input/output stream
(in Riap as well as Riap::HTTP, but not in Riap::Simple).
1.2.1 2014-10-23 (PERLANCAR)
- No spec changes.
- Typo: unimplemented status is 501, not 502.
1.2.0 2014-10-23 (PERLANCAR)
- Bump version to 1.2. This version addresses sending/receiving binary
data over JSON by base64-encoding.
- Client can send base64-encoded binary data in arguments using the
C<ARGNAME:base64> key in 'args' Riap request key.
- Server can return base64-encoded binary data in result by setting
result metadata property 'riap.result_encoding' to 'base64'.
- Server now MUST return result metadata with at least 'riap.v' with
the value of 1.2. The 'info' action is now not required to send Riap
protocol version ('v').
- Client MUST check and strip all 'riap.*' keys in result metadata.
Client must fail when it encounters an unknown 'riap.*' key or a
known key with an invalid/unknown value. This is so that future
incompatibilities can be handled/detected.
1.1.24 2014-08-18 (SHARYANTO)
- No spec changes.
- Mention JSON RPC.
1.1.23 2014-06-18 (SHARYANTO)
[ENHANCEMENTS]
- Introduce new action 'complete_arg_elem'.
1.1.22 2013-12-21 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Remove 'marklog' request key, merge it into 'loglevel'. This is
because, if separate chunks are not marked, result is mixed with log
message(s).
1.1.21 2013-12-21 (SHARYANTO)
- Introduce 'X-Riap-V' (require HTTP response header) to let server
declare Riap::HTTP protocol version.
- Allow server to decline 'loglevel' and 'marklog' request, by
requiring client to read the value of 'X-Riap-Logging' HTTP response
header. The absence of this HTTP header means server does not
support it.
1.1.20 2013-11-27 (SHARYANTO)
- list action: should return relative URIs to be more tree-like.
1.1.19 2012-08-29 (SHARYANTO)
- call action: Specify 'dry_run' and 'confirm'.
- call action: Advise not to pass special arguments.
- Riap: Mention tx_id and link to Riap::Transaction.
1.1.18 2012-08-17 (SHARYANTO) - "Selamat ulang tahun ke-67, negaraku. Merdeka!"
- Move most details of transaction behavior to Rinci::Transaction
1.1.24, to avoid duplication.
1.1.17 2012-08-01 (SHARYANTO)
- Allow riap+pipe scheme to specify program arguments.
1.1.16 2012-07-31 (SHARYANTO)
- Rename Riap::TCP to Riap::Simple.
- Introduce schemes: riap+unix (previously mixed together with
riap+tcp), riap+pipe.
1.1.15 2012-07-19 (SHARYANTO)
- Riap::TCP: Allow single-line request using j<JSON><CRLF>
1.1.14 2012-06-22 (SHARYANTO)
- Some small changes, mainly transaction status labels (final statuses
are in uppercase: C, R, U, X; while transient statuses are in
lowercase: i, a, u, d, e).
- Now requires Rinci 1.1.19.
1.1.13 2012-05-31 (SHARYANTO)
- Some revision and incompatible changes to Riap::Transaction
specification: rename requests (begin -> begin_tx, commit ->
commit_tx, and so on), tweak some status codes, mention status E
(prepared).
- Now requires Rinci 1.1.17.
1.1.12 2012-05-03 (SHARYANTO)
- (NEW) Riap::Transaction, specification for doing transaction and undo
over Riap.
1.1.11 2012-04-03 (SHARYANTO)
- (REMOVED) Remove mention of 'riap+http' and 'riap+https' as they are
useless. Use 'http' and 'https'.
1.1.10 2012-04-03 (SHARYANTO)
- (Change, or rather define, as it has not been specified formally)
'pm' URI scheme to (or, as) 'pl'.
1.1.9 2012-03-08 (SHARYANTO)
- Add new action for variable: get
1.1.8 2012-03-01 (SHARYANTO)
- Add new action for package: child_metas
- HTTP: Add new action: srvinfo
- HTTP: The valid values of 'fmt' is now up to the implementation
(except that 'json' still needs to be supported).
1.1.7 2012-02-22 (SHARYANTO)
- (REMOVE, INCOMPATIBLE) Remove action 'complete_arg_name'. This action
can be implemented in the client side by retrieving function metadata
using 'meta' action (this requires larger bandwidth, but clients can
do caching). It is better to implement this on the client side due to
specific requirements like --foo vs -foo, --boolopt as well as
--noboolopt (or --no-boolopt), and so on.
1.1.6 2012-02-22 (SHARYANTO)
- Add new action 'actions'. To list available actions on a code entity,
use this action now instead of 'info'.
- (INCOMPATIBLE) Rename 'complete' action to 'complete_arg_val'.
- Add new action 'complete_arg_name'. UPDATE IN 1.1.7: removed.
1.1.5 2012-02-15 (SHARYANTO)
- Some fixes (build/deps, examples, 'info' action should contain
'acts') and minor updates.
1.1.4 2012-02-01 (SHARYANTO)
- Declare that in 1.1 series, minor backward compatibility problems
between revisions are to be expected.
- Make 'v' request key optional, defaults to 1.1.
- Rename 'ofmt' request key to 'fmt'.
- Change required result keys of 'info' action.
1.1.3 2012-01-27 (SHARYANTO)
- Specify riap URI scheme (moved from Rinci).
- Add Riap::TCP. UPDATE in 1.1.16: renamed to Riap::Simple.
1.1.2 2012-01-17 (SHARYANTO)
- Rename distribution from Rinci-HTTP as Riap.
1.1.1 2012-01-15 (SHARYANTO)
- No spec changes. Fix misplaced section in POD.
1.1.0 2012-01-15 (SHARYANTO)
- First release. Renamed from Sub::Spec::HTTP. Now follow the Rinci
specification instead of Sub::Spec. Generalized to perform actions on
any code entities instead of just functions. Change terminologies.