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