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