update changes
[catagits/Catalyst-Action-REST.git] / Changes
CommitLineData
3ba4e173 1Revision history for {{$dist->name}}
801ec379 2
3ba4e173 3{{$NEXT}}
4
da6b5a45 5 * Stop prompting for features at install time
6
3ba4e173 71.13 2013-11-08 09:40:00 EST
7566d72f 8
801ec379 9 * Fix tests to skip if YAML::Syck is not installed (Arthur Axel fREW Schmidt)
10
3ba4e173 111.12 2013-09-03 13:00:00 EST
47c3e6b3 12
13 WARNING BACK COMPAT BREAKAGE FOLLOWS
14
15 Removed The YAML and HTML parser from the distro. You
16 should install these if you actually use them. They are listed as
17 optional dependencies going forward.
18
19 This is possibly a breaking change, but necessary for security and
20 considered acceptable since those formats have not generally
21 become preferred for web services.
22
23 In addition, the default de/serialization mappings for HTML and YAML
24 have been removed. You can add that back by adding the following to
25 you Configuration for the subclass of Catalyst::Controller::REST -
26
27 package Foo::Controller::Bar;
28
29 use Moose;
30 use namespace::autoclean;
31
32 BEGIN { extends 'Catalyst::Controller::REST' }
33 __PACKAGE__->config(
34 'map' => {
35 'text/html' => 'YAML::HTML',
36 'text/x-yaml' => 'YAML',
37 },
38 );
39
40 You should do this if you are using these de/serialization formats.
41
3ba4e173 421.11 2013-06-16 15:23:03 BST
43
44 * Fix infinite recursion in tests under Catalyst 5.90040
45
461.10 2013-04-22 14:36:53 BST
47
48 * Use YAML rather than JSON in basic tests
e0323f6a 49
3ba4e173 501.09 2013-04-19 13:34:38 BST
81b9fff3 51
3ba4e173 52 * Don't load Data::Serializer unnecessarily in tests
45d02f45 53
3ba4e173 541.08 2013-04-16 08:33:00 BST
1bb213fc 55
3ba4e173 56 * Factor Data::Serializable into it's own dist to stop breakages.
1bb213fc 57
3ba4e173 58 If you use any of:
1bb213fc 59
3ba4e173 60 * Data::Dumper
61 * Data::Denter
62 * Data::Taxi
63 * Config::General
64 * PHP::Serialization
65
66 You'll need to install Catalyst-Action-Serialize-Data-Serializer and add the
67 appropriate lines to your controller config. Said lines may be:
1bb213fc 68
69 'text/x-data-dumper' => [ 'Data::Serializer', 'Data::Dumper' ],
70 'text/x-data-denter' => [ 'Data::Serializer', 'Data::Denter' ],
71 'text/x-data-taxi' => [ 'Data::Serializer', 'Data::Taxi' ],
72 'text/x-config-general' => [ 'Data::Serializer', 'Config::General' ],
73 'text/x-php-serialization' => [ 'Data::Serializer', 'PHP::Serialization' ],
74
3ba4e173 751.07 2013-04-11 20:20:00 BST
76
77 * Don't serialize if a view is explicitly set.
78
79 - If the controller sets the view in $c->stash->{current_view} or
80 $c->stash->{current_view_instance}, then it is explicitly requesting a
81 certain kind of serialization and C::A::Serialize shouldn't override
82 that.
83
84 * Remove Storable and FreezeThaw from the list
85 of serialization methods offered by default, and
86 from the docs - they're totally unsafe :/
87
881.06 2012-12-11 22:04:00 UTC
89
90 * Sort list of allowed methods. RT#81825
91
921.05 2012-07-02 20:13:00 BST
93
94 * Bugfix get_allowed_methods list:
95 - include HEAD
96 - remove "not_implemented"
97
981.04 2012-06-30 10:25:00 BST
99
100 * Bugfix to _dispatch_rest_method
101
1021.03 2012-06-28 00:40:00 BST
103
104 * Expose _get_allowed_methods to the API (wreis)
105
106 * Fix default OPTIONS handler: As the ->body is defined, then serialization
107 won't happen and we don't get wrong responses. (wreis)
108
109 * Add default HEAD handler: auto dispatches to _GET method if it exists (wreis)
110
1111.02 2012-06-05 22:23:00 BST
112
113 * Fix forwarded REST methods, e.g. foo_GET to be more
114 correctly displayed as a forward in the stats info.
115
116 * Make public response building methods for errors
117 _unsupported_media_type and _serialize_bad_request which
118 can be extended from an action-role to return custom
119 error response.
120
1211.01 2012-05-29 20:19:00 BST
122
123 * Add Catalyst::Action::Deserialize::JSON::XS
124
125 * Fix JSON::XS useage to depend on JSON.pm v2.0, and rely on the
126 fact that can be backed by XS code, by explicitly setting
127 $ENV{'PERL_JSON_BACKEND'} = 2
128
1291.00 2012-04-13 09:31:00 BST
130
131 * Repack without auto_include to stop Module::Install inlining
132 Test::More without Test::Builder. RT#76524
133
1340.99 2012-02-28 09:09:00 UTC
135
136 * Repack with new Module::Install to stop depending on an unnecessary
137 ExtUtils::MakeMaker version.
138
1390.98 2012-02-21 11:40:00 UTC
6e7da253 140
3ba4e173 141 * More fixes as per last release.
6e7da253 142
3ba4e173 1430.97 2012-02-21 09:58:00 UTC
7b46eb07 144
3ba4e173 145 * Fix test with latest Catalyst version which passes _log into
146 requests.
04f96b73 147
3ba4e173 1480.96 2012-01-20 11:22:00 UTC
91bb5224 149
3ba4e173 150 * Added fix for RT 63537 (from Gerv) and tests to check it.
6da8e448 151
3ba4e173 1520.95 2012-01-04 19:34:00 UTC
c8ca5f59 153
3ba4e173 154 * Fix regex for JSONP parameter name to be able to include the . character
155 in Catalyst::Action::Serialize::JSONP. RT#73741
c8ca5f59 156
3ba4e173 157 * Add optional location parameter to status_accepted handler. RT#73691 (ghenry)
c8ca5f59 158
3ba4e173 1590.94 2011-12-09 08:35:00 UTC
3c4306f2 160
3ba4e173 161 * Add 403 Forbidden and 302 Not Found status methods to
162 Catalyst::Controller::REST (Caleb Cushing)
d1158d58 163
3ba4e173 1640.93 2011-10-12 11:37:00 America/Chicago
fcc4f3f2 165
3ba4e173 166 * Add a "Callback" serializer/deserializer to allow for more customization in
167 how the REST data is parsed/generated (bphillips)
fcc4f3f2 168
3ba4e173 1690.92 2011-10-01 11:04:00 BST
df5f9ffc 170
3ba4e173 171 * Add a Catalyst::Action::DeserializeMultiPart, allowing one part of a multipart
172 request to be deserialized as the REST data (allowing other parts to be used for
173 file uploads, for example) (bphillips)
3ed677b1 174
3ba4e173 1750.91 2011-08-04 14:37:21 Europe/Berlin
351f252f 176
3ba4e173 177 * For the deserialization action class, make the HTTP methods it operates on
178 configurable on a per-action level (plu, rafl).
1f22d6b3 179
3ba4e173 1800.90 2011-02-25 13:56:00 UTC
8aa1a2ee 181
3ba4e173 182 * Remove test which is no longer applicable and fails in the latest Catalyst
183 release.
f2d34339 184
3ba4e173 1850.89 2011-01-24 21:57:42 UTC
259c53c7 186
3ba4e173 187 * All classes are now made immutable. (Dave Rolsky)
f51d80cd 188
3ba4e173 189 * Added a Catalyst::Action::REST::ForBrowsers class. This will try to dispatch
190 GET requests to a foo_GET_html method before trying foo_GET. (Dave Rolsky)
1c4b501b 191
3ba4e173 1920.88 2011-01-11 23:07:00 UTC
8894935c 193
3ba4e173 194 * Fix documentation for overriding Serialize and Deserialize actions
195 in Catalyst::Controller::REST.
04eaf278 196
3ba4e173 197 * Avoid warning with empty response bodies and new Catalyst version
198 (>= 5.80030)
48ff1e96 199
3ba4e173 200 * Returning a body of '' is now possible - Catalyst::Action::Serialize
201 acts like Catalyst::Action::RenderView (>= 0.16) by using the has_body
202 predicate in Catalyst::Response (>= 5.80030)
84b1ebe6 203
3ba4e173 2040.87 2010-11-03 19:46:00 UTC
d5acc73a 205
3ba4e173 206 * Fix Request class role when used with new Moose and other request
207 class roles.
355d4385 208
3ba4e173 2090.86 2010-09-01 23:14:00 BST
786c212f 210
3ba4e173 211 * Add rest_serializer_json_options config key useable to set options
212 like relaxed => 1 to be passed to the JSON serializer (Ton Voon)
786c212f 213
3ba4e173 214 * Make Data::Dumper unserializer safer by using a Safe compartment (Ton Voon)
e527bba3 215
3ba4e173 2160.85 2010-05-13 10:09:19 Europe/Berlin
e527bba3 217
3ba4e173 218 * Make Catalyst::Action::Serialize::View return directly rather than serializing
219 a response for 3XX status codes. This stops back-compat breakage from the
220 previous change (in 0.84), whilst also allowing actual data serializers
221 to still handle 3XX.
ad46030d 222
3ba4e173 223 * Fix docs in Catalyst::TraitFor::Request::REST::ForBrowsers. (RT#54983)
0fd45d2a 224
3ba4e173 2250.84 2010-05-06 09:27:56 BST
0fd45d2a 226
3ba4e173 227 * Revert always using a trait rather than Catalyst::Request::REST to improve
228 debug messages.
96eccfeb 229
3ba4e173 230 * Add a status_multiple_choices helper method to the Controller base class.
96eccfeb 231
3ba4e173 232 * Allow 3XX responses to be serialized.
3accd912 233
3ba4e173 2340.83 2010-02-08 22:17:12 UTC
5578f739 235
3ba4e173 236 * Make it possible to deserialize a request with a DELETE method. This probably
237 breaks 'strict' REST guidelines, but is useful for being able to delete multiple
238 resources from a single call by providing a batch delete method.
96a61a60 239
3ba4e173 240 * Remove JSONP from the list of default serializers (RT#54336)
241 Fix MANIFEST (RT#54408)
96a61a60 242
3ba4e173 2430.82 2010-02-04 22:31:57 UTC
8ff24288 244
3ba4e173 245 * Integrated Catalyst::Request::REST::ForBrowsers as
246 Catalyst::TraitFor::Request::ForBrowsers. (Dave Rolsky)
8ff24288 247
3ba4e173 248 * Clarified docs so that they encourage the use of the request traits, rather
249 than using Catalyst::Request::REST. (Dave Rolsky)
8ff24288 250
3ba4e173 251 * When Catalyst::Action::REST or Controller::REST automatically add the trait,
252 your request class will no longer end up getting set to
253 Catalyst::Request::REST. Instead, creates an anon class with the appropriate
254 role. (Dave Rolsky)
04675068 255
3ba4e173 256 * Shut up log output from the tests. (Dave Rolsky)
04675068 257
3ba4e173 258 * Added a $VERSION to every module, mostly to make sure that when people
259 install Catalyst::Request::REST::ForBrowsers, they get the version in this
260 distro. (Dave Rolsky)
04675068 261
3ba4e173 262 * Change Catalyst::Action::Serialize, Catalyst::Action::Deserialize and
263 Catalyst::Action::SerializeBase to be more Moose like.
04675068 264
3ba4e173 265 * Fix JSON and JSON::XS to encode_blessed. (fREW)
266 * Fix Catalyst::Action::Serialize to use objects instead of classes. (fREW)
267 * Fix doc nits. (RT#53780)
04675068 268
3ba4e173 2690.81 2010-01-14 20:56:00 UTC
890738ab 270
3ba4e173 271 * Add a JSONP serialization type.
05009b91 272
3ba4e173 2730.80 2009-12-19 14:54:00 UTC
2b1751a1 274
3ba4e173 275 * Convert all classes to Moose
2b1751a1 276
3ba4e173 277 * Change Catalyst::Request::REST to be a mostly empty class, with
278 all the functionality in Catalyst::TraitFor::Request::REST
26b59bcb 279
3ba4e173 280 * Simplify _get_allowed_methods method (aristotle)
732d8f5f 281
3ba4e173 282 * Rework serializer return so that serializers throw an exception in
283 the case of issues serializing the data (hobbs).
4f7a48d1 284
3ba4e173 2850.79 2009-12-11 01:08:00 UTC
a400ef8b 286
3ba4e173 287 * Cope with invalid (missing required q parameter) header like:
288 application/json; charset="utf-8"
489ee3ed 289
3ba4e173 290 * Fix documentation to not mention deprecated things and generally be
291 in better style.
489ee3ed 292
3ba4e173 293 * Make author information consistant and only in one module.
e1844cd9 294
3ba4e173 2950.78 2009-09-28 15:01:03 BST
a05bebdc 296
3ba4e173 297 * Require Moose for the tests (RT#50066).
5ebf67a4 298
3ba4e173 2990.77 2009-08-27 02:21:09 BST
5bbe8fb2 300
3ba4e173 301 * Allow dispatching to Catalyst Actions, for use with ActionClasses
302 etc - fREW
d3f3a2ed 303
3ba4e173 304 * Fix test if CATALYST_DEBUG environment variable is set
d3f3a2ed 305
3ba4e173 3060.76 2009-08-21 21:20:52 BST
f3394d8c 307
3ba4e173 308 * Added two new status response helpers (202 no content and 410 gone),
309 and tests - Franck Cuny
5ebf67a4 310
3ba4e173 3110.75 2009-08-17 14:07:41 BST
9eb6ca8b 312
3ba4e173 313 * Fix optional test failures in catalyst-action-serialize-accept.t
314 * Added a serializer for JSON::XS
315 * Made test independent of YAML::Syck bugs (dandv)
4ee24376 316
3ba4e173 3170.74 2009-07-22 23:49:16 BST (t0m)
c42820ae 318
3ba4e173 319 * Switch from NEXT to MRO::Compat (agladdish).
428ec4a2 320
3ba4e173 321 * Add display of additional REST actions in the stats, and also fix a warning
322 in Catalyst 5.80 when you forward to another action from inside an
323 action_FOO method (as it was confusing the stats).
428ec4a2 324
3ba4e173 325 * POD fixes
326 * Catalyst::Action::REST no longer @ISA Catalyst or Catalyst::Controller.
327 * Change constructor to call next::method instead of SUPER::
328 * Change method used to find the application class to be more correct
f41ab757 329
3ba4e173 3300.73 2009-06-27 20:20:09 America/New_York (hdp)
546f2871 331
3ba4e173 332 * Packaging fixes
546f2871 333
3ba4e173 3340.72 2009-06-25 14:52:29 America/New_York (hdp)
d1e10509 335
3ba4e173 336 * Refresh Module::Install
db8bb647 337
3ba4e173 3380.71 2009-03-28 09:16:09 America/Los_Angeles (hdp)
665a446d 339
3ba4e173 340 * Fix RT#44641, missing documented 'end' action
0566b5e4 341
3ba4e173 3420.70 2009-03-27 23:21:17 America/Los_Angeles (hdp)
0566b5e4 343
3ba4e173 344 * Tests that use JSON were either not checking for the version or checking in a
345 * way that was a syntax error.
c4ab3598 346
3ba4e173 3470.69 2009-03-26 14:16:03 America/Los_Angeles (hdp)
cbb06078 348
3ba4e173 349 * Fix RT#32342, deprecated config loses default map (hdp)
350 * Fix broken insertion of Catalyst::Request::REST for Action::REST (jshirley)
bb55dba1 351
3ba4e173 3520.68 2009-03-25 22:33:38 America/Los_Angeles (hdp)
8088a6f3 353
3ba4e173 354 * Remove prompt for ancient and deprecated Data::Denter from Makefile.PL
355 * Remove Data::Dump, which was entirely unused
356 * Stop tests from dying with Catalyst 5.80
ef7fdb48 357
3ba4e173 3580.67 2009-03-25 21:59:59 America/Los_Angeles (hdp)
888f25e3 359
3ba4e173 360 * (no changes from 0.67_01)
8b010556 361
3ba4e173 3620.67_01 2009-03-25 09:36:00 America/Los_Angeles (hdp)
7b8c5be2 363
3ba4e173 364 * Fix RT#43840, improper app-level config handling
365 * Fix RT#42859, 'wrong' Catalyst dependency
366 * Fix RT#42025, stepping on custom request classes
3d38a43f 367
3ba4e173 3680.65 2008-08-20 10:42:00 America/Los_Angeles (jshirley)
b946af8e 369
3ba4e173 370 * Fully revamped tests to work without any JSON support
371 * Final removal of JSON::Syck
372 * Special thanks to jgoulah for helping test this release
bc48916f 373
3ba4e173 3740.64 2008-08-13 08:55:00 America/Los_Angeles (jshirley)
2f7533ed 375
3ba4e173 376 * New dist to fix issue with Module::Install
6023cdb2 377
3ba4e173 3780.63 2008-07-09 11:16:00 America/Los_Angeles (jshirley)
ebba5325 379
3ba4e173 380 * Changing from JSON::Syck to JSON/JSON::XS
381 * Refactored tests to be more applicable to current state of affairs
df26b361 382
3ba4e173 3830.62 2008-07-02 07:53:00 America/Los_Angeles (jshirley)
832e768d 384
3ba4e173 385 * Reshipping with current Module::Install included due to error reports
386 about failed installs
d6fb033c 387
3ba4e173 3880.61 2008-06-30 12:28:00 America/Los_Angeles (jshirley)
9f16ba15 389
3ba4e173 390 * Support official application/json and carp about text/x-json
d4611771 391
3ba4e173 392 * Accepted patch from Luke Saunders for processing all accepted content types
bc343d3a 393
3ba4e173 3940.60 2008-01-03 17:23:58 America/Los_Angeles (adam)
395
396 * Updated my contact information.
397
398 * Fixed RT#30498 - REST controller references Catalyst without
399 loading it first.
400
401 * Fixed RT#32042 - Import of Params::Validate :all plays badly
402 with subclasses that have their own validate()
403
404 * Fixed RT#30456 - Debug messages print even with debugging disabled
405
406 * Fixed an issue where YAML::Syck versions 0.92 require $c->request->body to
407 be stringified
408
409 * Updated the configuration specifiers to operate more in line with the way
7d5e38b4 410 Catalyst expects. Most notably component based configuration through
411 "Controller::RestClass" now works. "serialize" at the top level simply
412 is suggested defaults that all REST classes inherit.
bc343d3a 413
3ba4e173 414 * Fixed 'default' serializer to set a valid Content-Type: header. Fixes
7d5e38b4 415 RT ticket 27949. Note that behavior has changed -- the default
416 serializer must now be specified as a content-type, not as a plugin
417 name. (dmo@roaringpenguin.com)
367b3ff4 418
3ba4e173 4190.41 2007-05-24 14:01:06 America/Los_Angeles (adam)
420
421 * Moved a bogus $self->class to $c->component($self->class)
422
4230.40 2007-03-09 14:13:29 America/Los_Angeles (adam)
424
425 * Refactored the Content-Type negotiation to live in Catalyst::Request::REST. (drolsky)
426 * Added some useful debugging. (drolsky)
427 * Added a View serializer/deserializer, which simply calls the correct
428 * Catalyst view. ('text/html' => [ 'View', 'TT' ]) (claco, adam)
429
4300.31 2006-12-06 00:45:02 America/Los_Angeles (adam)
431
432 * Fixed a bug where we would report a blank content-type negotiation.
433 * Added Data::Dump as a dependency.
434
435 * Made the YAML::HTML view automatically append content-type=text/html on
436 the resulting URLs.
437
4380.30 2006-12-03 12:24:16 America/Los_Angeles (adam)
439
440 * Updated the Makefile to support optional installation of the different
441 Serialization formats.
442
443 * Renamed some of the test cases, since the execution order doesn't
444 matter.
445
446 * Fixed things so that not having a Serialization module returns 415.
447 * Fixed things so that failure to Deserialize sends the proper status.
448 * Refactored the Plugin loading to Catalyst::Action::SerializeBase.
449 * Updated the Documentation.
450
451 * Added a whole raft of serializers. (JSON, all the Data::Serializer
452 supported ones, and XML::Simple)
453
454 * Added test cases.
455
456 * Refactored the Catalyst::Action::REST dispatch, so that the default
457 method is called before any _METHOD handlers. In addition, moved
458 the 405 Not Implemented handler to be foo_not_implemented, instead
459 of the default sub. (daisuke++ pointed out the inconsistency and
460 provided a patch, and I added the foo_not_implemented support)
461
462 * Added in automated OPTIONS handler, which constructs the allow
463 header for you, just like the 405 handler. Can be overridden
464 with a normal _METHOD sub.
465
466 * Refactored Test::Rest, so that it uses closures to create the
467 very similar $test->method() subs.
468
469 * Added tests for Catalyst::Action::REST.
470
4710.2 2006-11-30 17:14:51 America/Los_Angeles (adam)
472
473 * Added documentation patch from Daisuke Maki (daisuke@endeworks.jp)
474 * Added dependency patch from Daisuke Maki (daisuke@endeworks.jp)
475
4760.1 2006-11-19 16:24:20 America/Los_Angeles (adam)
477
478 * Added status_accepted (Code 202)
479 * Added a first pass at documentation.
480 * Added in Test Suite
481 * Created Catalyst::Action::Serialize and Catalyst::Action::Deserialize
482 * Added Data::Serializer actions
483 * Added status_created helper method
484 * Added more status_ helpers
485
486 * Converted error helpers to return an object instead of plain-text. It's
487 a more consistent model than a text/plain error message.
488
489 * Added logging to 4xx status handlers
bdc54939 490