omq 0.17.1 → 0.17.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d74a6fe050e6b3a4130110d02b786b96dfe5c56f4ddd7436412440b1767e4341
4
- data.tar.gz: 94549607bd5378704e6c053f7d49d872c87379acd6cd7c1b960340dad7f9ed70
3
+ metadata.gz: f8a35ab8a212a111e78889494ac1eb18f780b6315eb3993eb83d04ae7ebdb222
4
+ data.tar.gz: 32727fe82814e3d36843dcbd82d66ecfbd9c26e5c36e7a173bdcf164dd649f75
5
5
  SHA512:
6
- metadata.gz: 8c405863b11243bdc0eee221c7183fa4052748e3c12cc204b57c577dfe98e86541b196be4cbb07ac9f024a35dea78c7a765f0e37109d12e5a5898fc50b521039
7
- data.tar.gz: cf39178da5ec5250b18822e7de437b910679985e01c96c61e4d50389fdf3318403d1ccc2024516940a13c13b44ad0fe8adda83770cfcb2da678f486c6e1f4a23
6
+ metadata.gz: 1f78b8ff8a907b606ec376a7186a09b77b91317c91f3bdb1ff7ebd600d36d6e6fea4738b72dc4ddd3c611225df4a9c27fbd8418fe73dfcdf7a20985fdee5516b
7
+ data.tar.gz: 3811837748c18669dd6dc604c8253cfdb7b0e26a6c9eda3b61a4c711ac441f88b58c283701e6985880aa03d963338b53cc4271c3e456e6499498f9ce21037d85
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.2 — 2026-04-10
4
+
5
+ ### Fixed
6
+
7
+ - **Reconnect after handshake failure.** When a peer RST'd a TCP
8
+ connection mid-ZMTP-handshake (e.g. `LINGER 0` close against an
9
+ in-flight connect), `ConnectionLifecycle#handshake!` called
10
+ `transition!(:closed)` directly, bypassing `tear_down!` and its
11
+ `maybe_reconnect` call. `spawn_connection`'s `ensure close!` then
12
+ saw the state already `:closed` and did nothing — the endpoint died
13
+ silently with no reconnect ever scheduled. Now the handshake rescue
14
+ goes through `tear_down!(reconnect: true)`, emitting `:disconnected`
15
+ and scheduling reconnect like any other connection loss.
16
+
3
17
  ## 0.17.1 — 2026-04-10
4
18
 
5
19
  ### Changed
@@ -89,7 +89,11 @@ module OMQ
89
89
  rescue Protocol::ZMTP::Error, *CONNECTION_LOST => error
90
90
  @engine.emit_monitor_event(:handshake_failed, endpoint: @endpoint, detail: { error: error })
91
91
  conn&.close
92
- transition!(:closed)
92
+ # Full tear-down with reconnect: without this, spawn_connection's
93
+ # ensure-block close! sees :closed and skips maybe_reconnect,
94
+ # leaving the endpoint dead. Race is exposed when a peer RSTs
95
+ # mid-handshake (e.g. LINGER 0 close against an in-flight connect).
96
+ tear_down!(reconnect: true)
93
97
  raise
94
98
  end
95
99
 
data/lib/omq/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OMQ
4
- VERSION = "0.17.1"
4
+ VERSION = "0.17.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.1
4
+ version: 0.17.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger