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