  <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.2.15.3_v1.2.16</id>
	<title>Changes v1.2.15.3 v1.2.16 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.2.15.3_v1.2.16"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.15.3_v1.2.16&amp;action=history"/>
	<updated>2026-06-06T08:21:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.2.15.3_v1.2.16&amp;diff=14744&amp;oldid=prev</id>
		<title>Perex: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.15.3_v1.2.16&amp;diff=14744&amp;oldid=prev"/>
		<updated>2026-06-01T11:53:12Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:53, 1 June 2026&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wikidb?halsa:diff::1.12:old-14743:rev-14744 --&gt;
&lt;/table&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.2.15.3_v1.2.16&amp;diff=14743&amp;oldid=prev</id>
		<title>alsa&gt;Perex at 11:53, 1 June 2026</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.15.3_v1.2.16&amp;diff=14743&amp;oldid=prev"/>
		<updated>2026-06-01T11:53:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
[[Detailed changes v1.2.15.3 v1.2.16]]&lt;br /&gt;
=Changelog between 1.2.15.3 and 1.2.16 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.16&lt;br /&gt;
: configure: update to autoconf v2.72&lt;br /&gt;
: pcm: use new logging for hw_params dump, add pcm_params log interface&lt;br /&gt;
: github: add pr-validation and label-automation workflows&lt;br /&gt;
===Control API===&lt;br /&gt;
: Revert &amp;quot;snd_tlv_convert_to_dB: Fix mute handling for MINMAX_MUTE type&amp;quot;&lt;br /&gt;
: control: remap - fix memory leak in remap_load_list()&lt;br /&gt;
: control: remap - cosmetic code reorganization&lt;br /&gt;
: control: remap - fix numid lookup issue&lt;br /&gt;
: control: ctlparse - make numid parsing more robust&lt;br /&gt;
===PCM API===&lt;br /&gt;
: pcm: fix leading space in snd_pcm_hw_param_dump for mask parameters&lt;br /&gt;
: pcm: use new logging for hw_params dump, add pcm_params log interface&lt;br /&gt;
: pcm: snd_pcm_slave_conf - fix C99 variable-length array allocation&lt;br /&gt;
===RawMidi API===&lt;br /&gt;
: rawmidi: clarify no_active_sensing doc: output-only, does not filter input&lt;br /&gt;
===Sequencer API===&lt;br /&gt;
: conf, seq, ucm: fix discards const from pointer target&lt;br /&gt;
===Topology API===&lt;br /&gt;
: Topology: Add high and extended rates from Linux 6.12&lt;br /&gt;
: topology: decoder: fix wrong sizeof for enum control allocation in dapm&lt;br /&gt;
: topology: decoder - add boundary check for channel mixer count&lt;br /&gt;
===Use Case Manager API===&lt;br /&gt;
: conf, seq, ucm: fix discards const from pointer target&lt;br /&gt;
: ucm: add DefineRegex 'all' scheme for multiple pattern matches (Syntax 9)&lt;br /&gt;
: ucm: fix optional include&lt;br /&gt;
: ucm: add show_err parameter to uc_mgr_get_variable&lt;br /&gt;
: ucm: find-card,find-device - add UCM variable support for arguments (Syntax 9)&lt;br /&gt;
: ucm: add info-card substitution (Syntax 9)&lt;br /&gt;
: ucm: evaluate Repeat block before If block (Syntax 9)&lt;br /&gt;
: ucm: allow string with substitution for If.Condition block (Syntax 9)&lt;br /&gt;
: ucm: optimize if_eval_string with common comparison helper&lt;br /&gt;
: ucm: add Repeat block - repetitive pattern substitution (Syntax 9)&lt;br /&gt;
: ucm: add integer comparison condition (Syntax 9)&lt;br /&gt;
: ucm: substitute define IDs and macro arguments (Syntax 9)&lt;br /&gt;
: ucm: fix invalid pointer dereference in parse_open_variables()&lt;br /&gt;
: ucm: libconfig parser - fix pathname for substituted file&lt;br /&gt;
===Configuration===&lt;br /&gt;
: conf, seq, ucm: fix discards const from pointer target&lt;br /&gt;
===Error handler===&lt;br /&gt;
: error: use SND_LOG_LAST/SND_ILOG_LAST in log priority/interface bounds checks&lt;br /&gt;
: pcm: use new logging for hw_params dump, add pcm_params log interface&lt;br /&gt;
==alsa-ucm-conf==&lt;br /&gt;
===Core===&lt;br /&gt;
: github: workflow: fix paths for the last change&lt;br /&gt;
: github: workflow: move things to separate alsa-project/github-workflows repo&lt;br /&gt;
: github: workflow: another permissions fix - inherit&lt;br /&gt;
: github: workflow: another permissions fix for pr-validation&lt;br /&gt;
: github: workflow: another permissions fix (token)&lt;br /&gt;
: github: workflow: try to set permissions explicitly&lt;br /&gt;
: github: accept any Signed-off-by tag (case insensitive)&lt;br /&gt;
: github: add GitHub label automation and SOB validation workflows&lt;br /&gt;
===Configuration===&lt;br /&gt;
: sof-soundwire: rt711-sdca: add Headset Mic Switch to Headset sequences&lt;br /&gt;
: sof-soundwire: rt711-sdca: set PGA30.0 volume in BootSequence&lt;br /&gt;
: HDA: move speaker config to HiFi-spk.conf file&lt;br /&gt;
: ucm2: Qualcomm: fix device ids for surface pro 12in&lt;br /&gt;
: ucm2: MediaTek: mt8366-evk: Add alsa-ucm support&lt;br /&gt;
: ucm2: Toradex: apalis-imx8: Set default values for input and output devices&lt;br /&gt;
: ucm2: Toradex: apalis-imx8: Fix symlink name and path configuration&lt;br /&gt;
: HDA/HiFi-analog.conf: skip Line2 ConflictingDevice when loctl is empty (Line1 not created)&lt;br /&gt;
: USB-Audio: ALC4080: Add support for ASUS Pro ET900N G3 - Station GB300 platform&lt;br /&gt;
: ucm2: sof-soundwire: add Mic LED control for ACP PDM DMIC&lt;br /&gt;
: ucm2: sof-soundwire: add combined cs42l43-spk+cs35l56 config&lt;br /&gt;
: ucm2: sof-soundwire: cs42l43: Separate init handling of speaker and headset&lt;br /&gt;
: ucm2: rt722: add speaker mute LED and PlaybackSwitch for FU06&lt;br /&gt;
: ucm2: Qualcomm: Add HONOR MagicBook Art 14 support&lt;br /&gt;
: ucm2: Qualcomm: x1e80100: T14s-HiFi: remove duplicate DP Jack names&lt;br /&gt;
: ucm2: Qualcomm: x1e80100: T14s-HiFi: switch DP outputs to dedicated MultiMedia5/6/7 streams&lt;br /&gt;
: ucm2: Qualcomm: Enable Headset Microphone on kaanapali-mtp&lt;br /&gt;
: ucm2: Qualcomm: Enable Headset Microphone on sm8750-mtp&lt;br /&gt;
: ucm2: add Arduino monza support&lt;br /&gt;
: ucm2: Qualcomm: Rename qcm6490-idp ucm2 conf&lt;br /&gt;
: ucm2: Qualcomm: Fix headphone mic mute setting on qcm6490-idp&lt;br /&gt;
: ucm2: Add config for Tascam US-2x2HR&lt;br /&gt;
: sof-soundwire: add rt722 into hs_init&lt;br /&gt;
: sof-soundwire: rt1320: add rt1320 dmic config&lt;br /&gt;
: sof-soundwire: rt1320: add playback control switch&lt;br /&gt;
: sof-soundwire: add companion amp config with rt721 and rt1320&lt;br /&gt;
: tegra-hda: Add HDMI/DP outputs 2-4 for Tegra186+&lt;br /&gt;
: ucm2: conf.d: fix h616-audio-codec symlink&lt;br /&gt;
: ucm2: conf.d: fix QCS6490-RB3Gen2 symlink&lt;br /&gt;
: ucm2: conf.d: fix qcm6490-idp-snd-card symlink&lt;br /&gt;
: ucm2: conf.d: fix Kaanapali-MTP.conf symlink&lt;br /&gt;
: ucm2: Qualcomm: Create missing symlink for Radxa Dragon Q6A&lt;br /&gt;
: ucm2: sof-soundwire: cs42l43: support UAJ-less configuration&lt;br /&gt;
: ucm2: Focusrite Scarlett 18i20 Gen 1 — fix USB ID regex (1235:800c)&lt;br /&gt;
: USB-Audio: fixes for M-Audio Fast Track Ultra&lt;br /&gt;
: USB-Audio: Add Audient EVO4&lt;br /&gt;
: Add UCM2 configuration for M-Audio Fast Track Ultra&lt;br /&gt;
: ucm2: Qualcomm: add QCS6490 Thundercomm RubikPi3 HiFi config&lt;br /&gt;
: sof-hda-dsp: add workaround for speaker LED on MSI laptops&lt;br /&gt;
: ucm2: sof-soundwire: Add support for CS42L43B variant&lt;br /&gt;
: ucm2: tegra: wm8903: fix headphones conflicting device&lt;br /&gt;
: ucm2: sof-soundwire: Add support for Cirrus Logic CS47L47&lt;br /&gt;
: Qualcomm: glymur: Add GLYMUR CRD HiFi config&lt;br /&gt;
: ucm2: Qualcomm: add ASUS Vivobook 14 (X1407QA) to x1e80100 DMI match&lt;br /&gt;
: Add multitrack mappings for 1.7.3 firmware&lt;br /&gt;
: ucm2: da7213: Fix mic capture in HeadphoneMic2 use case&lt;br /&gt;
: USB-Audio: Scarlett 18i20 fix ADAT capture channel count for Gen 1/2&lt;br /&gt;
: ucm2: sof-soundwire: add ACP DMIC configuration&lt;br /&gt;
: USB-Audio: ALC4080 add USBID 0db0:82c4 (MSI MEG Z790 Godlike Max)&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0db0:95bb (MSI MEG Z690 Unify)&lt;br /&gt;
: USB-Audio: Add RODECaster Pro II&lt;br /&gt;
: ucm2: codecs: lpass-wsa-macro: disable WSA_COMP&lt;br /&gt;
: ucm2: codecs: lpass-rx-macro: disable RX_COMP&lt;br /&gt;
: ucm2: codecs: wcd938x: add enable sequence with CLS_AB_LOHIFI for laptops&lt;br /&gt;
: ucm2: codecs: wcd939x: Use CLS_H_LOHIFI instead of CLS_H_ULP by default&lt;br /&gt;
: ucm2: codecs: wcd938x: Use CLS_H_LOHIFI instead of CLS_H_ULP by default&lt;br /&gt;
: ucm2: codecs: wcd937x: Use CLS_H_LOHIFI instead of CLS_H_ULP by default&lt;br /&gt;
: ucm2: codecs: wcd934x: Use CLS_H_LOHIFI instead of CLS_H_ULP by default&lt;br /&gt;
: ucm2: Qualcomm: qcs8300: Remove Fixed channel setting for monaco-evk&lt;br /&gt;
: ucm2: Qualcomm: sa8775p: Remove Fixed channel setting for lemans-evk&lt;br /&gt;
: Qualcomm: qcs615: Remove JackControl from TALOS EVK HiFi config&lt;br /&gt;
: USB-Audio: Motu: M6-HiFi.conf - m6 has only 4 outputs, not 6&lt;br /&gt;
: common: split.conf - simplify macro call arguments&lt;br /&gt;
: common: split.conf - put macro arguments to one string&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0db0:19a2 (MSI MAG B850 Tomahawk Wifi)&lt;br /&gt;
: USB-Audio: correct typo in Universal Audio Volt 2 config&lt;br /&gt;
: USB-Audio: cosmetic change for Flow8&lt;br /&gt;
: USB-Audio: use macros in the base file&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0db0:d4fa (MSI MPG B850I Edge TI Wifi)&lt;br /&gt;
: USB-Audio: optimize ProfileName assignments&lt;br /&gt;
: USB-Audio: merge configs for Solid State Labs SSL 2 (normal + plus + MK II)&lt;br /&gt;
: USB-Audio: ALC4080 - fix Speaker PCM device name&lt;br /&gt;
: USB-Audio: ALC4080 - fix 'detect S/PDIF device using find-pcm'&lt;br /&gt;
: USB-Audio: Fix - ALC4080 add USB ID 0b05:1a7a (ASUS ROG Strix X670E-I Gaming WiFi)&lt;br /&gt;
: USB-Audio: ALC4080 - detect S/PDIF device using find-pcm&lt;br /&gt;
: USB-Audio: ALC4080 - add Headset device&lt;br /&gt;
: USB-Audio: ALC4080 - use PCM device indexes rather than full names in variables&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0b05:1a7a (ASUS ROG Strix X670E-I Gaming WiFi)&lt;br /&gt;
: USB-Audio: ALC4080 - add list of known Jack controls to comment&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0db0:4c84 (MSI MPG X870I EDGE TI EVO WIFI)&lt;br /&gt;
: USB-Audio: Add Focusrite Vocaster interfaces&lt;br /&gt;
: Add support for the Behringer ULM200D wireless microphones.&lt;br /&gt;
: ucm2: da7213: Add ADC switch in HeadphoneMic2 sequences&lt;br /&gt;
: USB-Audio: Add support for the SSL 2 MK II and SSL2+ MK II&lt;br /&gt;
: USB-Audio: improve channel detection for Solid State Labs SSL 2&lt;br /&gt;
: USB-Audio: Dualsense PS5 - add direct use case&lt;br /&gt;
: USB-Audio: ALC4080 add USB ID 0b05:19ac (ASUS ROG Maximus Z490/Z590 XIII Hero)&lt;br /&gt;
: ucm2: Qualcomm: add Asus Vivobook 16 support&lt;br /&gt;
: ucm2: Qualcomm: Add Lenovo Yoga Air 14s support&lt;br /&gt;
: ucm2: Qualcomm: add Dell XPS 9345&lt;br /&gt;
: ucm2: Qualcomm: document existing hardware&lt;br /&gt;
===Description===&lt;br /&gt;
: Release v1.2.16&lt;br /&gt;
=Changelog between 1.2.15.2 and 1.2.16 releases=&lt;br /&gt;
==alsa-utils==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.16&lt;br /&gt;
: INSTALL: update compilation from git sources&lt;br /&gt;
: configure: update to autoconf v2.72&lt;br /&gt;
===ALSA Control (alsactl)===&lt;br /&gt;
: aplay, alsactl, topology: fix discards const from pointer target&lt;br /&gt;
: Remove more generated files on &amp;quot;make clean&amp;quot;&lt;br /&gt;
===Speaker Test===&lt;br /&gt;
: speaker-test: extend MAX_CHANNELS from 16 to 32&lt;br /&gt;
: speaker-test: fix segfault with more than 16 channels&lt;br /&gt;
===aconnect===&lt;br /&gt;
: aconnect: fix error handler for alsa-lib &amp;amp;lt;= 1.2.15&lt;br /&gt;
===alsa-info.sh===&lt;br /&gt;
: alsa-info.sh: remove some bashisms to allow run with busybox&lt;br /&gt;
===alsaloop===&lt;br /&gt;
: alsaloop: parse_config(): align optstring order with the long options&lt;br /&gt;
: alsaloop: parse_config(): handle long form --wake option&lt;br /&gt;
: alsaloop: parse_config(): drop unused 'F' option&lt;br /&gt;
: alsaloop: parse_config(): handle short form -B / -E options&lt;br /&gt;
===alsatplg (topology)===&lt;br /&gt;
: aplay, alsactl, topology: fix discards const from pointer target&lt;br /&gt;
===amixer===&lt;br /&gt;
: amixer: always use line buffering for (s)events&lt;br /&gt;
: amixer: document --file option in man page&lt;br /&gt;
: amixer: support --file option&lt;br /&gt;
: amixer: support infinite line length for --stdin option&lt;br /&gt;
===aplay/arecord===&lt;br /&gt;
: aplay, alsactl, topology: fix discards const from pointer target&lt;br /&gt;
: Remove more generated files on &amp;quot;make clean&amp;quot;&lt;br /&gt;
: aplay: use snprintf instead of sprintf in device_list()&lt;br /&gt;
===gitcompile===&lt;br /&gt;
: gitcompile: extensions for gettext and error handling&lt;br /&gt;
: configure: update to autoconf v2.72&lt;br /&gt;
=Changelog between 1.2.13 and 1.2.16 releases=&lt;br /&gt;
==tinycompress==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.16&lt;br /&gt;
: utils: move sofprobeclient to separate subdirectory&lt;br /&gt;
===Header files===&lt;br /&gt;
: Utils: cplay: Fix WAV header parsing for multi-channel (5.1/7.1) formats&lt;br /&gt;
: tinycompress.h: fix avail/samples typo in comment for get_tstamp function&lt;br /&gt;
: lib: return -ERANGE for hpointer/tstamp functions on overflow&lt;br /&gt;
: tinycompress.h: fix typos in comment for htimestamp functions&lt;br /&gt;
: lib: introduce compress_get_hpointer64&lt;br /&gt;
: compress_ops: remove get_tstamp64 callback&lt;br /&gt;
: compress_ops: add magic and look for compress_plugin_mops symbol&lt;br /&gt;
: include: install compress_ops.h as public header&lt;br /&gt;
: compress_ops: add get_tstamp64&lt;br /&gt;
: sound: update header to v0.4.0&lt;br /&gt;
===Library===&lt;br /&gt;
: lib: fix error code for the improved protocol check&lt;br /&gt;
: lib: improve protocol version check in hw plugin&lt;br /&gt;
: lib: do not pass NULL string pointer to printf&lt;br /&gt;
: lib: return -ERANGE for hpointer/tstamp functions on overflow&lt;br /&gt;
: lib: include errno.h (posix) instead sys/errno.h&lt;br /&gt;
: lib: compress_get_tstamp - clamp samples to UINT_MAX on overflow&lt;br /&gt;
: lib: fix return error inconsistency in populate_compress_plugin_ops&lt;br /&gt;
: lib: introduce compress_get_hpointer64&lt;br /&gt;
: compress_ops: remove get_tstamp64 callback&lt;br /&gt;
: compress_ops: add magic and look for compress_plugin_mops symbol&lt;br /&gt;
: compress_hw: fix formatting (compress_hw_avail64_from_32)&lt;br /&gt;
: compress_hw_get_hpointer: use SNDRV_COMPRESS_AVAIL64&lt;br /&gt;
: compress_hw: cache ioctl version&lt;br /&gt;
: compress_ops: add get_tstamp64&lt;br /&gt;
===Utilities===&lt;br /&gt;
: utils: move sofprobeclient to separate subdirectory&lt;br /&gt;
: utils: probes_demux: auto-close idle audio files and avoid overwrites&lt;br /&gt;
: utils: sofprobeclient: add -D flag for parser debug messages&lt;br /&gt;
: utils: sofprobeclient: fix parser buffer overflow on large reads&lt;br /&gt;
: utils: sofprobeclient: embed SOF probe parser for real-time demux&lt;br /&gt;
: utils: sofprobeclient: set SOF probe defaults&lt;br /&gt;
: utils: add sofprobeclient binary&lt;br /&gt;
: Utils: cplay: Fix WAV header parsing for multi-channel (5.1/7.1) formats&lt;br /&gt;
: fcplay: Add restart continuous playback strategy&lt;br /&gt;
: fcplay: Introduce new continuous_playback_mode to replace the gapless flag&lt;br /&gt;
: fcplay: Create helper function to open and start the compress device&lt;br /&gt;
: fcplay: Correct metadata.next_track sequence for gapless playback&lt;br /&gt;
: fcplay: Decode the AAC header to set correct codec-&amp;amp;gt;format value&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>alsa&gt;Perex</name></author>
	</entry>
</feed>