# # spec file for package signal-ringrtc # # Copyright (c) 2020 SUSE LLC # Copyright (c) 2019 Andreas Schneider . # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global __provides_exclude ^lib.*\\.so.*$ #Both electron and webrtc require SSE2 on the x86 port. So we can require SSE2 on all other code, too. %ifarch %ix86 ExclusiveArch: i586 i686 BuildArch: i686 %{expand:%%global optflags %(echo "%optflags") -march=pentium4 -mtune=generic} %{expand:%%global build_rustflags %(echo "%build_rustflags") -C target-cpu=pentium4 -Z tune-cpu=generic} %endif # needs C++17 abseil as some code assumes absl::string_view is an alias for std::string_view. Leap does not have it. %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora_version} >= 39 %bcond_without system_abseil %else %bcond_with system_abseil %endif %bcond_without system_libyuv %global pkg_name ringrtc %global rpm_name signal-libringrtc %define webrtc_req_version 7339d Name: nodejs-signal-ringrtc Version: 2.59.4 Release: 1.1 Summary: Video and voice calling services for Signal Messenger License: AGPL-3.0-only and Apache-2.0 and BSD-3-Clause and dtoa and ISC and MIT and OpenSSL and SUSE-Public-Domain and Unicode-DFS-2016 Group: Development/Languages/Rust URL: https://github.com/signalapp/ringrtc/ # # Created with create_tarball.sh Source0: webrtc-%{webrtc_req_version}.tar.zst Source1: https://github.com/signalapp/%{pkg_name}/archive/v%{version}/%{pkg_name}-%{version}.tar.gz # Created by prepare-vendor.sh Source2: vendor.tar.zst Source3: cargo_config # PATCHES for openSUSE-specific things Patch1: signal-webrtc-disable-compiler-configs.patch Patch8: gcc-asmflags.patch Patch12: cubeb-no-static.patch Patch13: cubeb-core-visibility-hidden.patch Patch14: cc-link-lib-no-static.patch Patch15: cubeb-wrap-internal-cargo.patch Patch16: cubeb-sys-debug.patch # PATCHES to use system libs Patch1000: shim-headers-official-build.patch Patch1005: system-opus.patch Patch1006: system-absl_algorithm.patch Patch1009: system-protobuf.patch Patch1010: vpx_ext_ratectrl.patch #PATCHES to fix compatibility with other software Source2000: webrtc-make_ref_counted-absl2024-nullability.patch #fix old rust Patch2001: flatten.patch #PATCHES that should be upstreamed verbatim or near-verbatim Patch3002: webrtc-138-Wchanges-meaning.patch BuildRequires: cargo >= 1.52.0 BuildRequires: nodejs BuildRequires: cmake BuildRequires: gn BuildRequires: jq %if 0%{?suse_version} BuildRequires: ninja %else BuildRequires: ninja-build %endif %if %{with system_abseil} BuildRequires: pkgconfig(absl_algorithm) BuildRequires: pkgconfig(absl_algorithm_container) >= 20211000 BuildRequires: pkgconfig(absl_any_invocable) BuildRequires: pkgconfig(absl_base) BuildRequires: pkgconfig(absl_bind_front) BuildRequires: pkgconfig(absl_bits) BuildRequires: pkgconfig(absl_btree) BuildRequires: pkgconfig(absl_cleanup) BuildRequires: pkgconfig(absl_config) BuildRequires: pkgconfig(absl_cord) BuildRequires: pkgconfig(absl_core_headers) BuildRequires: pkgconfig(absl_failure_signal_handler) BuildRequires: pkgconfig(absl_fixed_array) BuildRequires: pkgconfig(absl_flags) BuildRequires: pkgconfig(absl_flags_parse) BuildRequires: pkgconfig(absl_flags_usage) BuildRequires: pkgconfig(absl_flat_hash_map) BuildRequires: pkgconfig(absl_flat_hash_set) BuildRequires: pkgconfig(absl_hash) BuildRequires: pkgconfig(absl_inlined_vector) BuildRequires: pkgconfig(absl_int128) BuildRequires: pkgconfig(absl_memory) BuildRequires: pkgconfig(absl_node_hash_map) BuildRequires: pkgconfig(absl_node_hash_set) BuildRequires: pkgconfig(absl_nullability) BuildRequires: pkgconfig(absl_optional) BuildRequires: pkgconfig(absl_random_random) BuildRequires: pkgconfig(absl_span) BuildRequires: pkgconfig(absl_stacktrace) BuildRequires: pkgconfig(absl_status) BuildRequires: pkgconfig(absl_statusor) BuildRequires: pkgconfig(absl_strings) BuildRequires: pkgconfig(absl_str_format) BuildRequires: pkgconfig(absl_symbolize) BuildRequires: pkgconfig(absl_synchronization) BuildRequires: pkgconfig(absl_time) BuildRequires: pkgconfig(absl_type_traits) BuildRequires: pkgconfig(absl_variant) %endif BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(libpulse) %if %{with system_libyuv} # Needs I410Rotate %if 0%{?suse_version} BuildRequires: pkgconfig(libyuv) >= 1855 %endif # Fedora does not provide meaningful versioning, sorry BuildRequires: pkgconfig(libyuv) %else BuildRequires: pkgconfig(libjpeg) >= 1.5 %endif BuildRequires: pkgconfig(opus) >= 1.3.1 %if %{with system_abseil} #any re2 will do BuildRequires: pkgconfig(re2) %else #needs to be old version so as not to collide with bundled abseil headers BuildRequires: pkgconfig(re2) < 12 %endif BuildRequires: pkgconfig(vpx) >= 1.8.2 %if 0%{?fedora} BuildRequires: libatomic %endif %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} %define PYVER 3 %else %define PYVER 311 BuildRequires: python311-base %endif %if 0%{?fedora} BuildRequires: protobuf-compiler %else BuildRequires: protobuf-devel %endif %if 0%{?fedora} BuildRequires: rust-srpm-macros %else BuildRequires: cargo-packaging >= 1.2.0+3 BuildRequires: cargo-auditable %endif BuildRequires: zstd %if 0%{?suse_version} >= 1650 || 0%{?fedora} BuildRequires: gcc >= 14 BuildRequires: gcc-c++ >= 14 %else %if 0%{?suse_version} >= 1550 BuildRequires: gcc15-PIE BuildRequires: gcc15-c++ %else BuildRequires: gcc14-PIE BuildRequires: gcc14-c++ %endif %endif #For cubeb-sys BuildRequires: pkgconfig(speexdsp) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(jack) %if 0%{?suse_version} BuildRequires: sndio-devel %endif BuildRequires: doxygen BuildRequires: graphviz # Fedora thinks this is a native node module and adds an unwanted dependency on nodejs(abiXX) %global __nodejs_native_requires %nil %description RingRTC is a middleware library providing Signal Messenger applications with video and voice calling services built on top of WebRTC. %package -n %rpm_name Summary: Video and voice calling services for Signal Messenger Group: System/Libraries Provides: bundled(signal-webrtc) = %webrtc_req_version %description -n %rpm_name RingRTC is a middleware library providing Signal Messenger applications with video and voice calling services built on top of WebRTC. %prep %setup -q -T -b 2 -n src %setup -q -n webrtc-%{webrtc_req_version} -a1 ln -srv %{pkg_name}-%{version}/src/rust -t ringrtc mv -v ../src/rust/vendor -t ringrtc/rust/ %autopatch -p1 # This one just removes compatibility with old abseil and does not add anything, reverting unconditionally. patch -R -p1 < %SOURCE2000 install -d -m 0755 ringrtc/rust/.cargo cp -p %{SOURCE3} ringrtc/rust/.cargo/config # Sanity check if we have the correct webrtc version test $(grep ^webrtc.version= %{pkg_name}-%{version}/config/version.properties | sed 's/.*=//') = %{webrtc_req_version} # https://blogs.gnome.org/mcatanzaro/2020/05/18/patching-vendored-rust-dependencies/ pushd ringrtc/rust/vendor/libloading jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/prost-build jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/aes-gcm-siv jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/rustix jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/cubeb-core jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/cubeb-sys jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/cc jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/blake2 jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd pushd ringrtc/rust/vendor/cubeb-sys/libcubeb/src/cubeb-pulse-rs/vendor/cubeb-sys jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd cat >%{_builddir}/cargo-wrapper <<"EOF" cargo -vv $auditable rustc --lib --offline --release --features=gecko-in-tree --crate-type staticlib EOF chmod -v +x %{_builddir}/cargo-wrapper gn_system_libraries=( libjpeg libvpx opus re2 zlib ) %if %{with system_abseil} find third_party/abseil-cpp -type f ! -name "*.gn" -a ! -name "*.gni" -delete gn_system_libraries+=( absl_algorithm absl_base absl_cleanup absl_container absl_debugging absl_flags absl_functional absl_hash absl_log absl_log_internal absl_memory absl_meta absl_numeric absl_random absl_status absl_strings absl_synchronization absl_time absl_types absl_utility ) %endif %if %{with system_libyuv} find third_party/libyuv -type f ! -name "*.gn" -a ! -name "*.gni" -delete gn_system_libraries+=( libyuv ) %endif build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]} %if %{with system_cubeb} rm -rf ringrtc/rust/vendor/cubeb-sys/libcubeb %endif %build export CFLAGS="%{optflags} -fpic -fno-semantic-interposition -fno-fat-lto-objects -fvisibility=hidden" %if 0%{?fedora} #ICE during LTO when exceptions turned on export CFLAGS="$(echo $CFLAGS | sed -e 's/ -fexceptions / /g')" %endif # Google has a bad coding style, using a macro `RTC_DCHECK_NOTREACHED()` that is not properly detected by GCC # multiple times throughout the codebase. It is not possible to redefine the macro to __builtin_unreachable, # as it has an astonishing syntax, behaving like an ostream (in debug builds it is supposed to trap and print an error message) export CXXFLAGS="$CFLAGS -Wno-error=return-type" #Fix build with abseil < 2025 export CXXFLAGS="$CXXFLAGS -Dabsl_nullable= -Dabsl_nonnull= " export LDFLAGS="%{?build_ldflags} -Wl,--gc-sections -Wl,-O2" # Chromium build system seems to rely on protobuf's transitive dependency on abseil if protozero_plugin uses abseil code. Work around this. export LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries" export MAKEFLAGS="%{_smp_mflags}" export CC=gcc export CXX=g++ export AR=gcc-ar export NM=gcc-nm export RANLIB=gcc-ranlib %if 0%{?suse_version} >= 1650 || 0%{?fedora} export CC=gcc export CXX=g++ export AR=gcc-ar export NM=gcc-nm export RANLIB=gcc-ranlib %else %if 0%{?suse_version} >= 1550 export CC=gcc-15 export CXX=g++-15 export AR=gcc-ar-15 export NM=gcc-nm-15 export RANLIB=gcc-ranlib-15 %else export CC=gcc-14 export CXX=g++-14 export AR=gcc-ar-14 export NM=gcc-nm-14 export RANLIB=gcc-ranlib-14 %endif %endif mkdir -p "%{_builddir}/bin/" %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} ln -sfn %{_bindir}/python3 %{_builddir}/bin/vpython3 %else ln -sfn %{_bindir}/python3.11 %{_builddir}/bin/vpython3 %endif #AWFUL HACK: Custom cmake wrapper to override CFLAGS because -g -O2 seems to get stripped by Rust no matter what i do otherwise #Compare openSUSE macros.cmake cat <<"EOF" > %{_builddir}/bin/cmake #!/bin/bash if [[ "$1" = --build ]]; then exec %{_bindir}/cmake "$@" fi exec %{_bindir}/cmake "$@" -DCMAKE_C_FLAGS="${CFLAGS}" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS -Wl,--as-needed" \ -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" EOF cat %{_builddir}/bin/cmake chmod +x %{_builddir}/bin/cmake export PATH="%{_builddir}/bin/:$PATH" # Create the configuration for GN # Available options: gn args --list out/Release/ WEBRTC_ARGS=$(grep -F 'WEBRTC_ARGS="target' ringrtc-%{version}/bin/build-desktop | sed 's/.*\}\\\"//' | sed 's/\"\s*$//' ) myconf_gn="$WEBRTC_ARGS" myconf_gn+=' rtc_include_tests=false rtc_enable_protobuf=false' myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" use_custom_libcxx=false" myconf_gn+=' use_safe_libstdcxx=false' myconf_gn+=' use_llvm_libatomic=false' myconf_gn+=" is_debug=false" myconf_gn+=' is_official_build=true' myconf_gn+=" use_lld=false" myconf_gn+=" use_sysroot=false" myconf_gn+=" is_clang=false" myconf_gn+=" treat_warnings_as_errors=false" myconf_gn+=' perfetto_use_system_protobuf=true' myconf_gn+=' enable_rust=false' myconf_gn+=' rtc_rusty_base64=false' %ifarch %arm #openSUSE only supports armhf %ifarch armv7hl armv7hnl myconf_gn+=" arm_version=7" %endif %ifarch armv6hl myconf_gn+=" arm_version=6" %endif myconf_gn+=" arm_float_abi=\"hard\"" myconf_gn+=' arm_use_thumb=false' # Disable requirement of neon instructions %ifarch armv7hnl armv8hnl armv8hcnl myconf_gn+=" arm_use_neon=true" %else myconf_gn+=" arm_use_neon=false" myconf_gn+=" arm_optionally_use_neon=true" %endif %endif #ifarch arm myconf_gn+=' rtc_link_pipewire=true' #it is set by default to is_clang but should be enabled also on gcc myconf_gn+=' rtc_enable_avx2=true' gn gen --testonly=false --root-pattern=//:webrtc --args="${myconf_gn}" out/release # Pass the libs only to the linker, otherwise linking abseil will take 5+ hours LIBS_WRAPPED=$(gn desc out/release :webrtc libs --root-pattern=//:webrtc |sed 's/^/ -Clink-arg=-l/') %ninja_build -C out/release webrtc export OUTPUT_DIR="$(pwd)/out" export RUSTC_BOOTSTRAP=1 export RUSTFLAGS="%{build_rustflags} ${LIBS_WRAPPED} --verbose -Cstrip=none" export RUSTC_LOG='rustc_codegen_ssa::back::link=info' export CARGO_TERM_VERBOSE=true # https://github.com/Firstyear/cargo-packaging/pull/10 export CARGO_INCREMENTAL=0 # The `cc` crate tries to be too clever and passes some default cflags to cmake. # Disable these and use only the ones from CFLAGS env. variable export CRATE_CC_NO_DEFAULTS=1 # Ensure cmake gets the RelWithDebInfo profile export CARGO_PROFILE_RELEASE_DEBUG=2 # make cmake louder? export VERBOSE=1 export V=1 # make cc crate output build log export CC_ENABLE_DEBUG_OUTPUT=1 %if 0%{?suse_version} export auditable='auditable -vv' %endif cd ringrtc/rust cargo -vv $auditable rustc --package ringrtc --lib --offline --release --features electron --crate-type cdylib -- -lcubeb -Clinker=$CXX %install install -pvDm755 ringrtc-*/target/release/libringrtc.so \ %{buildroot}%{_libexecdir}/signal-desktop/node_modules/@signalapp/ringrtc/build/linux/libringrtc-$(echo -n 'console.log(require("node:process").arch)'|node).node %check # Sanity check that we don't have unresolved symbols. It does not fail the build in the case # of a shared library, and that problem already happened twice in the history of this package. # All unresolved symbols should start with napi, they are exported by electron itself and don't depend on the node API version. pushd %{buildroot}%{_libexecdir} find . -name '*.node' -print0 | xargs -0 -t -IXXX sh -c '! ldd -d -r XXX | \ grep '\''^undefined symbol'\'' | \ grep -v '\''^undefined symbol: napi_'\'' ' popd export CFLAGS="%{optflags} -fpic -fno-semantic-interposition -fno-fat-lto-objects -fvisibility=hidden" %if 0%{?fedora} export CFLAGS="$(echo $CFLAGS | sed -e 's/ -fexceptions / /g')" %endif export CXXFLAGS="$CFLAGS -Wno-error=return-type" export LDFLAGS="%{?build_ldflags} -Wl,--gc-sections -Wl,-O2" export LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries" export MAKEFLAGS="%{_smp_mflags}" export CC=gcc export CXX=g++ export AR=gcc-ar export NM=gcc-nm export RANLIB=gcc-ranlib %if 0%{?suse_version} && 0%{?suse_version} <= 1500 export CC=gcc-14 export CXX=g++-14 export AR=gcc-ar-14 export NM=gcc-nm-14 export RANLIB=gcc-ranlib-14 %endif export PATH="%{_builddir}/bin/:$PATH" LIBS_WRAPPED=$(gn desc out/release :webrtc libs --testonly=false --root-pattern=//:webrtc|sed 's/^/ -Clink-arg=-l/') export OUTPUT_DIR="$(pwd)/out" export RUSTC_BOOTSTRAP=1 export RUSTFLAGS="%{build_rustflags} ${LIBS_WRAPPED} --verbose -Cstrip=none" export RUSTC_LOG='rustc_codegen_ssa::back::link=info' export CARGO_TERM_VERBOSE=true export CARGO_INCREMENTAL=0 export CRATE_CC_NO_DEFAULTS=1 export CARGO_PROFILE_RELEASE_DEBUG=2 export VERBOSE=1 export V=1 export CC_ENABLE_DEBUG_OUTPUT=1 %if 0%{?suse_version} export auditable='auditable -vv' %endif cd ringrtc/rust # `sim` must be used for tests, and `native` (which is implied by `electron`) cannot be used together with `sim` RUN_TESTS="cargo -vv $auditable test --release --no-fail-fast --package ringrtc --package protobuf@%{version} --package regex-aot --features neon,sim" # Several of the tests are flaky. Sigh. $RUN_TESTS || $RUN_TESTS || $RUN_TESTS #We should test all first-party dependencies of `ringrtc` crate. #Thus since 2.44.0, we should also be running tests for `--package mrp` #but they sometimes hang for tens of minutes. This cannot be worked around with the above hack, #thus we don't run them currently. %files -n %rpm_name %defattr(-,root,root) %license ringrtc-*/LICENSE ringrtc-*/acknowledgments/acknowledgments.html %doc ringrtc-*/README.md ringrtc-*/CHANGELOG.md %{_libexecdir}/signal-desktop/ %changelog * Thu Nov 6 2025 Bruno Pitrus - Update to version 2.59.4 for Signal 7.79.0 * Update to cubeb 0.33.0 * Update to webrtc 7339d: Add backup connection candidate stats and ICE check stats * Thu Oct 30 2025 Bruno Pitrus - Update to version 2.59.2 for Signal 7.77.0 * Add support for fragmenting large data messages to SFU * Add error stats to deviceToSfu * Thu Oct 9 2025 Bruno Pitrus - Update to version 2.59.0 for Signal 7.74.0 * Update to webrtc 7339c (m140) * Desktop: Improve ADM lifecycle management * Desktop: Get rid of ProtobufBuffer type * Desktop: Drop last uses of Buffer/JsBuffer * Remove support for old data rtp ssrc - Drop no longer needed patches: * ringrtc-rust-hidden-visibility.patch * matched_filter_lag_aggregator-missing-unique_ptr.patch - Add vpx_ext_ratectrl.patch - Build with IS_OFFICIAL_BUILD and add shim-headers-official-build.patch - Leap: build with gcc >=14 - Fix underlinked binary with new rust - Fedora: build without exceptions due to compiler crash * Thu Oct 2 2025 Bruno Pitrus - Update to version 2.58.1 for Signal 7.73.0 * Reduce some error!s to warn!s in ADM * Update to cubeb 0.31.2 * handle missing default device * Refactor ADM to use cubeb in an async manner * Implement device changed callbacks - Add flatten.patch to fix build error * Fri Sep 19 2025 dziobian - Update to version 2.57.1 for Signal 7.71.0 * Reduce some error!s to warn!s in ADM * Update to cubeb 0.31.2, which saves battery life * handle missing default device * Thu Sep 4 2025 Bruno Pitrus - Update to version 2.57.0 for Signal 7.69.0 * Desktop: Convert Buffer types to Uint8Array and simplifications * Update to webrtc 7204c: Don't pass non-owned relay_port_factory * Sun Aug 10 2025 Bruno Pitrus - Update to version 2.56.0 for Signal 7.65.0 * Check remote peer for all direct call messages * Update to webrtc 7204a (m138) * Desktop: Improve ADM log redaction * Desktop: Convert Buffer types to Uint8Array * Desktop: Setup the event reporter first for the call endpoint - Add webrtc-138-Wchanges-meaning.patch to fix build error * Thu Jul 10 2025 Bruno Pitrus - Update to version 2.54.1 for Signal 7.61.0 * Remove endorsementPublicKey from createGroupCallClient * Support receiving SendEndorsements over RTP in SfuToDevice * New Audio Device Module improvements: Output in stereo * Update to webrtc 7103e: + Always use the ringrtc ADM + Avoid creating and converting session descriptions * Avoid auto-declining calls on failure * Send data rtp with new ssrc * Fri Jul 4 2025 Bruno Pitrus - ringrtc-rust-hidden-visibility.patch, cubeb-core-visibility-hidden.patch: fix ftbfs with rust 1.88 (gh#rust-lang/rust#143422) * Thu Jun 19 2025 Bruno Pitrus - Update to version 2.53.0 for Signal 7.58.0 * Call links: Add support for epoch id * Update to webrtc 7103d + Revert changes to initial bitrate (set default back to 300kbps) + Avoid logging delay warnings + Remove obsolete sdp string munging * Group Calls: Delay ending to ensure leaving * Update dependencies * Wed Jun 11 2025 Bruno Pitrus - Update to version 2.52.2 for Signal 7.57.0 * Update to webrtc 7103b (m136) * Disable perfetto linking - Drop chromium-132-no-rust.patch and cr130-abseil-remove-unused-deps.patch, they're not needed when using gn gen properly * Wed May 28 2025 Bruno Pitrus - Update to version 2.52.0 for Signal 7.56.0 * Add support for remote mute * Update to webrtc 6998c: revert video delay changes * Wed Apr 30 2025 Bruno Pitrus - update to version 2.51.0 for Signal 7.53.0 * no changes * Wed Apr 23 2025 Bruno Pitrus - update to version 2.50.5 for Signal 7.52.0 * Update to webrtc 6998a (m134) - Drop no longer needed patches * boringssl-internal-addc-cxx.patch * ssl_stream_adapter-missing-optional.patch - Drop Fedora 40 support * drop macros-abseil-2401.patch * drop scoped_refptr-abseil-2401.patch - Add patches to fix build errors * webrtc-make_ref_counted-absl2024-nullability.patch * chromium-132-no-rust.patch * Thu Apr 17 2025 Bruno Pitrus - update to version 2.50.4 for Signal 7.51.0 * update to cubeb 0.27.0 * Thu Apr 3 2025 Bruno Pitrus - Update to version 2.50.3 for Signal 7.49.0 * Revert "Mark audio packets as having an encrypted TOC byte" * Wed Mar 19 2025 Bruno Pitrus - Update to version 2.50.2 for Signal 7.47.0 * Group Calls: Add receiving PeekInfo over RTP in SfuToDevice * Improve handling of failure to initialize streams * Update to webrtc 6834f: fix for buffer overwrite * Thu Mar 6 2025 Bruno Pitrus - Update to version 2.50.1 for Signal 7.45.0 * Remove obsolete primary device flag * Group Calls: Add ICE password to join request * Grab more characters from cubeb logs * Update dependencies * Thu Feb 27 2025 Bruno Pitrus - Update to version 2.49.5 for Signal 7.44.0 * Bump cubeb to 0.22.0 * Add num_packets and merge buffer support to MrpStreams * Thu Feb 13 2025 Bruno Pitrus - Update to version 2.49.4 for Signal 7.42.0 * Lower time threshold for speech event notification * Thu Jan 30 2025 Bruno Pitrus - Update to version 2.49.3 for Signal 7.40.0 * Update to webrtc 6834c (m132) * Desktop: New Audio Device Module improvements * Bump cubeb to 0.20.0 * Update dependencies - add macros-abseil-2401.patch - add scoped_refptr-abseil-2401.patch * Wed Jan 15 2025 Bruno Pitrus - Update to version 2.49.2 for Signal 7.38.0 * Update to webrtc 6723c + Use RE2 instead of std::regex for SDP munging + Remove RED support + For encrypted video, check for keyframe after decryption * Calling server should enforce max call size * Desktop: New Audio Device Module improvements * Refresh default devices periodically * Group Calls: Make the Client::start() function take a struct * Update Rust dependencies * Fri Jan 10 2025 Bruno Pitrus - Update to version 2.49.1 for Signal 7.37.0 * Desktop: Fix crash caused by new Audio Device Module * Remove support for unencrypted audio header * Remove redundant ADM creation * Disable voice processing on inputs for macos * Cache output of enumerate_devices * Update to webrtc 6723b + Enable video layers allocation header extension in group calls + Remove checks for dependency descriptors * Increase priority of non-relay candidates - Add cubeb-wrap-internal-cargo.patch - Add cubeb-sys-debug.patch * Wed Nov 20 2024 Bruno Pitrus - Update to version 2.48.7 for Signal 7.34.0 * Logging improvements for ringrtc ADM * Notify clients for important speech events - Add cc-link-lib-no-static.patch * Thu Nov 14 2024 Bruno Pitrus - Update to version 2.48.6 for Signal 7.33.0 * Update bundled cubeb to 0.17.0 * Do not show monitor (loopback) devices in input list - Drop upstreamed patches * cubeb-sys-device-i8-u8.patch * aarch64-ADM.patch - Add cubeb-core-visibility-hidden.patch * Thu Nov 7 2024 Bruno Pitrus - Update to version 2.48.4 for Signal 7.32.0 * Update to webrtc 6723a (m130) * Desktop: Updates to the new Audio Device Module - Add cr130-abseil-remove-unused-deps.patch * Wed Oct 16 2024 Bruno Pitrus - Update to version 2.48.3 for Signal 7.29.0 * no changes * Thu Oct 10 2024 Bruno Pitrus - Update to version 2.48.1 for Signal 7.28.0 * Add new Audio Device Module option using cubeb - Add patches: * aarch64-ADM.patch * cubeb-no-static.patch * cubeb-sys-device-i8-u8.patch * Thu Oct 3 2024 Bruno Pitrus - Update to version 2.48.0 for Signal 7.27.0 * Group Calls: Avoid creating a client if one already exists * Thu Sep 26 2024 Bruno Pitrus - Update to version 2.47.1 for Signal 7.26.0 * Group Calls: Allow connection to a TCP+TLS server candidate * Thu Sep 19 2024 Bruno Pitrus - Update to version 2.47.0 for Signal 7.25.0 * Update to webrtc 6613a (m128) * Update PeekInfo::unique_pending_users to maintain order from SFU * Desktop: Add function to get CallID from EraID on GroupCall object * Retain old ratchet secrets to allow for out-of-order decryption - Remove bogus soname RPM provide - Drop upstreamed chromium-124-shims.patch - Add matched_filter_lag_aggregator-missing-unique_ptr.patch to fix build error * Wed Sep 4 2024 Bruno Pitrus - Update to version 2.46.2 for Signal 7.23.0 * no changes * Thu Aug 29 2024 Bruno Pitrus - Update to version 2.46.1 for Signal 7.22.0 * Update to webrtc 6478j + Reduce kDefaultMinPixelsPerFrame + Revert "Add Rust_setIncomingAudioMuted" + Revert "Log more info when select fails" - signal-webrtc-disable-compiler-configs.patch: remove -rdynamic that should not be there * Thu Aug 15 2024 thod_@gmx.de - Update to version 2.46.0 for Signal 7.20.0 * Send audio enabled status to remote device in 1:1 calls * Update to webrtc 6478i + Add ice switch reason to logging + Android: Oboe ADM uninitialize on stop + Don't get stats from unused transceivers * Build improvements * Tue Aug 6 2024 Bruno Pitrus - Update to version 2.45.0 for Signal 7.19.0 * Call links: Add restrictions to create call link API * Sun Aug 4 2024 Bruno Pitrus - Update to version 2.44.4 for Signal 7.18.0 * Group Calls: Reduce log noise * Support overlapping memory copy for decrypt * Enable sending dependency descriptor in group calls * Send encrypted TOC byte in group calls * Update dependencies * Update to webrtc 6478f + Enable sending dependency descriptor in group calls + Mark audio packets as having an encrypted TOC byte * Thu Jul 25 2024 Bruno Pitrus - Update to version 2.44.3 for Signal 7.17.0 * Update to webrtc 6478e + Remove support for setting mobile aec + Simplify handling of audio callbacks * Desktop ADM: Resolve dependency cycle and other improvements * Fri Jul 5 2024 Bruno Pitrus - Update to version 2.44.2 for Signal 7.15.0 * Desktop ADM: Add support for switching to RingRTC ADM * Update to webrtc 6478b (m126) * Group Calls: Enable sending dependency descriptor * Refactored protobuf to own crate - Drop no longer needed patches * abseil-remove-unused-targets.patch * system-absl_nullability.patch - Add patches * chromium-124-shims.patch * system-protobuf.patch - Do not compile armv7 code as thumb. It is not the default and leads to linker errors * Fri Jun 28 2024 Bruno Pitrus - Update to version 2.44.0 for Signal 7.14.0 * Remove reliable payload type, reuse existing data payload type * Update to webrtc 6261l + Remove code for supporting SDES + Propagate externally-negotiated keys + Only attempt to relay connections to addresses that are globally unique + Remove lbred experiment * Add support for reliable Admin Actions (approve, deny, remove, block) * Update to webrtc 6261j + Resolve warnings from delay settings - Use cargo-packaging also on 15.5 * Thu May 30 2024 Bruno Pitrus - Update to version 2.42.0 for Signal 7.11.0 * Add support for reporting rtc_stats to client application * Update to webrtc 6261i + Support for reporting rtc_stats + Enable per-layer PLI for screen sharing * Tue May 7 2024 Bruno Pitrus - Update to version 2.41.0 for Signal 7.8.0 * Call links: Add Call Link state to PeekInfo * Update to webrtc 6261g + Update video settings * Thu May 2 2024 Bruno Pitrus - Update to version 2.40.0 for Signal 7.7.0 * Group Calls: Support multi-recipient message sending * Group Calls: Update bitrate limits for screen sharing * Update to webrtc 6261e * Wed Apr 17 2024 Bruno Pitrus - Update to version 2.39.3 for Signal 7.5.0 * Update to webrtc 6261d * Add receive support for encrypted TOC byte - Use cargo-vendor-filterer to remove non-GNU/Linux rust dependencies from tarball - Compile with gcc 13 on Leap. * Fri Mar 29 2024 Bruno Pitrus - Update to version 2.39.2 for Signal 7.4.0 * Group Calls: Apply removal of demux IDs separately * Log notebook improvements * Call Sim: Add jitter buffer config * Group Calls: Synchronize access to last_height_by_demux_id - Fix symbols getting stripped from binary (bsc#1222175) * Thu Mar 28 2024 Bruno Pitrus - Drop incoming-inbound_call_drop_connecting_ice_failed_first-ignore-flaky-test.patch and just retry running the tests three times. * Tue Mar 26 2024 Bruno Pitrus - Run rust testsuite in %%check * add incoming-inbound_call_drop_connecting_ice_failed_first-ignore-flaky-test.patch * Thu Mar 14 2024 Bruno Pitrus - Update to version 2.39.0 for Signal 7.2.0 * Update to WebRTC m122 * Update IceServer fields to be optional * Add receive support for dependency descriptor to determine unencrypted length * Group Calls: Handle client_status in sfu.join() * Call links: Replace update revocation API with an explicit delete API - Leap, Fedora 38: use bundled abseil again * drop pending_task_safety_flag-abseil-2022-nullability.patch - Add boringssl-internal-addc-cxx.patch to fix build failure with GCC14 * Thu Mar 7 2024 Bruno Pitrus - Update to version 2.38.0 for Signal 7.1.0 * Update to webrtc 6099c + Accept list of IceServers for Turn configuration * Enable "First Ready" Turn pruning policy * Thu Feb 29 2024 Bruno Pitrus - Update to version 2.37.1 for Signal 7.0.0 * Update to webrtc 6099b + Fix potential use after free in JsepTransportController * Mon Feb 26 2024 Bruno Pitrus - Use system abseil also on Leap. * Thu Feb 8 2024 Bruno Pitrus - Update to version 2.37.0 for Signal 6.47.0 * Update to WebRTC m120 - Add system-absl_nullability.patch - Conditionally revert upstream changes on Fedora 38 to fix buiild with old abseil * pending_task_safety_flag-abseil-2022-nullability.patch) * Wed Jan 31 2024 Bruno Pitrus - Update to version 2.36.0 for Signal 6.46.0 * Use unified plan for group calls * Tue Jan 30 2024 Bruno Pitrus - Correct webrtc GN args per upstream * Thu Jan 25 2024 Bruno Pitrus - Update to version 2.35.0 for Signal 6.44.0 * Update zkgroup to 0.37.0 * Update webrtc to 5993c - Drop Leap 15.4 support * Wed Jan 3 2024 Bruno Pitrus - Update to version 2.34.5 for Signal 6.43.0 * Use unified plan for 1:1 calls * Thu Dec 7 2023 Bruno Pitrus - Update to version 2.34.4 for Signal 6.41.0 * Update to WebRTC 5993a (m118) - Drop irrelevant signal-webrtc-disable-h264.patch * Thu Nov 30 2023 Bruno Pitrus - Update to version 2.34.3 for Signal 6.40.0 * Update webrtc to 5845j + Add low bitrate redundancy support + Lower port allocation step delay + Prune TurnPorts on a per-server basis + Unregister sink properly when closing * Thu Nov 16 2023 Bruno Pitrus - Update to version 2.34.1 for Signal 6.39.0 * no user-visible changes * Thu Nov 9 2023 Bruno Pitrus - Update to version 2.34.0 for Signal 6.38.0 * Group Calls: Add Hand Raise feature * Electron: Allow ICE server hostname to be set * Update webrtc to 5845i + Allow ICE server hostname to be set - Correct licence in package metadata * Fri Sep 29 2023 Bruno Pitrus - Update to version 2.33.0 for Signal 6.32.0 * Update to webrtc 5845h + Add Rust_setIncomingAudioMuted * Update webrtc to 5845f + Disable audio and media flow by default + Allow configuration of audio jitter buffer max target delay * Group Calls: Add Reactions feature * Group Calls: Prevent comfort noise from getting stuck on * Replace TaskQueueRuntime with Actors * Add callback for low upload bandwidth in a video call * Call links: Add reset-approvals to test client * Fri Sep 22 2023 Bruno Pitrus - Update to version 2.31.2 for Signal 6.31.0 * Update webrtc to 5845c + Update the hardcoded PulseAudio device name to "Signal Calling" + Add more audio control and safe defaults + Add accessor for bandwidth estimate * Update webrtc to 5845d + Disable early initialization of recording * Add more audio configuration and control - Drop upstreamed patches * arm64-mno-outline.patch * webrtc-base64-missing-uint8_t.patch - Add system-absl_algorithm.patch * Thu Sep 7 2023 Bruno Pitrus - Update to version 2.30.0 for Signal 6.30.0 * Add JoinState.PENDING, for call link calls with admin approval * Group Calls: Compute send rates based on devices, not users * Tue Aug 1 2023 Bruno Pitrus - Update to version 2.29.1 for Signal 6.27.0 * Disable output format limits when screensharing * Call Links: Add Admin Actions support * Adapt video resolution in 1:1 calls * Reference signalapp/webrtc@5615e + Support adapting video frames + Configure audio jitter buffer max delay * Thu Jun 29 2023 Bruno Pitrus - Update to version 2.28.1 for Signal 6.23.0 * Group Calls: Add support for TCP connections * Call Links: Switch to X-Room-Id header * Adjust max audio jitter buffer size to support increased packet time * Update to WebRTC 5615b + Add setting for jitter buffer max packets + Expose jitter buffer stats * Thu Jun 22 2023 Bruno Pitrus - Revert build_rustflags hack (boo#1212226) * Thu Jun 15 2023 Bruno Pitrus - Update to version 2.28.0 for Signal 6.21.0 * Call Links: Implement Peek and Join support * Refactor: BandwidthMode to DataMode - Drop curve25519-dalek-fix-cargo-vendor.patch applied upstream * Mon Jun 12 2023 Bruno Pitrus - Replace deprecated rust-packaging with cargo-packaging on openSUSE * Thu Jun 1 2023 Bruno Pitrus - Update to version 2.27.0 for Signal 6.20.0 * Update to WebRTC 5615 (M112) + Support multi-frame packets and DTX * Implement Call Link Create/Read/Update APIs * Set packet time to 60ms * Refactor HTTP JSON parsing so it's more reusable * Apply audio encoder configuration in group calls - Drop shim_headers-fix-ninja.patch applied upstream - Add backported patches to fix build errors * curve25519-dalek-fix-cargo-vendor.patch * arm64-mno-outline.patch - Add system-opus.patch - Switch to bundled libyuv on Leap 15.5 * Thu May 11 2023 Bruno Pitrus - Correct bogus export of internal ELF symbols from the library * ringrtc-rust-hidden-visibility.patch * Wed May 10 2023 Bruno Pitrus - Update to version 2.26.4 for Signal 6.14.0 * Stop duplicate MediaStreamTracks * Remove h264 video codec support * Reference signalapp/webrtc@5481c + Remove h264 video codec support * Fri Apr 14 2023 Bruno Pitrus - Fix unresolvable build on Fedora * Thu Apr 6 2023 Bruno Pitrus - Update to version 2.26.2 for Signal 6.13.0 * Adjustments to CallId, EraId, RingId and derivations/conversions * Group Calls: Limit bitrate for the lowest layer * Reference signalapp/webrtc@5481b + VideoAdapter: Fix scaling of very large frames + Log more info when video input starts + Set inactive timeout to 30s + rffi: Set a bandwidth limit on the lowest layer of a group call + Allow tcp candidates in group calls * Thu Mar 23 2023 Bruno Pitrus - Update to version 2.25.2 for Signal 6.11.0 * Log stats 2sec into a call, then every 10sec after * Thu Mar 16 2023 Bruno Pitrus - Update to version 2.25.1 for Signal 6.10.0 * Use default ptime for all bandwidth modes * Update to WebRTC 5481 (M110) * Thu Mar 9 2023 Bruno Pitrus - Add webrtc-base64-missing-uint8_t.patch * fixes FTBFS on Rawhide * Thu Mar 2 2023 Bruno Pitrus - Update to version 2.25.0 for Signal 6.8.0 * Allow SFU to return multiple ICE candidates (for IPv6 support) * Initialize call endpoint lazily * Allow explicitly rejecting very tall or very wide frames * Reference signalapp/webrtc@5359d + Improved logging around network switch + Allow TURN ports to be pruned * Thu Feb 16 2023 Bruno Pitrus - Update to version 2.24.0 for Signal 6.6.0 * Add support for setting WebRTC field trials * Log when the selected ICE candidate pair changes * Update to WebRTC 5359c + Include candidate information for ICE route changes + Allow any address ports to be disabled * Thu Jan 26 2023 Bruno Pitrus - Update to version 2.23.0 for Signal 6.3.0 * Update to WebRTC 5359 (m108) * Enable Opus DTX and set default encoding bitrate to 32kbps * Desktop: Handle failure when entering PiP - Drop support for Leap 15.3 * drop system-nasm.patch * drop nasm-generate-debuginfo.patch - Drop patches applied upstream * absl_algorithm.gn * absl_base.gn * absl_cleanup.gn * absl_container.gn * absl_debugging.gn * absl_flags.gn * absl_functional.gn * absl_hash.gn * absl_memory.gn * absl_meta.gn * absl_numeric.gn * absl_random.gn * absl_status.gn * absl_strings.gn * absl_synchronization.gn * absl_time.gn * absl_types.gn * crc32c.gn * libyuv.gn * multi_channel_content_detector-missing-unique_ptr.patch - Drop replace_gn_files.patch no longer relevant due to upstream changes - Switch to bundled abseil on Leap 15.{4,5} due to extensive use of AnyInvocable which is not available in the system one. - Switch to bundled yuv on Fedora, the system one does not provide the I422scale symbol. - Change location of the installed DLL due to upstream renaming the node package to `@signalapp/ringrtc`. * Wed Jan 4 2023 Bruno Pitrus - Correct wrong cpu tuning for rust code on ix86 - Add backported shim_headers-fix-ninja.patch * Thu Dec 15 2022 Bruno Pitrus - Update to version 2.22.0 for Signal 6.1.0 * Group Calls: Only allow ringing if you are the call creator * Electron: Add callId to the call ended notification function * Improve display of stats in logs - Take the actual list of required ldlibs for libwebrtc.a instead of guessing. * Fri Dec 2 2022 Bruno Pitrus - Correct optflags not being applied when gcc is called on assembler files * add gcc-asmflags.patch * Thu Dec 1 2022 Bruno Pitrus - New upstream release 2.21.5 * Group Calls: Improve ring handling * Group Calls: Update group membership upon unknown media keys * Improve display of stats in logs * Wed Nov 23 2022 Bruno Pitrus - Use system abseil also on Leap as it's fixed now. * Thu Nov 3 2022 Bruno Pitrus - New upstream release 2.21.2 * Electron: Update dependencies (neon mainly) * Reference signalapp/webrtc@5005b * Cherry-pick commits to fix network monitor issues * Mon Oct 24 2022 Bruno Pitrus - Adjust CFLAGS: * remove upstream's tinkering with optimize level * remove upstream's warning suppression * generate -fpic -fno-semantic-interposition code from GCC. - On 15.3, use bundled libvpx instead of backported libvpx.so.7 from multimedia:libs as its symbols conflict with libvpx.so.4 loaded by libavcodec. * add system-nasm.patch * add nasm-generate-debuginfo.patch * Fri Oct 14 2022 Bruno Pitrus - Fix armv6hl build * Thu Oct 6 2022 Bruno Pitrus - New upstream release 2.21.1 * Group Calls: Expose `isHigherResolutionPending` to apps * Thu Sep 8 2022 Bruno Pitrus - New upstream release 2.21.0 * Update to WebRTC 5005 (m102) * Add logging for audio device timing * Allow clients to specify the active speaker's height - Remove usrsctp.gn, upstream no longer uses this dependency - Add multi_channel_content_detector-missing-unique_ptr.patch - Use recommended %%build_rustflags for Rust compilation - Move app to %%_libexecdir to allow making language packs noarch - Slightly cleanup webrtc tarball * Wed Aug 24 2022 Bruno Pitrus - New upstream release 2.20.14 * no user-visible changes * Wed Aug 10 2022 thod_@gmx.de - Update to 2.20.13 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.13 * Mon Aug 8 2022 Bruno Pitrus - Do not require Neon on ARM7 * Thu Aug 4 2022 Bruno Pitrus - New upstream version 2.20.12 * Group Calls: Prefer recently received group call rings * Reduce binary size by dropping unicode support from the regex crate * Enforce that errors are handled on background tokio runtimes * Mon Aug 1 2022 Bruno Pitrus - Use system libyuv also on Tumbleweed - Fix ix86 build (experimental, unsupported) * Sun Jul 17 2022 Bruno Pitrus - Update to version 2.20.11 * Add support for TURN over TLS - LEGAL: Do not compile any code in prepare vendor script - LEGAL: Use system protobuf compiler instead of non-free vendored binary - Do not require SSE3 (signal-webrtc-disable-compiler-configs.patch) Both openSUSE and Fedora still support the original Opteron, and package maintainers should not unilaterally require more. - Rename package to signal-libringrtc (we've haven't been shipping a usable node module for a while) and install the library into its final end-user destination. - Merge signal-webrtc into this package because static libraries are problematic * Update to 4896f * absl_{algorithm,base,cleanup,container,flags,functional,hash,memory,meta\ ,numeric,random,status,strings,synchronization,time,types}.gn * crc32c.gn * libyuv.gn * usrsctp.gn * abseil-remove-unused-targets.patch * replace_gn_files.patch * signal-webrtc-disable-compiler-configs.patch * signal-webrtc-disable-h264.patch - Use GCC11 on Leap for C/C++ - Compile C/C++ code with LTO where it's the default. - Fix non-x64 build * Thu Jul 7 2022 Bruno Pitrus - Use signal-webrtc's list of dependencies instead of hardcoding them * Fri Jul 1 2022 thod_@gmx.de - Update to version 2.20.10 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.10 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.9 * Sat Jun 18 2022 thod_@gmx.de - Update to version 2.20.8 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.8 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.7 * Thu Jun 9 2022 Bruno Pitrus - Remove libuv link. Electron already exports symbols from a statically linked libuv as part of its ABI. - compile with correct cflags instead of using patchelf, otherwise brp-strip balks out. * Sat Jun 4 2022 thod_@gmx.de - Update to version 2.20.6 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.6 * Thu May 5 2022 Andreas Schneider - Update to version 2.20.2 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.2 * Tue Apr 26 2022 Andreas Schneider - Update to version 2.20.1 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.1 * Mon Apr 11 2022 thod_@gmx.de - Update to version 2.20.0 * https://github.com/signalapp/ringrtc/releases/tag/v2.20.0 * Tue Mar 22 2022 thod_@gmx.de - Update to version 2.19.2 * https://github.com/signalapp/ringrtc/releases/tag/v2.19.2 * Thu Feb 3 2022 Andreas Schneider - Update to version 2.17.2 * https://github.com/signalapp/ringrtc/releases/tag/v2.17.2 * Thu Jan 27 2022 Andreas Schneider - Improve building the rust parts - Remove uneeded electron deps * Fri Jan 21 2022 Andreas Schneider - Update to version 2.16.1 * https://github.com/signalapp/ringrtc/releases/tag/v2.16.1 * Tue Dec 21 2021 thod_@gmx.de - Require nodejs 16.13.1 * Mon Dec 20 2021 Andreas Schneider - Require nodejs 16.5.0 * Wed Dec 15 2021 Andreas Schneider * Update to version 2.15.0 * https://github.com/signalapp/ringrtc/releases/tag/v2.15.0 * Thu Oct 28 2021 Andreas Schneider * Update to version 2.13.6 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.6 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.5 * Fri Oct 15 2021 Andreas Schneider * Update to version 2.13.4 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.4 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.3 * Wed Oct 6 2021 Andreas Schneider - Update to version 2.13.2 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.2 * Tue Sep 28 2021 Andreas Schneider - Update to version 2.13.1 * https://github.com/signalapp/ringrtc/releases/tag/v2.13.1 * Fri Aug 27 2021 Andreas Schneider - Update to version 2.11.1 * https://github.com/signalapp/ringrtc/releases/tag/v2.11.1 * Mon Aug 2 2021 Andreas Schneider - Update to version 2.10.7 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.7 * Wed Jul 14 2021 Andreas Schneider - Update to version 2.10.6 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.6 * Mon Jun 21 2021 Andreas Schneider - Use nodejs-electron package * Wed Jun 16 2021 Andreas Schneider - Update to version 2.10.5 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.5 * Wed Jun 9 2021 Andreas Schneider - Update to version 2.10.4 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.4 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.3 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.2 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.1 * https://github.com/signalapp/ringrtc/releases/tag/v2.10.0 * Wed May 12 2021 Andreas Schneider - Update to version 2.9.7 * https://github.com/signalapp/ringrtc/releases/tag/v2.9.7 * https://github.com/signalapp/ringrtc/releases/tag/v2.9.6 * https://github.com/signalapp/ringrtc/releases/tag/v2.9.5 * Tue Apr 6 2021 Andreas Schneider - Bump required nodejs version * Wed Mar 17 2021 Andreas Schneider - Update to version 2.9.4 * Add statistics to monitor connection information * Reference signalapp/webrtc@4183l * Adjust logging and build issues * Add very low bandwidth support for audio * Remove SCTP * Electron: Update neon to use n-api runtime * Thu Jan 14 2021 Andreas Schneider - Update to version 2.8.9 * Fix issue where camera was not released * Mon Dec 14 2020 Andreas Schneider - Update to version 2.8.8 * Group Calling: Fix issue with video resolution requests * Add Group Calling feature * Reference signalapp/webrtc@4183i * Update Rust dependencies * Update builds and documentation * Wed Nov 25 2020 Andreas Schneider - Update nodejs version and vendor files * Mon Nov 9 2020 Andreas Schneider - Link against missing shared libraries * Sun Nov 8 2020 Andreas Schneider - Added signal-ringrtc-fix-webrtc-linking.patch * Sun Oct 4 2020 Andreas Schneider - Initial package