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