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