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