Hello community,
here is the log from the commit of package perl-Mojo-RabbitMQ-Client for
openSUSE:Factory checked in at 2019-05-24 11:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-RabbitMQ-Client"
Fri May 24 11:32:30 2019 rev:8 rq:704993 version:0.2.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client/perl-Mojo-RabbitMQ-Client.changes
2018-08-22 14:21:33.790523633 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148/perl-Mojo-RabbitMQ-Client.changes
2019-05-24 11:32:34.133385504 +0200
@@ -1,0 +2,9 @@
+Thu May 23 11:50:37 UTC 2019 - Stephan Kulow <[email protected]>
+
+- update to 0.2.2
+
+ 0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
+
+-------------------------------------------------------------------
Old:
----
Mojo-RabbitMQ-Client-0.2.1.tar.gz
New:
----
Mojo-RabbitMQ-Client-0.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-RabbitMQ-Client.spec ++++++
--- /var/tmp/diff_new_pack.EjGX7g/_old 2019-05-24 11:32:34.613385321 +0200
+++ /var/tmp/diff_new_pack.EjGX7g/_new 2019-05-24 11:32:34.613385321 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojo-RabbitMQ-Client
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Mojo-RabbitMQ-Client
-Version: 0.2.1
+Version: 0.2.2
Release: 0
%define cpan_name Mojo-RabbitMQ-Client
Summary: Mojo::IOLoop based RabbitMQ client
License: Artistic-2.0
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Mojo-RabbitMQ-Client/
+Url: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/S/SE/SEBAPOD/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
@@ -55,7 +55,7 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Build.PL --installdirs=vendor
+perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
++++++ Mojo-RabbitMQ-Client-0.2.1.tar.gz -> Mojo-RabbitMQ-Client-0.2.2.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/Changes
new/Mojo-RabbitMQ-Client-0.2.2/Changes
--- old/Mojo-RabbitMQ-Client-0.2.1/Changes 2018-07-29 16:17:46.000000000
+0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/Changes 2019-05-23 13:20:25.000000000
+0200
@@ -1,3 +1,6 @@
+0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
0.2.1 2018-07-29T14:17:43Z
- Fixed POD syntax, spelling & grammar errors #27,#28 (@gregoa)
- Fixed POD error #26 (@manwar)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.json
new/Mojo-RabbitMQ-Client-0.2.2/META.json
--- old/Mojo-RabbitMQ-Client-0.2.1/META.json 2018-07-29 16:17:46.000000000
+0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.json 2019-05-23 13:20:25.000000000
+0200
@@ -59,7 +59,7 @@
"provides" : {
"Mojo::RabbitMQ::Client" : {
"file" : "lib/Mojo/RabbitMQ/Client.pm",
- "version" : "v0.2.1"
+ "version" : "v0.2.2"
},
"Mojo::RabbitMQ::Client::Channel" : {
"file" : "lib/Mojo/RabbitMQ/Client/Channel.pm"
@@ -91,12 +91,13 @@
"web" : "https://github.com/inway/mojo-rabbitmq-client"
}
},
- "version" : "0.2.1",
+ "version" : "0.2.2",
"x_contributors" : [
"Christopher Rasch-Olsen Raa <[email protected]>",
"Mohammad S Anwar <[email protected]>",
"Patrick Goldmann <[email protected]>",
"Richard Lippmann <[email protected]>",
+ "Salve J. Nilsen <[email protected]>",
"Sebastian Podjasek <[email protected]>",
"Sebastian Riedel <[email protected]>",
"Stephan Kulow <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.yml
new/Mojo-RabbitMQ-Client-0.2.2/META.yml
--- old/Mojo-RabbitMQ-Client-0.2.1/META.yml 2018-07-29 16:17:46.000000000
+0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.yml 2019-05-23 13:20:25.000000000
+0200
@@ -27,7 +27,7 @@
provides:
Mojo::RabbitMQ::Client:
file: lib/Mojo/RabbitMQ/Client.pm
- version: v0.2.1
+ version: v0.2.2
Mojo::RabbitMQ::Client::Channel:
file: lib/Mojo/RabbitMQ/Client/Channel.pm
Mojo::RabbitMQ::Client::Consumer:
@@ -50,12 +50,13 @@
bugtracker: https://github.com/inway/mojo-rabbitmq-client/issues
homepage: https://github.com/inway/mojo-rabbitmq-client
repository: git://github.com/inway/mojo-rabbitmq-client.git
-version: 0.2.1
+version: 0.2.2
x_contributors:
- 'Christopher Rasch-Olsen Raa <[email protected]>'
- 'Mohammad S Anwar <[email protected]>'
- 'Patrick Goldmann <[email protected]>'
- 'Richard Lippmann <[email protected]>'
+ - 'Salve J. Nilsen <[email protected]>'
- 'Sebastian Podjasek <[email protected]>'
- 'Sebastian Riedel <[email protected]>'
- 'Stephan Kulow <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/README.md
new/Mojo-RabbitMQ-Client-0.2.2/README.md
--- old/Mojo-RabbitMQ-Client-0.2.1/README.md 2018-07-29 16:17:46.000000000
+0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/README.md 2019-05-23 13:20:25.000000000
+0200
@@ -192,15 +192,6 @@
Sets user password for authorization, by default it's not defined.
-## pass
-
-```perl
-my $pass = $client->pass;
-$client = $client->pass('secret')
-```
-
-Sets user password for authorization, by default it's not defined.
-
## host
```perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm
new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm 2018-07-29
16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm 2019-05-23
13:20:25.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.2.1';
+ $VERSION = '0.2.2';
}
# special map on pre-defined feature sets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm
new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm
2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm
2019-05-23 13:20:25.000000000 +0200
@@ -1,10 +1,11 @@
package Mojo::RabbitMQ::Client::Channel;
use Mojo::Base 'Mojo::EventEmitter';
-use Mojo::Promise;
+use Mojo::Promise;
use Mojo::RabbitMQ::Client::LocalQueue;
use Mojo::RabbitMQ::Client::Method;
use Mojo::RabbitMQ::Client::Method::Publish;
+use Scalar::Util qw(isweak weaken);
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
for my $consumer_tag (keys %{$self->consumer_cbs}) {
my $method = $self->cancel(consumer_tag => $consumer_tag);
+ weaken $self unless isweak $self;
$method->on(
success => sub {
$self->_close();
@@ -178,8 +180,14 @@
sub _prepare_method {
my $self = shift;
- return Mojo::RabbitMQ::Client::Method->new(client => $self->client, channel
=> $self)
- ->setup(@_);
+ my $method = Mojo::RabbitMQ::Client::Method->new(
+ client => $self->client,
+ channel => $self
+ );
+ weaken $method->{channel};
+ weaken $method->{client};
+
+ return $method->setup(@_);
}
sub declare_exchange {
@@ -207,6 +215,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -235,6 +244,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -268,6 +278,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -321,6 +332,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->unbind_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -348,6 +360,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->purge_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -377,6 +390,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -400,7 +414,11 @@
my $method = Mojo::RabbitMQ::Client::Method::Publish->new(
client => $self->client,
channel => $self
- )->setup(@_);
+ );
+ weaken $method->{client};
+ weaken $method->{channel};
+ $method->setup(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -425,6 +443,7 @@
warn "-- Basic::ConsumeOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -451,6 +470,7 @@
warn "-- Basic::CancelOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -473,6 +493,7 @@
},
[qw(Basic::GetOk Basic::GetEmpty)]
);
+ weaken $self;
$method->on(
success => sub {
warn "-- Basic::GetOk|GetEmpty\n" if DEBUG;
@@ -501,6 +522,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->get(@_);
+ weaken $self;
$method->on('message' => sub { shift; $promise->resolve($self, @_) });
$method->on('empty' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
@@ -539,6 +561,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->ack(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -693,7 +716,7 @@
...
});
-Emitted when channel gets closed, C<<$frame>> contains close reason.
+Emitted when channel gets closed, C<$frame> contains close reason.
=head1 ATTRIBUTES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm
new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm
2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm
2019-05-23 13:20:25.000000000 +0200
@@ -1,6 +1,8 @@
package Mojo::RabbitMQ::Client::Consumer;
use Mojo::Base 'Mojo::EventEmitter';
+
use Mojo::Promise;
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -17,6 +19,7 @@
my $promise = Mojo::Promise->new()->resolve();
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -26,13 +29,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
$client->on('close' => sub { shift; $self->emit('close', @_) });
@@ -53,7 +56,7 @@
my $channel_promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(close => sub { warn 'Channel closed: ' .
$_[1]->method_frame->reply_text; });
$channel->on(
@@ -63,7 +66,7 @@
$self->channel($channel);
$channel->qos(%{$self->defaults->{qos}})->deliver;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm
new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm
2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm
2019-05-23 13:20:25.000000000 +0200
@@ -1,7 +1,9 @@
package Mojo::RabbitMQ::Client::Publisher;
use Mojo::Base -base;
+
use Mojo::Promise;
use Mojo::JSON qw(encode_json);
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -25,8 +27,9 @@
%args = (@_);
}
- my $promise = Mojo::Promise->new()->resolve();
+ my $promise = Mojo::Promise->new()->resolve;
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -37,13 +40,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$self->client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
@@ -64,7 +67,7 @@
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(
open => sub {
@@ -73,7 +76,7 @@
warn "-- channel opened\n" if DEBUG;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
$channel->on(close => sub { warn 'Channel closed: ' .
$_[1]->method_frame->reply_text; });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm
new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm 2018-07-29
16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm 2019-05-23
13:20:25.000000000 +0200
@@ -1,5 +1,6 @@
package Mojo::RabbitMQ::Client;
use Mojo::Base 'Mojo::EventEmitter';
+
use Carp qw(croak confess);
use Mojo::URL;
use Mojo::Home;
@@ -8,7 +9,7 @@
use Mojo::Promise;
use Mojo::Util qw(url_unescape dumper);
use List::Util qw(none);
-use Scalar::Util qw(blessed);
+use Scalar::Util qw(blessed weaken);
use File::Basename 'dirname';
use File::ShareDir qw(dist_file);
@@ -20,7 +21,7 @@
require Mojo::RabbitMQ::Client::Consumer;
require Mojo::RabbitMQ::Client::Publisher;
-our $VERSION = "0.2.1";
+our $VERSION = "0.2.2";
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
}
$self->channels->{$id} = $channel->id($id)->client($self);
+ weaken $channel->{client};
return $channel;
}
@@ -135,9 +137,9 @@
my $promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $promise->reject(@_) });
+ $channel->catch(sub { $promise->reject(@_); undef $promise });
$channel->on(close => sub { warn "Channel closed" });
- $channel->on(open => sub { $promise->resolve(@_) });
+ $channel->on(open => sub { $promise->resolve(@_); undef $promise });
$self->open_channel($channel);
@@ -746,13 +748,6 @@
=head2 pass
- my $pass = $client->pass;
- $client = $client->pass('secret')
-
-Sets user password for authorization, by default it's not defined.
-
-=head2 pass
-
my $pass = $client->pass;
$client = $client->pass('secret')