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