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