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