Switch from JSON to JSON::MaybeXS to get a better choice of JSON parsers.
[catagits/Catalyst-Action-REST.git] / Changes
1 Revision history for {{$dist->name}}
2
3 {{$NEXT}}
4  * Switch from JSON to JSON::MaybeXS to get a better choice of JSON parsers.
5
6 1.15      2014-05-07 09:02:44-05:00 CST6CDT
7
8  * Added new status_see_other method for returning a 303 redirect.
9  * Added new status_moved method for returning a 301 redirect. (Matthew Keller)
10
11 1.14      2013-12-27 15:32:19 America/Chicago
12
13  * Stop prompting for features at install time
14
15 1.13  2013-11-08 09:40:00 EST
16
17  * Fix tests to skip if YAML::Syck is not installed (Arthur Axel fREW Schmidt)
18
19 1.12  2013-09-03 13:00:00 EST
20
21  WARNING BACK COMPAT BREAKAGE FOLLOWS
22
23  Removed The YAML and HTML parser from the distro.  You 
24  should install these if you actually use them.  They are listed as
25  optional dependencies going forward.
26
27  This is possibly a breaking change, but necessary for security and
28  considered acceptable since those formats have not generally
29  become preferred for web services.
30
31  In addition, the default de/serialization mappings for HTML and YAML
32  have been removed.  You can add that back by adding the following to
33  you Configuration for the subclass of Catalyst::Controller::REST -
34
35     package Foo::Controller::Bar;
36
37     use Moose;
38     use namespace::autoclean;
39
40     BEGIN { extends 'Catalyst::Controller::REST' }
41     __PACKAGE__->config(
42       'map' => {
43         'text/html'          => 'YAML::HTML',
44         'text/x-yaml'        => 'YAML',
45       },
46     );
47
48  You should do this if you are using these de/serialization formats.
49
50 1.11  2013-06-16 15:23:03 BST
51
52  * Fix infinite recursion in tests under Catalyst 5.90040
53
54 1.10  2013-04-22 14:36:53 BST
55
56  * Use YAML rather than JSON in basic tests
57
58 1.09  2013-04-19 13:34:38 BST
59
60  * Don't load Data::Serializer unnecessarily in tests
61
62 1.08  2013-04-16 08:33:00 BST
63
64  * Factor Data::Serializable into it's own dist to stop breakages.
65
66      If you use any of:
67
68      * Data::Dumper
69      * Data::Denter
70      * Data::Taxi
71      * Config::General
72      * PHP::Serialization
73
74      You'll need to install Catalyst-Action-Serialize-Data-Serializer and add the
75      appropriate lines to your controller config.  Said lines may be:
76
77          'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ],
78          'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ],
79          'text/x-data-taxi'   => [ 'Data::Serializer', 'Data::Taxi'   ],
80          'text/x-config-general'    => [ 'Data::Serializer', 'Config::General' ],
81          'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ],
82
83 1.07  2013-04-11 20:20:00 BST
84
85  * Don't serialize if a view is explicitly set.
86
87   - If the controller sets the view in $c->stash->{current_view} or
88     $c->stash->{current_view_instance}, then it is explicitly requesting a
89     certain kind of serialization and C::A::Serialize shouldn't override
90     that.
91
92  * Remove Storable and FreezeThaw from the list
93    of serialization methods offered by default, and
94    from the docs - they're totally unsafe :/
95
96 1.06  2012-12-11 22:04:00 UTC
97
98  * Sort list of allowed methods. RT#81825
99
100 1.05  2012-07-02 20:13:00 BST
101
102  * Bugfix get_allowed_methods list:
103     - include HEAD
104     - remove "not_implemented"
105
106 1.04  2012-06-30 10:25:00 BST
107
108  * Bugfix to _dispatch_rest_method
109
110 1.03  2012-06-28 00:40:00 BST
111
112  * Expose _get_allowed_methods to the API (wreis)
113
114  * Fix default OPTIONS handler: As the ->body is defined, then serialization
115    won't happen and we don't get wrong responses. (wreis)
116
117  * Add default HEAD handler: auto dispatches to _GET method if it exists (wreis)
118
119 1.02  2012-06-05 22:23:00 BST
120
121  * Fix forwarded REST methods, e.g. foo_GET to be more
122    correctly displayed as a forward in the stats info.
123
124  * Make public response building methods for errors
125    _unsupported_media_type and _serialize_bad_request which
126    can be extended from an action-role to return custom
127    error response.
128
129 1.01  2012-05-29 20:19:00 BST
130
131  * Add Catalyst::Action::Deserialize::JSON::XS
132
133  * Fix JSON::XS useage to depend on JSON.pm v2.0, and rely on the
134    fact that can be backed by XS code, by explicitly setting
135    $ENV{'PERL_JSON_BACKEND'} = 2
136
137 1.00  2012-04-13 09:31:00 BST
138
139  * Repack without auto_include to stop Module::Install inlining
140    Test::More without Test::Builder. RT#76524
141
142 0.99  2012-02-28 09:09:00 UTC
143
144  * Repack with new Module::Install to stop depending on an unnecessary
145    ExtUtils::MakeMaker version.
146
147 0.98  2012-02-21 11:40:00 UTC
148
149  * More fixes as per last release.
150
151 0.97  2012-02-21 09:58:00 UTC
152
153  * Fix test with latest Catalyst version which passes _log into
154    requests.
155
156 0.96  2012-01-20 11:22:00 UTC
157
158  * Added fix for RT 63537 (from Gerv) and tests to check it.
159
160 0.95  2012-01-04 19:34:00 UTC
161
162  * Fix regex for JSONP parameter name to be able to include the . character
163    in Catalyst::Action::Serialize::JSONP. RT#73741
164
165  * Add optional location parameter to status_accepted handler. RT#73691 (ghenry)
166
167 0.94  2011-12-09 08:35:00 UTC
168
169  * Add 403 Forbidden and 302 Not Found status methods to
170    Catalyst::Controller::REST (Caleb Cushing)
171
172 0.93  2011-10-12 11:37:00 America/Chicago
173
174  * Add a "Callback" serializer/deserializer to allow for more customization in
175    how the REST data is parsed/generated (bphillips)
176
177 0.92  2011-10-01 11:04:00 BST
178
179  * Add a Catalyst::Action::DeserializeMultiPart, allowing one part of a multipart
180    request to be deserialized as the REST data (allowing other parts to be used for
181    file uploads, for example) (bphillips)
182
183 0.91  2011-08-04 14:37:21 Europe/Berlin
184
185  * For the deserialization action class, make the HTTP methods it operates on
186    configurable on a per-action level (plu, rafl).
187
188 0.90  2011-02-25 13:56:00 UTC
189
190  * Remove test which is no longer applicable and fails in the latest Catalyst
191    release.
192
193 0.89  2011-01-24 21:57:42 UTC
194
195  * All classes are now made immutable. (Dave Rolsky)
196
197  * Added a Catalyst::Action::REST::ForBrowsers class. This will try to dispatch
198    GET requests to a foo_GET_html method before trying foo_GET. (Dave Rolsky)
199
200 0.88  2011-01-11 23:07:00 UTC
201
202  * Fix documentation for overriding Serialize and Deserialize actions
203    in Catalyst::Controller::REST.
204
205  * Avoid warning with empty response bodies and new Catalyst version
206    (>= 5.80030)
207
208  * Returning a body of '' is now possible - Catalyst::Action::Serialize
209    acts like Catalyst::Action::RenderView (>= 0.16) by using the has_body
210    predicate in Catalyst::Response (>= 5.80030)
211
212 0.87  2010-11-03 19:46:00 UTC
213
214  * Fix Request class role when used with new Moose and other request
215    class roles.
216
217 0.86  2010-09-01 23:14:00 BST
218
219  * Add rest_serializer_json_options config key useable to set options
220    like relaxed => 1 to be passed to the JSON serializer (Ton Voon)
221
222  * Make Data::Dumper unserializer safer by using a Safe compartment (Ton Voon)
223
224 0.85  2010-05-13 10:09:19 Europe/Berlin
225
226  * Make Catalyst::Action::Serialize::View return directly rather than serializing
227    a response for 3XX status codes. This stops back-compat breakage from the
228    previous change (in 0.84), whilst also allowing actual data serializers
229    to still handle 3XX.
230
231  * Fix docs in Catalyst::TraitFor::Request::REST::ForBrowsers. (RT#54983)
232
233 0.84  2010-05-06 09:27:56 BST
234
235  * Revert always using a trait rather than Catalyst::Request::REST to improve
236    debug messages.
237
238  * Add a status_multiple_choices helper method to the Controller base class.
239
240  * Allow 3XX responses to be serialized.
241
242 0.83  2010-02-08 22:17:12 UTC
243
244  * Make it possible to deserialize a request with a DELETE method. This probably
245    breaks 'strict' REST guidelines, but is useful for being able to delete multiple
246    resources from a single call by providing a batch delete method.
247
248  * Remove JSONP from the list of default serializers (RT#54336)
249    Fix MANIFEST (RT#54408)
250
251 0.82  2010-02-04 22:31:57 UTC
252
253  * Integrated Catalyst::Request::REST::ForBrowsers as
254    Catalyst::TraitFor::Request::ForBrowsers. (Dave Rolsky)
255
256  * Clarified docs so that they encourage the use of the request traits, rather
257    than using Catalyst::Request::REST. (Dave Rolsky)
258
259  * When Catalyst::Action::REST or Controller::REST automatically add the trait,
260    your request class will no longer end up getting set to
261    Catalyst::Request::REST. Instead, creates an anon class with the appropriate
262    role. (Dave Rolsky)
263
264  * Shut up log output from the tests. (Dave Rolsky)
265
266  * Added a $VERSION to every module, mostly to make sure that when people
267    install Catalyst::Request::REST::ForBrowsers, they get the version in this
268    distro. (Dave Rolsky)
269
270  * Change Catalyst::Action::Serialize, Catalyst::Action::Deserialize and
271    Catalyst::Action::SerializeBase to be more Moose like.
272
273  * Fix JSON and JSON::XS to encode_blessed. (fREW)
274  * Fix Catalyst::Action::Serialize to use objects instead of classes. (fREW)
275  * Fix doc nits. (RT#53780)
276
277 0.81  2010-01-14 20:56:00 UTC
278
279  * Add a JSONP serialization type.
280
281 0.80  2009-12-19 14:54:00 UTC
282
283  * Convert all classes to Moose
284
285  * Change Catalyst::Request::REST to be a mostly empty class, with
286    all the functionality in Catalyst::TraitFor::Request::REST
287
288  * Simplify _get_allowed_methods method (aristotle)
289
290  * Rework serializer return so that serializers throw an exception in
291    the case of issues serializing the data (hobbs).
292
293 0.79  2009-12-11 01:08:00 UTC
294
295  * Cope with invalid (missing required q parameter) header like:
296    application/json; charset="utf-8"
297
298  * Fix documentation to not mention deprecated things and generally be
299    in better style.
300
301  * Make author information consistant and only in one module.
302
303 0.78  2009-09-28 15:01:03 BST
304
305  * Require Moose for the tests (RT#50066).
306
307 0.77  2009-08-27 02:21:09 BST
308
309  * Allow dispatching to Catalyst Actions, for use with ActionClasses
310    etc - fREW
311
312  * Fix test if CATALYST_DEBUG environment variable is set
313
314 0.76  2009-08-21 21:20:52 BST
315
316  * Added two new status response helpers (202 no content and 410 gone),
317    and tests - Franck Cuny
318
319 0.75  2009-08-17 14:07:41 BST
320
321  * Fix optional test failures in catalyst-action-serialize-accept.t
322  * Added a serializer for JSON::XS
323  * Made test independent of YAML::Syck bugs (dandv)
324
325 0.74  2009-07-22 23:49:16 BST (t0m)
326
327  * Switch from NEXT to MRO::Compat (agladdish).
328
329  * Add display of additional REST actions in the stats, and also fix a warning
330    in Catalyst 5.80 when you forward to another action from inside an
331    action_FOO method (as it was confusing the stats).
332
333  * POD fixes
334  * Catalyst::Action::REST no longer @ISA Catalyst or Catalyst::Controller.
335  * Change constructor to call next::method instead of SUPER::
336  * Change method used to find the application class to be more correct
337
338 0.73  2009-06-27 20:20:09 America/New_York (hdp)
339
340  * Packaging fixes
341
342 0.72  2009-06-25 14:52:29 America/New_York (hdp)
343
344  * Refresh Module::Install
345
346 0.71  2009-03-28 09:16:09 America/Los_Angeles (hdp)
347
348  * Fix RT#44641, missing documented 'end' action
349
350 0.70  2009-03-27 23:21:17 America/Los_Angeles (hdp)
351
352  * Tests that use JSON were either not checking for the version or checking in a
353  * way that was a syntax error.
354
355 0.69  2009-03-26 14:16:03 America/Los_Angeles (hdp)
356
357  * Fix RT#32342, deprecated config loses default map (hdp)
358  * Fix broken insertion of Catalyst::Request::REST for Action::REST (jshirley)
359
360 0.68  2009-03-25 22:33:38 America/Los_Angeles (hdp)
361
362  * Remove prompt for ancient and deprecated Data::Denter from Makefile.PL
363  * Remove Data::Dump, which was entirely unused
364  * Stop tests from dying with Catalyst 5.80
365
366 0.67  2009-03-25 21:59:59 America/Los_Angeles (hdp)
367
368  * (no changes from 0.67_01)
369
370 0.67_01  2009-03-25 09:36:00 America/Los_Angeles (hdp)
371
372  * Fix RT#43840, improper app-level config handling
373  * Fix RT#42859, 'wrong' Catalyst dependency
374  * Fix RT#42025, stepping on custom request classes
375
376 0.65  2008-08-20 10:42:00 America/Los_Angeles (jshirley)
377
378  * Fully revamped tests to work without any JSON support
379  * Final removal of JSON::Syck
380  * Special thanks to jgoulah for helping test this release
381
382 0.64  2008-08-13 08:55:00 America/Los_Angeles (jshirley)
383
384  * New dist to fix issue with Module::Install
385
386 0.63  2008-07-09 11:16:00 America/Los_Angeles (jshirley)
387
388  * Changing from JSON::Syck to JSON/JSON::XS
389  * Refactored tests to be more applicable to current state of affairs
390
391 0.62  2008-07-02 07:53:00 America/Los_Angeles (jshirley)
392
393  * Reshipping with current Module::Install included due to error reports
394    about failed installs
395
396 0.61  2008-06-30 12:28:00 America/Los_Angeles (jshirley)
397
398  * Support official application/json and carp about text/x-json
399
400  * Accepted patch from Luke Saunders for processing all accepted content types
401
402 0.60  2008-01-03 17:23:58 America/Los_Angeles (adam)
403
404  * Updated my contact information.
405
406  * Fixed RT#30498 - REST controller references Catalyst without
407    loading it first.
408
409  * Fixed RT#32042 - Import of Params::Validate :all plays badly
410    with subclasses that have their own validate()
411
412  * Fixed RT#30456 - Debug messages print even with debugging disabled
413
414  * Fixed an issue where YAML::Syck versions 0.92 require $c->request->body to
415    be stringified
416
417  * Updated the configuration specifiers to operate more in line with the way
418    Catalyst expects.  Most notably component based configuration through
419    "Controller::RestClass" now works.  "serialize" at the top level simply
420    is suggested defaults that all REST classes inherit.
421
422  * Fixed 'default' serializer to set a valid Content-Type: header.  Fixes
423    RT ticket 27949.  Note that behavior has changed -- the default
424    serializer must now be specified as a content-type, not as a plugin
425    name. (dmo@roaringpenguin.com)
426
427 0.41  2007-05-24 14:01:06 America/Los_Angeles (adam)
428
429  * Moved a bogus $self->class to $c->component($self->class)
430
431 0.40  2007-03-09 14:13:29 America/Los_Angeles (adam)
432
433  * Refactored the Content-Type negotiation to live in Catalyst::Request::REST.  (drolsky)
434  * Added some useful debugging. (drolsky)
435  * Added a View serializer/deserializer, which simply calls the correct
436  * Catalyst view.  ('text/html' => [ 'View', 'TT' ]) (claco, adam)
437
438 0.31  2006-12-06 00:45:02 America/Los_Angeles (adam)
439
440  * Fixed a bug where we would report a blank content-type negotiation.
441  * Added Data::Dump as a dependency.
442
443  * Made the YAML::HTML view automatically append content-type=text/html on
444    the resulting URLs.
445
446 0.30  2006-12-03 12:24:16 America/Los_Angeles (adam)
447
448  * Updated the Makefile to support optional installation of the different
449    Serialization formats.
450
451  * Renamed some of the test cases, since the execution order doesn't
452    matter.
453
454  * Fixed things so that not having a Serialization module returns 415.
455  * Fixed things so that failure to Deserialize sends the proper status.
456  * Refactored the Plugin loading to Catalyst::Action::SerializeBase.
457  * Updated the Documentation.
458
459  * Added a whole raft of serializers. (JSON, all the Data::Serializer
460    supported ones, and XML::Simple)
461
462  * Added test cases.
463
464  * Refactored the Catalyst::Action::REST dispatch, so that the default
465    method is called before any _METHOD handlers.  In addition, moved
466    the 405 Not Implemented handler to be foo_not_implemented, instead
467    of the default sub.  (daisuke++ pointed out the inconsistency and
468    provided a patch, and I added the foo_not_implemented support)
469
470  * Added in automated OPTIONS handler, which constructs the allow
471    header for you, just like the 405 handler.  Can be overridden
472    with a normal _METHOD sub.
473
474  * Refactored Test::Rest, so that it uses closures to create the
475    very similar $test->method() subs.
476
477  * Added tests for Catalyst::Action::REST.
478
479 0.2  2006-11-30 17:14:51 America/Los_Angeles (adam)
480
481  * Added documentation patch from Daisuke Maki (daisuke@endeworks.jp)
482  * Added dependency patch from Daisuke Maki (daisuke@endeworks.jp)
483
484 0.1  2006-11-19 16:24:20 America/Los_Angeles (adam)
485
486  * Added status_accepted (Code 202)
487  * Added a first pass at documentation.
488  * Added in Test Suite
489  * Created Catalyst::Action::Serialize and Catalyst::Action::Deserialize
490  * Added Data::Serializer actions
491  * Added status_created helper method
492  * Added more status_ helpers
493
494  * Converted error helpers to return an object instead of plain-text.  It's
495    a more consistent model than a text/plain error message.
496
497  * Added logging to 4xx status handlers
498