Hello community,

here is the log from the commit of package rubygem-amqp for openSUSE:Factory 
checked in at 2018-02-12 10:13:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-amqp (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-amqp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-amqp"

Mon Feb 12 10:13:20 2018 rev:21 rq:574041 version:1.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-amqp/rubygem-amqp.changes        
2017-04-11 09:31:49.194174876 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-amqp.new/rubygem-amqp.changes   
2018-02-12 10:13:20.533554497 +0100
@@ -1,0 +2,6 @@
+Tue Jan  9 07:22:04 UTC 2018 - co...@suse.com
+
+- updated to version 1.8.0
+ see installed ChangeLog.md
+
+-------------------------------------------------------------------

Old:
----
  amqp-1.7.0.gem

New:
----
  amqp-1.8.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-amqp.spec ++++++
--- /var/tmp/diff_new_pack.txN8t5/_old  2018-02-12 10:13:21.357524804 +0100
+++ /var/tmp/diff_new_pack.txN8t5/_new  2018-02-12 10:13:21.357524804 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-amqp
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-amqp
-Version:        1.7.0
+Version:        1.8.0
 Release:        0
 %define mod_name amqp
 %define mod_full_name %{mod_name}-%{version}
@@ -34,7 +34,7 @@
 BuildRequires:  %{ruby}
 BuildRequires:  ruby-macros >= 5
 Url:            http://rubyamqp.info
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        Mature EventMachine-based RabbitMQ client
 License:        BSD-2-Clause or Ruby

++++++ amqp-1.7.0.gem -> amqp-1.8.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      2017-02-02 12:32:45.000000000 +0100
+++ new/.gitignore      2018-01-02 13:18:19.000000000 +0100
@@ -17,3 +17,5 @@
 bin/*
 .AppleDouble/*
 debug/*
+
+.ruby-version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.ruby-version new/.ruby-version
--- old/.ruby-version   2017-02-02 12:32:45.000000000 +0100
+++ new/.ruby-version   1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     2017-02-02 12:32:45.000000000 +0100
+++ new/.travis.yml     2018-01-02 13:18:19.000000000 +0100
@@ -1,12 +1,12 @@
 language: ruby
 bundler_args: --without development
-before_script: ./bin/ci/before_build.sh
+before_script: ./bin/ci/before_build
 script: "bundle exec rake spec:ci"
 env:
   - CI=true
 rvm:
   - 2.3.3
-  - 2.4.0
+  - 2.4.1
 gemfile:
   - Gemfile
   - gemfiles/eventmachine-pre
@@ -16,7 +16,7 @@
 branches:
   only:
     - master
-    - 1.5.x-stable
+    - 1.7.x-stable
 matrix:
   allow_failures:
     - rvm: jruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ChangeLog.md new/ChangeLog.md
--- old/ChangeLog.md    2017-02-02 12:32:45.000000000 +0100
+++ new/ChangeLog.md    2018-01-02 13:18:19.000000000 +0100
@@ -1,7 +1,18 @@
-## Changes Between 1.6.0 and 1.7.0 (unreleased)
+## Changes Between 1.6.0 and 1.7.0 (Feb 2nd, 2017)
 
-None to date.
+### Clear Framesets on Exception
 
+Unprocessed frames received on a connection are now correctly
+cleared when an exception occurs.
+
+Contributed by Michael Lutsiuk.
+
+GitHub issue: [#218](https://github.com/ruby-amqp/amqp/issues/218)
+
+
+### amq-protocol Update
+
+Minimum `amq-protocol` version is now `2.1.0`.
 
 
 ## Changes Between 1.5.0 and 1.6.0 (Apr 4th, 2016)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2017-02-02 12:32:45.000000000 +0100
+++ new/README.md       2018-01-02 13:18:19.000000000 +0100
@@ -3,6 +3,9 @@
 [Ruby amqp gem](http://rubyamqp.info) is a feature-rich,
 EventMachine-based RabbitMQ client with batteries included.
 
+It's the original RabbitMQ client for Ruby. These days there are very
+solid alternatives available: [Bunny](http://rubybunny.info) for MRI and 
[March Hare](http://rubymarchhare.info) for JRuby.
+
 It implement [AMQP
 0.9.1](http://www.rabbitmq.com/tutorials/amqp-concepts.html) and
 support [RabbitMQ extensions to AMQP
@@ -134,8 +137,9 @@
 
 ## Supported Ruby Versions
 
-amqp gem `1.6.x` series supports
+amqp gem `1.6.x` and `1.7.x` series support
 
+ * Ruby 2.4
  * Ruby 2.3
  * Ruby 2.2
  * Ruby 2.1
@@ -236,7 +240,7 @@
 * The Initial Developer of the Original Code is Aman Gupta.
 * Copyright (c) 2008 - 2010 [Aman Gupta](http://github.com/tmm1).
 * Contributions from [Jakub Stastny](http://github.com/botanicus) are 
Copyright (c) 2011-2012 VMware, Inc.
-* Copyright (c) 2010 — 2016 [ruby-amqp](https://github.com/ruby-amqp) group 
members.
+* Copyright (c) 2010 — 2017 [ruby-amqp](https://github.com/ruby-amqp) group 
members.
 
 Currently maintained by [ruby-amqp](https://github.com/ruby-amqp) group members
 Special thanks to Dmitriy Samovskiy, Ben Hood and Tony Garnock-Jones.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/amqp.gemspec new/amqp.gemspec
--- old/amqp.gemspec    2017-02-02 12:32:45.000000000 +0100
+++ new/amqp.gemspec    2018-01-02 13:18:19.000000000 +0100
@@ -23,7 +23,7 @@
 
   # Dependencies
   s.add_dependency "eventmachine"
-  s.add_dependency "amq-protocol", ">= 2.1.0"
+  s.add_dependency "amq-protocol", ">= 2.2.0"
 
   s.rubyforge_project = "amqp"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bin/ci/before_build new/bin/ci/before_build
--- old/bin/ci/before_build     1970-01-01 01:00:00.000000000 +0100
+++ new/bin/ci/before_build     2018-01-02 13:18:19.000000000 +0100
@@ -0,0 +1,41 @@
+#!/usr/bin/env ruby
+
+$ctl      = ENV["AMQP_GEM_RABBITMQCTL"]      || ENV["RABBITMQCTL"]      || 
"sudo rabbitmqctl"
+$plugins  = ENV["AMQP_GEM_RABBITMQ_PLUGINS"] || ENV["RABBITMQ_PLUGINS"] || 
"sudo rabbitmq-plugins"
+
+def rabbit_control(args)
+  command = "#{$ctl} #{args}"
+  system command
+end
+
+def rabbit_plugins(args)
+  command = "#{$plugins} #{args}"
+  system command
+end
+
+# guest:guest has full access to /
+
+rabbit_control 'add_vhost /'
+rabbit_control 'add_user guest guest'
+rabbit_control 'set_permissions -p / guest ".*" ".*" ".*"'
+
+
+# amqp_gem:amqp_gem_password has full access to amqp_gem_testbed
+
+rabbit_control 'add_vhost amqp_gem_testbed'
+rabbit_control 'add_user amqp_gem amqp_gem_password'
+rabbit_control 'set_permissions -p amqp_gem_testbed amqp_gem ".*" ".*" ".*"'
+
+
+# amqp_gem_reader:reader_password has read access to amqp_gem_testbed
+
+rabbit_control 'add_user amqp_gem_reader reader_password'
+rabbit_control 'clear_permissions -p amqp_gem_testbed guest'
+rabbit_control 'set_permissions -p amqp_gem_testbed amqp_gem_reader "^---$" 
"^---$" ".*"'
+
+# requires RabbitMQ 3.0+
+# $RABBITMQ_PLUGINS enable rabbitmq_consistent_hash_exchange
+
+# Reduce retention policy for faster publishing of stats
+rabbit_control "eval 'supervisor2:terminate_child(rabbit_mgmt_sup_sup, 
rabbit_mgmt_sup), application:set_env(rabbitmq_management,       
sample_retention_policies, [{global, [{605, 1}]}, {basic, [{605, 1}]}, 
{detailed, [{10, 1}]}]), rabbit_mgmt_sup_sup:start_child().'"
+rabbit_control "eval 'supervisor2:terminate_child(rabbit_mgmt_agent_sup_sup, 
rabbit_mgmt_agent_sup), application:set_env(rabbitmq_management_agent, 
sample_retention_policies, [{global, [{605, 1}]}, {basic, [{605, 1}]}, 
{detailed, [{10, 1}]}]), rabbit_mgmt_agent_sup_sup:start_child().'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bin/ci/before_build.sh new/bin/ci/before_build.sh
--- old/bin/ci/before_build.sh  2017-02-02 12:32:45.000000000 +0100
+++ new/bin/ci/before_build.sh  1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-${RABBITMQCTL:="sudo rabbitmqctl"}
-${RABBITMQ_PLUGINS:="sudo rabbitmq-plugins"}
-
-# guest:guest has full access to /
-
-$RABBITMQCTL add_vhost /
-$RABBITMQCTL add_user guest guest
-$RABBITMQCTL set_permissions -p / guest ".*" ".*" ".*"
-
-
-# amqp_gem:amqp_gem_password has full access to amqp_gem_testbed
-
-$RABBITMQCTL add_vhost amqp_gem_testbed
-$RABBITMQCTL add_user amqp_gem amqp_gem_password
-$RABBITMQCTL set_permissions -p amqp_gem_testbed amqp_gem ".*" ".*" ".*"
-
-
-# amqp_gem_reader:reader_password has read access to amqp_gem_testbed
-
-$RABBITMQCTL add_user amqp_gem_reader reader_password
-$RABBITMQCTL clear_permissions -p amqp_gem_testbed guest
-$RABBITMQCTL set_permissions -p amqp_gem_testbed amqp_gem_reader "^---$" 
"^---$" ".*"
-
-# requires RabbitMQ 3.0+
-# $RABBITMQ_PLUGINS enable rabbitmq_consistent_hash_exchange
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/channel.rb new/lib/amqp/channel.rb
--- old/lib/amqp/channel.rb     2017-02-02 12:32:45.000000000 +0100
+++ new/lib/amqp/channel.rb     2018-01-02 13:18:19.000000000 +0100
@@ -7,7 +7,7 @@
 module AMQP
   # h2. What are AMQP channels
   #
-  # To quote 
{http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf AMQP 0.9.1 
specification}:
+  # To quote {https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 
0.9.1 specification}:
   #
   # AMQP is a multi-channelled protocol. Channels provide a way to multiplex
   # a heavyweight TCP/IP connection into several light weight connections.
@@ -140,7 +140,7 @@
   # AMQP gem supports several RabbitMQ extensions that extend Channel 
functionality.
   # Learn more in {file:docs/VendorSpecificExtensions.textile}
   #
-  # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.2.5)
+  # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.2.5)
   class Channel
 
     #
@@ -431,7 +431,7 @@
     # @see Channel#default_exchange
     # @see Exchange
     # @see Exchange#initialize
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3.1)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3.1)
     #
     # @return [Exchange]
     # @api public
@@ -484,7 +484,7 @@
     #
     #
     # @see Exchange
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.2.4)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.2.4)
     #
     # @return [Exchange]
     # @api public
@@ -534,7 +534,7 @@
     # @see Exchange
     # @see Exchange#initialize
     # @see Channel#default_exchange
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3.2)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3.2)
     #
     # @return [Exchange]
     # @api public
@@ -645,7 +645,7 @@
     # @see Exchange
     # @see Exchange#initialize
     # @see http://www.rabbitmq.com/faq.html#Binding-and-Routing RabbitMQ FAQ 
on routing & wildcards
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3.3)
     #
     # @return [Exchange]
     # @api public
@@ -747,7 +747,7 @@
     # @see Exchange
     # @see Exchange#initialize
     # @see Channel#default_exchange
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3.3)
     #
     # @return [Exchange]
     # @api public
@@ -842,7 +842,7 @@
     #
     # @see Queue
     # @see Queue#initialize
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.4)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.4)
     #
     # @return [Queue]
     # @api public
@@ -971,7 +971,7 @@
     #
     # @param [Boolean] Desired flow state.
     #
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.5.2.3.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.5.2.3.)
     # @api public
     def flow(active = false, &block)
       @connection.send_frame(AMQ::Protocol::Channel::Flow.encode(@id, active))
@@ -1017,7 +1017,7 @@
     # @api public
     # @see #reject
     # @see #recover
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.8.3.13.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.8.3.13.)
     def acknowledge(delivery_tag, multiple = false)
       @connection.send_frame(AMQ::Protocol::Basic::Ack.encode(self.id, 
delivery_tag, multiple))
 
@@ -1029,7 +1029,7 @@
     # @api public
     # @see #acknowledge
     # @see #recover
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.8.3.14.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.8.3.14.)
     def reject(delivery_tag, requeue = true, multi = false)
       if multi
         @connection.send_frame(AMQ::Protocol::Basic::Nack.encode(self.id, 
delivery_tag, multi, requeue))
@@ -1046,7 +1046,7 @@
     # @return [Channel]  self
     #
     # @note RabbitMQ as of 2.3.1 does not support basic.recover with requeue = 
false.
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.8.3.16.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.8.3.16.)
     # @see #acknowledge
     # @api public
     def recover(requeue = true, &block)
@@ -1118,9 +1118,9 @@
 
     def confirm_select(nowait = false, &block)
       self.once_open do
-              if nowait && block
-        raise ArgumentError, "confirm.select with nowait = true and a callback 
makes no sense"
-      end
+        if nowait && block
+          raise ArgumentError, "confirm.select with nowait = true and a 
callback makes no sense"
+        end
 
       @uses_publisher_confirmations = true
       reset_publisher_index!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/exchange.rb new/lib/amqp/exchange.rb
--- old/lib/amqp/exchange.rb    2017-02-02 12:32:45.000000000 +0100
+++ new/lib/amqp/exchange.rb    2018-01-02 13:18:19.000000000 +0100
@@ -132,9 +132,9 @@
   # @see Channel#topic
   # @see Channel#headers
   # @see Queue
-  # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.1)
-  # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.5)
-  # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3)
+  # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.1)
+  # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.5)
+  # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3)
   class Exchange
 
 
@@ -170,7 +170,7 @@
     #   AMQP::Exchange.default(channel).publish("make clean", routing_key => 
"tasks")
     #
     # @see Exchange
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.2.4)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.2.4)
     # @note Do not confuse default exchange with amq.direct: amq.direct is a 
pre-defined direct
     #       exchange that doesn't have any special routing semantics.
     # @return [Exchange] An instance that corresponds to the default exchange 
(of type direct).
@@ -303,7 +303,7 @@
     # @see Channel#topic
     # @see Channel#headers
     # @see Queue
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 3.1.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 3.1.3)
     #
     # @return [Exchange]
     # @api public
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/queue.rb new/lib/amqp/queue.rb
--- old/lib/amqp/queue.rb       2017-02-02 12:32:45.000000000 +0100
+++ new/lib/amqp/queue.rb       2018-01-02 13:18:19.000000000 +0100
@@ -118,7 +118,7 @@
   #       persistence.
   #
   #
-  # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf 
AMQP 0.9.1 specification (Section 2.1.1)
+  # @see https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification (Section 2.1.1)
   # @see AMQP::Exchange
   class Queue
 
@@ -764,7 +764,7 @@
     end
 
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Sections 1.8.3.9)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Sections 1.8.3.9)
     def on_delivery(&block)
       @default_consumer.on_delivery(&block)
     end # on_delivery(&block)
@@ -939,7 +939,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.7.2.1.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.7.2.1.)
     def queue_declare(passive = false, durable = false, exclusive = false, 
auto_delete = false, nowait = false, arguments = nil, &block)
       raise ArgumentError, "declaration with nowait does not make sense for 
server-named queues! Either specify name other than empty string or use 
#declare without nowait" if nowait && self.anonymous?
 
@@ -996,7 +996,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.7.2.9.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.7.2.9.)
     def queue_delete(if_unused = false, if_empty = false, nowait = false, 
&block)
       nowait = true unless block
       @connection.send_frame(AMQ::Protocol::Queue::Delete.encode(@channel.id, 
@name, if_unused, if_empty, nowait))
@@ -1019,7 +1019,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.7.2.3.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.7.2.3.)
     def queue_bind(exchange, routing_key = AMQ::Protocol::EMPTY_STRING, nowait 
= false, arguments = nil, &block)
       nowait = true unless block
       exchange_name = if exchange.respond_to?(:name)
@@ -1048,7 +1048,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.7.2.5.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.7.2.5.)
     def queue_unbind(exchange, routing_key = AMQ::Protocol::EMPTY_STRING, 
arguments = nil, &block)
       exchange_name = if exchange.respond_to?(:name)
                         exchange.name
@@ -1079,7 +1079,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.8.3.3.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.8.3.3.)
     def basic_consume(no_ack = false, exclusive = false, nowait = false, 
no_local = false, arguments = nil, &block)
       raise RuntimeError.new("This queue already has default consumer. Please 
instantiate AMQP::Consumer directly to register additional consumers.") if 
@default_consumer
 
@@ -1094,7 +1094,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.8.3.5.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.8.3.5.)
     def cancel(nowait = false, &block)
       raise "There is no default consumer for this queue. This usually means 
that you are trying to unsubscribe a queue that never was subscribed for 
messages in the first place." if @default_consumer.nil?
 
@@ -1119,7 +1119,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.8.3.10.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.8.3.10.)
     def get(no_ack = false, &block)
       @connection.send_frame(AMQ::Protocol::Basic::Get.encode(@channel.id, 
@name, no_ack))
 
@@ -1140,7 +1140,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.7.2.7.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.7.2.7.)
     def queue_purge(nowait = false, &block)
       nowait = true unless block
       @connection.send_frame(AMQ::Protocol::Queue::Purge.encode(@channel.id, 
@name, nowait))
@@ -1164,7 +1164,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.8.3.13.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.8.3.13.)
     def acknowledge(delivery_tag)
       @channel.acknowledge(delivery_tag)
 
@@ -1175,7 +1175,7 @@
     # @return [Queue]  self
     #
     # @api public
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.8.3.14.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.8.3.14.)
     def reject(delivery_tag, requeue = true)
       @channel.reject(delivery_tag, requeue)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/session.rb new/lib/amqp/session.rb
--- old/lib/amqp/session.rb     2017-02-02 12:32:45.000000000 +0100
+++ new/lib/amqp/session.rb     2018-01-02 13:18:19.000000000 +0100
@@ -7,6 +7,7 @@
 
 require "amqp/channel"
 require "amqp/channel_id_allocator"
+require "amq/settings"
 
 module AMQP
   # AMQP session represents connection to the broker. Session objects let you 
define callbacks for
@@ -62,37 +63,22 @@
 
     # The locale defines the language in which the server will send reply 
texts.
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.2)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.2)
     attr_accessor :locale
 
     # Client capabilities
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.2.1)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.2.1)
     attr_accessor :client_properties
 
-    # Server properties
-    #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.1.3)
-    attr_reader :server_properties
-
-    # Server capabilities
-    #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.1.3)
-    attr_reader :server_capabilities
-
-    # Locales server supports
-    #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.1.3)
-    attr_reader :server_locales
-
     # Authentication mechanism used.
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.2)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.2)
     attr_reader :mechanism
 
     # Authentication mechanisms broker supports.
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.2)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.2)
     attr_reader :server_authentication_mechanisms
 
     # Channels within this connection.
@@ -104,14 +90,15 @@
     # Usable channel numbers are in the range 1..channel_max.
     # Zero indicates no specified limit.
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Sections 1.4.2.5.1 and 1.4.2.6.1)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Sections 1.4.2.5.1 and 1.4.2.6.1)
     attr_accessor :channel_max
 
     # Maximum frame size that the server permits this connection to use.
     #
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Sections 1.4.2.5.2 and 1.4.2.6.2)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Sections 1.4.2.5.2 and 1.4.2.6.2)
     attr_accessor :frame_max
 
+    attr_accessor :connection_timeout
 
     attr_reader :known_hosts
 
@@ -119,7 +106,7 @@
     class << self
       # Settings
       def settings
-        @settings ||= AMQP::Settings.default
+        @settings ||= AMQ::Settings.default
       end
 
       def logger
@@ -156,6 +143,9 @@
     def initialize(*args, &block)
       super(*args)
 
+      connection_options_or_string = args.first
+      other_options                = args[1] || {}
+
       self.logger   = self.class.logger
 
       # channel => collected frames. MK.
@@ -170,9 +160,7 @@
       @tcp_connection_failed            = false
       @intentionally_closing_connection = false
 
-      # EventMachine::Connection's and Adapter's constructors arity
-      # make it easier to use *args. MK.
-      @settings                           = Settings.configure(args.first)
+      @settings                           = 
AMQ::Settings.configure(connection_options_or_string).merge(other_options)
 
       @on_tcp_connection_failure          = Proc.new { |settings|
         closed!
@@ -186,16 +174,17 @@
       @on_possible_authentication_failure = 
@settings[:on_possible_authentication_failure] || Proc.new { |settings|
         raise self.class.authentication_failure_exception_class.new(settings)
       }
-
-      @mechanism         = @settings.fetch(:auth_mechanism, "PLAIN")
+      @mechanism         = 
normalize_auth_mechanism(@settings.fetch(:auth_mechanism, "PLAIN"))
       @locale            = @settings.fetch(:locale, "en_GB")
       @client_properties = 
Settings.client_properties.merge(@settings.fetch(:client_properties, Hash.new))
 
       @auto_recovery     = (!!@settings[:auto_recovery])
 
+      @connection_timeout = (@settings[:timeout] || 
@settings[:connection_timeout] || 3).to_f
+
       self.reset
-      self.set_pending_connect_timeout((@settings[:timeout] || 3).to_f) unless 
defined?(JRUBY_VERSION)
-    end # initialize(*args, &block)
+      self.set_pending_connect_timeout(@connection_timeout) unless 
defined?(JRUBY_VERSION)
+    end # initialize
 
     # @return [Boolean] true if this AMQP connection is currently open
     # @api plugin
@@ -231,7 +220,7 @@
 
 
     # Properly close connection with AMQ broker, as described in
-    # section 2.2.4 of the 
{http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Specification.pdf AMQP 0.9.1 
specification}.
+    # section 2.2.4 of the 
{https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf AMQP 0.9.1 
specification}.
     #
     # @api  plugin
     # @see  #close_connection
@@ -263,19 +252,19 @@
     # Server properties (product information, platform, et cetera)
     #
     # @return [Hash]
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.4.2.1.3)
     attr_reader :server_properties
 
     # Server capabilities (usually used to detect AMQP 0.9.1 extensions like 
basic.nack, publisher
     # confirms and so on)
     #
     # @return [Hash]
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.4.2.1.3)
     attr_reader :server_capabilities
 
     # Locales server supports
     #
-    # @see http://files.travis-ci.org/docs/amqp/0.9.1/AMQP091Reference.pdf 
AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol documentation (Section 1.4.2.1.3)
     attr_reader :server_locales
 
     # @return [AMQP::Broker] Broker this connection is established with
@@ -451,8 +440,9 @@
     # @option settings [Fixnum] :frame_max (131072) Maximum frame size to use. 
If broker cannot support frames this large, broker's maximum value will be used 
instead.
     #
     # @param [Hash] settings
-    def self.connect(settings = {}, &block)
-      @settings = Settings.configure(settings)
+    # def self.connect(settings = {}, &block)
+    def self.connect(connection_string_or_opts = ENV['RABBITMQ_URL'], 
other_options = {}, &block)
+      @settings = 
AMQ::Settings.configure(connection_string_or_opts).merge(other_options)
 
       instance = EventMachine.connect(@settings[:host], @settings[:port], 
self, @settings)
       instance.register_connection_callback(&block)
@@ -485,14 +475,7 @@
     # @see #reconnect
     # @api public
     def reconnect_to(connection_string_or_options, period = 5)
-      settings = case connection_string_or_options
-                 when String then
-                   AMQP.parse_connection_uri(connection_string_or_options)
-                 when Hash then
-                   connection_string_or_options
-                 else
-                   Hash.new
-                 end
+      settings = AMQ::Settings.configure(connection_string_or_opts)
 
       if !@reconnecting
         @reconnecting = true
@@ -763,7 +746,7 @@
     # Zero means the server does not want a heartbeat.
     #
     # @return  [Fixnum]  Heartbeat interval this client uses, in seconds.
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.6)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.6)
     def heartbeat_interval
       @heartbeat_interval
     end # heartbeat_interval
@@ -894,7 +877,7 @@
     # Sends connection.open to the server.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.7)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.7)
     def open(vhost = "/")
       self.send_frame(AMQ::Protocol::Connection::Open.encode(vhost))
     end
@@ -995,7 +978,7 @@
     # Handles connection.start.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.1.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.1.)
     def handle_start(connection_start)
       @server_properties                = connection_start.server_properties
       @server_capabilities              = @server_properties["capabilities"]
@@ -1018,7 +1001,7 @@
     # Handles Connection.Tune-Ok.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.6)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.6)
     def handle_tune(connection_tune)
       @channel_max        = connection_tune.channel_max.freeze
       @frame_max          = connection_tune.frame_max.freeze
@@ -1035,7 +1018,7 @@
     # Handles Connection.Open-Ok.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.8.)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.8.)
     def handle_open_ok(open_ok)
       @known_hosts = open_ok.known_hosts.dup.freeze
 
@@ -1047,7 +1030,7 @@
     # Handles connection.close. When broker detects a connection level 
exception, this method is called.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.5.2.9)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.5.2.9)
     def handle_close(conn_close)
       closed!
       # getting connection.close during connection negotiation means 
authentication
@@ -1063,7 +1046,7 @@
     # Handles Connection.Close-Ok.
     #
     # @api plugin
-    # @see http://bit.ly/amqp091reference AMQP 0.9.1 protocol reference 
(Section 1.4.2.10)
+    # @see https://www.rabbitmq.com/resources/specs/amqp-xml-doc0-9-1.pdf AMQP 
0.9.1 protocol reference (Section 1.4.2.10)
     def handle_close_ok(close_ok)
       closed!
       self.disconnection_successful
@@ -1185,5 +1168,18 @@
         start_tls
       end
     end # upgrade_to_tls_if_necessary
+
+    private
+
+    def normalize_auth_mechanism(value)
+      case value
+      when [] then
+        "PLAIN"
+      when nil then
+        "PLAIN"
+      else
+        value
+      end
+    end
   end # Session
 end # AMQP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/settings.rb new/lib/amqp/settings.rb
--- old/lib/amqp/settings.rb    2017-02-02 12:32:46.000000000 +0100
+++ new/lib/amqp/settings.rb    2018-01-02 13:18:19.000000000 +0100
@@ -1,46 +1,7 @@
 # encoding: utf-8
 
-require "amq/protocol/client"
-require "uri"
-
 module AMQP
-  # @see AMQP::Settings.configure
   module Settings
-    # @private
-    AMQP_PORTS = {"amqp" => 5672, "amqps" => 5671}.freeze
-
-    # @private
-    AMQPS = "amqps".freeze
-
-    # Default connection settings used by AMQ clients
-    #
-    # @see AMQP::Settings.configure
-    def self.default
-      @default ||= {
-        # server
-        :host  => "127.0.0.1",
-        :port  => AMQ::Protocol::DEFAULT_PORT,
-
-        # login
-        :user           => "guest",
-        :pass           => "guest",
-        :auth_mechanism => "PLAIN",
-        :vhost          => "/",
-
-        # connection timeout
-        :timeout => nil,
-
-        # logging
-        :logging => false,
-
-        # ssl
-        :ssl => false,
-
-        :frame_max => 131072,
-        :heartbeat => 0
-      }
-    end
-
     CLIENT_PROPERTIES = {
       :platform    => ::RUBY_DESCRIPTION,
       :product     => "amqp gem",
@@ -59,108 +20,5 @@
     def self.client_properties
       @client_properties ||= CLIENT_PROPERTIES
     end
-
-
-    # Merges given configuration parameters with defaults and returns
-    # the result.
-    #
-    # @param [Hash] Configuration parameters to use.
-    #
-    # @option settings [String] :host ("127.0.0.1") Hostname AMQ broker runs 
on.
-    # @option settings [String] :port (5672) Port AMQ broker listens on.
-    # @option settings [String] :vhost ("/") Virtual host to use.
-    # @option settings [String] :user ("guest") Username to use for 
authentication.
-    # @option settings [String] :pass ("guest") Password to use for 
authentication.
-    # @option settings [String] :ssl (false) Should be use TLS (SSL) for 
connection?
-    # @option settings [String] :timeout (nil) Connection timeout.
-    # @option settings [String] :logging (false) Turns logging on or off.
-    # @option settings [String] :broker (nil) Broker name (use if you intend 
to use broker-specific features).
-    # @option settings [Fixnum] :frame_max (131072) Maximum frame size to use. 
If broker cannot support frames this large, broker's maximum value will be used 
instead.
-    #
-    # @return [Hash] Merged configuration parameters.
-    def self.configure(settings = nil)
-      case settings
-      when Hash then
-        settings = Hash[settings.map {|k, v| [k.to_sym, v] }] # symbolize keys
-        if username = settings.delete(:username)
-          settings[:user] ||= username
-        end
-
-        if password = settings.delete(:password)
-          settings[:pass] ||= password
-        end
-
-
-        self.default.merge(settings)
-      when String then
-        settings = self.parse_amqp_url(settings)
-        self.default.merge(settings)
-      when NilClass then
-        self.default
-      end
-    end
-
-    # Parses AMQP connection URI and returns its components as a hash.
-    #
-    # h2. vhost naming schemes
-    #
-    # It is convenient to be able to specify the AMQP connection
-    # parameters as a URI string, and various "amqp" URI schemes
-    # exist.  Unfortunately, there is no standard for these URIs, so
-    # while the schemes share the basic idea, they differ in some
-    # details.  This implementation aims to encourage URIs that work
-    # as widely as possible.
-    #
-    # The URI scheme should be "amqp", or "amqps" if SSL is required.
-    #
-    # The host, port, username and password are represented in the
-    # authority component of the URI in the same way as in http URIs.
-    #
-    # The vhost is obtained from the first segment of the path, with the
-    # leading slash removed.  The path should contain only a single
-    # segment (i.e, the only slash in it should be the leading one).
-    # If the vhost is to include slashes or other reserved URI
-    # characters, these should be percent-escaped.
-    #
-    # @example How vhost is parsed
-    #
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com")            # 
=> vhost is nil, so default (/) will be used
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com/")           # 
=> vhost is an empty string
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com/%2Fvault")   # 
=> vhost is /vault
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com/production") # 
=> vhost is production
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com/a.b.c")      # 
=> vhost is a.b.c
-    #   AMQP::Settings.parse_amqp_url("amqp://dev.rabbitmq.com/foo/bar")    # 
=> ArgumentError
-    #
-    #
-    # @param [String] connection_string AMQP connection URI, à la JDBC 
connection string. For example: amqp://bus.megacorp.internal:5877.
-    # @return [Hash] Connection parameters (:username, :password, :vhost, 
:host, :port, :ssl)
-    #
-    # @raise [ArgumentError] When connection URI schema is not amqp or amqps, 
or the path contains multiple segments
-    #
-    # @see http://bit.ly/ks8MXK Connecting to The Broker documentation guide
-    # @api public
-    def self.parse_amqp_url(connection_string)
-      uri = URI.parse(connection_string)
-      raise ArgumentError.new("Connection URI must use amqp or amqps schema 
(example: amqp://bus.megacorp.internal:5766), learn more at 
http://rubyamqp.info";) unless %w{amqp amqps}.include?(uri.scheme)
-
-      opts = {}
-
-      opts[:scheme] = uri.scheme
-      opts[:user]   = URI.unescape(uri.user) if uri.user
-      opts[:pass]   = URI.unescape(uri.password) if uri.password
-      opts[:host]   = uri.host if uri.host
-      opts[:port]   = uri.port || AMQP::Settings::AMQP_PORTS[uri.scheme]
-      opts[:ssl]    = uri.scheme == AMQP::Settings::AMQPS
-      if uri.path =~ %r{^/(.*)}
-        raise ArgumentError.new("#{uri} has multiple-segment path; please 
percent-encode any slashes in the vhost name (e.g. /production => 
%2Fproduction). Learn more at http://rubyamqp.info";) if $1.index('/')
-        opts[:vhost] = URI.unescape($1)
-      end
-
-      opts
-    end
-
-    def self.parse_connection_uri(connection_string)
-      parse_amqp_url(connection_string)
-    end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp/version.rb new/lib/amqp/version.rb
--- old/lib/amqp/version.rb     2017-02-02 12:32:46.000000000 +0100
+++ new/lib/amqp/version.rb     2018-01-02 13:18:19.000000000 +0100
@@ -6,5 +6,5 @@
   #
   # @see AMQ::Protocol::VERSION
   # @return [String] AMQP gem version
-  VERSION = '1.7.0'
+  VERSION = '1.8.0'
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/amqp.rb new/lib/amqp.rb
--- old/lib/amqp.rb     2017-02-02 12:32:45.000000000 +0100
+++ new/lib/amqp.rb     2018-01-02 13:18:19.000000000 +0100
@@ -229,22 +229,13 @@
   #       It takes exactly the same parameters.
   # @return [AMQP::Session]
   # @api public
-  def self.connect(connection_options_or_string = {}, other_options = {}, 
&block)
-    opts = case connection_options_or_string
-           when String then
-             AMQP::Settings.parse_connection_uri(connection_options_or_string)
-           when Hash then
-             connection_options_or_string
-           else
-             Hash.new
-           end
-
-    AMQP::Session.connect(opts.merge(other_options), &block)
+  def self.connect(connection_options_or_string = ENV['RABBITMQ_URL'], 
other_options = {}, &block)
+    AMQP::Session.connect(connection_options_or_string, other_options, &block)
   end
 
   # @return [Hash] Default AMQP connection settings. This hash may be modified.
   # @api public
   def self.settings
-    @settings ||= AMQP::Settings.default
+    @settings ||= AMQ::Settings.default.merge(logging: false)
   end
 end # AMQP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-02-02 12:32:45.000000000 +0100
+++ new/metadata        2018-01-02 13:18:19.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: amqp
 version: !ruby/object:Gem::Version
-  version: 1.7.0
+  version: 1.8.0
 platform: ruby
 authors:
 - Aman Gupta
@@ -10,7 +10,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-02-02 00:00:00.000000000 Z
+date: 2018-01-02 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: eventmachine
@@ -32,14 +32,14 @@
     requirements:
     - - ">="
       - !ruby/object:Gem::Version
-        version: 2.1.0
+        version: 2.2.0
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - ">="
       - !ruby/object:Gem::Version
-        version: 2.1.0
+        version: 2.2.0
 description: Mature EventMachine-based RabbitMQ client.
 email:
 - mich...@novemberain.com
@@ -48,28 +48,27 @@
 extensions: []
 extra_rdoc_files:
 - README.md
-- docs/08Migration.textile
-- docs/AMQP091ModelExplained.textile
-- docs/Bindings.textile
+- docs/Exchanges.textile
 - docs/Clustering.textile
-- docs/ConnectingToTheBroker.textile
+- docs/VendorSpecificExtensions.textile
+- docs/PatternsAndUseCases.textile
+- docs/Troubleshooting.textile
+- docs/Bindings.textile
+- docs/AMQP091ModelExplained.textile
+- docs/Durability.textile
 - docs/ConnectionEncryptionWithTLS.textile
+- docs/TestingWithEventedSpec.textile
+- docs/Queues.textile
 - docs/DocumentationGuidesIndex.textile
-- docs/Durability.textile
-- docs/ErrorHandling.textile
-- docs/Exchanges.textile
 - docs/GettingStarted.textile
-- docs/PatternsAndUseCases.textile
-- docs/Queues.textile
+- docs/08Migration.textile
+- docs/ConnectingToTheBroker.textile
+- docs/ErrorHandling.textile
 - docs/RabbitMQVersions.textile
 - docs/RunningTests.textile
-- docs/TestingWithEventedSpec.textile
-- docs/Troubleshooting.textile
-- docs/VendorSpecificExtensions.textile
 files:
 - ".gitignore"
 - ".rspec"
-- ".ruby-version"
 - ".travis.yml"
 - ".yardopts"
 - ChangeLog.md
@@ -77,7 +76,7 @@
 - README.md
 - Rakefile
 - amqp.gemspec
-- bin/ci/before_build.sh
+- bin/ci/before_build
 - bin/cleanify.rb
 - bin/docup
 - bin/irb
@@ -300,7 +299,6 @@
 - spec/integration/tx_rollback_spec.rb
 - spec/spec_helper.rb
 - spec/unit/amqp/channel_id_allocation_spec.rb
-- spec/unit/amqp/client_spec.rb
 - spec/unit/amqp/connection_spec.rb
 homepage: http://rubyamqp.info
 licenses:
@@ -323,7 +321,7 @@
       version: '0'
 requirements: []
 rubyforge_project: amqp
-rubygems_version: 2.5.2
+rubygems_version: 2.6.13
 signing_key: 
 specification_version: 4
 summary: Mature EventMachine-based RabbitMQ client
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb 
new/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb
--- 
old/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb   
    2017-02-02 12:32:46.000000000 +0100
+++ 
new/spec/integration/queue_redeclaration_with_incompatible_attributes_spec.rb   
    2018-01-02 13:18:19.000000000 +0100
@@ -36,7 +36,7 @@
       channel.queue(name, options)
       expect {
         channel.queue(name, different_options)
-      }.to raise_error(AMQP::IncompatibleOptionsError)
+      }.to raise_error
 
       done(0.5) {
         @error_code.should == 406
@@ -62,7 +62,7 @@
       channel.queue(name, options)
       expect {
         channel.queue(name, different_options)
-      }.to_not raise_error(AMQP::IncompatibleOptionsError)
+      }.to_not raise_error
 
       done(0.5) {
         @error_code.should == 406
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/unit/amqp/client_spec.rb 
new/spec/unit/amqp/client_spec.rb
--- old/spec/unit/amqp/client_spec.rb   2017-02-02 12:32:46.000000000 +0100
+++ new/spec/unit/amqp/client_spec.rb   1970-01-01 01:00:00.000000000 +0100
@@ -1,104 +0,0 @@
-# encoding: utf-8
-
-require 'spec_helper'
-
-require "amqp/settings"
-
-describe AMQP::Settings do
-
-  #
-  # Examples
-  #
-
-
-  describe ".parse_connection_uri(connection_string)" do
-    context "when schema is not one of [amqp, amqps]" do
-      it "raises ArgumentError" do
-        expect {
-          described_class.parse_connection_uri("http://dev.rabbitmq.com";)
-        }.to raise_error(ArgumentError, /amqp or amqps schema/)
-      end
-    end
-
-
-    it "handles amqp:// URIs w/o path part" do
-      val = described_class.parse_connection_uri("amqp://dev.rabbitmq.com")
-
-      val[:vhost].should be_nil # in this case, default / will be used
-      val[:host].should == "dev.rabbitmq.com"
-      val[:port].should == 5672
-      val[:scheme].should == "amqp"
-      val[:ssl].should be_false
-    end
-
-    it "handles amqps:// URIs w/o path part" do
-      val = described_class.parse_connection_uri("amqps://dev.rabbitmq.com")
-
-      val[:vhost].should be_nil
-      val[:host].should == "dev.rabbitmq.com"
-      val[:port].should == 5671
-      val[:scheme].should == "amqps"
-      val[:ssl].should be_true
-    end
-
-
-    context "when URI ends in a slash" do
-      it "parses vhost as an empty string" do
-        val = described_class.parse_connection_uri("amqp://dev.rabbitmq.com/")
-
-        val[:host].should == "dev.rabbitmq.com"
-        val[:port].should == 5672
-        val[:scheme].should == "amqp"
-        val[:ssl].should be_false
-        val[:vhost].should == ""
-      end
-    end
-
-
-    context "when URI ends in /%2Fvault" do
-      it "parses vhost as /vault" do
-        val = 
described_class.parse_connection_uri("amqp://dev.rabbitmq.com/%2Fvault")
-
-        val[:host].should == "dev.rabbitmq.com"
-        val[:port].should == 5672
-        val[:scheme].should == "amqp"
-        val[:ssl].should be_false
-        val[:vhost].should == "/vault"
-      end
-    end
-
-
-    context "when URI is amqp://dev.rabbitmq.com/a.path.without.slashes" do
-      it "parses vhost as a.path.without.slashes" do
-        val = 
described_class.parse_connection_uri("amqp://dev.rabbitmq.com/a.path.without.slashes")
-
-        val[:host].should == "dev.rabbitmq.com"
-        val[:port].should == 5672
-        val[:scheme].should == "amqp"
-        val[:ssl].should be_false
-        val[:vhost].should == "a.path.without.slashes"
-      end
-    end
-
-    context "when URI is amqp://dev.rabbitmq.com/a/path/with/slashes" do
-      it "raises an ArgumentError" do
-        lambda { 
described_class.parse_connection_uri("amqp://dev.rabbitmq.com/a/path/with/slashes")
 }.should raise_error(ArgumentError)
-      end
-    end
-
-
-    context "when URI has username:password, for instance, 
amqp://hedgehog:t0ps3kr3t@hub.megacorp.internal" do
-      it "parses them out" do
-        val = 
described_class.parse_connection_uri("amqp://hedgehog:t0ps3kr3t@hub.megacorp.internal")
-
-        val[:host].should == "hub.megacorp.internal"
-        val[:port].should == 5672
-        val[:scheme].should == "amqp"
-        val[:ssl].should be_false
-        val[:user].should == "hedgehog"
-        val[:pass].should == "t0ps3kr3t"
-        val[:vhost].should be_nil # in this case, default / will be used
-      end
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/unit/amqp/connection_spec.rb 
new/spec/unit/amqp/connection_spec.rb
--- old/spec/unit/amqp/connection_spec.rb       2017-02-02 12:32:46.000000000 
+0100
+++ new/spec/unit/amqp/connection_spec.rb       2018-01-02 13:18:19.000000000 
+0100
@@ -16,10 +16,27 @@
     s[:port].should == 5672
     s[:user].should == "guest"
     s[:pass].should == "guest"
-    s[:heartbeat].should == 0
-    s[:auth_mechanism].should == "PLAIN"
+    s[:heartbeat].should be_nil
+    s[:auth_mechanism].should eq([])
   end
 
+  describe "connection to RabbitMQ with a connection string" do
+    include EventedSpec::SpecHelper
+
+    em_before { AMQP.cleanup_state }
+    em_after { AMQP.cleanup_state }
+
+    it 'parses URI string' do
+      em do
+        
AMQP.start("amqp://guest:guest@127.0.0.1?heartbeat=10&connection_timeout=100") 
do |session|
+          expect(session.heartbeat_interval).to eq(10)
+          expect(session.connection_timeout).to eq(100)
+          session.close
+        end
+        done(0.3)
+      end
+    end
+  end
 
   describe '.start' do
 


Reply via email to