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