-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrading
Name listing support was removed from the Mojolicious::Controller and Mojo::Parameters param methods, in favor of the more appropriate Mojolicious::Parameters names method. For example, my @names = $c->param should now be written as my @names = @{$c->req->params->names}, if you wish to retrieve all GET/POST parameter names. The previous behavior of including names of placeholders and uploads has been removed. Similarly, the names of validated parameters in Mojolicious::Validator::Validation have been moved from param to passed and failed, which also now return arrayrefs instead of lists.
Multi-name support was removed from various methods that retrieved parameters by name; these methods can only be used to retrieve one parameter at a time now. The affected methods include: Mojolicious::Controller cookie, param, and signed_cookie; Mojolicious::Validator::Validation param; Mojo::Parameters param; Mojo::Message cookie and upload.
The log method was removed from Mojo::Log; use the individual logging methods instead (e.g. debug, info). The is_level method was also removed, use is_debug and similar methods to test the log level. The is_fatal method was removed because fatal logging is always enabled.
The all and find methods now return arrayrefs instead of lists.
Don't know what this was? Neither do we!
The Mojo::Loader OO API has been removed, use the exported-on-demand functions data_section, find_modules, and load_class directly instead.
The deprecated Mojolicious::Controller methods render_exception and render_not_found have been removed, use the helpers $c->reply->exception and $c->reply->not_found instead.
The accept mutex behavior was removed from Mojo::IOLoop and Mojo::Server::Prefork for better performance, along with the related attributes and options:
- Mojo::IOLoop:
accept_interval,lock, andunlock - Mojo::Server::Prefork:
accept_interval,lock_file, andlock_timeout - prefork command
-a/--accept-interval,--lock-fileand-L/--lock-timeoutoptions - Hypnotoad settings
accept_interval,lock_file, andlock_timeout
- Mojo::Reactor
is_readablemethod - Mojolicious::Routes::Route
bridgemethod - useunderinstead - Mojolicious::Routes
auto_rendermethod
Mojo::DOM methods have been reorganized to better match the DOM spec.
-
all_contents=>descendant_nodes -
contents=>child_nodes -
match=>matches(also renamed in Mojo::DOM::CSS) -
following_siblings=>following_nodes -
preceding_siblings=>preceding_nodes -
next_sibling=>next_node -
previous_sibling=>previous_node -
siblings=> Replaced byfollowingandprecedingmethods -
node=>type -
type=>tag
- Mojo::UserAgent::CookieJar:
-
extracting=>collecting -
extract=>collect -
inject=>prepare - Mojo::Template:
template=>unparsed - Mojolicious::Types:
types=>mapping - Mojolicious::Routes::Match:
-
current=>position -
match=>find - Mojolicious::Routes::Pattern:
pattern=>unparsed - Mojo::UserAgent::Proxy:
inject=>prepare - Mojo::Parameters:
params=>pairs - prefork command switch:
-A=>-a - Hypnotoad option:
keep_alive_requests=>requests
The Mojo::JSON object-oriented API has been removed, encode_json and decode_json functions should be used instead.
Mojo::Collection stringification support has been removed, use the join method instead. Mojo::Collection also no longer uses AUTOLOAD; the map method should be used for this functionality (as well as to replace the removed pluck method).
Mojo::DOM no longer uses AUTOLOAD, the children method should be used instead. The val method has also been removed.
Mojo::JSON::Pointer methods no longer take a $data argument to specify the data structure to traverse, and only uses its data attribute.
The render_static method of Mojolicious::Controller has been removed, use the $c->reply->static helper instead.
- Mojo::EventEmitter:
emit_safe - Mojolicious::Routes::Route:
has_conditions
Methods that previously worked differently in scalar than in list context now always assume scalar context, and new methods (every_*) have been added to cover the list context functionality, returning an arrayref. For example, my @things = $c->param('thing') should now be written my @things = @{$c->every_param('thing')}.
- Mojo::Message:
-
cookie/every_cookie -
upload/every_upload - Mojo::Message::Request:
param/every_param - Mojo::Parameters:
param/every_param - Mojolicious::Controller:
-
cookie/every_cookie -
param/every_param -
signed_cookie/every_signed_cookie - Mojolicious::Validator::Validation:
param/every_param