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