1 Don't serialize if a view is explicitly set.
3 If the controller sets the view in $c->stash->{current_view} or
4 $c->stash->{current_view_instance}, then it is explicitly requesting a
5 certain kind of serialization and C::A::Serialize shouldn't override
8 Remove Storable and FreezeThaw from the list
9 of serialization methods offered by default, and
10 from the docs - they're totally unsafe :/
12 Tue 11 Dec 2012 22:04:00 GMT - Release 1.06
13 Sort list of allowed methods. RT#81825
15 Mon 2 Jul 2012 20:13:00 BST - Release 1.05
16 Bugfix get_allowed_methods list:
18 * remove "not_implemented"
20 Sat 30 Jun 2012 10:25:00 BST - Release 1.04
21 Bugfix to _dispatch_rest_method
23 Wed 28 Jun 2012 00:40:00 BST - Release 1.03
24 Expose _get_allowed_methods to the API (wreis)
26 Fix default OPTIONS handler: As the ->body is defined, then serialization
27 won't happen and we don't get wrong responses. (wreis)
29 Add default HEAD handler: auto dispatches to _GET method if it exists (wreis)
31 Tue 5 Jun 2012 22:23:00 BST - Release 1.02
32 Fix forwarded REST methods, e.g. foo_GET to be more
33 correctly displayed as a forward in the stats info.
35 Make public response building methods for errors
36 _unsupported_media_type and _serialize_bad_request which
37 can be extended from an action-role to return custom
40 Tue 29 May 2012 20:19:00 BST - Release 1.01
41 Add Catalyst::Action::Deserialize::JSON::XS
43 Fix JSON::XS useage to depend on JSON.pm v2.0, and rely on the
44 fact that can be backed by XS code, by explicitly setting
45 $ENV{'PERL_JSON_BACKEND'} = 2
47 Fri 13 Apr 2012 09:31:00 BST - Release 1.00
48 Repack without auto_include to stop Module::Install inlining
49 Test::More without Test::Builder. RT#76524
51 Tue 28 Feb 2012 09:09:00 GMT - Release 0.99
52 Repack with new Module::Install to stop depending on an unnecessary
53 ExtUtils::MakeMaker version.
55 Tue 21 Feb 2012 11:40:00 GMT - Release 0.98
56 More fixes as per last release.
58 Tue 21 Feb 2012 09:58:00 GMT - Release 0.97
59 Fix test with latest Catalyst version which passes _log into
62 Mon 20 Jan 2012 11:22:00 GMT - Release 0.96
63 Added fix for RT 63537 (from Gerv) and tests to check it.
65 Wed 04 Jan 2012 19:34:00 GMT - Release 0.95
66 Fix regex for JSONP parameter name to be able to include the . character
67 in Catalyst::Action::Serialize::JSONP. RT#73741
69 Add optional location parameter to status_accepted handler. RT#73691 (ghenry)
71 Fri 09 Dec 2011 08:35:00 GMT - Release 0.94
72 Add 403 Forbidden and 302 Not Found status methods to
73 Catalyst::Controller::REST (Caleb Cushing)
75 Wed 12 Oct 2011 11:37:00 CDT - Release 0.93
76 Add a "Callback" serializer/deserializer to allow for more customization in
77 how the REST data is parsed/generated (bphillips)
79 Sat 01 Oct 2011 11:04:00 BST - Release 0.92
80 Add a Catalyst::Action::DeserializeMultiPart, allowing one part of a multipart
81 request to be deserialized as the REST data (allowing other parts to be used for
82 file uploads, for example) (bphillips)
84 Thu 04 Aug 2011 14:37:21 CEST - Release 0.91
85 For the deserialization action class, make the HTTP methods it operates on
86 configurable on a per-action level (plu, rafl).
88 Fri 25 Feb 2011 13:56:00 GMT - Release 0.90
89 Remove test which is no longer applicable and fails in the latest Catalyst
92 Mon 24 Jan 2011 21:57:42 GMT - Release 0.89
93 All classes are now made immutable. (Dave Rolsky)
95 Added a Catalyst::Action::REST::ForBrowsers class. This will try to dispatch
96 GET requests to a foo_GET_html method before trying foo_GET. (Dave Rolsky)
98 Tue 11 Jan 2011 23:07:00 GMT - Release 0.88
99 Fix documentation for overriding Serialize and Deserialize actions
100 in Catalyst::Controller::REST.
102 Avoid warning with empty response bodies and new Catalyst version
105 Returning a body of '' is now possible - Catalyst::Action::Serialize
106 acts like Catalyst::Action::RenderView (>= 0.16) by using the has_body
107 predicate in Catalyst::Response (>= 5.80030)
109 Wed 3 Nov 2010 19:46:00 GMT - Release 0.87
111 Fix Request class role when used with new Moose and other request
114 Wed 1 Sept 2010 23:14:00 BST - Release 0.86
116 Add rest_serializer_json_options config key useable to set options
117 like relaxed => 1 to be passed to the JSON serializer (Ton Voon)
119 Make Data::Dumper unserializer safer by using a Safe compartment (Ton Voon)
121 Thu 13 May 2010 10:09:19 CEST - Release 0.85
123 Make Catalyst::Action::Serialize::View return directly rather than serializing
124 a response for 3XX status codes. This stops back-compat breakage from the
125 previous change (in 0.84), whilst also allowing actual data serializers
128 Fix docs in Catalyst::TraitFor::Request::REST::ForBrowsers. (RT#54983)
130 Thu 6 May 2010 09:27:56 BST - Release 0.84
131 Revert always using a trait rather than Catalyst::Request::REST to improve
134 Add a status_multiple_choices helper method to the Controller base class.
136 Allow 3XX responses to be serialized.
138 Mon 8 Feb 2010 22:17:12 GMT - Release 0.83
139 Make it possible to deserialize a request with a DELETE method. This probably
140 breaks 'strict' REST guidelines, but is useful for being able to delete multiple
141 resources from a single call by providing a batch delete method.
143 Remove JSONP from the list of default serializers (RT#54336)
145 Fix MANIFEST (RT#54408)
147 Thu 4 Feb 2010 22:31:57 GMT - Release 0.82
149 Integrated Catalyst::Request::REST::ForBrowsers as
150 Catalyst::TraitFor::Request::ForBrowsers. (Dave Rolsky)
152 Clarified docs so that they encourage the use of the request traits, rather
153 than using Catalyst::Request::REST. (Dave Rolsky)
155 When Catalyst::Action::REST or Controller::REST automatically add the trait,
156 your request class will no longer end up getting set to
157 Catalyst::Request::REST. Instead, creates an anon class with the appropriate
160 Shut up log output from the tests. (Dave Rolsky)
162 Added a $VERSION to every module, mostly to make sure that when people
163 install Catalyst::Request::REST::ForBrowsers, they get the version in this
164 distro. (Dave Rolsky)
166 Change Catalyst::Action::Serialize, Catalyst::Action::Deserialize and
167 Catalyst::Action::SerializeBase to be more Moose like.
169 Fix JSON and JSON::XS to encode_blessed. (fREW)
171 Fix Catalyst::Action::Serialize to use objects instead of classes. (fREW)
173 Fix doc nits. (RT#53780)
175 Thu 14 Jan 20:56:00 GMT 2010 - Release 0.81
177 Add a JSONP serialization type.
179 Sat 19 Dec 14:54:00 GMT 2009 - Release 0.80
181 Convert all classes to Moose
183 Change Catalyst::Request::REST to be a mostly empty class, with
184 all the functionality in Catalyst::TraitFor::Request::REST
186 Simplify _get_allowed_methods method (aristotle)
188 Rework serializer return so that serializers throw an exception in
189 the case of issues serializing the data (hobbs).
191 Fri 11 Dec 01:08:00 GMT 2009 - Release 0.79
193 Cope with invalid (missing required q parameter) header like:
194 application/json; charset="utf-8"
196 Fix documentation to not mention deprecated things and generally be
199 Make author information consistant and only in one module.
201 Mon 28 Sep 15:01:03 BST 2009 - Release 0.78
203 Require Moose for the tests (RT#50066).
205 Thu 27 Aug 02:21:09 BST 2009 - Release 0.77
207 Allow dispatching to Catalyst Actions, for use with ActionClasses
210 Fix test if CATALYST_DEBUG environment variable is set
212 Fri Aug 21 21:20:52 BST 2009 - Release 0.76
214 Added two new status response helpers (202 no content and 410 gone),
215 and tests - Franck Cuny
217 Mon Aug 17 14:07:41 BST 2009 - Release 0.75
219 Fix optional test failures in catalyst-action-serialize-accept.t
221 Added a serializer for JSON::XS
223 Made test independent of YAML::Syck bugs (dandv)
225 Wed Jul 22 23:49:16 BST 2009 (t0m) - Release 0.74
227 Switch from NEXT to MRO::Compat (agladdish).
229 Add display of additional REST actions in the stats, and also fix a warning
230 in Catalyst 5.80 when you forward to another action from inside an
231 action_FOO method (as it was confusing the stats).
235 Catalyst::Action::REST no longer @ISA Catalyst or Catalyst::Controller.
237 Change constructor to call next::method instead of SUPER::
239 Change method used to find the application class to be more correct
241 Sat Jun 27 20:20:09 EDT 2009 (hdp) - Release 0.73
244 Thu Jun 25 14:52:29 EDT 2009 (hdp) - Release 0.72
245 Refresh Module::Install
247 Sat Mar 28 09:16:09 PDT 2009 (hdp) - Release 0.71
248 Fix RT#44641, missing documented 'end' action
250 Fri Mar 27 23:21:17 PDT 2009 (hdp) - Release 0.70
251 Tests that use JSON were either not checking for the version or checking in a
252 way that was a syntax error.
254 Thu Mar 26 14:16:03 PDT 2009 (hdp) - Release 0.69
255 Fix RT#32342, deprecated config loses default map (hdp)
256 Fix broken insertion of Catalyst::Request::REST for Action::REST (jshirley)
258 Wed Mar 25 22:33:38 PDT 2009 (hdp) - Release 0.68
259 Remove prompt for ancient and deprecated Data::Denter from Makefile.PL
260 Remove Data::Dump, which was entirely unused
261 Stop tests from dying with Catalyst 5.80
263 Wed Mar 25 21:59:59 PDT 2009 (hdp) - Release 0.67
264 (no changes from 0.67_01)
266 Wed Mar 25 09:36:00 PDT 2009 (hdp) - Release 0.67_01
267 Fix RT#43840, improper app-level config handling
268 Fix RT#42859, 'wrong' Catalyst dependency
269 Fix RT#42025, stepping on custom request classes
271 Wed Aug 20 10:42:00 PST 2008 (jshirley) - Release 0.65
272 Fully revamped tests to work without any JSON support
273 Final removal of JSON::Syck
274 Special thanks to jgoulah for helping test this release
276 Wed Aug 13 08:55:00 PST 2008 (jshirley) - Release 0.64
277 New dist to fix issue with Module::Install
279 Wed Jul 09 11:16:00 PST 2008 (jshirley) - Release 0.63
280 Changing from JSON::Syck to JSON/JSON::XS
281 Refactored tests to be more applicable to current state of affairs
283 Wed Jul 02 07:53:00 PST 2008 (jshirley) - Release 0.62
284 Reshipping with current Module::Install included due to error reports
285 about failed installs
288 Mon Jun 30 12:28:00 PST 2008 (jshirley) - Release 0.61
289 Support official application/json and carp about text/x-json
290 Accepted patch from Luke Saunders for processing all accepted content types
292 Thu Jan 3 17:23:58 PST 2008 (adam) - Release 0.60
293 Updated my contact information.
296 Thu Jan 3 19:42:16 EST 2008
297 Fixed RT#30498 - REST controller references Catalyst without
299 Fixed RT#32042 - Import of Params::Validate :all plays badly
300 with subclasses that have their own validate()
301 Fixed RT#30456 - Debug messages print even with debugging disabled
303 Thu Jan 3 08:54:09 PST 2008
304 Fixed an issue where YAML::Syck versions 0.92 require $c->request->body to
307 Fri Dec 21 15:23:46 EDT 2007
308 Updated the configuration specifiers to operate more in line with the way
309 Catalyst expects. Most notably component based configuration through
310 "Controller::RestClass" now works. "serialize" at the top level simply
311 is suggested defaults that all REST classes inherit.
313 Wed Jul 04 11:17:20 EDT 2007
314 Fixed 'default' serializer to set a valid Content-Type: header. Fixes
315 RT ticket 27949. Note that behavior has changed -- the default
316 serializer must now be specified as a content-type, not as a plugin
317 name. (dmo@roaringpenguin.com)
319 Thu May 24 14:01:06 PDT 2007 (adam) - Release 0.41
320 Moved a bogus $self->class to $c->component($self->class)
322 Fri Mar 9 14:13:29 PST 2007 (adam) - Release 0.40
323 Refactored the Content-Type negotiation to live in Catalyst::Request::REST. (drolsky)
324 Added some useful debugging. (drolsky)
325 Added a View serializer/deserializer, which simply calls the correct
326 Catalyst view. ('text/html' => [ 'View', 'TT' ]) (claco, adam)
328 Wed Dec 6 00:45:02 PST 2006 (adam) - Release 0.31
329 Fixed a bug where we would report a blank content-type negotiation.
330 Added Data::Dump as a dependency.
332 Tue Dec 5 13:02:08 PST 2006 (adam)
333 Made the YAML::HTML view automatically append content-type=text/html on
336 Sun Dec 3 12:24:16 PST 2006 (adam) - Release 0.30
337 Updated the Makefile to support optional installation of the different
338 Serialization formats.
339 Renamed some of the test cases, since the execution order doesn't
341 Fixed things so that not having a Serialization module returns 415.
342 Fixed things so that failure to Deserialize sends the proper status.
343 Refactored the Plugin loading to Catalyst::Action::SerializeBase.
344 Updated the Documentation.
345 Added a whole raft of serializers. (JSON, all the Data::Serializer
346 supported ones, and XML::Simple)
349 Thu Nov 30 23:51:04 PST 2006 (adam)
350 Refactored the Catalyst::Action::REST dispatch, so that the default
351 method is called before any _METHOD handlers. In addition, moved
352 the 405 Not Implemented handler to be foo_not_implemented, instead
353 of the default sub. (daisuke++ pointed out the inconsistency and
354 provided a patch, and I added the foo_not_implemented support)
356 Added in automated OPTIONS handler, which constructs the allow
357 header for you, just like the 405 handler. Can be overridden
358 with a normal _METHOD sub.
360 Refactored Test::Rest, so that it uses closures to create the
361 very similar $test->method() subs.
363 Added tests for Catalyst::Action::REST.
365 Thu Nov 30 17:14:51 PST 2006 (adam) - Release 0.2
366 Added documentation patch from Daisuke Maki (daisuke@endeworks.jp)
367 Added dependency patch from Daisuke Maki (daisuke@endeworks.jp)
369 Sun Nov 19 16:24:20 PST 2006 (adam) - Release 0.1
370 Added status_accepted (Code 202)
371 Added a first pass at documentation.
373 Mon Oct 16 14:48:54 PDT 2006 (adam)
375 Created Catalyst::Action::Serialize and Catalyst::Action::Deserialize
376 Added Data::Serializer actions
377 Added status_created helper method
379 Wed Oct 18 17:29:07 PDT 2006 (adam)
380 Added more status_ helpers
382 Thu Oct 19 16:04:33 PDT 2006 (adam)
383 Converted error helpers to return an object instead of plain-text. It's
384 a more consistent model than a text/plain error message.
385 Added logging to 4xx status handlers