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