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