bunny 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog.md +25 -0
- data/lib/bunny/channel.rb +2 -2
- data/lib/bunny/exchange.rb +3 -2
- data/lib/bunny/queue.rb +3 -2
- data/lib/bunny/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1a2354707d0c6f725a8992baaff54c129113312407166c6c7275b6aef9c6d10b
|
|
4
|
+
data.tar.gz: 5e0bfc1d60c0ccd0c0718fea83b537a4be5cca88c1c17795a7340d5fa39df168
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 85cda03336b6f4130335f39d5641054e8be776e2cb6a14291075954fa5364c62f631044c0a5364fd9473634e9680ed5a46331c1e8ec588470ea9281d0b5943bc
|
|
7
|
+
data.tar.gz: 58f094229752eb2718345c078cb6ed2baa7f5642b59f37e211dd8f963e8543960ec0423fb3a7c4b0e7cb3c1a4daf6be1a747d14eb5b3a625b4abd8873d33b9fd
|
data/ChangeLog.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## Changes between Bunny 3.2.0 and 3.3.0 (Aug 29, 2026)
|
|
2
|
+
|
|
3
|
+
### Passive Declarations No Longer Affect Topology Recovery
|
|
4
|
+
|
|
5
|
+
`Bunny::Channel#queue` and `Bunny::Channel#exchange` recorded passively declared
|
|
6
|
+
queues and exchanges for topology recovery by mistake. Passive declares are just
|
|
7
|
+
existence checks and should not be replayed by topology recovery.
|
|
8
|
+
|
|
9
|
+
`Bunny::Session#queue_exists?` and `Bunny::Session#exchange_exists?` were affected
|
|
10
|
+
in the same way, since both are implemented using passive declarations.
|
|
11
|
+
|
|
12
|
+
### Queue Recovery Recorded `exclusive` and `auto_delete` in Reverse
|
|
13
|
+
|
|
14
|
+
`Bunny::Channel#queue_declare` passed the `exclusive` and `auto_delete` properties
|
|
15
|
+
to the topology registry in the wrong order, so a queue that used one but not the
|
|
16
|
+
other was recovered with both properties flipped.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### `amq-protocol` Bump to `2.9.0`
|
|
20
|
+
|
|
21
|
+
[`2.9.0` release notes](https://github.com/ruby-amqp/amq-protocol/releases/tag/v2.9.0).
|
|
22
|
+
|
|
23
|
+
This version requires Ruby `3.2.0` or later.
|
|
24
|
+
|
|
25
|
+
|
|
1
26
|
## Changes between Bunny 3.1.0 and 3.2.0 (Aug 19, 2026)
|
|
2
27
|
|
|
3
28
|
### Modernization for Ruby 3.x
|
data/lib/bunny/channel.rb
CHANGED
|
@@ -523,7 +523,7 @@ module Bunny
|
|
|
523
523
|
|
|
524
524
|
q = find_queue(name) || Bunny::Queue.new(self, name, opts)
|
|
525
525
|
|
|
526
|
-
record_queue(q)
|
|
526
|
+
record_queue(q) unless opts[:passive]
|
|
527
527
|
register_queue(q)
|
|
528
528
|
end
|
|
529
529
|
|
|
@@ -1352,7 +1352,7 @@ module Bunny
|
|
|
1352
1352
|
args = opts[:arguments]
|
|
1353
1353
|
|
|
1354
1354
|
result = self.queue_declare_without_recording_topology(name, opts)
|
|
1355
|
-
self.record_queue_with(self, result.queue, is_server_named, durable,
|
|
1355
|
+
self.record_queue_with(self, result.queue, is_server_named, durable, auto_delete, exclusive, args) unless passive
|
|
1356
1356
|
|
|
1357
1357
|
result
|
|
1358
1358
|
end
|
data/lib/bunny/exchange.rb
CHANGED
|
@@ -108,8 +108,9 @@ module Bunny
|
|
|
108
108
|
|
|
109
109
|
# for basic.return dispatch and such
|
|
110
110
|
@channel.register_exchange(self)
|
|
111
|
-
# for topology recovery
|
|
112
|
-
|
|
111
|
+
# for topology recovery. A passive declaration does not own the exchange,
|
|
112
|
+
# so it must not overwrite what was recorded for it earlier
|
|
113
|
+
@channel.record_exchange(self) unless @options[:passive]
|
|
113
114
|
end
|
|
114
115
|
|
|
115
116
|
# @return [Boolean] true if this exchange was declared as durable (will survive broker restart).
|
data/lib/bunny/queue.rb
CHANGED
|
@@ -91,8 +91,9 @@ module Bunny
|
|
|
91
91
|
|
|
92
92
|
# for basic.deliver dispatch and such
|
|
93
93
|
@channel.register_queue(self)
|
|
94
|
-
# for topology recovery
|
|
95
|
-
|
|
94
|
+
# for topology recovery. A passive declaration does not own the queue,
|
|
95
|
+
# so it must not overwrite what was recorded for it earlier
|
|
96
|
+
@channel.record_queue(self) unless @options[:passive]
|
|
96
97
|
end
|
|
97
98
|
|
|
98
99
|
# @return [Boolean] true if this queue was declared as durable (will survive broker restart).
|
data/lib/bunny/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bunny
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Duncan
|
|
@@ -19,14 +19,14 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - "~>"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '2.
|
|
22
|
+
version: '2.9'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '2.
|
|
29
|
+
version: '2.9'
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: logger
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
137
|
version: '0'
|
|
138
138
|
requirements: []
|
|
139
|
-
rubygems_version:
|
|
139
|
+
rubygems_version: 4.0.16
|
|
140
140
|
specification_version: 4
|
|
141
141
|
summary: Popular easy to use Ruby client for RabbitMQ
|
|
142
142
|
test_files: []
|