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