x

SignalWire Work is here. A complete office, school, or event venue right in your browser. Sign up for a 30-DAY FREE TRIAL or Learn more.

SignalWire STACK | Release 20.20.1

The most powerful communications platform keeps getting stronger.

Feb 07, 2020

Release Date 2020-2-06

What's new

This is an important bug fix release where we were focused on the testing framework - our code quality control tooling that gives us huge improvements in change inspections and already helping us fixing leaks, codecs, database logic issues, behaviour instabilities and making dependency updates easier.


Improvements


[Build-System] Add print_tests make target to output the list of tests being built including in modules 

[cJSON] Update to v1.7.12 

[core] add audio channels limit when opening files, configurable through switch.conf.xml (param "max-audio-channels") 

[core] Add global/leg variable to originate: group_confirm_timeout 

[core] Add SMBF_FIRST flag which forces media bug to front of the list. Add 'f' flag to switch_ivr_displace_session to add displace as first operation on the media stream. 

[docs/phrase] Translated all phrases (voice prompts) to German. 

[mod_sofia] Add abort-on-empty-external-ip global param disabled by default. 

[Unit-test] Run tests in parallel 

[Unit-test] Separate to a node on Drone CI 

[unit-tests] add RTP test with session 

[Unit-tests] Collect crash data when a unit-test core-dumps 

[Unit-tests] Do not initiate sqldb by default unless requested. 

[Unit-tests] Enable address sanitizer when running tests. 

[Unit-tests] Implement module tests in Drone CI 

[Unit-tests] Place module tests into their module's Makefile.am, fix tests, add missing Makefile.am to mod_png, implement recursive make check.Update libvpx to 1.8.1 and libyuv to ea23edfb

Resolved Issues

[Build-System] Add sndfile.conf.xml to CentOS spec file. 

[Build-system] Fallback for mariadb lib check 

[Build-System] Fix regression from the mariadb library checking fix. 

[core] avoid overflow when channel muxing 

[Core] DTMF: Avoid division by zero on low actual_samples_per_second 

[core] Fix copy/paste mistake in switch_xml.h 

[Core] Fix hard coded dtmf durations based on 8k, fix short-circuit in write timestamp calc 

[core] fix memory leak on playback, in certain error conditions (eg: native file related) 

[Core] Fix OSX build in switch_ivr_originate.c 

[Core] Remove dead assignment and dead increment in text_bridge_thread(). 

[core] scan-build: Access to field 'microseconds_per_packet' results in a dereference of a null pointer 

[core] scan-build: Called function pointer is null (null dereference) - switch_ivr_collect_digits_callback() 

[core] scan-build: Value stored to 'codec_settings' during its initialization is never read (ULPFEC) 

[core] scan-build: Value stored to 'err' is never read 

[core] scan-build: Value stored to 'first_timeout' is never read - switch_ivr_collect_digits_count() 

[core] scan-build: Value stored to 'frame' during its initialization is never read - eavesdrop_callback() 

[core] scan-build: Value stored to 'len' is never read 

[core] scan-build: Value stored to 'master' is never read - switch_ivr_broadcast() 

[core] scan-build: Value stored to 'midstate' during its initialization is never read 

[core] scan-build: Value stored to 'ptime' is never read 

[core] scan-build: Value stored to 'status' is never read 

[core] scan-build: Value stored to 'theiroffset' is never read 

[core] scan-build: Value stored to 'timeout' is never read - switch_ivr_park() 

[core] scan-build: Value stored to 'xcheck_jitter' is never read 

[Core] switch_loadable_module wrongly logs that modules.conf loading fails while it's pre_load_modules.conf 

[Core] Wait sql threads to spin up. Fixes module_exists, show_codec commands. 

[libvpx] Fix typo in Windows project file. 

[miniupnpc] fix heap-buffer-overflow reported by ASAN (on read) 

[miniupnpc] Value stored to 'fd_flags' is never read[mod_amr], 

[mod_amrwb]: mark AMR and AMRWB as VBR, don't let mod_native_file load them for playback/recording) 

[mod_av] Fix mod_av not having audio when using avresample 

[mod_conference] fix overflow (video mode == passthrough) 

[mod_conference] scan-build: Value stored to 'status' is never read - conference_loop_input() 

[mod_kazoo] Fix potential memory leaks 

[mod_kazoo] queue timeout configuration 

[mod_loopback] Split null_auto_answer into two variables null_enable_auto_answer and null_auto_answer_delay. Default auto_answer_delay is 0 instead of 1 ms. Auto answer is enabled by default if null_enable_auto_answer is not set. More carefully compute the delay in ms to not block channel longer than needed. 

[mod_lua] Fix leaks. 

[mod_mariadb] Fix autocommit not flipping back to on when a transaction ends in mod_mariadb causing switch_cache_db_test_reactive() to fail. 

[mod_native_file] don't channel mux during native file play (and avoid overflow too). 

[mod_opusfile] fix play sample rate (don't use original rate, always use 48k), fix EOF, add unit-test. 

[mod_pgsql] Fix autocommit not flipping back to on when a transaction ends in mod_pgsql causing switch_cache_db_test_reactive() to fail. 

[mod_portaudio] CF_AUDIO flag is not set 

[mod_rayo] Fix heap use after free and a possible buffer overflow. 

[mod_rayo] Fix leak in the mod and in tests. 

[mod_sndfile] Fix .raw audio file playing and other raw audio file extensions. Fix stereo2mono for certain formats. 

[mod_sofia] Fix crash from double profile unlock on outgoing channel from a gateway on a paused profile 

[mod_sofia] Url encode the sip_to_user before using in 200 ok contact 

[mod_verto] Fix packet o death. 

[mod_vlc] Fix segfault. 

[sofia-sip] fix logging overflow (sofia loglevel tport X) 

[SpanDSP] Fix use of uninitialized xyz variable in set_illuminant_from_code() 

[SpanDSP] Remove unused x_repeats variable from header_row_read_handler() 

[unit-tests] fix build switch_rtp on MacOS 

[Unit-tests] Fix leaks mod_av and mod_conference tests, fix fonts and paths. 

[unit-tests] fix warning in unit-test build for Mac (use SWITCH_SIZE_T_FMT)


Come and build something great on SignalWire!

Main developer documentation site: https://docs.signalwire.com/

Friendly support can be found in our online community.
P.S. We always announce features to our community before bringing it to the general public, so sign up for your free SignalWire account today and join our Community!

* Please check our pricing page for up-to-date pricing.