4.20.0 (2025-05-21)
======
Meson has been added as a build system in this release, and the
associated archive has been generated by 'meson dist'. Although
autotools has been retained for the time being and can still be used
via 'autogen.sh', meson is now the preferred build system, and
autotools will be removed in a future release.

- build: Fix -Wsingle-bit-bitfield-constant-conversion
- build: Automate copyright year management
- Add about dialog
- Add meson build
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Asturian, Basque, Belarusian,
  Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian,
  Czech, Danish, Dutch, Eastern Armenian, English (Australia), English
  (United Kingdom), Estonian, Finnish, French, Galician, German, Greek,
  Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian,
  Japanese, Kazakh, Korean, Malay, Norwegian Bokmål, Occitan (post
  1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil),
  Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish,
  Thai, Turkish, Ukrainian, Uyghur

4.18.2 (2024-12-25)
======
- Update copyright year
- I18n: Update po/LINGUAS list
- I18n: Update po/LINGUAS list
- I18n: Update po/LINGUAS list
- I18n: Update po/LINGUAS list
- build: Use XDT_VERSION_INIT and get rid of configure.ac.in
- build: Switch from intltool to gettext
- Use symbolic icons
- Remove dialog subtitle
- Align gst_mixer_oss_set_volume prototype with _GstMixerClass 
definition.
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Asturian, Basque, Belarusian,
  Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese
  (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English
  (Australia), English (Canada), English (United Kingdom), Estonian,
  Finnish, French, Galician, German, Greek, Hebrew, Hungarian,
  Icelandic, Indonesian, Interlingue, Italian, Japanese, Kazakh,
  Korean, Malay, Norwegian Bokmål, Occitan (post 1500), Persian
  (Iran), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian, Uyghur

4.18.1 (2023-05-01)
======
- panel-plugin: Fix blurry icons when UI scale > 1
- build: Bump GTK version and fix deprecation warnings
- build: Bump GTK version and remove dead code
- panel-plugin: Define glib_autoptr_clear_XfcePanelPlugin if needed
- mixer-window: Fix exit icon name
- mixer-container: Fix container type
- gst-mixer: Properly disconnect signal handlers
- mixer-track: Ensure max_volume > min_volume for GtkScale
- sndio: Remove useless G_SOURCE_FUNC casts
- libxfce4mixer: Use G_DECLARE_FINAL_TYPE and G_DECLARE_DERIVABLE_TYPE
- panel-plugin: Use G_DECLARE_FINAL_TYPE
- xfce4-mixer: Use G_DECLARE_FINAL_TYPE
- Update `.gitignore`
- build: Remove some duplicate statements
- build: Decrease make log level

4.18.0 (2023-04-29)
======
- Use g_critical() and don't translate warning message
- [sndio] make sure to save a non-zero volume when setting mute (fixes 
#5)
- Update copyright year and bug report address
- build: Add missing include
- build: Use same automake options as other projects
- Update `.gitignore`
- Add basic GitLab pipeline
- build: Fix intltool lock file problem during make distcheck
- build: Add missing translated files to POTFILES.in
- build: Fix includes for make distcheck
- Fix compilation warnings
- automake: Add `ACLOCAL_AMFLAGS = -I m4`
- autoconf: Sndio >= 1.7.0 is required
- autoconf: Some updates
- Reduce NUM_CHANNELS() invocations
- Fix memory leak
- pulse: emit volume changed signals for input/output tracks
- gst: emit changed signal for input tracks
- Only show possible inputs for a track when we have more than 1
- Bump version to 4.15
- Update authors
- Merge branch 'multiple-backends'
- Merge branch 'landry/xfce4-mixer-sndio' into multiple-backends
- alsa: change print to debug output
- Update gitignore
- oss: Handle mixer volume changes.
- oss: fix compilation
- Remove dbus-glib check from configure.ac.in
- Remove dbus-glib dependency.
- pulse: fix missing capture track index.
- Add newly discovered capture tracks.
- pulse: Implement source output handling
- Free track resources when it is removed
- Fix wrong track removals
- Simplify track labeling
- Show combo box to change track output
- pulse: Implement gst move track method
- gst: implement move tracks to different track outputs/inputs
- [sndio] remove erroneous statement making finalize dump core on exit
- [sndio] gst_mixer_sndio_set_mute: handle app tracks not having a 
separate mute control
- [sndio] improve debug msg with app tracks having only one channel
- [sndio] add saved_volumes track member for tracks that dont have a 
mute control
- [sndio] add comment about GST_MIXER_TRACK_NO_MUTE flag
- [sndio] restructure code to properly reconnect to sndiod upon 
disconnections
- [sndio] log sioctl_desc type
- [sndio] declare callbacks prototypes upfront
- [sndio] gracefully handle sioctl_revents returning POLLHUP and return 
G_SOURCE_REMOVE
- drop useless g_print calls
- Implement gst_mixer_sndio_set_volume
- Implement gst_mixer_sndio_set_mute()
- Implement gst_mixer_sndio_set_record()
- emit volume-changed signal upon setting volume via onval callback
- initial implem of onval sndio callback
- initial implem for ondesc sndio callback
- add two hashtables for easy access to track objects
- add vol_addr & mute_addr arrays used to keep track of sndio addresses 
for chans
- Update gst_mixer_sndio_track_new() prototype
- create a GSource to handle events on the pollfd struct filled by 
sioctl_pollfd
- use g_print for now and print desc addr & channel unit in debug msg
- first baby steps calling sioctl_open and ondesc callback
- define HAVE_SNDIO if sndio.h is found
- call gst_mixer_sndio_probe() if sndio backend is enabled
- add build plumbing for sndio backend
- add skeleton for an sndio backend
- update .gitignore
- pulse: ignore client with PA_INVALID_INDEX
- Change tracks orientation
- pulse: Add card number on tracks
- gst-mixer: avoid not needed GUI redraw
- gst-mixer: remove dead code
- pulse: fix adding a new track
- Fix track flag limits
- Don't filter out tracks for the moment
- Implement add_track remove_track
- Fix adjusting volume by scrolling on panel plugin button
- Remove code moved to the parent Mixer class
- Fix wrong input/output handling
- Change mute and record bits when volume changes
- Pulse: implement set_record and set_mute methods
- Pulse: Implement set volume method
- Move card name and tracklist to the parent gst class.
- This is a mega initial commit for the new mixer
- Bug #15546
- Merge branch 'gtk3-port'
- Replace libunique with GApplication/GtkApplication
- Migrate to GTK 3.14+, except for xfce-mixer-window.{c,h}
- Use $(datadir)/xfce4/mixer/ as MIXER_DATADIR
- icons/Makefile.am: Remove unnecessary gtk-update-icon-cache
- Fix build with GCC 4.8.1 by using G_GNUC_PRINTF (bug #10474)
- Make Unique support optional
- Post-release version bump.
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Asturian, Basque, Belarusian,
  Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese
  (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English
  (Australia), English (Canada), English (United Kingdom), Finnish,
  French, Galician, German, Greek, Hebrew, Hungarian, Icelandic,
  Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean,
  Lithuanian, Malay, Norwegian Bokmål, Occitan (post 1500), Persian
  (Iran), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian, Uyghur

4.11.0
======
- Updated translations.
- Fixed button sizing in some themes.
- g_thread_init is deprecated.
- Refactor the handling of minimum volumes
- Do not assume a minimum volume of 0 in the keyboard shortcut handling
- Correct debugging instructions
- Avoid unused variable warning when buildwing without keybinder (bug #9544)
- Move the XFCE_MIXER_PLUGIN_DEFAULT_COMMAND macro to where it is used
- Extend documentation in README
- Rename variable which may shadow index(3) (bug #9374)
- Fix mnemonics in the plugin menu that conflict with those of default menu items (bug #9339)


4.10.0
======
- Do not use G_VALUE_INIT which is only available in glib >= 2.30
- Translation updates: Dutch (Flemish), Japanese, Croatian, Portuguese, Spanish
  (Castilian), German, Indonesian, Ukrainian, Polish, Chinese (Taiwan)


4.9.0
=====
- Handle a negative minimal volume correctly.
- Fix a potential NULL pointer dereference.
- Do not try to destroy the mixer window twice after a delete-event
  (bug #8288).
- Modernize build system and build panel plugin as a module.
- Use standard icons where possible.
- Update the icons on theme change (bug #3498).
- Support xfce4-panel 4.10 with its deskbar mode (bug #8350).
- Use xfconf for the panel plugin configuration.
- Make the panel plugin use sensible default settings (first card, master
  track) in the absence of an existing configuration (bug #5716, bug #6624,
  bug #7125).
- Clearly indicate in the plugin when there is no valid card and/or element
  and ignore mouse wheel and mute toggle events (bug #6625, bug #7630).
- Avoid the deprecated GtkTooltips API and let XfceVolumeButton handle
  tooltips.
- Indicate in the plugin tooltip whether the track is muted.
- Mute a track when the volume is set to 0% and unmute when set to a higher
  value (bug #8291).
- Add an item to the panel plugin context menu for muting (bug #7944).
- Make name and description more meaningful (bug #5817).
- Do not use deprecated APIs and adjust requirements to Xfce 4.10.
- Add global keyboard shortcuts for raising and lowering the volume as well as
  muting (bug #5314).
- Set the main window to normal rather than dialog type (bug #7623).
- Keep the sound card and controls in sync between the mixer and xfconf.
- Populate the mixer with whitelisted controls in the absence of an existing
  configuration (bug #4945).
- Add a popup with a scale for setting the volume to the panel plugin which is
  opened on left click, allow running the uder-defined command previously bound
  to left click from the panel plugin context menu instead.
- Make xfce4-mixer a singleton application, executing xfce4-mixer while another
  instance is already running brings the running instance to the foreground
  (bug #5676).
- Remove UI for configuring the mixer command from the panel plugin and assume
  xfce4-mixer, make the panel plugin context menu entry for running the mixer
  more meaningful.
- Add tooltips to scale widgets in the mixer.
- Add runtime debugging mode to both the mixer and the panel plugin.
- Add man page for xfce4-mixer.
- Handle identically named tracks by making use of the track index property.
- Handle tracks which are marked read-only by GStreamer or which have no mute
  or record functionality by making the corresponding widgets insensitive.
  Prevent read-only tracks from being selected in the panel-plugin.
- Handle mixer changed messages which indicate that the tracks of a mixer have
  changed.
- Handle options list changed messages which indicate that the available
  options of a track have changed.
- Separate labels from track and option widgets and align labels and option
  widgets horizontally.
- Reduce the distance between faders in track widgets and ensure it is always
  the same.
- Put the chain buttons above the mute and record buttons and add lines to the
  left and right of them.
- Default to unlocked state if the volume differs between the channels of a
  track.
- Add mnemonics for all tabs and the soud card combob box of the mixer main
  window.
- Add labels with mnemonics for the soud card and track combo boxes of the
  plugin configuration dialog.
- Improve the wording of the message shown when no controls are visible and
  visually follow the layout of an alert popup.


4.8.0
=====
- Fix too small plugin button in the new panel.
- Ellipsize sound card names in the combo box (bug #6671).
- Remove deprecated Encoding key from desktop files.
- Port to libxfce4ui.
- Fix wrong use of GTK+ causing the panel plugin volume to be set no higher
  than 90% (bug #5243).
- Fixed a lot of compiler warnnings and errors.
- Updated translations: Dutch, English (United Kingdom), Galician, Greek,
  Italian, Kazakh, Portuguese, Romanian, Russian, Sinhala, Turkish, 
  Uyghur and more.


4.6.1
=====
- Translation updates: es (Abel Martín), pl (Piotr Sokół),
  gl (Leandro Regueiro), pt (Nuno Miguel), it (Cristian Marchi)
- Make <Control>q and <Control>s trigger the corresponding actions.
- Minor cosmetic fixes (row spacing of 6px in tables).
- Add missing AudioVideo category which is obligatory if you use the Audio 
  category (bug #4933).
- Display mute/record state properly on startup (bug #5002). 
- Fix segfault when destroying the plugin
- Move capture track check into xfce_mixer_track_update_record().
- Don't increment the reference count on GObjects when passing them to GValue 
  using g_value_set_object().
- Fix crash with backends where the GstMixer implementation has no 
  "device-name" property (bug #5201).
- Include libxfcegui4.h to avoid implicit declaration of xfce_err().


4.6.0
=====
- Translation updates: sv (Daniel Nylander), gl (Leandro Regueiro),
  uk (Dmitry Nikitin), tr (Gökmen Görgen, Samed Beyribey),
  es (Abel Martín), de (Enrico Tröger), id (Andhika Padmawan),
  nb (Terje Uriansrud), pl (Piotr Sokół)
- Don't read track labels from the 'label' member of the GstMixerTrack struct. 
  Instead, use the 'label' property. The struct member is undocumented and may 
- Use the GstMixerTrack "label" property instead of the struct member to access
  the name of a track. Toggle record for capture tracks instead of trying to 
  mute them. Capture tracks don't support muting (bug #4777).
- Don't show the mute button for capture tracks (follow up of bug #4777). 

4.5.99.1
========
- Translation updates: cz (Michal Varady), da (Per Kongstad), 
  eu (Piarres Beobide), fr (Mike Massonnet), nb_NO (Terje Uriansrud),
  pt_BR (Og Maciel), zh_CN (Chris K. Zhang).

4.5.93
======
- Change plugin volume step size from 1% to 5%.
- Use "multimedia-volume-control" icon as the default window icon 
  instead of "xfce4-mixer".
- Review strings.
- Translation updates: cs (Michal Varady), de (Fabian Nowak), es (Abel 
  Martín), eu (Piarres Beobide), fi (Jari Rahkonen), fr (Maximilian 
  Schleiss), gl (Leandro Regueiro), hu (Szervác Attila), ja (Nobohiro
  Iwamatsu), sv (Daniel Nylander), uk (Dmitry Nikitin).

4.5.92
======
- Use xfconf_channel_reset_property() instead
  xfconf_channel_remove_property().
- Rename stock icons and install them as application icons to
  $(pkgdatadir)/icons/hicolor. Remove stock code.
- Change step and page increment size of the panel plugin to 1%.
- Fix license headers to use GPL everywhere.
- Use "multimedia-volume-control" icon in the desktop entry.
- Fix build with GStreamer < 0.10.14.
- Translation updates: Carles Muños Gorriz (ca), Abel Martín (es),
  Csécsey Károly (hu). Andhika Padmawan (id), Terje Uriansrud (nb_NO)
  Gökmen Görgen (tr).

4.5.91
======
- Remove XfceMixerCard abstraction over GstMixer.
- Use a single GstBus for all GstMixer notifications.
- Use 'multimedia-volume-control' icon instead of 'xfce4-mixer'.
- Improve panel plugin icons, add another icon for volume between 0% 
  and 15%.
- Panel plugin now refreshes properly after using the plugin properties
  dialog (fixes bug #4370).
- Improve .desktop file: add the mixer to the "Audio" and "X-XFCE"
  categories, and add StartupNotify=true and Terminal=false.
- Add DEBUG define to make the DBG macro work.
- Translation updates: Brazilian Portuguese, Czech, Finnish, French, 
  German, Hungarian, Indonesian, Japanese, Sinhalese, Spanish.

4.5.90
======
- Complete rewrite based on GStreamer 0.10.
- Supports all sound systems supported by GStreamer (ALSA, OSS, 
  PulseAudio and many more).
- Support for multiple sound cards.
- New panel plugin especially designed for easy use with the mouse 
  scroll wheel.

4.4.0
=====
- Several new and updated translations.


4.3.90.1
========
- Port to the new panel framework.
- Support for SGI mixer.


4.2.0
=====
- Complete rewrite of the mixer with settings manager dialog.
- Support for mixer profiles.
- Support for ALSA, OSS and Sun Audio.
