Hello community, here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2017-06-17 10:21:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old) and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious" Sat Jun 17 10:21:04 2017 rev:69 rq:502484 version:7.33 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2017-06-07 09:52:16.177424144 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes 2017-06-17 10:21:05.663789581 +0200 @@ -1,0 +2,13 @@ +Fri Jun 9 06:02:20 UTC 2017 - [email protected] + +- updated to 7.33 + see /usr/share/doc/packages/perl-Mojolicious/Changes + + 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. + +------------------------------------------------------------------- Old: ---- Mojolicious-7.32.tar.gz New: ---- Mojolicious-7.33.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mojolicious.spec ++++++ --- /var/tmp/diff_new_pack.jJHtRl/_old 2017-06-17 10:21:06.243707775 +0200 +++ /var/tmp/diff_new_pack.jJHtRl/_new 2017-06-17 10:21:06.243707775 +0200 @@ -17,7 +17,7 @@ Name: perl-Mojolicious -Version: 7.32 +Version: 7.33 Release: 0 %define cpan_name Mojolicious Summary: Real-time web framework ++++++ Mojolicious-7.32.tar.gz -> Mojolicious-7.33.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/Changes new/Mojolicious-7.33/Changes --- old/Mojolicious-7.32/Changes 2017-05-28 13:58:23.000000000 +0200 +++ new/Mojolicious-7.33/Changes 2017-06-05 17:05:19.000000000 +0200 @@ -1,4 +1,11 @@ +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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/META.json new/Mojolicious-7.33/META.json --- old/Mojolicious-7.32/META.json 2017-05-30 19:07:29.000000000 +0200 +++ new/Mojolicious-7.33/META.json 2017-06-06 00:13:11.000000000 +0200 @@ -4,7 +4,7 @@ "Sebastian Riedel <[email protected]>" ], "dynamic_config" : 0, - "generated_by" : "ExtUtils::MakeMaker version 7.26, CPAN::Meta::Converter version 2.150010", + "generated_by" : "ExtUtils::MakeMaker version 7.28, CPAN::Meta::Converter version 2.150010", "license" : [ "artistic_2" ], @@ -58,6 +58,6 @@ }, "x_IRC" : "irc://irc.perl.org/#mojo" }, - "version" : "7.32", + "version" : "7.33", "x_serialization_backend" : "JSON::PP version 2.94" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/META.yml new/Mojolicious-7.33/META.yml --- old/Mojolicious-7.32/META.yml 2017-05-30 19:07:29.000000000 +0200 +++ new/Mojolicious-7.33/META.yml 2017-06-06 00:13:11.000000000 +0200 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'ExtUtils::MakeMaker version 7.26, CPAN::Meta::Converter version 2.150010' +generated_by: 'ExtUtils::MakeMaker version 7.28, CPAN::Meta::Converter version 2.150010' license: artistic_2 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -31,5 +31,5 @@ homepage: http://mojolicious.org license: http://www.opensource.org/licenses/artistic-license-2.0 repository: https://github.com/kraih/mojo.git -version: '7.32' +version: '7.33' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/README.md new/Mojolicious-7.33/README.md --- old/Mojolicious-7.32/README.md 2017-03-22 19:08:08.000000000 +0100 +++ new/Mojolicious-7.33/README.md 2017-06-01 02:25:14.000000000 +0200 @@ -29,7 +29,7 @@ highly scalable web services. * JSON and HTML/XML parser with CSS selector support. * Very clean, portable and object-oriented pure-Perl API with no hidden - magic and no requirements besides Perl 5.22.0 (versions as old as 5.10.1 + magic and no requirements besides Perl 5.24.0 (versions as old as 5.10.1 can be used too, but may require additional CPAN modules to be installed) * Fresh code based upon years of experience developing [Catalyst](http://www.catalystframework.org), free and open source. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojo/DOM/CSS.pm new/Mojolicious-7.33/lib/Mojo/DOM/CSS.pm --- old/Mojolicious-7.32/lib/Mojo/DOM/CSS.pm 2016-07-19 02:38:18.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojo/DOM/CSS.pm 2017-06-05 16:28:33.000000000 +0200 @@ -102,8 +102,8 @@ elsif ($css =~ /\G:([\w\-]+)(?:\(((?:\([^)]+\)|[^)])+)\))?/gcs) { my ($name, $args) = (lc $1, $2); - # ":not" (contains more selectors) - $args = _compile($args) if $name eq 'not'; + # ":matches" and ":not" (contains more selectors) + $args = _compile($args) if $name eq 'matches' || $name eq 'not'; # ":nth-*" (with An+B notation) $args = _equation($args) if $name =~ /^nth-/; @@ -166,6 +166,9 @@ # ":not" return !_match($args, $current, $current) if $class eq 'not'; + # ":matches" + return !!_match($args, $current, $current) if $class eq 'matches'; + # ":empty" return !grep { !_empty($_) } @$current[4 .. $#$current] if $class eq 'empty'; @@ -493,11 +496,28 @@ my $foo = $css->select('div#foo'); -=head2 E:not(s) +=head2 E:not(s1, s2) + +An C<E> element that does not match either compound selector C<s1> or compound +selector C<s2>. Note that support for compound selectors is EXPERIMENTAL and +might change without warning! + + my $others = $css->select('div p:not(:first-child, :last-child)'); + +Support for compound selectors was added as part of +L<Selectors Level 4|http://dev.w3.org/csswg/selectors-4>, which is still a work +in progress. -An C<E> element that does not match simple selector C<s>. +=head2 E:matches(s1, s2) - my $others = $css->select('div p:not(:first-child)'); +An C<E> element that matches compound selector C<s1> and/or compound selector +C<s2>. Note that this selector is EXPERIMENTAL and might change without warning! + + my $headers = $css->select(':matches(section, article, aside, nav) h1'); + +This selector is part of +L<Selectors Level 4|http://dev.w3.org/csswg/selectors-4>, which is still a work +in progress. =head2 E F diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojo/DOM.pm new/Mojolicious-7.33/lib/Mojo/DOM.pm --- old/Mojolicious-7.32/lib/Mojo/DOM.pm 2017-04-22 14:25:24.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojo/DOM.pm 2017-06-05 17:04:52.000000000 +0200 @@ -173,7 +173,8 @@ return $tag eq 'textarea' ? $self->text : $self->{value} if $tag ne 'select'; # "select" - my $v = $self->find('option:checked')->map('val'); + my $v = $self->find('option:checked:not([disabled])') + ->grep(sub { !$_->ancestors('optgroup[disabled]')->size })->map('val'); return exists $self->{multiple} ? $v->size ? $v->to_array : undef : $v->last; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious/Command/get.pm new/Mojolicious-7.33/lib/Mojolicious/Command/get.pm --- old/Mojolicious-7.32/lib/Mojolicious/Command/get.pm 2017-05-28 17:18:24.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojolicious/Command/get.pm 2017-06-03 01:36:20.000000000 +0200 @@ -151,7 +151,7 @@ mojo get mojolicious.org a attr href mojo get mojolicious.org '*' attr id mojo get mojolicious.org 'h1, h2, h3' 3 text - mojo get https://api.metacpan.org/v0/author/SRI /name + mojo get https://fastapi.metacpan.org/v1/author/SRI /name mojo get -H 'Host: example.com' http+unix://%2Ftmp%2Fmyapp.sock/index.html Options: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious/Command/version.pm new/Mojolicious-7.33/lib/Mojolicious/Command/version.pm --- old/Mojolicious-7.32/lib/Mojolicious/Command/version.pm 2017-02-09 19:15:42.000000000 +0100 +++ new/Mojolicious-7.33/lib/Mojolicious/Command/version.pm 2017-06-03 01:36:53.000000000 +0200 @@ -33,7 +33,8 @@ # Check latest version on CPAN my $latest = eval { $self->app->ua->max_redirects(10)->tap(sub { $_->proxy->detect }) - ->get('api.metacpan.org/v0/release/Mojolicious')->result->json->{version}; + ->get('fastapi.metacpan.org/v1/release/Mojolicious') + ->result->json->{version}; } or return; my $msg = 'This version is up to date, have fun!'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious/Guides/Cookbook.pod new/Mojolicious-7.33/lib/Mojolicious/Guides/Cookbook.pod --- old/Mojolicious-7.32/lib/Mojolicious/Guides/Cookbook.pod 2017-05-28 14:08:53.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojolicious/Guides/Cookbook.pod 2017-06-03 01:37:43.000000000 +0200 @@ -505,7 +505,7 @@ # Search MetaCPAN for "mojolicious" get '/' => sub { my $c = shift; - $c->ua->get('api.metacpan.org/v0/module/_search?q=mojolicious' => sub { + $c->ua->get('fastapi.metacpan.org/v1/module/_search?q=mojolicious' => sub { my ($ua, $tx) = @_; $c->render('metacpan', hits => $tx->result->json->{hits}{hits}); }); @@ -549,7 +549,7 @@ # Concurrent requests sub { my $delay = shift; - my $url = Mojo::URL->new('api.metacpan.org/v0/module/_search'); + my $url = Mojo::URL->new('fastapi.metacpan.org/v1/module/_search'); $url->query({sort => 'date:desc'}); $c->ua->get($url->clone->query({q => 'mojo'}) => $delay->begin); $c->ua->get($url->clone->query({q => 'minion'}) => $delay->begin); @@ -977,7 +977,7 @@ # Search MetaCPAN for "mojolicious" my $cv = AE::cv; my $ua = Mojo::UserAgent->new; - $ua->get('api.metacpan.org/v0/module/_search?q=mojolicious' => sub { + $ua->get('fastapi.metacpan.org/v1/module/_search?q=mojolicious' => sub { my ($ua, $tx) = @_; $cv->send($tx->result->json('/hits/hits/0/_source/release')); }); @@ -1080,7 +1080,7 @@ my $ua = Mojo::UserAgent->new; # Search MetaCPAN for "mojolicious" and list latest releases - my $url = Mojo::URL->new('http://api.metacpan.org/v0/release/_search'); + my $url = Mojo::URL->new('http://fastapi.metacpan.org/v1/release/_search'); $url->query({q => 'mojolicious', sort => 'date:desc'}); for my $hit (@{$ua->get($url)->result->json->{hits}{hits}}) { say "$hit->{_source}{name} ($hit->{_source}{author})"; @@ -1475,7 +1475,7 @@ Extract just the information you really need from JSON data structures. - $ mojo get https://api.metacpan.org/v0/author/SRI /name + $ mojo get https://fastapi.metacpan.org/v1/author/SRI /name This can be an invaluable tool for testing your applications. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious/Guides/FAQ.pod new/Mojolicious-7.33/lib/Mojolicious/Guides/FAQ.pod --- old/Mojolicious-7.32/lib/Mojolicious/Guides/FAQ.pod 2017-02-10 23:35:16.000000000 +0100 +++ new/Mojolicious-7.33/lib/Mojolicious/Guides/FAQ.pod 2017-06-01 02:25:07.000000000 +0200 @@ -72,7 +72,7 @@ First of all, you need to be aware that according to the L<perlpolicy>, only the two most recent stable release series of Perl are supported by the -community and receive bug fixes, which are currently 5.24.x and 5.22.x. +community and receive bug fixes, which are currently 5.26.x and 5.24.x. L<Mojolicious> follows this model and fully supports these two release series. In addition we will also keep the distribution installable up to a certain legacy version that we deem worthy of supporting, but not specifically optimize diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious/Guides.pod new/Mojolicious-7.33/lib/Mojolicious/Guides.pod --- old/Mojolicious-7.32/lib/Mojolicious/Guides.pod 2017-04-04 17:07:57.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojolicious/Guides.pod 2017-06-04 14:07:23.000000000 +0200 @@ -167,7 +167,13 @@ A tiny wrapper around L<DBD::Pg> that makes L<PostgreSQL|http://www.postgresql.org> a lot of fun to use with -L<Mojolicious>. And it comes with two great +L<Mojolicious>. Perform queries blocking and non-blocking, use all +L<SQL features|https://www.postgresql.org/docs/current/static/sql.html> +PostgreSQL has to offer, generate CRUD queries from data structures, manage your +database schema with migrations and build scalable real-time web applications +with the publish/subscribe pattern. + +And it comes with two great L<example applications|https://github.com/kraih/mojo-pg/tree/master/examples/> you can use for inspiration. The minimal L<chat|https://github.com/kraih/mojo-pg/tree/master/examples/chat.pl> @@ -185,6 +191,11 @@ find image resizing, spam filtering, HTTP downloads, building tarballs, warming caches and basically everything else you can imagine that's not super fast. +And it comes with a great example application you can use for inspiration. The +L<link checker|https://github.com/kraih/minion/tree/master/examples/linkcheck> +will show you how to integrate background jobs into well-structured +L<Mojolicious> applications. + =back =head1 REFERENCE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/lib/Mojolicious.pm new/Mojolicious-7.33/lib/Mojolicious.pm --- old/Mojolicious-7.32/lib/Mojolicious.pm 2017-04-24 09:50:41.000000000 +0200 +++ new/Mojolicious-7.33/lib/Mojolicious.pm 2017-05-30 19:08:06.000000000 +0200 @@ -58,7 +58,7 @@ has validator => sub { Mojolicious::Validator->new }; our $CODENAME = 'Doughnut'; -our $VERSION = '7.32'; +our $VERSION = '7.33'; sub AUTOLOAD { my $self = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.32/t/mojo/dom.t new/Mojolicious-7.33/t/mojo/dom.t --- old/Mojolicious-7.32/t/mojo/dom.t 2017-03-09 21:14:24.000000000 +0100 +++ new/Mojolicious-7.33/t/mojo/dom.t 2017-06-05 17:03:50.000000000 +0200 @@ -1112,6 +1112,14 @@ $dom->find('li:nth-of-type(odd)')->each(sub { push @e, shift->text }); is_deeply \@e, [qw(A E H)], 'found all odd li elements'; @e = (); +$dom->find('ul li:not(:first-child, :last-child)') + ->each(sub { push @e, shift->text }); +is_deeply \@e, [qw(C E F H)], 'found all odd li elements'; +@e = (); +$dom->find('ul li:matches(:first-child, :last-child)') + ->each(sub { push @e, shift->text }); +is_deeply \@e, [qw(A I)], 'found all odd li elements'; +@e = (); $dom->find('li:nth-last-of-type( odd )')->each(sub { push @e, shift->text }); is_deeply \@e, [qw(C F I)], 'found all odd li elements'; @e = (); @@ -2221,11 +2229,18 @@ <optgroup> <option>H</option> <option selected>I</option> + <option selected disabled>V</option> </optgroup> <option value="J" selected>K</option> + <optgroup disabled> + <option selected>I2</option> + </optgroup> </select> <select name="n"><option>N</option></select> <select multiple name="q"><option>Q</option></select> + <select name="y" disabled> + <option selected>Y</option> + </select> <select name="d"> <option selected>R</option> <option selected>D</option> @@ -2243,14 +2258,15 @@ is $dom->at('select option')->val, 'F', 'right value'; is $dom->at('select optgroup option:not([selected])')->val, 'H', 'right value'; is $dom->find('select')->[1]->at('option')->val, 'N', 'right value'; -is $dom->find('select')->[1]->val, undef, 'no value'; -is_deeply $dom->find('select')->[2]->val, undef, 'no value'; +is $dom->find('select')->[1]->val, undef, 'no value'; +is $dom->find('select')->[2]->val, undef, 'no value'; is $dom->find('select')->[2]->at('option')->val, 'Q', 'right value'; -is_deeply $dom->find('select')->last->val, 'D', 'right value'; -is_deeply $dom->find('select')->last->at('option')->val, 'R', 'right value'; +is $dom->at('select[disabled]')->val, 'Y', 'right value'; +is $dom->find('select')->last->val, 'D', 'right value'; +is $dom->find('select')->last->at('option')->val, 'R', 'right value'; is $dom->at('textarea')->val, 'M', 'right value'; is $dom->at('button')->val, 'O', 'right value'; -is $dom->find('form input')->last->val, 'P', 'right value'; +is $dom->at('form')->find('input')->last->val, 'P', 'right value'; is $dom->at('input[name=q]')->val, 'on', 'right value'; is $dom->at('input[name=r]')->val, 'on', 'right value'; is $dom->at('input[name=s]')->val, undef, 'no value';
