tag:github.com,2008:https://github.com/SentryPeer/SentryPeer/releasesRelease notes from SentryPeer2025-03-17T12:40:57Ztag:github.com,2008:Repository/334776528/v4.0.42025-03-17T13:03:41Zv4.0.4<h2>Stable release</h2>
<h3>Fixes</h3>
<ul>
<li>Switch to <code>Args::parse_from()</code>, so cli works when using <a href="https://www.musl-libc.org/" rel="nofollow">musl libc</a> as per <a href="https://users.rust-lang.org/t/binary-wont-run-ffi-alpine-musl-and-c/127012/13" rel="nofollow">FFI, ALpine, musl and C</a> and <a href="https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/81324" rel="nofollow">aports issue</a></li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v4.0.32025-02-16T21:22:07Zv4.0.3<h2>Stable release</h2>
<h3>Fixes</h3>
<ul>
<li>Fix build issues on Alpine Linux due to <a href="https://github.com/briansmith/ring/issues/2378" data-hovercard-type="issue" data-hovercard-url="/briansmith/ring/issues/2378/hovercard">ring not building</a></li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v4.0.22025-02-15T15:12:35Zv4.0.2<h2>Stable release</h2>
<h3>Packaging</h3>
<ul>
<li>Maintenance release for <code>make dist</code>.</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v4.0.12025-02-13T12:19:19Zv4.0.1<h2>Stable release</h2>
<h3>Changes</h3>
<ul>
<li>UDP socket now created using <code>socket2</code> crate to set <code>set_reuse_address()</code> and<br>
<code>set_nonblocking()</code> options e.g. <code>SO_REUSEADDR</code>.</li>
<li>Clean up SIP reply from RUST side to have correct CRLF</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v4.0.02024-12-19T12:10:50Zv4.0.0<h2>Stable release</h2>
<h3>Changes</h3>
<ul>
<li>SIP TLS support, using <a href="https://www.rust-lang.org/" rel="nofollow">Rust</a> and <a href="https://github.com/rustls/tokio-rustls">Tokio-rustls</a></li>
<li>If no <code>cert.pem</code> or <code>key.pem</code> files are found, we automatically create them for you in the current working directory for a seemless start up experience</li>
<li><code>-N</code> option to revert to old C way with <code>select()</code> for TCP and UDP</li>
<li>TCP, UDP now all powered by Rust and Tokio</li>
<li>We now support TLS configuration loaded from config using <a href="https://crates.io/crates/confy" rel="nofollow">confy</a></li>
<li>If a cert or key file is not found using <code>-t</code> or <code>-k</code> options, SentryPeer will<br>
ask you if you'd like to create them - we use the very nice <a href="https://crates.io/crates/rcgen" rel="nofollow">rcgen</a> for this</li>
<li>New <code>-z</code>, -t<code>and</code>-k` options for SIP TLS support</li>
<li>Command Line Interface (CLI) now powered by Rust using <a href="https://github.com/clap-rs/clap">clap-rs</a></li>
<li>Environment variables <code>SENTRYPEER_CERT</code>, <code>SENTRYPEER_KEY</code> and <code>SENTRYPEER_TLS_LISTEN_ADDRESS</code></li>
<li>We now look for <code>cargo</code> and <code>rustc</code>, as we are porting parts of SentryPeer to Rust. New features will be written in Rust</li>
<li>SIP TLS support and other Rust-powered features will not be built if Rust is not detected.</li>
<li><code>make check</code> now runs Rust tests</li>
<li><code>make clean</code> cleans up Rust builds</li>
<li><code>--enable-debug</code> argument added to <code>./configure</code> to enable debug mode for Rust code. Default is <code>--release</code></li>
<li><code>--enable-silent-rules</code> and <code>make V=1</code> honoured in Rust code build</li>
<li><code>--disable-rust</code> argument added to <code>./configure</code> so you can disable Rust code build</li>
<li><code>CMakeLists.txt</code> updated to build Rust code and run all tests. We're using <a href="https://github.com/corrosion-rs/corrosion">https://github.com/corrosion-rs/corrosion</a> for this</li>
<li>README.md updated to reflect the new Rust code build options, and CMake build instructions that now also<br>
include Rust code and running our tests</li>
<li>Show <code>CPPFLAGS</code> and <code>LDFLAGS</code> in <code>configure</code> status summary as needed to do macOS builds if on arm64</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v3.0.22023-11-17T12:55:52Zv3.0.2<h2>Stable release</h2>
<h3>Fixes</h3>
<ul>
<li>Check <code>user_agent_header->hvalue</code> is not NULL as you can get a blank user-agent value in malformed SIP packets</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v3.0.12023-07-20T11:42:36Zv3.0.1<h2>Stable release</h2>
<ul>
<li>Add a check for a response code of 403 to trigger a new access token request for WebHooks in addition to a 401</li>
</ul>
<h3>Changes</h3>
<ul>
<li><code>-pedantic-errors</code> is now enabled by default in <code>Makefile.am</code></li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Switch to <code>getsockname()</code> to correctly get destination IP address for SIP TCP mode</li>
<li>Check for a blank <code>User-agent</code> SIP header and add a test case. Only a missing one was catered for before.</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v3.0.02023-04-29T15:55:25Zv3.0.0<h2>Stable release</h2>
<ul>
<li>OAuth2 support for sending events to the <a href="https://sentrypeer.com" rel="nofollow">SentryPeerHQ</a> RESTful API (client_credentials grant type) with<br>
a Bearer token in the Authorization header</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Clean up memory leaks in libcurl code when sending events to a WebHook url</li>
<li>Fix segfault on parsing part of a 'To' SIP header that could be NULL</li>
<li>Fix failing sqlite test on macOS</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v2.0.12023-02-16T10:16:43Zv2.0.1<h2>Stable release</h2>
<ul>
<li>Re-work dht memory usage</li>
<li>cppcheck work in tests</li>
<li>Clearly state that Peer to Peer mode is off by default in the docs and that setting an environment variable to<br>
anything, e.g. <code>0</code> will enable that particular mode. We <em>don't care</em> what you set it to, just that it's set.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fix config trying to free an OpenDHT member that isn't present if not built with OpenDHT</li>
</ul>ghenrytag:github.com,2008:Repository/334776528/v2.0.02022-09-01T19:23:28Zv2.0.0<h2>Stable release</h2>
<ul>
<li>Added optional <code>-w https://my_sentrypeerhq_onprem_or_cloud_url/events</code> WebHook cli/env var to set URL for bad actor<br>
JSON to be sent to SentryPeerHQ for the dashboard and other services</li>
<li>Removed local incomplete web gui. This will be replaced by a new FL/OSS project called <a href="https://github.com/SentryPeer/SentryPeer_HQ">SentryPeerHQ</a></li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li><code>-w</code> now requires a URL to be set as it is used for the WebHook to <a href="https://github.com/SentryPeer/SentryPeer_HQ">SentryPeerHQ</a>.<br>
Before it enabled the local Web UI which has been removed.</li>
</ul>
<h3>Tests</h3>
<ul>
<li>Added tests for new WebHook feature</li>
</ul>ghenry