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