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