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