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