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