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