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