omq 0.28.5 → 0.28.7

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: 898a1e74e82a90b8630dd2d2099824c4d0ca13cf7512df6e1942366cd0e95e9c
4
- data.tar.gz: fc0021fb361f0cdeadeb8dd72337262cc4d69b7cd2908895036a285955a09798
3
+ metadata.gz: 7ba6c1a230231646b3a6c62e2989df1b7e1cc8a0f221ecaa36866d34fa1d0e37
4
+ data.tar.gz: c8fd13bec0c8bc71ce65d7986fc90e2d4269a00c9aceecde3f15f5594ec83550
5
5
  SHA512:
6
- metadata.gz: 07412bdf24c11ad76ddaa67f33f89419f6499db00dff8b50b0607a5bbb7d94df862a24a3ea2dc48cc48842efd00e2205169652767bf57eff4cfcabecd02bbbe0
7
- data.tar.gz: a56a71ffbcac5df842f9f0b5ec68fa3c992ed33bf3e81cc332355a115967d012e36838f94d45800c4bcca4a5653aa26d3b43e9f46d63b66903aa5c5c529dfa0d
6
+ metadata.gz: 2e628c0814a1596514e7ec4f845689c90392c74d5d45652c1e6efa8c85acc801cb88a04d0a5acaa95a6696467d76ea609cac2b93e7de00347fb980104a81564a
7
+ data.tar.gz: e69d5a0698a8f2a2879378dbd35b983e0e45ef52ea323c3a439947b5f657a734333cdec0c869389bf186dabc92beee3fba0093f5498cf67f6ab49ca7e243a868
data/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.28.7] - 2026-08-02
6
+
7
+ ### Fixed
8
+
9
+ - Resolved `RADIO` subscriber readiness when a peer sends `JOIN`, so
10
+ callers waiting on `subscriber_joined` can synchronize with `DISH`.
11
+
12
+ ## [0.28.6] - 2026-08-01
13
+
14
+ ### Changed
15
+
16
+ - Documented that the Rust backend exposes `zstd+tcp://`.
17
+
5
18
  ## [0.28.5] - 2026-07-31
6
19
 
7
20
  ### Fixed
data/README.md CHANGED
@@ -262,8 +262,8 @@ post-handshake message parts are compressed.
262
262
  training from early traffic. Use for new compressed TCP work.
263
263
  - **[omq-zstd](gems/omq-zstd)**: experimental `zstd+tcp://`.
264
264
  Zstandard per-part compression kept for research and comparison. Prefer
265
- `omq-lz4` for new compressed TCP work. OMQ.rs removed `zstd+tcp://`
266
- to reduce transport complexity after lz4rip gained dictionary training.
265
+ `omq-lz4` for new compressed TCP work. The Rust backend also exposes
266
+ `zstd+tcp://`.
267
267
 
268
268
  ### Protocol extensions (RFCs)
269
269
 
@@ -20,6 +20,7 @@ module OMQ
20
20
  # @return [Async::LimitedQueue]
21
21
  #
22
22
  attr_reader :send_queue
23
+ attr_reader :subscriber_joined
23
24
 
24
25
 
25
26
  # @param engine [Engine]
@@ -29,6 +30,7 @@ module OMQ
29
30
  @connections = []
30
31
  @groups = {} # connection => Set of joined groups (or ANY_GROUPS for UDP)
31
32
  @send_queue = Routing.build_queue(engine.options.send_hwm, :block)
33
+ @subscriber_joined = Async::Promise.new
32
34
  @on_mute = engine.options.on_mute
33
35
  @send_pump_started = false
34
36
  @conflate = engine.options.conflate
@@ -175,6 +177,7 @@ module OMQ
175
177
  case cmd.name
176
178
  when "JOIN"
177
179
  @groups[conn]&.add(cmd.data)
180
+ @subscriber_joined.resolve(conn) unless @subscriber_joined.resolved?
178
181
  when "LEAVE"
179
182
  @groups[conn]&.delete(cmd.data)
180
183
  end
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.28.5"
4
+ VERSION = "0.28.7"
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.28.5
4
+ version: 0.28.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger