9.17 2021-04-12
- Deprecated ?format=* parameter in favor of ?_format=* for content negotiation in Mojolicious::Renderer.
9.16 2021-04-08
- Added support for format inheritance.
- Improved Mojo::Server::CGI with support for before_server_start hook.
9.15 2021-03-30
- Improved form generator in Mojo::UserAgent::Transactor to allow custom Content-Disposition headers.
9.14 2021-03-23
- Added EXPERIMENTAL support for :text pseudo-class to Mojo::DOM::CSS.
9.13 2021-03-22
- Improved request_id attribute in Mojo::Message::Request to be a little more unique.
- Fixed Mojolicious::Plugin::Mount to share the logger of the host application.
9.12 2021-03-21
- Improved mojo script startup time slightly with a Mojo::HelloWorld optimization.
- Improved design of built-in templates.
9.11 2021-03-20
- This release contains fixes for security issues, everybody should upgrade!
- Disabled format detection by default to fix vulnerabilities in many Mojolicious applications. That means some of
your routes that previously matched "/foo" and "/foo.json", will only match "/foo" after upgrading. From now on you
will have to explicitly declare the formats your routes are allowed to handle.
# /foo
# /foo.html
# /foo.json
$r->get('/foo')->to('bar#yada');
becomes
$r->get('/foo' => [format => ['html', 'json']])->to('bar#yada', format => undef);
And if you are certain that your application is not vulnerable, you also have the option to re-enable format
detection for a route and all its nested routes. Due to the high risk of vulnerabilities, this feature is going to
be removed again in a future release however.
my $active = $r->any([format => 1]);
$active->get('/foo')->to('Test#first');
$active->put('/bar')->to('Test#second');
- Improved built-in templates not to show embedded apps in the stash snapshot.
- Improved built-in development not found page to include tooltips with the compiled regular expressions for each
route.
- Improved Mojo::UserAgent to include "Content-Length: 0" with non-GET requests for better compatibility with broken
web servers.
9.10 2021-03-14
- Fixed top-level --help and -h options in Mojolicious::Commands.
9.09 2021-03-13
- Added comma_separated filter to Mojolicious::Validator.
- Fixed built-in templates to be a bit more responsive.
- Fixed filter list handling in Mojolicious::Validator::Validation.
9.08 2021-03-12
- Fixed a bug in Test::Mojo where Test::Mojo->new($app) would not work correctly.
9.07 2021-03-11
- Improved config override feature to work for Mojolicious::Lite applications.
- Improved Mojo::UserAgent performance slightly by not including unnecessary "Content-Length: 0" request headers.
9.03 2021-03-05
- Fixed a bug in Mojo::Transaction::WebSocket where finish event handlers would not always get the same number of
arguments passed.
9.02 2021-02-17
- Fixed finally method in Mojo::Promise to deal correctly with promises returned by the handler.
- Improved Mojo::Server::Daemon to include random ports in the "Web application available at ..." message.
9.01 2021-02-16
- Added EXPERIMENTAL color attribute to Mojo::Log.
- Added EXPERIMENTAL MOJO_LOG_COLOR environment variable to Mojo::Log.
- Fixed Windows support of network_contains function in Mojo::Util. (jberger)
9.0 2021-02-14
- Code name "Waffle", this is a major release.
- Added support for deployment specific plugins.
- Removed Mojo::IOLoop::Delay.
- Removed hidden attribute from Mojolicious::Routes.
- Removed hide and is_hidden methods from Mojolicious::Routes.
- Removed deprecated success method from Mojo::Transaction.
- Removed deprecated detour, over, route and via methods from Mojolicious::Routes::Route.
- Removed deprecated local_address method from Mojo::UserAgent.
- Removed deprecated tls_ciphers, tls_protocols, tls_verify and tls_version options from Mojo::IOLoop::TLS.
- Removed deprecated local_address option from Mojo::IOLoop::Client.
- Removed deprecated config stash value.
- Changed Mojo::Log to join mutiple log messages with a whitespace instead of a newline.
- Added is_reserved method to Mojolicious::Routes::Route.
- Improved Mojolicious::Routes to disallow the use of reserved stash values, such as "/:action", in route patterns.
- Improved Mojolicious::Routes to throw exceptions for missing controllers.
- Improved Mojolicious::Routes to throw exceptions for routes with controllers but without action.
- Improved Mojolicious::Routes to disallow namespace without controller for routing.
- Improved Mojolicious::Routes to die if auto rendering failed.
- Improved render method in Mojolicious::Controller to die if no response could be rendered.
- Improved reply->static helper to die if the requested file does not exist.
- Improved contextual logging feature in Mojo::Log not to concatenate log messages and context.
- Improved all_text method in Mojo::DOM to exclude "<script>" and "<style>" from text extraction in HTML documents.
- Improved error messages in config plugins to be more consistent.
8.73 2021-02-05
- Removed finally keyword from check function in Mojo::Exception.
- Changed arguments of check function in Mojo::Exception to be easier to use with Perl 5.34 try/catch.
- Removed experimental status from preload_namespaces attribute in Mojolicious.
- Removed experimental status from any, map, timer and timeout methods in Mojo::Promise.
- Removed experimental status from extname method in Mojo::File.
- Removed experimental status from warmup method in Mojolicious.
- Removed experimental status from load_classes function in Mojo::Loader.
- Removed experimental status from Mojo::DynamicMethods. Still summons old gods, use at your own risk!
- Removed experimental status from before_command hook in Mojolicious.
- Added silent attribute to Mojo::Server::Morbo.
8.72 2021-01-26
- Deprecated Mojo::UserAgent::local_address in favor of Mojo::UserAgent::socket_options.
- Deprecated local_address option of connect method in Mojo::IOLoop::Client in favor of socket_options.
- Deprecated tls_protocols option of connect method in Mojo::IOLoop::Client in favor of tls_options.
- Deprecated tls_verify option of connect method in Mojo::IOLoop::Client in favor of tls_options.
- Deprecated tls_protocols option of negotiate method in Mojo::IOLoop::TLS in favor of tls_options.
- Deprecated tls_ciphers option of negotiate method in Mojo::IOLoop::TLS in favor of tls_options.
- Deprecated tls_verify option of negotiate method in Mojo::IOLoop::TLS in favor of tls_options.
- Deprecated tls_version option of negotiate method in Mojo::IOLoop::TLS in favor of tls_options.
- Deprecated tls_ciphers option of listen method in Mojo::IOLoop::Server in favor of tls_options.
- Deprecated tls_verify option of listen method in Mojo::IOLoop::Server in favor of tls_options.
- Deprecated tls_version option of listen method in Mojo::IOLoop::Server in favor of tls_options.
- Added support for trusted reverse proxies. (jberger)
- Added network_contains function to Mojo::Util. (jberger)
- Added trusted_proxies attribute to Mojo::Server and Mojo::Message::Request. (jberger)
- Added socket_options method to Mojo::UserAgent.
- Added build_server method to Mojolicious::Command::daemon and Mojolicious::Command::prefork. (jberger)
- Added trusted_proxies option to Hynotoad. (jberger)
- Added socket_options and tls_options options to connect method in Mojo::IOLoop::Client.
- Added tls_options option to negotiate method in Mojo::IOLoop::TLS.
8.71 2021-01-17
- Added EXPERIMENTAL freeze option to reset method in Mojo::IOLoop.
- Improved Mojo::IOLoop::Subprocess not to close connections after fork.
8.70 2020-12-29
- Fixed top-level help command in Mojolicious::Commands. (schelcj)
8.69 2020-12-28
- Improved design of built-in templates.
8.68 2020-12-27
- Updated built-in templates with new responsive design from mojolicious.org.
- Fixed a bug in Mojo::Message::Request that resulted in duplicate request ids for Mojo::Server::Prefork workers.
8.67 2020-12-04
- Deprecated Mojolicious::Routes::Route::route in favor of Mojolicious::Routes::Route::any.
- Deprecated Mojolicious::Routes::Route::over in favor of Mojolicious::Routes::Route::requires.
- Deprecated Mojolicious::Routes::Route::via in favor of Mojolicious::Routes::Route::methods.
- Deprecated Mojolicious::Routes::Route::detour.
- Added methods and requires methods to Mojolicious::Routes::Route.
- Improved Mojolicious::Commands to throw an exception for invalid commands.
8.66 2020-11-28
- Deprecated logging to "log/$mode.log" (if a log directory exists) in Mojolicious. The default will simply be STDERR
in the future.
- Added support for preloading controllers and other classes during startup of Mojolicious applications.
- Added EXPERIMENTAL preload_namespaces attribute to Mojolicious.
- Added EXPERIMENTAL warmup method to Mojolicious.
- Added EXPERIMENTAL load_classes function to Mojo::Loader.
- Removed experimental status from humanize_bytes method in Mojo::ByteStream.
- Removed experimental status from humanize_bytes function in Mojo::Util.
- Improved find_modules function in Mojo::Loader with recursive option.
- Improved Mojo::DOM::CSS to throw exceptions for unknown CSS selectors.
- Fixed a bug in Mojolicious::Commands where help messages would not be displayed correctly for some commands.
(kiwiroy)
- Fixed a bug in Mojolicious::Routes::Pattern where type_start was treated as a regex. (Grinnz)
8.65 2020-11-10
- Added generate dockerfile command. (tianon)
- Improved cookbook with container deployment recipe.
- Improved security of secure_compare function in Mojo::Util. (robrwo)
- Fixed all generated code to consistently use a *::Sandbox class, instead of *::SandBox.
8.64 2020-11-01
- Replaced prettify.js with highlight.js. (zakame)
- Fixed a bug in Mojo::DOM where the tree root would be checked for all pseudo-classes.
- Fixed a redefined subroutine warning in eval command. (elmar)
8.63 2020-10-11
- Improved Mojo::IOLoop::Subprocess to ensure a clean exit even if something unexpected happens in the forked
process.
8.62 2020-10-10
- Improved commands to exit with a usage message on unknown options.
8.61 2020-10-01
- Fixed fork-safety feature in Mojo::UserAgent to work with more than one fork.
- Fixed reset method in Mojo::IOLoop to not interfere with close events anymore, since that resulted in leaks.
8.60 2020-09-27
- Improved reset method in Mojo::IOLoop to prevent close event to be emitted in affected streams. (kiwiroy)
- Improved cookbook with Envoy deployment recipe. (zakame)
8.58 2020-08-05
- Improved app and lite_app generators to use templates with subroutine signatures.
- Updated all documentation to use subroutine signatures. (kiwiroy)
8.57 2020-07-16
- Added support for YAML config files.
- Added module Mojolicious::Plugin::NotYAMLConfig.
- Improved app generator command to use a YAML config file.
- Fixed a bug in proxy helpers that caused response content to be ignored in some cases. (mohawk2)
- Fixed attr_is bug in Test::Mojo that prevented false value comparisons from working correctly. (tim-2)
8.56 2020-06-19
- Fixed a bug that prevented "% end, begin" to work in Mojo::Template. (jberger)
8.55 2020-06-18
- Fixed a regression in Mojo::DOM::CSS that caused some selectors to not be valid anymore.
8.54 2020-06-14
- Added EXPERIMENTAL support for :scope and :has pseudo-classes to Mojo::DOM::CSS. (Eckankar, kraih)
- Fixed a bug in Mojo::DOM where select and ruby elements were parsed incorrectly.
- Fixed a but in Mojo::UserAgent::Transactor that prevented compression settings to be inherited across redirects.
- Fixed a bug where Mojolicious templates could not use the continue Perl keyword.
8.53 2020-06-09
- Added EXPERIMENTAL extname method to Mojo::File.
- Fixed a bug in Mojolicious::Types where dotfiles would be considered file extensions.
8.52 2020-06-01
- Updated project metadata.
- Fixed a bug in Mojo::Asset::Memory where the upgrade event could not change the temporary directory.
8.51 2020-05-30
- Improved map efficiency in Mojo::Promise. (mst)
- Improved more tests to use subtests. (veesh)
- Improved .perltidyrc with more modern settings.
8.50 2020-05-23
- Increased Perl version requirement to 5.16.0. This is just a first step however, at some point in the not so distant
future we will increase the Perl version requirement to 5.20.0 for full subroutine signatures support.
- Improved Mojo::Base to enable the Perl 5.16 feature bundle with "unicode_strings", "unicode_eval", "evalbytes",
"current_sub" and "fc".
8.43 2020-05-20
- Removed deprecated argument handling from Mojo::Promise::new.
- Removed experimental status from all_settled method in Mojo::Promise.
- Removed experimental status from content_type and file_type methods in Mojolicious::Types.
- Removed experimental status from cleanup event in Mojo::IOLoop::Subprocess.
- Switched from Storable to JSON serialization for Mojo::IOLoop::Subprocess IPC to increase efficiency.
- Added exit_code method to Mojo::IOLoop::Subprocess.
- Improved Mojo::Promise to warn when an unhandled rejected promise is destroyed.
- Fixed a bug where the resolve class method in Mojo::Promise would unnecessarily create new promises.
- Fixed a promise chaining bug in Mojo::Promise. (karjala)
8.42 2020-05-04
- This release contains fixes for security issues, everybody should upgrade!
- Added EXPERIMENTAL support for :any-link pseudo-class to Mojo::DOM::CSS.
- Added EXPERIMENTAL support for case-sensitive attribute selectors like [foo="bar" s] to Mojo::DOM::CSS
- Renamed experimental :matches pseudo-class to :is in Mojo::DOM::CSS.
- Fixed a security issue that allowed for _method query parameters to be used with GET requests.
- Fixed a bug in Mojo::DOM::CSS where the case-sensitivity identifier was case-sensitive.
8.41 2020-04-30
- Improved Mojolicious::Commands to treat commands like "mojo generate lite_app" as "mojo generate lite-app".
8.40 2020-04-23
- Fixed support for disabling the inactivity timeout in Mojo::UserAgent.
8.39 2020-04-22
- Fixed a bug in Mojo::Server::Daemon where active connections could get the keep-alive timeout assigned instead of
the inactivity timeout.
- Fixed a race condition in Mojo::UserAgent where test servers would close connections prematurely.
8.38 2020-04-21
- Added run_p method to Mojo::IOLoop::Subprocess. (batman)
8.37 2020-04-19
- Added keep_alive_timeout attribute to Mojo::Server::Daemon.
- Added -k options to daemon and prefork commands.
- Added keep_alive_timeout setting to Hypnotoad.
- Increased various default timeouts because keep_alive_timeout takes over some of their previous responsibility.
- Improved timeout setting performance significantly in Mojo::IOLoop::Stream.
- Improved again method in Mojo::Reactor, Mojo::Reactor::EV and Mojo::Reactor::Poll to allow changing the invocation
time of active timers.
- Fixed support for 425 status in Mojo::Message::Response.
8.36 2020-03-31
- Added handler attribute to Test::Mojo.
- Added test method to Test::Mojo.
- Improved Test::Mojo to allow for extensions to be tested more easily.
- Improved request_id attribute in Mojo::Message::Request to be a little more unique. (mst)
8.35 2020-03-20
- Added not_empty filter to Mojolicious::Validator.
8.34 2020-03-16
- Removed experimental status from proxy->get_p, proxy->post_p and proxy->start_p helpers in
Mojolicious::Plugin::DefaultHelpers.
- Removed experimental status from compress and min_compress_size attributes in Mojolicious::Renderer.
- Removed experimental status from high_water_mark attribute in Mojo::IOLoop::Stream.
- Removed experimental status from respond method in Mojolicious::Renderer.
- Removed experimental status from bytes_waiting and can_write methods in Mojo::IOLoop::Stream.
- Removed experimental status from dehop method in Mojo::Headers.
- Removed experimental status from scope_guard function in Mojo::Util.
- Improved size check in Mojolicious::Validator to only require one argument.
- Fixed Mojolicious::Validator to also validate empty string values instead of ignoring them. This behaviour had
caused a lot of confusion in the past.
- Fixed plugin generator not to use an __END__ section.
8.33 2020-02-11
- Added EXPERIMENTAL humanize_bytes function to Mojo::Util. (kraih, coolo)
- Added EXPERIMENTAL humanize_bytes method to Mojo::ByteStream.
- Updated Future::AsyncAwait requirement to 0.36 for better tests. (ilmari)
8.32 2020-01-18
- Changed experimental -async flag to -async_await in Mojo::Base, because of a Perl quirk that Future::AsyncAwait
can't handle itself.
- Fixed a bug where the -async_await flag in Mojo::Base would not load Mojo::Promise.
8.31 2020-01-14
- Added attr_is, attr_isnt, attr_like and attr_unlike methods to Test::Mojo. (pau4o)
- Improved is_fresh method in Mojolicious::Static with support for weak etags. (ether)
8.30 2020-01-07
- Switch from Future::AsyncAwait::Frozen to Future::AsyncAwait for async/await support.
8.29 2019-12-28
- Improved async/await support to work in many more cases, such as WebSocket handlers.
8.28 2019-12-26
- Added EXPERIMENTAL support for async/await (with -async Mojo::Base flag).
- Added EXPERIMENTAL all_settled and any methods to Mojo::Promise.
8.27 2019-12-04
- Added EXPERIMENTAL before_command hook.
- Added EXPERIMENTAL scope_guard function to Mojo::Util.
- Removed experimental status from context method in Mojo::Log.
- Changed default MIME type of content_type method in Mojolicious::Types to application/octet-stream. (aitap)
8.26 2019-11-02
- Removed deprecated slice method from Mojo::Collection.
- Moved HTML entities from Mojo::Util into a separate file. (rage311)
- Changed how the state of the event loop is determined in Mojo::Reactor::EV to be more consistent with
Mojo::Reactor::Poll.
8.25 2019-09-29
- Added curfile function to Mojo::File. (Grinnz)
8.24 2019-09-11
- Added EXPERIMENTAL context method to Mojo::Log.
- Added EXPERIMENTAL cleanup event to Mojo::IOLoop::Subprocess.
- Added log helper to Mojolicious::Plugin::DefaultHelpers.
- Improved log messages generated by Mojolicious to include request ids when possible.
8.23 2019-08-12
- Updated Cpanel::JSON::XS requirement to 4.09 for duplicate keys support. (Grinnz)
- Added head and tail methods to Mojo::Collection. (Grinnz)
- Improved Mojo::File not to allow undefined values in paths.
8.22 2019-07-17
- Fixed a bug where Mojo::Exception would not stringify correctly for error messages that end with a newline.
- Fixed Mojo::Exception to append file and line number to stringified error messages that do not end with a newline.
8.21 2019-07-13
- Undeprecated Mojo::Exception::verbose.
- Added support for MOJO_EXCEPTION_VERBOSE environment variable.
- Improved built in templates to use the same stack trace format as Mojo::Exception.
8.20 2019-07-08
- Improved check function in Mojo::Exception to match regular expressions against stringified exception objects too.
- Improved num check in Mojolicious::Validator to accept negative numbers. (kiwiroy)
8.19 2019-07-07
- Deprecated Mojo::Exception::verbose.
- Added EXPERIMENTAL check and raise functions to Mojo::Exception.
- Added -f option to generate plugin command.
- Improved inspect method in Mojo::Exception to be safe to call more than once.
- Fixed various stack trace bugs in Mojo::Exception, so your error messages and stack traces can look slightly
different than before.
- Fixed bugs in reply->exception helper that could result in exceptions without error message.
- Fixed daemonize exception handling in Mojo::Server. (skaji)
8.18 2019-06-28
- Welcome to the Mojolicious core team CandyAngel, Christopher Rasch-Olsen Raa and Dan Book.
- Deprecated the use of the config stash value and $config variable in templates by Mojolicious::Plugin::Config. You
can use the config helper instead. Unfortunately there is no good way to warn users, so this deprecation will be in
effect until the next major release.
- Deprecated Mojo::Collection::slice since nobody remembers anymore what its intended purpose was.
- Added EXPERIMENTAL proxy->get_p, proxy->post_p and proxy->start_p helpers to Mojolicious::Plugin::DefaultHelpers.
- Added EXPERIMENTAL dehop method to Mojo::Headers.
- Added EXPERIMENTAL bytes_waiting and can_write methods to Mojo::IOLoop::Stream.
- Added EXPERIMENTAL high_water_mark attribute to Mojo::IOLoop::Stream.
- Updated bundled TLS certificate.
- Improved Mojo::Base flags not to require a certain order.
- Improved clone performance in Mojo::Headers by 100%.
- Improved streaming response performance slightly.
- Fixed a typo in the 425 status message in Mojo::Message::Response. (CandyAngel)
- Fixed a missing deprecation warning in Mojo::Promise. (marcus)
8.17 2019-05-23
- Fixed a bug in Mojo::UserAgent where the request timeout would not work for keep-alive requests. (ilmari)
8.16 2019-05-14
- Improved Mojo::Headers to reject characters in header values that would corrupt the HTTP message.
- Fixed getopt function in Mojo::Util to behave more like GetOptionsFromArray. (jberger, reneeb)
8.15 2019-04-26
- Updated jQuery to version 3.4.0.
- Improved wait method in Mojo::Promise not to be affected by manually stopped event loops. (Grinnz)
- Fixed a bug where the new method in Mojo::Promise could not be passed a callback to wrap continuation-passing style
APIs, which is incompatible with the JavaScript API.
8.14 2019-04-18
- Added EXPERIMENTAL timer method to Mojo::Promise.
- Added header_exists and header_exists_not methods to Test::Mojo.
- Fixed a bug where the finally callback in Mojo::Promise was passed a value, which is incompatible with the
JavaScript API.
- Fixed a bug in Mojo::Promise where the finally method could change promise values.
- Fixed a merge bug in Mojo::Parameters where multiple values sharing the same name could get lost.
8.13 2019-03-21
- Added EXPERIMENTAL map method to Mojo::Promise. (jberger)
- Added EXPERIMENTAL min_compress_size attribute to Mojolicious::Renderer. (CandyAngel, mjemmeson)
- Improved the security of signed cookies by also signing the cookie name. Note that this means that all sessions will
be reset.
- Fixed Mojo::IOLoop::Server to not check if listen sockets are writable.
8.12 2019-01-27
- Added EXPERIMENTAL timeout method to Mojo::Promise. (batman)
- Removed deprecated module Mojolicious::Plugin::PODRenderer.
- Removed deprecated method mojo_lib_dir from Mojo::Home.
- Fixed rare warning in Mojo::Log. (Grinnz)
8.11 2019-01-01
- Added EXPERIMENTAL support for SameSite cookies to better protect Mojolicious applications from CSRF attacks.
(dylanwh, kraih)
- Added EXPERIMENTAL samesite attributes to Mojo::Cookie::Response and Mojolicious::Cookies. (dylanwh, kraih)
- Added lstat method to Mojo::File. (Grinnz)
- Added remove method to Mojo::File.
- Improved eval command with support for promises. (jberger)
- Improved Mojo::JSON::Pointer to ignore many invalid JSON Pointers.
8.10 2018-12-18
- Added reset event to Mojo::IOLoop.
- Added limit argument to split method in Mojo::ByteStream. (s1037989)
8.09 2018-12-02
- Added touch method to Mojo::File.
- Added max_depth option to list_tree method in Mojo::File.
8.08 2018-11-26
- Added stat method to Mojo::File.
8.07 2018-11-16
- Fixed a bug that caused debug log messages to be generated for static files.
- Fixed a bug in Mojo::Server::Morbo that prevented the before_server_start hook from getting emitted.
8.06 2018-11-07
- Added support for progress updates to Mojo::IOLoop::Subprocess. (karjala)
- Added progress method to Mojo::IOLoop::Subprocess. (karjala)
- Added progress event to Mojo::IOLoop::Subprocess. (karjala)
- Improved debug, error, fatal, info and warn methods in Mojo::Log to accept closures to generate log messages on
demand. So expensive code for debugging can be deactivated easily in production.
- Improved Mojo::Log to use the time format "2018-11-08 14:25:5.76027" and to include the process id in log messages.
- Improved Mojolicious performance by up to 10% with more efficient logging.
- Fixed a problem with the built in templates where an image was missing.
8.05 2018-10-25
- Deprecated Mojolicious::Plugin::PODRenderer in favor of alternatives from CPAN.
- Deprecated Mojo::Home::mojo_lib_dir.
- Replaced continue, flash, redirect_to, respond_to and validation methods in Mojolicious::Controller with helpers in
Mojolicious::Plugin::DefaultHelpers.
- Updated FAQ with a warning not to use Perl 5.10.x and 5.12.x with Mojolicious.
8.04 2018-10-21
- Added EXPERIMENTAL module Mojo::DynamicMethods. (mst)
- Replaced all uses of AUTOLOAD with a much faster alternative, so helpers are faster by up to 400% and stack traces
contain more information. (mst)
- Removed experimental status from server method in Mojolicious.
8.03 2018-10-16
- Added support for weak reference accessors to Mojo::Base. (mst)
- Updated List::Util requirement to 1.41 for set_subname support.
- Fixed a small bug in Mojo::UserAgent where request timeouts could be created twice.
- Improved Mojo::Exception to include a stack trace in verbose output.
- Improved Mojolicious::Types to use the correct MIME types for woff and woff2 files.
8.02 2018-10-01
- Deprecated Mojo::Transaction::success in favor of Mojo::Transaction::result and Mojo::Transaction::error.
Unfortunately this method is used a lot in legacy code, so this deprecation will be in effect until the next major
release.
- Added support for gzip compression of dynamically generated responses (enable with $app->renderer->compress(1)).
- Added EXPERIMENTAL compress attribute to Mojolicious::Renderer.
- Added compressed attribute to Mojo::UserAgent::Transactor.
- Added EXPERIMENTAL respond method to Mojolicious::Renderer.
- Added save_to method to Mojo::Message.
- Added gunzip and gzip methods to Mojo::ByteStream.
- Added gunzip and gzip functions to Mojo::Util.
- Improved HTML5.2 compliance of Mojo::DOM::HTML.
- Fixed a bug in Mojo::Transaction::HTTP that prevented the finish event in Mojo::Message::Request from getting
emitted sometimes.
- Fixed a bug in Mojo::Promise where the ioloop attribute was not a weakened reference after object construction.
- Fixed a bug where the is_fresh helper could only handle If-None-Match headers with a single etag value.
8.01 2018-09-25
- Updated jQuery to version 3.3.1.
- Fixed order of command namespaces so Mojolicious can be upgraded without uninstalling first.
- Fixed a small problem in one of the TLS tests where an error message check was too picky.
8.0 2018-09-15
- Code name "Supervillain", this is a major release.
- Changed query method in Mojo::URL to merge with hash references and append with array references instead of the
other way around. Because appended pairs should be able to preserve order.
- Changed template attribute in Mojolicious::Command to activate vars by default.
- Removed test command.
- Removed deprecated expect_close attribute from Mojo::Content.
- Removed deprecated error and finish events from Mojo::IOLoop::Delay.
- Removed experimental status from server_timing method in Mojo::Headers.
- Removed experimental status from tag_to_html function in Mojo::DOM::HTML.
- Removed experimental status from tag method in Mojo::DOM::HTML.
- Removed experimental status from bytes_read and bytes_written methods in Mojo::IOLoop::Stream.
- Removed experimental status from before_server_start hook.
- Removed experimental status from timing->* helpers.
- Added clone method to Mojo::Promise.
- Added chmod method to Mojo::File.
- Added prepare event to Mojo::UserAgent.
- Added Mojolicious::Command::Author default namespace in Mojolicious::Commands.
- Moved Mojolicious::Command::cpanify to Mojolicious::Command::Author::cpanify.
- Moved Mojolicious::Command::generate to Mojolicious::Command::Author::generate.
- Moved Mojolicious::Command::generate::app to Mojolicious::Command::Author::generate::app.
- Moved Mojolicious::Command::generate::lite_app to Mojolicious::Command::Author::generate::lite_app.
- Moved Mojolicious::Command::generate::makefile to Mojolicious::Command::Author::generate::makefile.
- Moved Mojolicious::Command::generate::plugin to Mojolicious::Command::Author::generate::plugin.
- Moved Mojolicious::Command::inflate to Mojolicious::Command::Author::inflate.
- Updated project metadata.
- Improved Mojo::Promise to allow for reject and resolve methods to be used as class methods.
- Reduced memory usage of Mojo::IOLoop::Stream.
- Fixed a bug that prevented permessage-deflate WebSocket compression to work with newer versions of Chrome.
(elcamlost)
7.94 2018-08-27
- Added EXPERIMENTAL content_type and file_type methods to Mojolicious::Types.
- Fixed a bug where the reply->file helper would not try to set a Content-Type
header.
- Fixed a bug where the render method in Mojolicious::Controller would not
always use Mojolicious::Types to find the correct Content-Type value.
7.93 2018-08-11
- Improved Test::Mojo to accept Mojo::File objects pointing to application
scripts and to override configurations more consistently.
7.92 2018-08-09
- This release reverts the addition of stream classes (added in 7.83), which
have unfortunately resulted in many Mojolicious applications becoming
unstable. While there are no known exploits yet, we've chosen to err on the
side of cautiousness and will classify this as a security issue.
7.91 2018-08-09
- Fixed a bug in Mojo::IOLoop::Stream where is_readable could not be called
after a timeout event.
7.90 2018-08-08
- Deprecated expect_close attribute in Mojo::Content.
- Removed deprecated delay helper from Mojolicious::Plugin::DefaultHelpers.
- Changed error message for destroyed transactions from
"Connection already closed" to "Transaction already destroyed".
- Fixed a race condition in Mojo::UserAgent where closing connections could
sometimes end up being reused.
- Fixed an RFC 7230 compliance problem where HTTP/1.1 responses were sometimes
incomplete.
7.89 2018-08-06
- Mojolicious has a new logo!
7.88 2018-07-11
- Added EXPERIMENTAL bytes_read, bytes_written and transition methods to
Mojo::IOLoop::Stream.
- Added transition event to Mojo::IOLoop::Stream.
- Improved default request ids generated by Mojo::Message::Request to be a
little more unique.
- Fixed a bug where prefork tests would fail if a prefork server was already
running.
7.87 2018-07-04
- Added optional support for Cpanel::JSON::XS to Mojo::JSON for much better
JSON encoding and decoding performance. That also means Mojo::JSON can no
longer encode the two Unicode whitespace characters u2028 and u2029, since
this is unsupported by Cpanel::JSON::XS.
- Improved Mojo::JSON to encode unknown reference types to "null",
consistently with Cpanel::JSON::XS.
7.86 2018-07-02
- Added template attribute to Mojolicious::Command.
- Added spawn event to Mojo::IOLoop::Subprocess.
- Improved Mojo::IOLoop::Subprocess to only fork new processes after the event
loop has been started.
7.85 2018-06-17
- Removed deprecated build_tx, config, handler and log methods from Mojo.
- Added promisify method to Mojo::UserAgent::Transactor.
- Improved Mojolicious::Command to die on template errors.
7.84 2018-06-05
- Fixed a bug where test servers would be started when reusing a
Mojo::UserAgent object after fork.
7.83 2018-06-02
- Replaced MOJO_DAEMON_DEBUG and MOJO_USERAGENT_DEBUG environment variables
with MOJO_SERVER_DEBUG and MOJO_CLIENT_DEBUG. (anparker)
- Updated IO::Socket::SSL requirement to 2.009 for ALPN support.
- Added modules Mojo::IOLoop::Stream::HTTPClient,
Mojo::IOLoop::Stream::HTTPServer, Mojo::IOLoop::Stream::WebSocketClient and
Mojo::IOLoop::Stream::WebSocketServer. (anparker)
- Added transition method to Mojo::IOLoop. (anparker)
- Added close_connections method to Mojo::Server::Daemon. (anparker)
- Added stream_class and tls_protocols arguments to client and server methods
in Mojo::IOLoop. (anparker, sri)
- Fixed a small render_maybe argument localization bug.
7.82 2018-05-27
- Removed experimental status from new_tag and selector methods in Mojo::DOM.
- Improved Mojo::Server::PSGI with support for the before_server_start hook.
- Fixed a bug where render_maybe in Mojolicious::Controller could not render
multiple alternatives properly because arguments were not localized.
7.81 2018-05-21
- Added request_id attribute to Mojo::Message::Request.
- Improved all built in templates to contain a comment with their request id.
- Improved some log messages to contain a request id.
7.80 2018-05-20
- Many users expected that Mojo::UserAgent would verify all TLS certificates
by default. Unfortunately that has not been the case so far, but will change
with this release in an effort to strengthen security. By default
Mojo::UserAgent will now reject all invalid TLS certificates. To return to
the previous behavior you can use the new insecure attribute.
$ua->insecure(1);
To make testing easier, Test::Mojo will default to having the insecure
attribute activated. And with the get command you can use the new -k option.
mojo get -k https://127.0.0.1:3000
That also means that Mojo::IOLoop::TLS will no longer have a default
tls_verify value. To disable TLS certificate verification there you can use
the value 0x00.
$tls->negotiate(tls_verify => 0x00);
- Added insecure attribute to Mojo::UserAgent.
- Added EXPERIMENTAL server method to Mojolicious.
- Added EXPERIMENTAL before_server_start hook.
- Added -k option to get command.
- Fixed a bug where Mojo::DOM could only reuse Mojo::DOM objects containing
root nodes.
7.79 2018-05-14
- Added EXPERIMENTAL selector method to Mojo::DOM.
- Added reply->file helper to Mojolicious::Plugin::DefaultHelpers.
7.78 2018-05-11
- Deprecated delay helper in Mojolicious::Plugin::DefaultHelpers.
- Added EXPERIMENTAL new_tag method to Mojo::DOM. (jberger, sri)
- Added EXPERIMENTAL tag method to Mojo::DOM::HTML.
- Added EXPERIMENTAL tag_to_html function to Mojo::DOM::HTML.
- Improved performance of all DOM manipulation methods in Mojo::DOM
significantly when reusing Mojo::DOM objects.
- Fixed a Windows directory traversal security issue. (dmanto)
7.77 2018-04-28
- Added support for namespace selectors like "ns|*" to Mojo::DOM::CSS.
(jberger)
- Added support for :link and :visited pseudo-classes to Mojo::DOM::CSS.
- Added support for hyphen-separated list attribute selectors like
"[heflang|=en]" to Mojo::DOM::CSS.
7.76 2018-04-23
- Due to lack of domain experts on the team, Windows is no longer officially
supported. Moving forward, we will try to keep Mojolicious installable on
Windows, but cannot make any promises regarding security and/or reliability.
- Fixed a bug in Mojolicious::Plugin::Config where the config stash value was
not available when the config_override feature was used. (tim)
7.75 2018-04-09
- Deprecated placeholder quoting with "(placeholder)" in favor of
"<placeholder>".
- Fixed warnings in Mojo::Collection.
7.74 2018-04-06
- Improved unknown placeholder types to match nothing in
Mojolicious::Routes::Pattern.
7.73 2018-04-05
- Added support for routes with placeholder types.
- Added types attribute to Mojolicious::Routes and
Mojolicious::Routes::Pattern.
- Added add_type method to Mojolicious::Routes.
- Added to_file method to Mojo::Asset, Mojo::Asset::File and
Mojo::Asset::Memory.
- Added num placeholder type to Mojolicious::Routes.
- Removed deprecated use of Mojo::Promise::all and Mojo::Promise::race as
instance methods.
7.72 2018-04-02
- Improved Mojo::Content::MultiPart performance for large numbers of parts.
(philipspencer)
- Fixed another problem with ordering of sources for content negotiation in
Mojolicious::Renderer.
7.70 2018-03-01
- Fixed ordering of sources for content negotiation in Mojolicious::Renderer.
- Fixed a content negotiation bug in Mojolicious::Renderer that prevented all
sources from being considered at the same time.
- Fixed source links in documentation browser.
7.69 2018-02-24
- Improved respond_to method in Mojolicious::Controller and accepts helper in
Mojolicious::Plugin::DefaultHelpers to no longer limit support for multiple
MIME types to requests containing an X-Requested-With header, since browsers
have become smarter about requesting what they actually want.
7.68 2018-02-22
- Fixed RFC 7230 compliance bugs in Mojo::Message::Request that prevented
"GET //foo/bar HTTP/1.1" to be interpreted as a request target in origin
form.
7.67 2018-02-19
- Modernized ".perltidyrc".
- Fixed a bug in Mojo::Asset::File where forked processes could delete
temporary files prematurely.
7.66 2018-02-13
- This release contains fixes for security issues, everybody should upgrade!
- Removed origin attribute of Mojo::Cookie::Response.
- Removed deprecated data and remaining methods from Mojo::IOLoop::Delay.
- Added host_only attribute to Mojo::Cookie::Response.
- Improved all method in Mojo::Promise to resolve with no results if no
promises have been passed.
- Fixed a bug in Mojo::UserAgent::CookieJar where old cookies could be leaked.
(exp-innit, sri)
7.65 2018-02-11
- Added EXPERIMENTAL timing->begin, timing->elapsed, timing->rps and
timing->server_timing helpers to Mojolicious::Plugin::DefaultHelpers.
- Added EXPERIMENTAL server_timing method to Mojo::Headers.
- Added support for new HTTP status code.
7.64 2018-02-07
- Fixed a bug in Mojo::Log where short log messages spanning multiple lines
would not be formatted properly for systemd.
7.63 2018-02-06
- Improved Mojo::Log to use native systemd log levels.
7.62 2018-02-01
- Added -u option to get command. (jberger)
- Added dont_use_nlink option to list_tree method in Mojo::File.
- Added reverse proxy section to Mojolicious::Guides::Cookbook. (polettix)
- Fixed a promise resolution bug in Mojo::Promise.
7.60 2018-01-02
- Deprecated use of Mojo::Promise::all and Mojo::Promise::race as instance
methods.
- Improved all and race methods in Mojo::Promise to be able to handle
arbitrary then-ables.
- Improved number detection in Mojo::JSON with a workaround for an upcoming
breaking change in Perl 5.28. (haarg)
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
- Fixed a bug in Mojo::Base that prevented composition of multiple roles.
(aferreira, batman)
- Fixed a bug in Mojolicious::Static where text files from DATA sections would
not be UTF-8 encoded. (Grinnz)
7.59 2017-12-15
- Moved home and ua attributes from Mojo to Mojolicious.
- Changed Mojo::IOLoop::Client to only start a thread pool with
Net::DNS::Native on demand. (Grinnz)
- Improved subprocess method in Mojo::IOLoop to allow for easier role
composition.
- Fixed RFC 7230 compliance bug in Mojo::Message::Response. (jberger)
7.57 2017-11-18
- Fixed installation problems with some versions of Perl on Windows.
7.56 2017-11-14
- Added num check to Mojolicious::Validator.
- Improved built-in templates with high resolution logos.
7.55 2017-11-06
- Added -role flag to Mojo::Base. (jberger)
- Improved tablify function in Mojo::Util to work with non-rectangular arrays.
(CandyAngel, jabberwok)
- Improved Windows compatibility of Mojo::Server::Daemon.
7.54 2017-11-05
- Fixed a bug in Mojo::Promise where promise chains could not recover from
rejections.
7.53 2017-11-04
- Added module Mojo::Promise.
- Improved Mojo::IOLoop::Delay to be a subclass of Mojo::Promise.
7.52 2017-11-02
- Added delete_p, get_p, head_p, options_p, patch_p, post_p, put_p and start_p
methods to Mojo::UserAgent.
7.51 2017-10-31
- Added -signatures flag to Mojo::Base and Mojolicious::Lite.
- Added support for new HTTP status code.
- Improved ojo to enable subroutine signatures automatically on Perl 5.20+.
7.50 2017-10-30
- Deprecated error and finish events in Mojo::IOLoop::Delay. Since there is no
good way to warn our users about this deprecation, it will be in effect
until the next major release. Where we will also change the base class from
Mojo::EventEmitter to Mojo::Base.
- Improved documentation browser with links to MetaCPAN.
7.49 2017-10-28
- Deprecated Mojo::IOLoop::Delay::data and Mojo::IOLoop::Delay::remaining.
- Added Promises/A+ support. Note that Mojo::IOLoop::Delay previously
inherited a catch method from Mojo::EventEmitter that was passed the error
message as second argument instead of the first, so you might have to change
$delay->catch(sub { my ($delay, $error) = @_; ... });
to
$delay->catch(sub { my ($error) = @_; ... });
- Added all, catch, finally, race and then methods to Mojo::IOLoop::Delay.
- Updated jQuery to version 3.2.1.
7.47 2017-10-05
- Added multipart content generator to Mojo::UserAgent::Transactor.
- Fixed a bug in Mojo::File where parts of a path could get accidentally
upgraded from bytes to characters.
7.46 2017-09-12
- Fixed support for versions of IO::Socket::SSL older than 1.965 again.
7.45 2017-09-06
- Fixed support for versions of IO::Socket::SSL older than 1.965. (mudler,
foursixnine, genio, sri)
7.44 2017-09-02
- Reverted a previous change to Mojo::Loader that allowed for load_class to be
called on the same class multiple times, since it had very bad side effects.
- Improved Mojo::IOLoop::TLS to use a little less memory.
- Fixed a bug where Mojolicious controllers like "MyApp::Controller::Foo::Bar"
would disappear if loading the controller "MyApp::Controller::Foo" was
attempted but failed.
7.43 2017-08-18
- Improved Mojo::Base role support with the ability to rebless objects.
7.42 2017-08-17
- Improved Mojo::Base role support with shorthands.
MyClass->with_roles('MyClass::Role::Foo')
becomes
MyClass->with_roles('+Foo')
7.41 2017-08-15
- Added with_roles method to Mojo::ByteStream, Mojo::Collection, Mojo::DOM and
Mojo::File.
7.40 2017-08-14
- Added support for Role::Tiny extensions to all classes based on Mojo::Base.
(dotan)
- Added with_roles method to Mojo::Base. (dotan)
- Added the guide Mojolicious::Guides::Testing. (scottw)
- Replaced systemd detection in Mojo::Log with the MOJO_LOG_SHORT environment
variable, since there is no reliable way to detect systemd.
7.39 2017-08-03
- Removed experimental close_idle_connections method from
Mojo::Server::Daemon.
- Increased default graceful_timeout from 60 to 120 seconds in
Mojo::Server::Prefork.
- Improve Mojo::Server::Daemon to log request errors.
- Fixed a bug where Mojo::Server::Daemon would close connections too quickly
and interrupt requests.
7.38 2017-07-30
- Added extra attribute to Mojolicious::Static. (jabberwok)
- Improve Mojo::URL performance significantly.
- Fixed memory leak in Mojo::URL that was caused by a Perl 5.24 bug.
7.37 2017-07-21
- Added slugify method to Mojo::ByteStream. (Grinnz)
- Added slugify function to Mojo::Util. (Grinnz)
- Fixed bugs in Mojo::IOLoop and Mojo::Reactor::Poll that would prevent a
reset from clearing events.
7.36 2017-07-09
- Fixed basename method in Mojo::File to work with relative paths. (jberger)
- Fixed a bug where Mojo::Log could not correctly identify if it was deployed
with systemd.
- Fixed Mojo::HelloWorld to actually be a Mojolicious subclass.
7.35 2017-07-05
- Removed deprecated watch attribute from Mojo::Server::Morbo.
- Added spare attribute to Mojo::Server::Prefork.
- Added -s option to prefork command.
- Added fd option to Mojo::IOLoop::Server::listen.
- Added fd parameter to Mojo::Server::Daemon::listen.
- Added spare setting to Hypnotoad.
- Increased default graceful_timeout from 20 to 60 seconds and
heartbeat_timeout from 20 to 30 seconds in Mojo::Server::Prefork.
7.34 2017-07-02
- Added short attribute to Mojo::Log.
- Improved Mojo::Log to print log messages without timestamps to STDERR when
deployed with systemd.
- Improved Mojo::DOM performance slightly.
7.33 2017-06-05
- Added EXPERIMENTAL support for :matches pseudo-class and :not pseudo-class
with compount selectors to Mojo::DOM::CSS.
- Fixed a few form element value extraction bugs in Mojo::DOM.
- Fixed version command to use the new MetaCPAN API, since the old one got
shut down.
7.32 2017-05-28
- Added -f option to get command.
- Improved get command with support for passing request data by redirecting
STDIN.
- Fixed memory leak in Mojo::IOLoop::Client that sometimes prevented the
connect timeout from working correctly for TLS handshakes.
7.31 2017-04-23
- Removed deprecated files, slurp and spurt functions from Mojo::Util.
- Removed deprecated parts attribute from Mojo::Home.
- Removed deprecated slurp and spurt methods from Mojo::ByteStream.
- Removed deprecated lib_dir, list_files, parse and rel_dir methods from
Mojo::Home.
- Removed deprecated rel_dir method from Mojolicious::Command.
- Removed deprecated is_status_class method from Mojo::Message::Response.
- Fixed a bug in the app generator command where the config file name was not
based on the application moniker.
7.29 2017-03-12
- Added support for overriding configuration files in applications tested with
Test::Mojo.
- Added html_attr_unescape function to Mojo::Util.
- Fixed unescaping of HTML5 attribute values in Mojo::DOM::HTML.
7.28 2017-03-07
- Added copy_to, realpath and sibling methods to Mojo::File.
- Added dir option to list_tree method in Mojo::File.
- Improved app generator command to generate a config file.
(tudorconstantin)
7.27 2017-02-27
- Added support for UNIX domain sockets. (sri, salva)
- Improved Mojo::UserAgent to complain about unsupported protocols.
- Fixed a bug in Mojo::URL where invalid host strings could be generated.
- Fixed blib handling in Mojo::Home.
Add a comment that distfiles should be uploaded when updating the package.
7.26 2017-02-15
- Fixed bug in Mojo::IOLoop::Subprocess where starting multiple subprocesses
at once could cause expcetions. (jberger)
Upstream changes:
7.25 2017-02-09
- Fixed cleanup bugs in Mojo::IOLoop::Stream.
7.24 2017-02-05
- Added open method to Mojo::File.
- Added tempfile function to Mojo::File.
- Fixed bug in Mojo::Asset::File where the slurp method would not work
correctly for very large files.
Upstream changes:
7.23 2017-01-29
- Added max_request_size attribute to Mojolicious.
- Added max_response_size attribute to Mojo::UserAgent.
- Added to_unsafe_string method to Mojo::URL.
- Added -S option to get command.
- Fixed a data corruption problem in Mojo::IOLoop::Stream, caused by a
dependency of IO::Socket::SSL on the internal representation of strings,
which differs from IO::Socket::IP. (coolo, sri)
Upstream changes:
7.22 2017-01-25
- Added ports method to Mojo::Server::Daemon.
- Added remove_tree method to Mojo::File.
- Improved spurt method in Mojo::File with support for writing multiple chunks
at once.
7.21 2017-01-21
- Added extract_usage function to Mojo::Util.
- Improve getopt function in Mojo::Util to use @ARGV by default.
Upstream changes:
7.20 2017-01-18
- Fixed a bug in Mojo::File where the make_path method would die even if no
error occurred.
- Fixed warnings in Mojo::IOLoop::TLS.
7.19 2017-01-14
- Added module Mojo::IOLoop::TLS.
- Added can_nnr and can_socks methods to Mojo::IOLoop::Client.
7.18 2017-01-11
- Fixed support for relative %INC paths in Mojo::Home.
- Fixed a bug in Mojo::URL where invalid fragment strings could be generated.
7.17 2017-01-11
- Fixed Windows bugs in Mojo::File. (kmx)
7.16 2017-01-10
- Fixed Windows bugs in Mojo::File. (kmx)
7.15 2017-01-09
- Deprecated Mojo::ByteStream::slurp and Mojo::Util::slurp in favor of
Mojo::File::slurp.
- Deprecated Mojo::ByteStream::spurt and Mojo::Util::spurt in favor of
Mojo::File::spurt.
- Deprecated Mojo::Util::files in favor of Mojo::File::list_tree.
- Deprecated Mojo::Home::lib_dir, Mojo::Home::parse, Mojo::Home::parts in
favor of new features inherited from the Mojo::File base class.
- Added module Mojo::File.
- Improved Mojo::Home to be a subclass of Mojo::File.
- Improved mojo_lib_dir and rel_file methods in Mojo::Home to return
Mojo::Home objects.
- Improved rel_file methods in Mojolicious::Command to return Mojo::File
objects.
- Improved every_param and param methods in Mojolicious::Validator::Validation
to use the current topic.
7.14 2017-01-04
- Deprecated Mojo::Home::list_files in favor of Mojo::Util::files.
- Deprecated Mojo::Home::rel_dir in favor of Mojo::Home::rel_file.
- Deprecated Mojolicious::Command::rel_dir in favor of
Mojolicious::Command::rel_file.
- Fixed a bug in Mojo::IOLoop::Subprocess where the pipe used for IPC could
disappear because of a timeout.
Upstream changes:
7.13 2016-12-23
- Deprecated Mojo::Message::Response::is_status_class in favor of new is_*
methods.
- Added result method to Mojo::Transaction.
- Added is_client_error, is_error, is_info, is_redirect, is_server_error and
is_success methods to Mojo::Message::Response.
- Fixed bug where Morbo could not handle broken symlinks. (Grinnz)
7.12 2016-12-18
- Added button_to and csrf_button_to helpers to
Mojolicious::Plugin::TagHelpers.
- Removed experimental status from Mojo::IOLoop::Subprocess.
- Removed experimental status from subprocess method in Mojo::IOLoop.
Upstream changes:
7.11 2016-11-30
- Added EXPERIMENTAL close_idle_connections method to Mojo::Server::Daemon.
- Improved one_tick method in Mojo::IOLoop to protect from recursion, similar
to the start method.
- Improved log attribute in Mojolicious to make it easier to override default
settings. (jberger)
- Fixed bug in Mojo::Server::Prefork where workers would accept keep-alive
requests after a graceful shutdown had already been initiated.
- Fixed bugs in Mojo::Util and Mojo::Asset::File where incomplete writes would
not be recognized as errors. (bobkare, sri)
Upstream changes:
7.10 2016-11-01
- Added getopt function to Mojo::Util.
7.09 2016-10-22
- Added every_header method to Mojo::Headers.
- Fixed redirect bug in Mojo::UserAgent::Transactor.
- Fixed a few proxy bugs in Mojo::UserAgent.
Upstream changes:
7.08 2016-09-23
- Added -i and -o options to get command.
- Updated jQuery to version 3.1.1.
- Improved accuracy of finished_ok test in Test::Mojo.
- Fixed state transition bug in Mojo::Transaction::HTTP that caused message
bodies to be included in responses to HEAD requests.
7.07 2016-09-20
- Fixed bug in Mojo::UserAgent::Transactor where 303 redirects would not be
followed correctly with GET requests. (jberger)
----------------------------------
7.06 2016-09-17
- Fixed bug where Mojolicious::Renderer would wrap text in layouts.
- Fixed a few test description encoding bugs in Test::Mojo.
Upstream changes:
7.05 2016-08-29
- Fixed bug in Mojo::IOLoop::Subprocess where EV would steal the subprocess
exit status.
7.04 2016-08-28
- Added EXPERIMENTAL support for performing computationally expensive
operations in subprocesses, without blocking the event loop. (jberger, sri)
- Added EXPERIMENTAL module Mojo::IOLoop::Subprocess. (jberger, sri)
- Added EXPERIMENTAL subprocess method to Mojo::IOLoop. (jberger, sri)
- Improved many methods in Mojolicious::Controller to die more gracefully if
the connection has already been closed.
- Fixed bug where Mojo::UserAgent would try to follow redirects for CONNECT
requests.
Upstream changes:
7.03 2016-08-17
- Fixed packaging errors.
7.02 2016-08-17
- Fixed bugs in Mojo::Loader and Mojo::Util where the DATA handle would be
mentioned in error messages. (jberger, kiwiroy, sri)
Upstream changes:
7.01 2016-08-01
- Improved support for systemd.
- Fixed a bug in Mojo::Server::Prefork where PID files would not contain a
newline character.
Upstrem changes:
7.0 2016-07-19
- Code name "Doughnut", this is a major release.
- Removed Mojolicious::Plugin::Charset.
- Removed authority method from Mojo::URL.
- Removed squish method from Mojo::ByteStream.
- Removed squish function from Mojo::Util.
- Removed support for smart whitespace trimming from all_text and text methods
in Mojo::DOM.
- Updated jQuery to version 3.1.0.
- Improved Mojo::URL not to include the userinfo part when generating URLs, as
recommended by the URL Living Standard.
- Improved Mojolicious::Plugin::Config to no longer log which files have been
loaded.
- Fixed trailing slash bug in Mojo::URL.
- Fixed a few whitespace bugs in Mojo::DOM.
- Fixed attribute selector bug in Mojo::DOM::CSS. (Akron)
- Fixed a bug causing headers with zero length values to be ignored by the get
command. (jberger)
Upstream changes:
6.66 2016-06-16
- Fixed support for CONNECT requests without keep alive connections in
Mojo::UserAgent. (anparker, sri)
6.65 2016-06-14
- Added password and username methods to Mojo::URL.
- Updated jQuery to version 3.0.0.
- Fixed "0" value bug in Mojo::UserAgent::CookieJar. (jamadam)
6.64 2016-06-09
- Updated HTML5 entities in Mojo::Util.
- Improved Mojo::IOLoop to fall back to Mojo::Reactor::Poll if Perl has been
compiled with fork emulation.
6.63 2016-06-03
- Removed deprecated check method from Mojo::Server::Morbo.
- Removed deprecated build, compile and interpret methods from Mojo::Template.
- Removed deprecated multi_accept methods from Mojo::IOLoop,
Mojo::IOLoop::Server and Mojo::Server::Daemon.
- Updated jQuery to version 2.2.4.
- Improved generator commands not to overwrite existing files.
Upstream changes:
6.62 2016-05-14
- Removed deprecated is_debug, is_error, is_info and is_warn methods from
Mojo::Log.
- Improved support for Ubuntu on Windows.
6.61 2016-04-30
- Improved Mojo::Server::Daemon to no longer log when a connection has been
closed prematurely.
- Fixed bug in Mojo::Content where the drain event would not always be emitted
for dynamically generated content with a Content-Length header.
6.60 2016-04-25
- Fixed bug in Mojo::IOLoop where stopping gracefully would sometimes result
in connections getting closed too early. (anparker, sri)
----------------------------------
6.59 2016-04-22
- Removed deprecated xss_escape function from Mojo::Util.
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
- Improved Mojo::Server::Daemon to log when a connection has been closed
prematurely.
- Improved Mojo::Server::Prefork to log when the manager process has been
stopped.
- Fixed a few tests to keep up with breaking changes in IO::Socket::SSL.
- Fixed a few timing bugs in tests.
Upstream changes:
6.58 2016-04-09
- Removed deprecated build_frame and parse_frame methods from
Mojo::Transaction::WebSocket.
- Added fork policy to Mojolicious::Guides::Contributing.
- Improved Mojo::JSON to generate canonical JSON objects.
- Fixed bug in Mojo::Loader where classes with exceptions could not be loaded
twice. (kiwiroy, sri)
6.57 2016-03-23
- Fixed a few validation bugs in Mojolicious::Validator::Validation.
(Mikey, sri)
- Fixed copyright notice.