tag:github.com,2008:https://github.com/HaveFunTrading/boomnet/releasesRelease notes from boomnet2025-01-07T17:29:17Ztag:github.com,2008:Repository/771380345/0.0.332025-01-07T17:50:32Z0.0.33<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.31...0.0.32">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Stream] Use <code>ConnectionInfo</code> to simplify TCP stream creation and configuration. In addition, the <code>ConnectionInfoProvider</code> trait ensures cleaner stream composition API.</li>
</ul>
<p>For example, before the change, when creating <code>Websocket</code> using composition we would need to reference <code>server_name</code> in multiple places.</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="let mut ws = TcpStream::bind_and_connect("stream.binance.com:9443", None, None)?
.into_tls_stream("stream.binance.com")
.into_websocket("wss://stream.binance.com:9443/ws");"><pre><span class="pl-k">let</span> <span class="pl-k">mut</span> ws = <span class="pl-smi">TcpStream</span><span class="pl-kos">::</span><span class="pl-en">bind_and_connect</span><span class="pl-kos">(</span><span class="pl-s">"stream.binance.com:9443"</span><span class="pl-kos">,</span> <span class="pl-v">None</span><span class="pl-kos">,</span> <span class="pl-v">None</span><span class="pl-kos">)</span>?
<span class="pl-kos">.</span><span class="pl-en">into_tls_stream</span><span class="pl-kos">(</span><span class="pl-s">"stream.binance.com"</span><span class="pl-kos">)</span>
<span class="pl-kos">.</span><span class="pl-en">into_websocket</span><span class="pl-kos">(</span><span class="pl-s">"wss://stream.binance.com:9443/ws"</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p>After the change, the <code>Websocket</code> creation looks much simpler.</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="let mut ws = TcpStream::try_from(("stream.binance.com", 9443))?
.into_tls_stream()
.into_websocket("/ws");"><pre><span class="pl-k">let</span> <span class="pl-k">mut</span> ws = <span class="pl-smi">TcpStream</span><span class="pl-kos">::</span><span class="pl-en">try_from</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s">"stream.binance.com"</span><span class="pl-kos">,</span> <span class="pl-c1">9443</span><span class="pl-kos">)</span><span class="pl-kos">)</span>?
<span class="pl-kos">.</span><span class="pl-en">into_tls_stream</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
<span class="pl-kos">.</span><span class="pl-en">into_websocket</span><span class="pl-kos">(</span><span class="pl-s">"/ws"</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.322025-01-05T15:39:12Z0.0.32<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.31...0.0.32">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[IO Service] Remove dependency on internal <code>idle_strategy</code>.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.312025-01-04T21:44:49Z0.0.31<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.30..0.0.31">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Websocket] Try to read more data from the network only if required.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.302025-01-04T20:04:41Z0.0.30<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.29...0.0.30">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Websocket] Introduce <code>batch_iter</code> method to obtain iterator over current messages received since the last network read. This way of consuming messages should be preferred over <code>receive_next</code> that will deliver at most one message at a time.</li>
<li>[Websocket] Removed frame timestamps (not backwards compatible). If you need to create batch aware timestamps use the new <code>batch_iter</code> method.</li>
<li>[Other] MSRV has been changed to 1.83.0 so that we can use <code>const</code> on functions that take mutable references.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.292025-01-02T16:01:04Z0.0.29<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.28...0.0.29">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Websocket] Better handle <code>CLOSE_FRAME</code> messages received from the server.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.282024-12-30T20:33:00Z0.0.28<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.27...0.0.28">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Websocket]
<ul>
<li>Switch to <code>static</code> lifetime for <code>WebsocketFrame</code></li>
<li>Fix buffering of pending messages when handshake not done</li>
<li>Respond to ping immediately</li>
</ul>
</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.272024-12-29T21:33:22Z0.0.27<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.26...0.0.27">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Websocket] Expose websocket handshake state.</li>
<li>[Websocket] Buffer pending text messages until handshake has been completed.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tthebst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tthebst">@tthebst</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2761144475" data-permission-text="Title is private" data-url="https://github.com/HaveFunTrading/boomnet/issues/6" data-hovercard-type="pull_request" data-hovercard-url="/HaveFunTrading/boomnet/pull/6/hovercard" href="https://github.com/HaveFunTrading/boomnet/pull/6">#6</a></li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.262024-12-14T22:06:21Z0.0.26<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.25...0.0.26">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li><a href="https://github.com/HaveFunTrading/boomnet/pull/5" data-hovercard-type="pull_request" data-hovercard-url="/HaveFunTrading/boomnet/pull/5/hovercard">[Service]</a> Add misising call to <code>IdleStrategy</code> when polling endpoint with context.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.252024-05-15T17:15:24Z0.0.25<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.24...0.0.25">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Stream] Fix <code>ReadBuffer</code> capacity check upon creation to use <code>INITIAL_CAPACITY</code> instead of <code>DEFAULT_INITIAL_CAPACITY</code>.</li>
</ul>HaveFunTradingtag:github.com,2008:Repository/771380345/0.0.242024-05-06T20:31:44Z0.0.24<p><a href="https://github.com/HaveFunTrading/boomnet/compare/0.0.23...0.0.24">Changelog</a></p>
<h2>Changes</h2>
<ul>
<li>[Stream] Upgrade <code>rustls</code> to <code>0.22.4</code>.</li>
<li>[IO Service] <code>Endpoint</code> no longer requires to implement <code>Default</code>.</li>
</ul>HaveFunTrading