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