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')
 


Reply via email to