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