Hello community, here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2020-10-12 13:57:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old) and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3486 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious" Mon Oct 12 13:57:58 2020 rev:143 rq:839314 version:8.61 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2020-09-29 19:02:16.693808096 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3486/perl-Mojolicious.changes 2020-10-12 13:59:17.702215605 +0200 @@ -1,0 +2,10 @@ +Sat Oct 3 11:22:22 UTC 2020 - Oliver Kurz <ok...@suse.com> + +- updated to 8.61 + see /usr/share/doc/packages/perl-Mojolicious/Changes + + 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. + +------------------------------------------------------------------- Old: ---- Mojolicious-8.60.tar.gz New: ---- Mojolicious-8.61.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mojolicious.spec ++++++ --- /var/tmp/diff_new_pack.rxOsyv/_old 2020-10-12 13:59:18.294215852 +0200 +++ /var/tmp/diff_new_pack.rxOsyv/_new 2020-10-12 13:59:18.298215853 +0200 @@ -17,7 +17,7 @@ Name: perl-Mojolicious -Version: 8.60 +Version: 8.61 Release: 0 %define cpan_name Mojolicious Summary: Real-time web framework ++++++ Mojolicious-8.60.tar.gz -> Mojolicious-8.61.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/Changes new/Mojolicious-8.61/Changes --- old/Mojolicious-8.60/Changes 2020-09-27 17:46:20.000000000 +0200 +++ new/Mojolicious-8.61/Changes 2020-10-01 16:06:35.000000000 +0200 @@ -1,4 +1,8 @@ +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) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/META.json new/Mojolicious-8.61/META.json --- old/Mojolicious-8.60/META.json 2020-09-27 17:49:37.000000000 +0200 +++ new/Mojolicious-8.61/META.json 2020-10-02 13:01:03.000000000 +0200 @@ -63,6 +63,6 @@ "web" : "https://webchat.freenode.net/#mojo" } }, - "version" : "8.60", + "version" : "8.61", "x_serialization_backend" : "JSON::PP version 4.05" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/META.yml new/Mojolicious-8.61/META.yml --- old/Mojolicious-8.60/META.yml 2020-09-27 17:49:37.000000000 +0200 +++ new/Mojolicious-8.61/META.yml 2020-10-02 13:01:02.000000000 +0200 @@ -34,5 +34,5 @@ homepage: https://mojolicious.org license: http://www.opensource.org/licenses/artistic-license-2.0 repository: https://github.com/mojolicious/mojo.git -version: '8.60' +version: '8.61' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojo/IOLoop.pm new/Mojolicious-8.61/lib/Mojo/IOLoop.pm --- old/Mojolicious-8.60/lib/Mojo/IOLoop.pm 2020-09-27 02:33:25.000000000 +0200 +++ new/Mojolicious-8.61/lib/Mojo/IOLoop.pm 2020-10-01 16:06:47.000000000 +0200 @@ -95,7 +95,6 @@ sub reset { my $self = _instance(shift)->emit('reset'); - $self->stream($_)->unsubscribe('close') for (keys %{$self->{in}}, keys %{$self->{out}}); delete @$self{qw(accepting acceptors events in out stop)}; $self->reactor->reset; $self->stop; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojo/UserAgent.pm new/Mojolicious-8.61/lib/Mojo/UserAgent.pm --- old/Mojolicious-8.60/lib/Mojo/UserAgent.pm 2020-09-17 13:42:07.000000000 +0200 +++ new/Mojolicious-8.61/lib/Mojo/UserAgent.pm 2020-10-01 16:02:31.000000000 +0200 @@ -51,7 +51,8 @@ my ($self, $tx, $cb) = @_; # Fork-safety - $self->_cleanup->server->restart unless ($self->{pid} //= $$) eq $$; + $self->_cleanup->server->restart if $self->{pid} && $self->{pid} ne $$; + $self->{pid} //= $$; # Non-blocking if ($cb) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/lib/Mojolicious.pm new/Mojolicious-8.61/lib/Mojolicious.pm --- old/Mojolicious-8.60/lib/Mojolicious.pm 2020-09-19 20:54:34.000000000 +0200 +++ new/Mojolicious-8.61/lib/Mojolicious.pm 2020-10-01 15:18:43.000000000 +0200 @@ -58,7 +58,7 @@ has validator => sub { Mojolicious::Validator->new }; our $CODENAME = 'Supervillain'; -our $VERSION = '8.60'; +our $VERSION = '8.61'; sub BUILD_DYNAMIC { my ($class, $method, $dyn_methods) = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/t/mojo/ioloop.t new/Mojolicious-8.61/t/mojo/ioloop.t --- old/Mojolicious-8.60/t/mojo/ioloop.t 2020-09-27 02:33:17.000000000 +0200 +++ new/Mojolicious-8.61/t/mojo/ioloop.t 2020-10-01 16:08:28.000000000 +0200 @@ -83,19 +83,18 @@ }; subtest 'Handle and reset' => sub { - my ($handle, $handle2, $reset, $close); + my ($handle, $handle2, $reset); Mojo::IOLoop->singleton->on(reset => sub { $reset++ }); my $id = Mojo::IOLoop->server( (address => '127.0.0.1') => sub { my ($loop, $stream) = @_; - $stream->on(close => sub { $close++ }); $handle = $stream->handle; Mojo::IOLoop->stop; } ); my $port = Mojo::IOLoop->acceptor($id)->port; Mojo::IOLoop->acceptor($id)->on(accept => sub { $handle2 = pop }); - my $id2 = Mojo::IOLoop->client((address => '127.0.0.1', port => $port) => sub { pop->on(close => sub { $close++ })}); + my $id2 = Mojo::IOLoop->client((address => '127.0.0.1', port => $port) => sub { }); Mojo::IOLoop->start; my ($count, $running, $timer) = (0) x 3; Mojo::IOLoop->recurring(10 => sub { $timer++ }); @@ -111,7 +110,6 @@ is $handle, $handle2, 'handles are equal'; isa_ok $handle, 'IO::Socket', 'right reference'; is $reset, 1, 'reset event has been emitted once'; - is $close, undef, 'reset unsubscribed close on streams'; }; subtest 'The poll reactor stops when there are no events being watched anymore' => sub { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.60/t/mojo/user_agent.t new/Mojolicious-8.61/t/mojo/user_agent.t --- old/Mojolicious-8.60/t/mojo/user_agent.t 2020-09-17 13:41:35.000000000 +0200 +++ new/Mojolicious-8.61/t/mojo/user_agent.t 2020-10-01 16:02:37.000000000 +0200 @@ -517,33 +517,39 @@ is $tx->res->code, 200, 'right status'; is $tx->res->body, 'works!', 'right content'; -# Fork-safety -$tx = $ua->get('/'); -ok $tx->keep_alive, 'keep connection alive'; -is $tx->res->body, 'works!', 'right content'; -my $last = $tx->connection; -$port = $ua->server->url->port; -$tx = $ua->get('/'); -is $tx->res->body, 'works!', 'right content'; -is $tx->connection, $last, 'same connection'; -is $ua->server->url->port, $port, 'same port'; -{ - local $$ = -23; - $tx = $ua->get('/'); - ok !$tx->kept_alive, 'kept connection not alive'; +subtest 'Fork-safety' => sub { + my $tx = $ua->get('/'); ok $tx->keep_alive, 'keep connection alive'; is $tx->res->body, 'works!', 'right content'; - isnt $tx->connection, $last, 'new connection'; - isnt $ua->server->url->port, $port, 'new port'; - $port = $ua->server->url->port; - $last = $tx->connection; - $tx = $ua->get('/'); - ok $tx->kept_alive, 'kept connection alive'; - ok $tx->keep_alive, 'keep connection alive'; + my $last = $tx->connection; + my $port = $ua->server->url->port; + $tx = $ua->get('/'); is $tx->res->body, 'works!', 'right content'; is $tx->connection, $last, 'same connection'; is $ua->server->url->port, $port, 'same port'; -} + { + local $$ = -23; + my $tx = $ua->get('/'); + ok !$tx->kept_alive, 'kept connection not alive'; + ok $tx->keep_alive, 'keep connection alive'; + is $tx->res->body, 'works!', 'right content'; + isnt $tx->connection, $last, 'new connection'; + isnt $ua->server->url->port, $port, 'new port'; + my $port2 = $ua->server->url->port; + my $last2 = $tx->connection; + { + local $$ = -24; + my $tx = $ua->get('/'); + ok !$tx->kept_alive, 'kept connection not alive'; + ok $tx->keep_alive, 'keep connection alive'; + is $tx->res->body, 'works!', 'right content'; + isnt $tx->connection, $last, 'new connection'; + isnt $tx->connection, $last2, 'new connection'; + isnt $ua->server->url->port, $port, 'new port'; + isnt $ua->server->url->port, $port2, 'new port'; + } + } +}; # Introspect my $req = my $res = '';