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