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