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