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