Changelog between 1.1.2 and 1.1.3 releases
alsa-lib
Core
Release v1.1.3
conf/ucm: skylake: add skylake-rt286 conf files
conf: bxtrt298: Add topology conf file for bxt
conf: sklrt286: Remove tool to generate private data blobs
ucm: Add ucm files for DB410c board.
Control API
ctl: correct documentation about TLV feature
ctl: improve documentation about TLV-related APIs
ctl: improve API documentation for TLV operation
Mixer API
mixer: Fix rounding mode documentation
PCM API
pcm: fix get_stop_threshold alsa-lib 0.9 alias
pcm: file: update linked hw_ptr and appl_ptr
pcm_rate: Do not discard slave reported delay in status result.
pcm: fix wrong document references to PCM APIs which perform direct memory access with frame copying
pcm: dmix: Do not discard slave reported delay in status result
pcm: Add the PCM state checks to plugins
Revert "pcm: file: Add htimestamp operation in plugin file"
pcm: file: Add htimestamp operation in plugin file
pcm: dshare: Fix endless playback of buffer
pcm: direct: Protect from freeing semaphore when already in use
pcm_dshare: Do not discard slave reported delay in status result.
pcm_plug: Clear plugins on all error conditions
pcm: Better understandable locking code
pcm: Fix shm initialization race-condition
Topology API
topology: fix unused-variable warnings introduced to build_link()
topology: Store number of strings of a text section
topology: Merge private data before embedded controls of a widget
topology: Revise document and comments for ABI v5
topology: Export physical DAIs to the binary for kernel
topology: Support configuring physical DAIs by C API
topology: Parse physical DAIs in text conf file
topology: Remove BE or CC in comments of physical links C API template
topology: Parse name and stream name of physical DAI links
topology: Parse and build private data of physical links
topology: Parse link flags of physical DAI links
topology: Parse HW configurations of physical DAI links in text conf file
topology: Parse HW configurations of physical DAI links defined by C API
topology: Define new type and section name to configure physical links
topology: Rename varaibles for add physical links by C API
topology: Define a function to build a single physical DAI link
topology: Merge an element's be & cc pointer to one link pointer
topology: Use snd_config_get_bool to simplify boolean flag parsing
topology: tplg_elem_lookup() checks parameter before searching
topology: Parse and build private data for PCM
topology: Define a function to build a single PCM element
topology: Parse flags for PCM
topology: Parse sig_bits of stream caps
topology: Add doc for including other files in the text conf file
topology: Fix missing stream name of widgets in text conf file
Use Case Manager API
ucm: Execute sequence of component devices
ucm: Parse sequence of component devices
ucm: Skip component directories when scanning sound card configuration files
ucm: docs: typeset lists of identifiers explicitly
ucm: fix crash when calling snd_use_case_geti() with no device or modifier
Configuration
conf: don't install smixer.conf when python is not available
topology: Update physical link configurations in Broadwell text conf file
conf: Search included files under user specified configuration directories
conf/ucm: skylake: add skylake-rt286 conf files
conf: bxtrt298: Add topology conf file for bxt
conf: sklrt286: Remove tool to generate private data blobs
conf: sklrt286: define module private data through tuples in skylake
ucm: Add ucm files for DB410c board.
Kernel Headers
topology: ABI - Add voice wake up flag for DAI links
topology: ABI - Define new types for physical DAI
topology: ABI - Update manifest and pump ABI version to 5
topology: ABI - Update physical DAI link configurations to ABI v5
topology: ABI - Define DAI physical PCM data formats
topology: ABI - Update stream caps and PCM objects to ABI v5
Update include/sound/tlv.h from 4.9-pre kernel uapi
Simple Abstraction Mixer Modules
mixer: Don't install smixer modules unless python is enabled
Test/Example code
test: use actual information for TLV operation
Changelog between 1.1.1 and 1.1.2 releases
alsa-lib
Core
Release v1.1.2
pcm: Remove home brew atomic operations
pcm: Add thread-safety to PCM API
conf/ucm: chtrt5645: Add UCM config for chtrt5645
conf/ucm: ROCKCHIP-I2S: rename to VEYRON-I2S
conf/ucm: ROCKCHIP-I2S: add Rockchip I2S UCM config.
conf: topology: Generate Private data binary blobs
conf: topology: Add Skylake i2s conf
Config API
conf: Add thread-safe global tree reference
Control API
ctl: use condition statements instead of assert() for new APIs to add an element set
ctl: rename APIs to add an element set so that their names are appropriate
ctl: add compatibility information for snd_ctl_elem_info_set_dimension()
hctl: remove assertion from element event handler because removal event overwrites all of queued events
ctl: improve documentation of APIs to add an element set
ctl: add dimension validator
ctl: add an API to set dimension levels to element information
ctl: support extra information to user-defined element set
ctl: use consistent name for second argument of snd_ctl_elem_read/write
ctl: use automatic variable instead of call of alloca(3)
ctl: fix returning zero for dimension level 4
ctl: improve API documentation for threshold level operations
ctl: add explanation about threshold level feature
ctl: change former APIs as wrapper functions of element set APIs
ctl: improve comments for API to add an element of IEC958 type
ctl: add functions to add an element set
ctl: improve comments for handling element data
ctl: add an overview for design of ALSA control interface
conf: Add thread-safe global tree reference
namehint: Don't enumerate as duplex if only a single direction is defined
HWDEP API
conf: Add thread-safe global tree reference
Mixer API
mixer: remove alloca() from simple_event_add()
mixer: change code formatting for simple_event_add()
mixer: remove alloca() from simple_add1()
mixer: change code formatting for simple_add1()
mixer: remove alloca() from set_enum_item_ops()
mixer: remove alloca() from get_enum_item_ops()
mixer: remove alloca() from enum_item_name_ops()
mixer: remove alloca() from init_db_range()
mixer: change code formatting for init_db_range()
mixer: remove alloca() from selem_write_main()
mixer: change code formatting for selem_write_main()
mixer: remove alloca() from elem_write_route()
mixer: change code formatting for elem_write_route()
mixer: remove alloca() from elem_write_enum()
mixer: change code formatting for elem_write_enum()
mixer: remove alloca() from elem_write_switch_constant()
mixer: remove alloca() from elem_write_switch()
mixer: change code formatting for elem_write_switch()
mixer: remove alloca() from elem_write_volume()
mixer: change code formatting for elem_write_volume()
mixer: remove alloca() from selem_read()
mixer: change code formatting for selem_read()
mixer: remove alloca() from elem_read_enum()
mixer: change code formatting for elem_read_enum()
mixer: remove alloca() from elem_read_route()
mixer: change code formatting for elem_read_route()
mixer: remove alloca() from elem_read_volume()
mixer: change code formatting for elem_read_volume()
mixer: include library local header to find layout of structures
PCM API
ctl: rename APIs to add an element set so that their names are appropriate
pcm: remove alloca() from _snd_pcm_softvol_open()
pcm: change code formatting for _snd_pcm_softvol_open()
pcm: remove alloca() from softvol_load_control()
pcm: change code formatting for softvol_load_control()
pcm: remove alloca() from snd_spcm_init_duplex()
pcm: remove alloca() from snd_spcm_init()
pcm: remove alloca() from snd_pcm_hw_set_chmap()
pcm: remove alloca() from snd_pcm_hw_get_chmap()
pcm: remove alloca() from snd_pcm_query_chmaps_from_hw()
pcm: remove alloca() from snd_pcm_hw_change_timer()
pcm: change code formatting for snd_pcm_hw_change_timer()
pcm: remove alloca() from _snd_pcm_hook_ctl_elems_install()
pcm: remove alloca() from snd_pcm_direct_set_timer_params
pcm: change code formatting for snd_pcm_direct_set_timer_params()
pcm: remove alloca() from snd_pcm_direct_initialize_poll_fd()
pcm: change code formatting for snd_pcm_direct_initialize_poll_fd()
pcm: remove alloca() from snd_pcm_direct_initialize_slave
pcm: change code formatting for snd_pcm_direct_initialize_slave()
pcm: remove alloca() from snd_pcm_get_params
pcm: change code formatting for snd_pcm_get_params()
pcm: remove alloca() from snd_pcm_set_params()
pcm: change code formatting for snd_pcm_set_params()
pcm: fix return value of snd_pcm_ioplug_sw_params()
pcm: fix missing return value of snd_pcm_status()
pcm: Add LIBASOUND_THREAD_SAFE env variable check
pcm: Remove home brew atomic operations
pcm: Add thread-safety to PCM API
pcm: add 'default' case for switch statement
pcm: set error code at failure path
pcm: Remove superfluous rmb() from PCM meter plugin
ctl: support extra information to user-defined element set
pcm: use new APIs to add a control element set for softvol plugin
pcm: dmix: Return error when slave is in OPEN or DISCONNECTED
pcm: dmix: Prepare slave when it's in SETUP, too
pcm: dmix: resume workaround for buggy driver
pcm: Fix secondary retry in dsnoop and dshare
pcm: Remove resume support from dmix & co
conf: Add thread-safe global tree reference
pcm: dmix: Fix doubly resume of slave PCM
pcm: Fix suspend/resume regression with dmix & co
pcm: softvol: fix conversion of TLVs min_db and max_dB value
pcm: Fallback open as the first instance for dmix & co
pcm: Clean up error paths in snd_pcm_plugin_*() helpers
pcm_plugin: fix appl pointer not correct when mmap_commit() return error
RawMidi API
conf: Add thread-safe global tree reference
Topology API
topology: Fix the missing referenced elem ptr when merging private data
topology: Fix inaccurate message on failure to find a widgets's reference
topology: Check address and length before string copy
topology: Add ATTRIBUTE_UNUSED for unused parameters to fix compiler warning
topology: Remove support for control flag SNDRV_CTL_ELEM_ACCESS_USER
topology: Tuple type can have an extenstion
topology: Parse vendor private data for manifest
topology: Change uuid value to 16 separate characters in text conf file
topology: Merge lookup for data reference into tplg_copy_data()
topology: An element can refer to multipe data sections in text conf file
topology: initialize variable for error output
topology: apply the same type to compared two variables
topology: remove unused variable in get_tokens()
topology: remove unused variable in tplg_parse_fe_dai()
topology: Parse front-end DAI name and ID for the PCM
topology: Fix pcm ID & name parsing
topology: Use generic pointer to realloc buffer for private data
topology: Refactor functions to parse and build streams
topology: Set manifest size for ABI
topology: Build data objects with tuples
topology: Add support for parsing vendor tuples
topology: Add support for vendor tokens
topology: Add doc for vendor tuples
topology: Define a free handler for the element
topology: Use the generic pointer to free an element's object
Use Case Manager API
ucm: add cset-tlv
/include/Makefile.am
pcm: Remove home brew atomic operations
ALSA Lisp
alisp: remove alloca() from FA_pcm_info()
alisp: remove alloca() from FA_hctl_elem_write()
alisp: remo: remove alloca() from FA_card_info()
Async helpers
async: Handle previously installed signal handler
Configuration
Makefile: fix sklrt286 dist files
conf: remove alloca() from snd_func_private_pcm_subdevice()
conf: remove alloca()y_class()
conf: remove alloca() from snd_func_pcm_id()
conf: remove alloca() from snd_func_card_name()
conf: remove alloca() from snd_func_card_id()
conf: remove alloca() from snd_determine_driver()
conf/ucm: chtrt5645: Add UCM cote PCM configurations in Broadwell text conf file
conf: topology: Generate Private data binary blobs
conf: topology: Add Skylake i2s conf
Documentation
pcm: Add thread-safety to PCM API
doxygen: Suppress timestamp
INSTALL: updat
topology: ABI - Define types for vendor tuples
Simple Abstraction Mixer Modules
mixer: remove assignment to unused variable
Test/Example code
ctl: rename APIs to add an element set so that their names are appropriate
test: add linkpport dimension test for user-defined element set
ctl: optimize a test for user-defined element set to changes of APIs
ctl: optimize a test for user-defined element set to older kernels
ctl: add test program for control element set
All Platforms
- Add new version number API (see above)
- Updated version number to 19.6.0 (due to extension added to WASAPI
host-API specific)
- pa_process: Fix output channel adaption by not skipping the conversion
when the host and user number-of-channels are not equal.
Leif Asbrink. c0c0cb1414
- Fixed bug that would result in open streams not being closed when
Pa_Terminate() is called
- C++ binding: make operator == and != const.
- Moved repository to Git
Various documentation improvements, including:
- Update docs for building on Linux
- Clarified safety of operations in callback
- Document API Version Availability (e.g. `Available as of 19.5.0`)
Build Systems
- CMake support for Unix platforms
- Fix PA_LIBRARY_DEPENDENCIES problem with CMake/WMME.
Linux
- pa_linux_alsa: fix hang in callback caused by abort.
Mac
- Update configure files for Mac OS X El Capitan, 10.11 SDK
pa_mac_core_blocking: fix hang when running stream stopped (add
timeout).
- pa_mac_core: Fix assert when reading or writing with non-power of 2
channels. Now Scarlett 6i6 works.
- pa_mac_core: stop stream instead of asserting (crashing) under certain
conditions, e.g. when device is unplugged.
- pa_mac_core: fixed copy-pasto: last host error was being associated
with paInDevelopment host api not paCoreAudio
- pa_mac_core: Fix for truncated device names e.g. 'Built-in
Microph'
libopenmpt 0.2-beta20.5 (2017-02-05)
[Bug] libmodplug: C++ API did not build with MSVC2008 in 0.2-beta20.4.
libopenmpt 0.2-beta20.4 (2017-02-05, not released)
[Bug] Possible hangs with malformed files containing cyclic plugin routings.
libmodplug: Added all missing C++ API symbols that are accessable via the public libmodplug header file.
Channel frequency could wrap around after some excessive portamento / down in some formats since libopenmpt 0.2-beta17.
Playback improvements for S3M files made with Impulse Tracker and Schism Tracker.
0.7.10 - 12.10.2016 (Hollow)
Bug Fixes:
[issue 97] - Missing import
[issue 105] - Fix the rendering of default constructed id3.TagHeader
Fixed Tag.frameiter
0.7.9 - 11.27.2015 (Collapse/Failure)
New Features:
process files and directories in a sorted fashion. <Hans-Peter Jansen>
display the ellipsis file name and path, and the file size right justified in printHeader. <Hans-Peter Jansen>
stating to be unable to find a valid mp3 frame without a hint, where this happened is rather unfortunate. I noticed this from using eyed3.load() calls. <Hans-Peter Jansen>
[fixup plugin] - Better compilation support.
Bug Fixes:
Fixed missing ‘math’ import.
[issue 81] - Replaced invalid Unicode.
[issue 91] - Disabled ANSI codes on Windows
[issue 92] - More friendly logging (as a module)
0.7.8 - 05.25.2015 (Chartsengrafs)
New Features:
[pymod plugin] – A more procedural plugin interface with modules.
[art plugin] – Extract tag art to image files, or add images to tags.
eyed3.utils.art - High level tag art API
eyed3.id3.frames.ImageFrame.makeFileName produces the file extension .jpg instead of .jpeg for JPEG mime-types.
Added eyed3.utils.makeUniqueFileName for better reuse.
[statistics plugin] – Less score deduction for lower bit rates.
Split example plugins module into discrete plugin modules.
[fixup plugin] – Added –fix-case for applying title() to names
[fixup plugin] – Detects and optionally removes files determined to be cruft.
eyed3.id3.Tag – Added frameiter method for iterating over tag frames.
Added optional preserve_file_time argument to eyed3.id3.Tag.remove.
Removed python-magic dependency, it not longer offers any value (AFAICT).
Bug Fixes:
[issue 50] Crashing on –remove-frame PRIV
[issue 75] Parse lameinfo even if crc16 is not correct
[issue 77] Typo in docs/installation.rst
[issue 79] Request to update the GPL License in source files
Fixes to eyed3.id3.tag.TagTemplate when expanding empty dates.
eyed3.plugins.Plugin.handleDone return code is not actually used.
[classic plugin] – Fixed ID3v1 –verbose bug.
[fixup plugin] – Better date handling, album type, and many bug fixes.
0.7.6 / 0.7.7 - Skipped
ver 0.20.4 (2017/02/01)
* input
- nfs: fix freeze after reconnect
* output
- sndio: work around a libroar C++ incompatibility
* workaround for GCC 4.9 "constexpr" bug
* fix FreeBSD build failure
ver 0.20.3 (2017/01/25)
* protocol
- "playlistadd" creates new playlist if it does not exist, as documented
* database
- proxy: fix error "terminate called after throwing ..."
- proxy: make connect errors during startup non-fatal
* neighbor
- upnp: fix premature expiry
* replay gain: don't reset ReplayGain levels when unpausing playback
* silence surround channels when converting from stereo
* use shortcuts such as "dsd64" in log messages
--------------------------------
libdiscid-0.6.2:
- ISRC and MCN support on BSD
- LIB-60: fix make check for default device on generic/unknown platform
- make Doxygen output reproducible (no timestamps)
- remove newline for Linux device "1" from proc
added: all new command-line tagging utility (wvtag)
added: option to import ID3v2.3 tags from Sony DSF files
fixed: fuzz test failures from AFL reported on SourceForge
improved: DSD decimation filter (less HF rolloff & CPU use)
fixed: non-byte audio depths (12-bit, 20-bit) not showing
fixed: rare case of noise-shaping triggering a lossy mute
fixed: recognize UTF-8 BOM when reading text files
fixed: a few portability issues
This Opus 1.1.4 release fixes a single bug. A specially-crafted
Opus packet could cause an integer wrap-around in the SILK LSF
stabilization code. This would cause an out-of-bounds read 256
bytes before a constant table. In most circumstances, the consequences
are harmless and the result is simply noise in the audio.
This was reported as CVE-2017-0381. Contrary to that report, our
own analysis shows that no remote code execution is possible.
However, we are making this release as a precaution.
abcde 2.8.1.
* Fix silly error introduced in abcde-musicbrainz-tool when fixing bug
30. Thanks to Thomas Klausner for the bug/patch. Closes Issue 52:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=52
-- Steve McIntyre <93sam@debian.org> Wed, 18 Jan 2017 11:02:38 +0000
Changelog:
# PulseAudio 10.0 release notes
## Changes at a glance
* Automatically switch Bluetooth profile when using VoIP
applications
* New module for prioritizing passthrough streams
(module-allow-passthrough)
* Fixed hotplugging support for USB surround sound cards
* Separate volumes for Bluetooth A2DP and HSP profiles
* memfd-based shared memory mechanism enabled by default
* Removed module-xenpv-sink
* Dropped dependency to json-c
* When using systemd to start PulseAudio, pulseaudio.socket is
always started first
* Compatibility with OpenSSL 1.1.0
* Clarified qpaeq license
## Notes for end users
### Automatically switch Bluetooth profile when using VoIP applications
Bluetooth headsets typically support both the A2DP profile, which is
suitable for music, and the HSP profile, which is suitable for
telephony use cases. module-bluetooth-policy will now automatically
switch the profile of a Bluetooth headset from A2DP to HSP/HFP when an
application creates a recording stream with property media.role=phone
(telephony applications should set that property for their
streams). When the stream goes away, the profile gets restored back to
A2DP. This way the user doesn't have to manually switch the profiles
when starting and stopping a call. This behaviour can be disabled by
giving argument auto_switch=false to module-bluetooth-policy.
### New module for prioritizing passthrough streams (module-allow-passthrough)
Passthrough streams are streams whose content must go completely unaltered from the application to the sound card, and they are mainly used for playing back compressed audio through an S/PDIF connection. When a passthrough stream is playing to a device, no other streams can play at the same time to the same device, and if there's already something playing when a passthrough stream is created, the passthrough stream creation will normally fail. Now we have a new module, called module-allow-passthrough, which will give higher priority to passthrough streams, so that if there are other streams playing when a passthrough stream is created, those other streams will be moved out of the way to a dummy device.
### Fixed hotplugging support for USB surround sound cards
A long-standing bug that prevented PulseAudio from using any
hotplugged USB surround sound cards has been fixed.
### Separate volumes for Bluetooth A2DP and HSP profiles
The Bluetooth sink and source names are now different depending on
whether the active profile is A2DP or HSP. This allows PulseAudio to
store different volumes for A2DP and HSP. Due to different mechanisms
for implementing volume control between the profiles, trying to use
the same volume value in PulseAudio doesn't actually result in the
same perceived volume, so it's better not to try to use the same
volume.
As an unfortunate transition effect, volumes saved earlier with an
older PulseAudio version won't have effect in the new PulseAudio
version, so all Bluetooth devices will have their volume reset to the
default value when running the new PulseAudio version for the first
time.
This only affects BlueZ 5 users. The same change was done already
earlier for PulseAudio's BlueZ 4 code.
### memfd-based shared memory mechanism enabled by default
The memfd-based shared memory mechanism that was implemented in 9.0 is
now enabled by default. This shouldn't cause any user-visible changes
in behaviour, except if you're using the Firejail sandboxing software,
which doesn't work with PulseAudio's old shared memory mechanism.
If desired, the feature can still be disabled by setting "enable-memfd
= no" either in daemon.conf (for disabling it at the server side) or
in client.conf (for disabling it at the client side).
### Removed module-xenpv-sink
module-xenpv-sink was removed, because it's probably not used by
anyone. If you use it, please let us know.
## Notes for packagers
### Dropped dependency to json-c
libpulse previously used json-c internally, which forced applications
to link to json-c too. That caused crashing in some GLib applications,
because json-c and json-glib both use the same name for some
functions. To solve this, we implemented the necessary JSON
functionality directly in libpulse, so we don't depend on json-c any
more.
### When using systemd to start PulseAudio, pulseaudio.socket is always started first
The pulseaudio.service unit now depends on pulseaudio.socket, meaning
that before systemd starts PulseAudio, it will always first set up the
socket. This is done to avoid confusing behaviour in certain corner
cases (see the comments in pulseaudio.service for a more detailed
explanation).
### Compatibility with OpenSSL 1.1.0
OpenSSL, which is used by module-raop-sink, broke backwards
compatibility in the 1.1.0 release. PulseAudio now supports both 1.1.0
and older versions.
### Clarified qpaeq license
Most of PulseAudio is licensed under LGPL, but the "qpaeq" equalizer
GUI is licensed under AGPL. That hasn't previously been mentioned
anywhere else than in the qpaeq source code itself. Therefore,
distributions that tag their packages with license information have
likely used incorrect information. The license of qpaeq hasn't
changed, but the use of AGPL is now correctly noted in the top-level
LICENSE file.
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
abcde 2.8
* Make fdkaac the default for m4a encoding. Faac can still be selected
for m4a encding via ~/.abcde.conf file but best not to :).
* Split user-definable mungefilename function into mungetrackname,
mungeartistname, and mungealbumname, each of which default to
mungefilename Thanks to Gerald Turner for the patch and enhancement
request. This closes Issue 39:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=39
* FAQs: Clarify the exit from multi-result CDDB search.
* Fix to allow multiple output formats when aac fallback is triggered.
Thanks to Birk Bremer for the bug report. This closes Issue 35:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=35
* Fix for some erroneous error and status logging. Thanks to Christian
Wasem for the bug report and fix. This closes Issue 32:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=32
* Add support for trying multiple CD lookup services in order. Thanks to
Gabriel Rosenkoetter for the patch. Closes Issue 42:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=42
* Add Recommends on glyrc and imagemagick in Debian packaging. Closes
Debian Bug #827626
* Fix up handling of the first few sectors when reading
from a whole-CD flac file or using cdparanoia in one-track
mode. Thanks to Matthias König for the patch. Closes Issue 44:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=44
* Tweak the fix in musicbrainz for handling sketchy returned data
some more. Hopefully closes Issue 30:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=30
* Re-enable some commented out cdparanoia/debug code in do_discid.
Closes Issue 14:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=14
* Add "-a" to lots of grep calls in case of "binary" looking data,
e.g. non-ascii text in track titles!
Closes Issue 24:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=24
* Add "-L" to default curl options, to follow redirects if needed
Closes Issue 40:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=40
Thanks to Gabriel Rosenkoetter for the patch.
* Switch default from "cddb" to "musicbrainz" for track lookup
Closes Debian Bug #842178
ver 0.20.2 (2017/01/15)
* input
- alsa: fix crash bug
- alsa: fix buffer overruns
* decoder
- flac: add options "probesize" and "analyzeduration"
* resampler
- libsamplerate: reset state after seeking
* output
- fix static noise after changing to a different audio format
- alsa: fix the DSD_U32 sample rate
- alsa: fix the DSD_U32 byte order
- alsa: support DSD_U16
- recorder: fix error "Failed to create : No such file or directory"
* playlist
- cue: fix skipping songs
ver 0.20.1 (2017/01/09)
* input
- curl: fix crash bug
- curl: fix freeze bug
* decoder
- wavpack: fix crash bug
* storage
- curl: new storage plugin for WebDAV (work in progress)
* mixer
- alsa: normalize displayed volume according to human perception
* fix crash with volume_normalization enabled
ver 0.20 (2017/01/04)
* protocol
- "commands" returns playlist commands only if playlist_directory configured
- "search"/"find" have a "window" parameter
- report song duration with milliseconds precision
- "sticker find" can match sticker values
- drop the "file:///" prefix for absolute file paths
- add range parameter to command "plchanges" and "plchangesposid"
- send verbose error message to client
* input
- curl: fix memory leak
* tags
- ape, ogg: drop support for non-standard tag "album artist"
affected filetypes: vorbis, flac, opus & all files with ape2 tags
(most importantly some mp3s)
- id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags
are ISO-Latin-1
- ape: support APE replay gain on remote files
- read ID3 tags from NFS/SMB
* decoder
- improved error logging
- report I/O errors to clients
- ffmpeg: support ReplayGain and MixRamp
- ffmpeg: support stream tags
- gme: add option "accuracy"
- gme: provide the TRACK tag
- gme: faster scanning
- mad: reduce memory usage while scanning tags
- mpcdec: read the bit rate
- pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float
- sidplay: faster scanning
- wavpack: large file support
- wavpack: support DSD (WavPack 5)
- wavpack: archive support
* playlist
- cue: don't skip pregap
- embcue: fix last track
- flac: new plugin which reads the "CUESHEET" metadata block
* output
- alsa: fix multi-channel order
- alsa: remove option "use_mmap"
- alsa: support DSD_U32
- alsa: disable DoP if it fails
- jack: reduce CPU usage
- pulse: set channel map to WAVE-EX
- recorder: record tags
- recorder: allow dynamic file names
- sndio: new output plugin
* mixer
- null: new plugin
* resampler
- new block "resampler" in configuration file
replacing the old "samplerate_converter" setting
- soxr: allow multi-threaded resampling
* player
- reset song priority on playback
- reduce xruns
* write database and state file atomically
* always write UTF-8 to the log file.
* remove dependency on GLib
* support libsystemd (instead of the older libsystemd-daemon)
* database
- proxy: add TCP keepalive option
* update
- apply .mpdignore matches to subdirectories
* switch the code base to C++14
- GCC 4.9 or clang 3.4 (or newer) recommended
- Updated upstream sources
- Fixed building with GCC 3.3 and 3.4
- Fixed building with GCC 6
- AArch64 optimizations
- Makefiles for building with MSVC
- Support building the code in C++11 mode
Tue Nov 1 20:16:59 CET 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.3
* New:
+ The RIFF track field name is configurable (IPRT, ITRK, TRCK)
for better interoperability.
+ The RIFF chunk name for ID3v2 tags in WAV files is configurable
(ID3, id3) for better interoperability.
+ ID3v2 tags in WAV files can have version 2.3.0 or 2.4.0.
* Improved:
+ Support new classical music frames introduced with iTunes 12.5.
* Fixed:
+ Use the last sort order and column for the file list on startup.
+ Display expected ID3v2 version if no ID3v2 tag exists yet.
+ Tag 3 can be addressed in kid3-cli by number "3".
+ Support translated display frame names in kid3-cli.
+ Avoid crash when pictures in FLAC files are empty or too large.
Wed Aug 24 14:44:04 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.2
* Fixed:
+ Embed Lyrics works again with makepersonal.co and
lyrics.wikia.com.
+ Do not add an empty frame when deleting a non existant frame
in kid3-cli.
+ Support setting multiple frames of the same type with
copy/paste.
+ Allow editing of quick access frames which are not yet present
in the file.
+ Reset shortcuts and appearance configuration when the defaults
are restored in the settings.
* Improved:
+ Do not show any disabled tag values in the Tag 1 section
for files which do not support an ID3v1 tag.
+ Set the file filter for the file list in the file settings,
not with the filter used in the open dialog.
+ Disable the global app menu on Ubuntu's Unity desktop.
Fri Jun 24 20:20:20 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.1
* Fixed:
+ Avoid wrong marking of ID3v2 Date frames as modified.
+ Enable setting M4A, Vorbis date with ISO date/time also when no
tag exists.
+ Windows: Fix separators and relative file names in playlists.
+ Windows: Install missing SSL DLLs, needed for Discogs import.
+ Windows: Fix temporary file creation in id3lib.
Sat Apr 23 16:30:36 CEST 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.4.0
* New:
+ Support more than two tags for MP3 files with ID3v1, ID3v2 and APE
tags, FLAC files with ID3v1, ID3v2 and Vorbis tags.
+ Support RIFF INFO tags in WAV files.
+ Filename to tag format can be defined as a regular expression with
captures.
+ Perl regular expressions with Qt 5.
* Improved:
+ Import from tags is also available from CLI, QML and D-Bus.
+ Help for editing synchronized lyrics.
+ Handle redirects when downloading.
* Fixed:
+ Windows: Saving files which are open in player, e.g. when editing
synchronized lyrics.
+ Windows: Timestamp preservation with non-ASCII file names.
+ KDE 5: Jumping to a specific help topic.
+ Enable setting ID3v2.4 date with ISO date/time also when no tag
exists.
+ Crash when writing to a FLAC file which cannot be opened.
Thu Mar 10 17:55:29 CET 2016 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.3.2
* New:
+ Setting for text encoding used in playlists and exports.
* Improved:
+ Support removing tags in MPC, WavPack with TagLib 1.11.
* Fixed:
+ Windows: Fix plugin name in qmldir.
+ Windows: Crash when adding large pictures to Ogg files.
+ Windows: Go back to older Qt 5.4.2 to avoid random crashes.
+ Stripping of ID3v2 tags from WAV files with TagLib 1.11.
+ Adapted to Discogs server update.
Thu Dec 17 14:53:06 CET 2015 Urs Fleisch <ufleisch@users.sourceforge.net>
* Release 3.3.1
* New:
+ Package for Android.
+ Support setting of data in GEOB frames from CLI and scripts.
+ Icons for high pixel density displays.
* Improved:
+ Trim values from tags in format strings to avoid whitespace when
setting file names from tags.
+ Updated Czech translation.
* Fixed:
+ List picture in get command of kid3-cli also if its description
is empty.
+ Set configured text encoding in picture frames.
+ Make file renaming work when saving non writable files.
+ Use high resolution icon in task switcher.
+ Avoid cropping in picture preview window on high pixel density
displays.
General:
* Fix undefined behaviour using GCC/Clang UBSAN (erikd).
* General hardening via fuzz testing with AFL (erikd and others).
* General code improvements (lvqcl, erikd and others).
* Add FLAC in MP4 specification docs (Ralph Giles).
* MSVS build cleanups (lvqcl).
* Fix some cppcheck warnings (erikd).
* Assume all currently used OSes support SSE2.
flac:
* Fix potential infinite loop on flac-to-flac conversion (erikd).
* Add WAVEFORMATEXTENSIBLE to WAV (as needed) when decoding (lvqcl).
* Only write vorbis-comments if they are non-empty.
* Error out if decoding RAW with bits != (8|16|24).
metaflac:
* Add --scan-replay-gain option.
build system:
* Fixes for MSVC and Makefile.lite build systems.
libraries:
* CPU detection cleanup and fixes (Julian Calaby, erikd and lvqcl).
* Fix two stream decoder bugs (Max Kellermann).
* Fix a NULL dereference bug (on a malformed file).
* Changed the LPC order guess for a slight compression improvement, particularly for classical music (Martijn van Beurden).
* Improved encoding speed on older Intel CPUs.
* Fixed a seeking bug when decoding certain files (Miroslav Lichvar).
* Put an upper bound (32768) on the number of seek points.
* Fix potential memory leaks.
* Support 64bit brword/bwword allowing FLAC__BYTES_PER_WORD to be set to 8 (disabled by default).
* Fix an out-of-bounds heap read.
* Win32: Only use large buffers when writing to disk.