./www/p5-Mojolicious, Perl web framework: The Web In A Box!

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 8.59, Package name: p5-Mojolicious-8.59, Maintainer: pkgsrc-users

Back in the early days of the web there was this wonderful Perl
library called CGI, many people only learned Perl because of it.
It was simple enough to get started without knowing much about the
language and powerful enough to keep you going, learning by doing
was much fun. While most of the techniques used are outdated now,
the idea behind it is not. Mojolicious is a new attempt at implementing
this idea using state of the art technology. Features:

* An amazing MVC web framework supporting a simplified single
file mode through Mojolicious::Lite. Powerful out of the box
with RESTful routes, plugins, Perl-ish templates, session
management, signed cookies, testing framework, static file
server, I18N, first class unicode support and much more for
you to discover.
* Very clean, portable and Object Oriented pure Perl API without
any hidden magic and no requirements besides Perl 5.8.7.
* Full stack HTTP 1.1 and WebSocket client/server implementation
with IPv6, TLS, Bonjour, IDNA, Comet (long polling), chunking
and multipart support.
* Builtin async IO web server supporting epoll, kqueue, UNIX
domain sockets and hot deployment, perfect for embedding.
* Automatic CGI, FastCGI and PSGI detection.
* JSON and XML/HTML5 parser with CSS3 selector support.
* Fresh code based upon years of experience developing Catalyst.


Required to run:
[lang/perl5]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)

SHA1: 339a278944baaf581012562c78358cb6c0cce631
RMD160: fcc61afd2d8d06a3f0e1dcce09d7e474e145b3ec
Filesize: 761.369 KB

Version history: (Expand)


CVS history: (Expand)


   2020-09-20 09:56:20 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Mojolicious: update to 8.59.

8.59  2020-09-05
  - Added l function to ojo. (kiwiroy)
  - Added MOJO_PROMISE_DEBUG environment variable to Mojo::Promise.
   2020-09-07 21:12:46 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Mojolicious: update to 8.58.

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)
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631) | Package updated
Log message:
*: bump PKGREVISION for perl-5.32.
   2019-11-04 23:10:16 by Roland Illig | Files touched by this commit (243)
Log message:
www: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

Manually excluded phraseanet since pkglint got the indentation wrong.
   2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) | Package updated
Log message:
Bump PKGREVISIONs for perl 5.30.0
   2018-09-02 09:55:30 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Mojolicious: update to 7.94.

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.
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2018-08-21 15:48:58 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-Mojolicious: update to 7.93.

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.