Mumble 1.3.0 Release Announcement

Posted on August 29, 2019 by Jan Klass

We are pleased to announce the release of Mumble 1.3.0; a backwards-compatible, stable feature release available on the Downloads page.

About Mumble

Mumble is a free, open source, low latency, high quality voice chat application.

Mumble is/was primarily intended for gamers, and was the first to establish true low latency voice communication over a decade ago, but finds good use in many different environments as well.

We heard from users who record podcasts with our multi-channel audio recorder, players seeking realism with our positional audio in games, Eve Online players with huge communities of over 100 simultaneous voice participants (I bet they make good use of our extensive permission system 😄), the competitive Team Fortress 2 community making us their required voice communication platform, hobby radio transmission users, and a variety of workplaces adapting Mumble to fit their needs - be it on-head mobile devices or communicating across countries or into airplanes.

Administrators appreciate Mumble for being able to own their and their users data. Some make use of the extensive permission system for complex scenarios (for example separating two groups but leaders being able to talk to both). Some love to provide their users with additional functionality with scripts making use of server APIs, or host music bots and the like that connect to the server. Those that have an existing user database often make use of authenticators to allow authenticating with existing account login data.

Release Information

It has been almost ten years since the last feature release 1.2.0, which has received a few bug and security fix releases since, up to version 1.2.19 in January 2017.

But development for the 1.3 feature release never stopped.

You were able to use the new features and improvements in our very usable development snapshots. Unfortunately we were not able to provide an actual, official feature release within these years, so quite a while ago we generally recommended users to use the 1.3 development snapshots – because the stable 1.2 versions were so far behind the development state.

Over 3.000 changes (or “commits”) make up this release compared to our previous stable version 1.2.19 (GitHub compare). These changes include over 1.600 first-parent commits.

Creating release notes for this number of commits and of such a long time span was its own challenge, and we may post a follow-up blog post about that process.

But without further ado: To download the new version visit our new Website download page. And for some highlights and then for the huge list of changes in categorized, expandable release notes read on.

Release Highlights

In this section highlight just a few changes. A more comprehensive list follows in the Release Notes after this section.

New Design Themes

A lot of work went into improving what and how different designs for the client can be created, and the creation of our new Lite and Dark themes.

Screenshot of theme select options
Theme select options
Screenshot of lite theme
Lite Theme
Screenshot of dark theme
Dark Theme
Screenshot of classic theme
Classic Theme


  • Individual user volume adjustment (local)
    Screenshot of local user volume adjust dialog
  • New bindable shortcut for changing transmission modes (voice activation, push to talk, continuous)
  • New optional toolbar entry to select transmission modes (voice activation, push to talk, continuous). Needs to be activated in Configure -> Settings -> User Interface -> Show transmit mode dropdown in toolbar.
  • Windows clients report full operating system string instead of only the version number. For example:

Dynamic Channel Filtering

The dynamic channel filtering enables you to effectively navigate big mumble servers with lots of users and channels.

You can toggle the filter by pressing the filter icon in the icon bar or by pressing [Ctrl+F].

By default the filter will hide all empty channels on the server from your channel tree.

Additionally you can right-click channels and add them to your explicit filter list. If the dynamic filter is enabled channels on this list will be hidden even if users are currently residing in them.

Server List

Added two new settings:

  • Option to disable the interactive add and edit action in the connect dialog.
    This is meant for when the user isn’t supposed to change a pre-configured list of favorite servers.
  • Option to disable public server list


  • Mumble can be configured to locally lower volume of other users while you talk if you have the "Priority Speaker" status. This is off by default and can be enabled in Configure -> Settings -> Audio Output
  • Text to Speech support on OS X Mavericks
  • Multichannel recordings are synchronous even after several hours
  • PulseAudio monitor devices can be used as input devices


  • Support for DirectX 11
  • An optional clock (current time) in the overlay
  • The position of the FPS counter and clock are now configurable (just like the user list)

Both settings can be set through configuration files only ''(on Linux and Mac OS X)'', within the Windows registry or in a mumble.ini (see Mumble Portable).


  • There are new icons available:
    • self_comment.svg – the "set comment" button in the toolbar
    • filter_on.svg – activated channel filter in the toolbar
    • filter_off.svg – deactivated channel filter in the toolbar
    • priority_speaker.svg – the status icon for a user with priority speaker

For Administrators

Improved user management
User List

To improve the administration of servers with a lot of users Mumble 1.3.0 ships with an improved userlist manager in the client.

The new manager displays the username, and if the server is version 1.3.0 or higher the time since the user was last seen and the channel the user was last seen in.

You can sort the display on all those values and apply filtering by username and/or time since the user last joined the server to quickly find the user you want to edit.

The new interface allows renaming users as well as (batch) deletions.

Renaming a user in the user list no longer requires the user to disconnect and reconnect in order to use the new name.

Improved Banlist

With the improved banlist you can add, search, view and edit existing bans much easier than in previous versions of Mumble.

Avatar handling

An admin can now remove the avatar of a user.

Client RPC subcommand

The Mumble client can be controlled through SocketRPC. See the RPC subcommand documentation for details.

Logitech G-keys

Support for Logitech G-keys has been added. You may need to follow the Logitech G-keys|the instructions.

Mumble 1.3.0 Release Notes

This change log lists changes from Mumble 1.2.19 to Mumble 1.3.0.

We may extend this post with a few featured highlights, or improvements to the change list and details to individual items.

Changes are categorized into Features, Improvements, Bugfixes, and code related changes.

On the second level, changes are grouped into related changes, or into “various changes” groups.

Changes are prefixed according to who it affects (e.g. the end user, or a server administrator), and what functionality or area it relates to.

Group details can be expanded and individual commits can be explored. Although the overview listing should give enough information for normal users. The linked commits are mainly for traceability, reasoning, and completeness-checks.

The affected user prefix separates the admin user into three tiers:

  1. T1 = Tier 1: Using the Mumble client in GUI administration features.
  2. T2 = Tier 2: OS lifecycle management, server-local command line control, Process control, meta-servers (one process multiple servers)
  3. T3 = Tier 3: Scripting via API, etc

Features (64 groups)

[User] Support per user volume adjustment

Pull Requests: #2284#2518
  • c31269ad: Make Mumble and Murmur build on Windows/amd64.
  • 15f47f4f: Add local per-user volume adjustment.
  • bd9bb666: Improve local user volume adjustment.
  • 42c0684c: UserLocalVolumeDialog: subclass QDialog instead of QWidget.
  • a7798709: Merge PR #2284: Allow only one instance from UserLocalVolumeDialog per User
  • 1603d085: Merge PR #2518: Reset to 0 dB on Local Volume Adjustment reset button

[User] Support attenuate others on priority speaker

Our priority speaker functionality offers some control over busy talking for marked individuals; namely lowering the volume of others when the priority speaker talks so you can hear the priority speaker over the others.
This attenuation is now configurable to also happen for the priority speakers themselves.
Pull Requests: None
  • 29a65c66: AudioOutput: add an 'attenuate others' option for priority speakers.

[User][Settings] Support restarting Mumble client to apply setting changes where this is necessary (theme)

Pull Requests: None
  • c431d376: Add self-restart capability to client
  • d08336e5: Add capability to trigger restart to ConfigDialog
  • 3f0e2d2c: Make change of language and users top settings require restart
  • 459022de: Work around Windows permissions preventing Mumble restart
  • e061b72a: Ensure closeEvent for MainWindow is called on self-restart

[User] Support saving images from chat log

Pull Requests: None
  • b0c9521e: Add saving of images from chat log
  • 8722bdd0: Use a lossless image format when saving chat log images that do not have a file extension
  • 56fc9de7: Remember the last directory used for saving images from the chat log

[User][Theme] Provide official themes (dark, lite and classic) and improve theme-ability

  • d2752842: Add built-in "Mumble" theme and set "Lite" variant as default.
  • 0a5d2bae: Do not re-index themes in Themes::getConfiguredStyle() if both the theme and style are unset.
  • 4ebfb908: Re-work Mac-specific style code in MainWindow.cpp and OverlayClient.cpp to work with the new theme system.
  • 3183da91: themes/Mumble: update submodule.
  • a11bccf6: Create themes directory if it doesn't exist
  • 426edb6f: Add link to user themes directory to LookConfig
  • 47631f72: Enable LookConfig to detect changes to user themes folder
  • 77bb12fe: themes/Mumble: sync submodule.
  • 3e680f7e: Update themes/Mumble submodule and themes/MumbleTheme.qrc to point to latest mumble-theme.
  • e3b14f31: themes/Mumble: sync with mumble-theme submodule.
  • 59e5344f: Merge PR #2496: Sync themes/Mumble.
  • 2aec53d0: Merge PR #2505: themes/Mumble: sync.
  • 7dd03f39: Merge PR #2693: ConfigDiaglog_macx: remove, now that we default to the new Mumble theme.
  • d25feb70: Update theme submodule for changes of PR #3182
  • 7bf387de: Merge PR #3475: Use Mumble theme icons for the system theme
  • ba087869: Merge PR #3595: Refactor themes.cpp and themes.h
  • f8ba6e0e: Merge PR #3641: Add "Classic - Old Style" theme
  • 8bd78a5a: Add ThemeInfo class for finding and loading Theme descriptions
  • 83b60715: Add Theme support to Mumble
  • 14080415: Use passed-in settings object in Themes::getConfiguredStyle().
  • 9c462ce5: Fix logging in Themes::getConfiguredOutput() to use the correct settings variable.
  • 17194964: ThemeInfo: fix loading of platform-specific QSS files.
  • 664ca408: Merge PR #2498: GlobalShortcut, Themes: move hard-coded stylesheet from GlobalShortcut.ui into the Themes class's default stylesheet.
  • 09a0f841: Merge PR #2499: Themes: add support for user styles.
  • 8a3b8ea2: add 256px icon layer to mumble icon
  • 54e74c16: Keep small, simplified mumble icon closer to original
  • c70dc783: Generate Mumble icon file with simplified minis
  • 06d9f7e6: Drop minimize functionality from tray icon.
  • acf73f58: Drop unused files and icon.
  • 23899b4f: Extended icon theming options.
  • a120c8eb: Fix issue with tray icon double clicking.
  • 7d434bbf: Revert "Fix issue with tray icon double clicking."
  • d871f34f: Merge PR #2793: Show fallback icon on missing country flag icon
  • 6a9f4913: Merge pull request #2799: Reduce SVG icon file size
  • 50c94b0d: Merge PR #3086: Fix #3085: Display correct, new icon
  • d1baf4f9: Merge PR #3037: Replacing grayed out with closed mouth icon
  • 80f36866: Merge PR #3368: Change icon when muted/deafened
  • 109ddd4d: Merge PR #3383: UserModel: show muted/deafened state icon only in the right hand column
  • f672eddc: Merge PR #3499: icons: update Mumble icon for macOS
  • 5a4f4cd7: Merge PR #3691: Minimize window on tray icon click
  • d218030f: add small version of mumble logo for small icons
  • 8dc58ef9: Use simplified Mumble logo for small icons
  • 7a188512: Make AudioInputDialog and AudioOutputDialog use own icons.
  • d02ea645: Convert icons/filter.txt to ASCII and sync licenses.h.
  • e94c8f7a: Use Emoji One SVGs for our flag icons instead of FamFamFam.
  • 867d4f6a: Merge PR #2791: Update country flag icons
  • 291ed489: Add ApplicationPalette class which allows theming the QApplication::palette.
  • 38807bef: Integrate some feedback to ApplicationPalette
  • cbe3956e: Fix more ApplicationPalette aspects.
  • 73f6051d: Modify generator for ApplicationPalette.h to fix warnings in that file
  • 28d43b5a: ApplicationPalette: add missing QDebug include.
  • 7fbd9d43: Switch from fixing width to height for "What's this".
  • 197f13ed: RichTextEditor: inherit QApplication's stylesheet in RichTextHtmlEdit.
  • 54244962: Merge PR #3004: Fix #2683

[User] Support sending clipboard content to chat

Pull Requests: #2534
  • c05d4de5: Merge PR #2534: Send clipboard content to chat

[User] Allow Prefilling Add Server Dialog With HTTP URLs

Pull Requests: #3182
  • 3eae0dc6: Merge PR #3182: Allow Prefilling Add Server Dialog With HTTP URLs

[User][UI] Support channel filtering

Pull Requests: None
  • 304bf438: Added channel hiding/filter feature
  • c0be6cbd: Channel Filtering: Fix shortcut. Specific text.
  • 679eacd7: Remove channel filtering from tray
  • 8f30d0c2: First set of fixes for filter patch
  • 42d74df5: Fix channel flag handling with filter patch
  • 15afc05e: Default enable hide empty channel behavior for filter
  • 983b6dba: Expand "What's this" and tooltip for filter action
  • d35468c7: Make sure filter never hides the channel the user resides in.
  • b5d37583: Fix channel filtering not working.

[Client] Distribute x64 (“64 bit”) version

Supporting a new architecture can be quite a bit of work. We have implemented various spawner processes for adequate Overlay and Positional Audio support, and moved the main client application into a separate assembly. See also the corresponding sections for [PositionalAudio] and [Overlay].
Pull Requests: None
Commits: None

[Client] implement lock file mechanism for Windows

Pull Requests: None
  • d0ced447: Mumble: implement lock file mechanism for Windows.

[User][Removed] Drop support for external images.

Loading external images without a proxy (e.g. through the server) is a privacy concern, amd less control over what is downloaded. By using external links users could have been tracked.
The external images were never add-able in the Send Text Message dialog directly, only through opening its source tab and manually adding html img tags.
Sending message-embedded images continues to work.
In the future support for external images may be added again, but only with an adequate proxying of images (e.g. the server loads them and provides them to users to protect them).
Pull Requests: #3168
  • 31254397: Merge PR #3168: Log: remove support for external images.

[User][PositionalAudio] Add x64 (64 bit) support

  • 769855b4: Use set the 'os' query parameter to 'WinX64' when doing version checks and plugin updates on Windows/amd64.
  • 19efac30: plugins: temporarily disable game plugins on Windows/amd64. the 'link' and 'manual' plugins are still built.
  • a0247d71: plugins: enable all plugins for the x64 build.
  • 9345abed: plugins: limit win32-specific plugins to win32.
  • ec3120c1: installer: distribute all plugins for Windows x64 build.
  • 51af7852: Merge PR #2354: plugins: add arch-specific mumble_plugin_win32.h variants
  • f28e9b73: Merge PR #2349: plugins: update memory addresses retrieval to use procptr32_t/procptr64_t.
  • f63d834c: plugins: allow getModuleAddr() to enumerate 32-bit modules in WoW64 mode.
  • ee1a6718: Merge PR #2442: plugins: allow getModuleAddr() to enumerate 32-bit modules in WoW64 mode.
  • 30ec38da: Merge PR #2510: mumble/plugins: Rename Win32 headers
  • b96bd072: Merge PR #2607: plugins: Build x64 ones only when the target is x86_64

[User][PositionalAudio] Linux

  • d364932d: Merge PR #2507: Linux support for positional audio plugins
  • 58a7ff54: Merge PR #2508: Positional audio support for Left 4 Dead 2 on Linux
  • 2396a998: Merge PR #2512: Plugins: lay the groundwork for using Windows PA plugins on Linux with Wine
  • de1d9834: Merge PR #2514: Build Left 4 Dead 2 on Linux
  • f064a8d0: Merge PR #2547: Positional audio support for Rocket League on Linux
  • a235d1a6: Merge PR #2550: Build Rocket League on Linux
  • 4efd506a: Merge PR #2616: plugins: fix compile error on Linux

[User][PositionalAudio] Sub Rosa

Pull Requests: None
  • c86ce478: Adds positional audio plugin for Sub Rosa
  • e51921e6: Fix bug and formating in subrosa PA plugin.

[User][PositionalAudio] Quake Live

Pull Requests: #2340#2361#2942
  • 4f7af504: Positional audio support for Quake Live
  • 47a6e322: plugins/ql: Fix host address string and add comments
  • ccb1ff70: plugins/ql: Added camera values for a more precise PA
  • 6f1b8517: plugins/ql: Added Spectator state value
  • 2c659531: installer: add ql.dll plugin to the installer.
  • 3a9edb87: add ql plugin to the build.
  • cb8cbd04: Plugin update for latest version of Quake Live
  • c738f7b7: Merge PR #2340: plugins/ql: Plugin update for game's latest version
  • d21de05d: Merge PR #2361: plugins/ql: Native front and top vectors
  • bbceaa6f: Merge PR #2942: plugins/ql: Fix spectator state offset

[User][PositionalAudio] GTA V

  • f38363f2: Merge PR #2310: Positional Audio support for Grand Theft Auto V
  • 44ea8c86: Merge PR #2315: Add GTA V plugin to the build and to the installer.
  • f4ca0cf2: Merge PR #2345: plugins/gtav: Plugin update for game's latest version
  • 046e0ca2: Merge PR #2384: plugins/gtav: Support for retail version
  • 48ad19e4: Merge PR #2423: plugins/gtav: update plugin to work with version 1.35
  • d7b26dd9: plugins/gtav: update game_name memory addresses
  • 501651b1: plugins/gtav: update plugin to work with version 1.37 (Steam only)
  • 69defe51: Merge PR #2953: plugins/gtav: update plugin to work with version 1.38 (Steam)
  • 234cbddc: Merge PR #2977: plugins/gtav: update plugin to work with version 1.38 (Retail)

[User][PositionalAudio] Final Fantasy XIV

Pull Requests: #2653#2672#2673
  • 8bbb34d7: Merge PR #2653: Add plugin for Final Fantasy XIV
  • 0bc6d7d4: Merge PR #2672: installer: add ffxiv plugin to the installer.
  • acd664a0: Merge PR #2673: ffxiv_x64 Plugin: Add a plugin for Final Fantasy XIV DX11/x64

[User][PositionalAudio] Battlefield1

  • c1cd99e7: Merge PR #2581: Positional audio support for Battlefield 1
  • e9a34bdf: Merge PR #2583: Fix BF1 PA plugin Windows installer integration
  • 30c779ca: plugins/bf1: update plugin to work with version
  • c553e046: Merge PR #2603: plugins/bf1: better squad pointer
  • 4d3d4d86: plugins/bf1: update plugin to work with version
  • 50540fdc: Merge PR #3003: plugins/bf1: update plugin to work with version
  • 46fb4054: Merge PR #3077: plugins/bf1: update plugin to work with version

[User][PositionalAudio] Battlefield2: Support ingame squad and voice status identity

Pull Requests: #3067
  • ffa3be97: Merge PR #3067: plugins/bf2: extend identity with in-game VoiP state and selected squad

[User][PositionalAudio] Rocket League

  • 80d03543: Positional Audio support for Rocket League
  • 95b3cc16: add 'rl'.
  • 043a7d7a: Plugin update for latest version of Rocket League
  • 48cc538b: Fix 'rl.dl' typo in Plugins.wxs.
  • 6f843e5e: Plugin update for latest version of Rocket League
  • 3eec33ae: Merge PR #2307: Plugin update for latest version of Rocket League
  • eb0a2a0f: Merge PR #2314: Plugin update for latest version of Rocket League
  • 3e1d7ed9: Merge PR #2320: [Rocket League] Fixed inverted Z (left/right) value
  • ff09c041: Merge PR #2360: plugins/rl: Plugin update for game's latest version
  • 68606fee: Merge PR #2378: plugins/rl: Plugin update for game's latest version
  • 6a782176: Merge PR #2412: plugins/rl: update plugin to work with version 1.21
  • fbf7900d: plugins/rl: update plugin to work with version 1.22
  • fe3ec08f: plugins/rl: update plugin to work with version 1.23
  • 89b0f31c: plugins/rl: update plugin to work with version 1.24
  • 6bad7ae4: plugins/rl: update plugin to work with version 1.25
  • e8849a4f: plugins/rl: update plugin to work with version 1.26
  • 549197aa: plugins/rl: update plugin to work with version 1.27
  • 5e73de90: Merge PR #2861: plugins/rl: update plugin to work with version 1.29
  • 208ff152: Merge PR #3372: plugins/rl: single source file for both Linux and Windows
  • 1971dd0d: Merge PR #3382: plugins/rl: update plugin and add avatar top vector support

[User][PositionalAudio] Battlefield 4

  • a30f1dd4: Merge PR #2255: Positional Audio support for Battlefield 4 (x64)
  • 691d80ae: installer, plugins: add bf4 plugin to build and installer.
  • e4c91e2a: Fixed Squad/Squad Leader pointers (#2267)
  • bed423ea: Merge PR #2275: plugins/bf4: fix JSON encoding.
  • d157e718: Merge PR #2285: Positional Audio support for Battlefield 4 (x86)
  • 38dbec19: Merge PR #2287: plugins/bf4: Added Squad State value
  • e7e61970: Merge PR #2999: plugins/bf4: update plugin to work with version

[User][PositionalAudio][Removed] Removed Star Wars Online support due to lack of maintainer

Pull Requests: #2941
  • 9de6718d: Merge PR #2941: plugins/sto.cpp: Retract plugin

[User][Overlay] Support DirectX 11

Pull Requests: #1082
  • 405d6e43: Merge pull request #1082 from mumble-voip/olay-11

[User][Overlay] Support Clock in Overlay

Pull Requests: None

[User][Overlay] Configurable FPS and clock position

Pull Requests: None
  • 8bf9b0a1: Make overlay FPS and clock positionable

[User][Overlay] Add overlay launcher filter

Pull Requests: #2920#3000#3001
  • b1880294: Add config options for disabling specific overlay helpers.
  • 6c446e4e: Ensure overlay helpers exit when the Mumble process terminates.
  • 57740e7e: Rename overlay helpers to avoid PDB name clashes with DLLs.
  • b1b3d4f5: Merge PR #2920: Add overlay launcher filter
  • c1e9102c: Merge pull request #3000: Discard duplicate path exceptions
  • 2968a92b: Merge PR #3001: Accept File And Folder Drops In Overlay Exceptions

[User][Overlay] Simultaneous x86 and x64 process support

Pull Requests: #3188
  • cf51bf3b: OverlayConfig: hide the Overlay in Settings on winx64, since it's not enabled at the moment.
  • 56e7e5a6: Add rc file for mumble_ol.dll.
  • 93ad74b4: Add MinHook-based overlay for Windows x64.
  • 9f1e6050: Move Windows overlay setup and injection to mumble_ol.exe.
  • 3a6c4f0f: Build two separate Windows overlays - one for x86 and one for x86_64.
  • d6098796: Use arch-specific shared memory regions in the Windows overlay.
  • 529f76f4: Add the x86_64 Windows overlay to the installer.
  • 0e358bff: Check if the host supports 64-bit processes before attempting to start the x64 helper process.
  • 3018c5e9: Handle WM_CLOSE messages in overlay helper.
  • 8e31de78: Log overlay helper process errors in OverlayPrivateWin.
  • 14ac2b36: Merge PR #3188: Overlay_win: properly terminate our overlay helper processes.

[User][Overlay] Make "no-overlay" option available also on Windows

Pull Requests: None
  • e42e6ca9: Make "no-overlay" option available also for Windows

[User][Overlay][Removal] Remove usable Mumble client in Overlay

Pull Requests: #3204
  • ad6acf22: GlobalShortcut_win, remove use of HardHook in GlobalShortcut_win.
  • 4f87be8a: Merge PR #3204: GlobalShortcutWin: remove code related to the in-overlay Mumble client.

[User][Settings] Add various configurable message types

  • f0fc66b6: Self muted/deafened message separated into self muted, self unmuted, self deafened, self undeafened.
  • 46cb8a37: Add `UserRenamed` `MsgType`
  • 07a142d1: Include actor when performing a user rename
  • 651e4d0d: Merge PR #3349: Add configurable "You joined channel" and "You have been moved to channel by..." messages
  • 2ad8c651: Merge PR #3403: use user leave message when user disconnects and is in the same channel
  • 1098afcc: Merge PR #3426: Messages: revamp channel join/leave logic and add "User connected and entered channel." message
  • 07c8e00e: Merge PR #3442: Add configurable "User connected and entered channel" and "User left channel and disconnected" messages
  • 91f5e1cb: Merge PR #3451: Add configurable private text message notification
  • 6ed06bdd: Merge PR #3639: Messages: show "You moved user to channel" message also when the user is not in/moved to own channel

[User][Settings] Add per-message-type setting to toggle window highlight (if not active)

Pull Requests: #3354
  • ce8fd36d: Merge PR #3354: Add per-notification setting to toggle window highlight (if not active)

[User][Settings] Drop expert mode

The expert mode in configuration was initially introduced to make the settings easier and clearer to read, while allowing more proficient users to show all settings.
However hidden settings can be confusing and hard to discover. When supporting our users we often had to tell them to enable expert mode for more information or to configure something. This was of course not the intention of it.
We decided to drop expert mode in favor of a unified experience and all options visible. To improve the user experience the layout of the settings themselves should be improved.
Pull Requests: #2922
  • 4090c212: Settings: enable expert mode by default for 1.3.0.
  • b16983f3: Merge PR #2922: Mumble: remove expert mode.

[User][Settings] Configure user dragging (like channel dragging)

Pull Requests: #2709
  • ddd47649: Merge PR #2709: Add setting to configure user dragging

[User][Settings] Configurable input channel mask for selecting which mic channels should be mixed

Pull Requests: #3098
  • 4481729e: Merge PR #3098: AudioInput, Settings: add 'audio/inputchannelmask' setting for selecting which mic channels should be mixed.

[User][Settings] Settings: expose 'wasapi/role' setting to allow users to set WASAPI role

Pull Requests: #3118
  • d66eeebe: Merge PR #3118: WASAPI, Settings: expose 'wasapi/role' setting to allow users to set WASAPI role.

[User][GUI] Allow hiding Muble from the menu without minimizing

Pull Requests: #2747
  • bf90fadd: Merge PR #2747: Allow hiding Muble from the menu without minimizing

[User][Audio] Support machine learning noise suppression RNNoise (Xiph)

Pull Requests: #3427#3453#3454#3456
  • e54f60f4: Merge PR #3427: RNNoise
  • 17816971: Merge PR #3453: AudioInput: calculate audio statistics after RNNoise processing
  • e3ad9552: Merge PR #3454: INSTALL: document "no-jackaudio" option
  • f6a6b661: Merge PR #3456: Add "--jackname" and "--jn" parameters to set a custom Jack client name

[User][Audio] Support JACK audio interface

  • 1bf549d6: Merge PR #3396: Add JACK Audio support
  • 08d9b9c7: Merge PR #3435: JACK: don't start the server if using another backend, create only required ports
  • 09c71b4d: Merge PR #3437: Settings: enable JACK auto-connect option by default
  • d3cf441c: Merge PR #3490: JackAudio: change disconnect_ports() so that it uses stored ports instead of retrieving them using jack_get_ports()
  • d7378675: Merge PR #3683: JackAudio: fix segmentation fault, revamp initialization logic

In certificate information dialog show SHA-256 fingerprint as well

Pull Requests: #2374#2380
  • a297a24b: Merge PR #2374: ViewCert: use QChar::fromLatin1 instead of QChar::fromAscii.
  • 4f4e5ac2: Merge PR #2380: ViewCert: show certificate's SHA-256 fingerprint.

[Linux] Support logging to syslog

Pull Requests: None
  • 30023c5b: Support logging to syslog in Murmur
  • 322ed8a1: Murmur: pass a format string to syslog(3).
  • 094ab1e1: Ensure "syslog" string literal in murmur's main.cpp is wrapped in QLatin1String.
  • abdb5004: murmur: exit(1) when encountering a qFatal() when using syslog logging.
  • 08d7cb3a: UnixMurmur: ensure logToSyslog is initialized to false.

[Client] Support versioned Mumble directory hierarchy

Pull Requests: None
  • 83da9564: Add MumbleApplication::applicationVersionRootPath().
  • 1250b041: Use MumbleApplication::applicationVersionRootPath() throughout Mumble to support a versioned directory hierarchy.
  • e6b17b56: Add support for running with a versioned root path in mumble.exe.

[Admin T1] Per channel user limit

Pull Requests: None
  • 84b1bcec: Add per-channel user limit
  • c0879e57: Allow creating channel with a set maximum number of users
  • 0b0c074d: Allow users with Write permission to bypass channel user limits
  • fea39f20: Respect maximum channel user limits when joining server

[Admin T1] Configurable max channels per server

Pull Requests: #3420
  • 23eb3d17: Merge pull request #3420 from hacst/nochanlim

[Admin T1] Show ban message when someone bans

Pull Requests: #2144
  • c522cff0: Merge PR #2144: Ban logging verbosity

[Admin T2] Support disabling SuperUser login

SuperUser is the initial and fallback administration account every server (and vserver) has. After the password has been set it can not be unset to disable login. This prevents the potential attack surface of the account. If necessary the a password can be generted or set again to be able to use it again.
Pull Requests: #1779#2301#2298
  • f990b90d: Merge PR #1779: Disable SuperUser
  • aaf36667: Merge PR #2301: Document -disablesu on murmur manpage
  • 708ace45: Merge PR #2298: man/murmurd.1: add paragraph about what disabling SuperUser means.

[Admin T2] Human readable passwords

Depending on the font some characters may look very simlilar and consequently are hard to identify by users (for example 1 and l). By excluding ambiguous characters we generate passwords that cause less frustration in those cases.
Pull Requests: #2890#2891
  • b046d6f1: Merge PR #2890: PasswordGenerator: add new class for generating human-friendly passwords via CryptographicRandom.
  • 9ae2a7f5: Merge PR #2891: ServerDB: use PasswordGenerator class for generating initial SuperUser password.

[Admin T2] Support systemd

Pull Requests: None

[Admin T2][SSl] Configurable cipher suites

Add 'sslCiphers' option to allow server admins full control of Murmur's advertised TLS cipher suites
Pull Requests: None
  • a3f93f78: Murmur: add 'sslCiphers' option to allow server admins full control of Murmur's advertised TLS cipher suites.
  • 8ae710b5: Mumble: add 'net/sslciphers' hidden setting to allow configuring the client's advertised TLS cipher suites.

[Admin T2][SSL] Configurable Diffie-Hellman parameters

Pull Requests: #3183#3185#3184
  • 8bd3f76a: Murmur: add support for EDH cipher suites, and for specifying Diffie-Hellman parmeters.
  • 36cb9606: Merge PR #3183: FFDHE: add new class for accessing RFC 7919 Diffie-Hellman parameters.
  • 95504874: Merge PR #3185: Allow users to specify RFC 7919 Diffie-Hellman parameters for the sslDHParams murmur.ini option
  • 923d6491: Merge PR #3184: murmur/Cert: remove auto-generation of Diffie-Hellman parameters.
  • 4795ae57: Fix qFatal message generation in Diffie Hellmann error path
Pull Requests: #2541
  • 9be606ef: Merge PR #2541: Murmur postgresql support

[Admin T2][Server] Support SQLite WAL

Pull Requests: #2794
  • cad1bac3: Merge PR #2794: ServerDB, Meta: add support for SQLite WAL.

[Admin T2][Server] Optionally hide OS information from server (“privacy mode”)

Pull Requests: #3009
  • 65909b89: Merge PR #3009: Add option to hide OS information from server ("privacy mode")

[Admin T2][Server] Support for SRV records (DNS)

Pull Requests: #3127#3172#3268
  • e913a441: Merge PR #3127: Implement new hostname resolving infrastructure
  • 9d4691cb: Merge PR #3172: ServerResolver: treat SRV lookups that return NOERROR but no records as errors.
  • 48f3eb94: Merge PR #3268: Fix SRV port bugs in ServerResolver and ConnectDialog

[Admin T3] CLI RPC

Pull Requests: #3078
  • bc5852d3: Implement "mumble rpc" subcommand
  • b928c047: Merge PR #3078: main: fix typo in RPC help output: stauts -> status.

[Admin][GRPC] Add support for GRPC (Remote Procedure Call API for scripting the server)(CURRENTLY DISABLED)

While the Mumble server can be built with it, the default and provided binaries do not have it enabled yet.
  • 89097d5a: Merge PR #1682: murmur grpc support
  • af0b2ecc: Merge PR #3196: Merge murmur.grpc.ini and murmur.ini
  • ec61c2bc: Merge PR #3202: scripts/murmur.ini: fix minor typo in gRPC comment.
  • 28a8e645: Merge PR #3298: Update gRPC server to work with recent gRPC versions
  • 2724ff59: Merge PR #3201: MurmurGRPCImpl.h: declare variable for QMutexLocker in RPCSingleStreamCall class.
  • f2cbebdc: Merge PR #3227: MurmurGRPCImpl.cpp: fix typo
  • 1844f214: Merge PR #3301: GRPC: fix deadlock in removeChannel
  • 0e71f799: Merge PR #3684: Set temporary, position, and description in GRPC ChannelAdd
  • 765f7807: Merge pull request #3332 from bontibon/issue-3299
  • 41502bb8: Merge PR #3698: fixed setting comment to username instead of updating username

[Admin T3] Add “forceExternalAuth” config option to Murmur

Pull Requests: None
  • dc3b78c9: Add "forceExternalAuth" config option to Murmur

[Dev][Docs] Replace docs folder with Protocol Documentation

The protocol documentation is for anyone trying to communicate with Mumble clients or servers through network packets (rather than through the available APIs).
Pull Requests: None
  • 6eecd624: Remove 'doc' directory in favour of
  • eda74f21: Add protocol buffer comments from the old 'doc' directory to the .proto file.
  • 5a09fb4a: Improve protocol documentation
  • 65c366ac: Fixed connection setup diagram in mumble protocol documentation
  • 88aefca1: Fix protocol documentation for RequestBlob in the .proto file.

Use PBKDF2 for user password hashing

Pull Requests: #1422#3645
  • 88cf21d6: Merge pull request #1422 from hacst/auth
  • 15072a45: Merge PR #3645: Fix log spacing and typos when setting up the PBKDF2 iteration count

?TODO [Code] Introduce app and exe separation

Pull Requests: #2838#2917#3113#3114
  • f62db492: plugins/manual: only link against mumble_app when doing a static win32 build.
  • 7f976ed1: mumble, mumble_exe: fix overlay self-detection for the mumble_app.dll build.
  • b90b4200: mumble_exe: fix expansion of baked-in MUMBLE_VERSION.
  • 11f92440: MumbleApplication: introduce getenvQString and use it in applicationVersionRoot.
  • 289d0d4c: Merge PR #2838: mumble_exe: when using a versioned root, set the CWD to it.
  • aef577f8: Merge PR #2917: MumbleApplication.h: Remove additional scope resolution for the "nativeEventFilter()" function
  • d3bacc5a: Merge PR #3113: mumble_exe: document LoadLibraryEx workaround for mumble-voip/mumble#2837.
  • 4de645c2: Merge PR #3114: mumble_exe: fix typo and simplify comment about LoadLibraryEx bug.

[Dev][MinGW] Support MinGW environment for compilation

  • 98349a1b: Merge PR #2755: plugins: Fix visibility, warnings and errors when compiled with MinGW
  • cda06e94: Merge PR #2770: mumble_pch.hpp: Change header name capitalization for MinGW on Linux
  • 8fc69fe3: Merge PR #2772: WASAPI.h: Change header name capitalization for MinGW on Linux
  • 7e1fdaad: Merge PR #2771: rcc.pri: Fix script path for MinGW on Linux
  • cc4d32fd: Merge PR #2774: WASAPI.h: Include missing header for MinGW on Linux
  • 4886268b: Merge PR #2804: OSInfo.cpp: Fix MinGW compilation warnings
  • b817d3fd: Merge PR #2811: Fix MinGW compilation warning
  • cef23248: Merge PR #2812: GKey.cpp: Fix MinGW compilation warnings
  • 4ca6f2cb: Merge PR #2810: DirectSound.cpp: Fix MinGW compilation warnings
  • 4400a807: Merge PR #2823: GlobalShortcut_win.cpp: Fix MinGW compilation warnings
  • af903fa2: Merge PR #2765: python.pri: Fix path search for MinGW on Linux
  • 617975ec: Merge PR #2781: mumble_pch.hpp: Improve MinGW compatibility.
  • 10079ed9: Merge PR #2907: Implement support for building Mumble and Murmur using the MinGW toolchain.
  • 2d895067: Merge PR #3270: Assorted MinGW fixes

[Dev][Build] Add Docker image build file

Pull Requests: #3690
  • cbbc3425: Merge PR #3690: Build/package murmur in a docker image

[Dev][Build] Provide AppImage (portable software package technology on Linux)

Pull Requests: #3703
  • 83bca04f: Merge PR #3703: Generate and upload AppImage

[SSL][Linux] Support handling multiple OpenSSL versions at the same time

Pull Requests: #3109#3174
  • 13bc12d3: Merge PR #3109: SSL: remove multi-OpenSSL sanity check.
  • 5b82a7a4: Merge PR #3174: SSL: register OpenSSL threading callbacks when we can't access Qt's OpenSSL.

Various Features

  • fd5a9b12: Add hidden option to disable pubserver list (FR #1120)
  • 6a345f54: Added hidden option to disable add/edit in connect dialog (FR #1120)
  • a5651973: Add setting 'asio/enable' to allow users to disable ASIO via the Mumble configuration.
  • 44dc94e9: Add optional combobox for transmit mode selection in the MainWindow's toolbar.
  • 80f1623b: PulseAudio: allow monitor devices to be used as inputs.
  • 5b104e09: PulseAudio: Add options to disable attenuating applications on other audio outputs and to disable attenuation of loopback modules.
  • 6c096c31: Add Logitech G-key support for use in global shortcuts
  • f3a1a6c7: Merge PR #2555: Added a DBus method for getting a list of currently talking users.
  • 76b95d1a: Merge pull request #2588 from mkrautz/compiler-pri-c++98
  • 012cde52: Merge pull request #2622 from mkrautz/max-in-flight-tcp-pings
  • 82c27fef: Merge PR #2644: Add command-line flags for accessing license information for Mumble and Murmur
  • 6ac0553a: Merge PR #2698: Add Developer Console to Mumble
  • 755c2905: Merge PR #3604: Add tray menu action to show the main window

Improvements (36 groups)

[Translation] Translation updates

  • acb756c8: Upload european portuguese translation
  • 44202b2d: add new translation pt-PT to project files
  • 6cc47c35: Update Hebrew translation by patch #366
  • d6b4b8e1: Add Hebrew translation to project files
  • 491228ee: lupdate translation files - mainly for HE
  • fd6b6e22: Update translation files (lupdate)
  • 923a3b42: Update translation files (lupdate)
  • 9226245f: Fixes and improvements to the swedish translation.
  • 557b74be: fix build: add qt_nl translation to mumble project file
  • 807dd4ce: Update Turkish translation
  • f459c5b4: Updated Polish translation
  • 829d4c6c: Russian translation fixes
  • fbaadc41: Updated italian translation
  • 221a5d78: Updated Polish translation
  • cd2a5e5e: Update french translation
  • b3cf94fb: Add translation update script with transifex issue workaround (#1195)
  • 7cfc2e50: Split out translation resources from mumble.qrc.
  • 75761f95: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 37c768dd: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 4c5e0ec6: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 282b289b: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • ab8b9020: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 09d6de19: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 412796f5: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 49a14072: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 8f0fa71a: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 6d8b9e00: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 0c8c158a: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • d84a2dc8: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 90925af5: Transifex translation update
  • 6151814f: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • a61d67d6: Transifex translation update Mode: default Minimum percent translated: 0 Matched 24 languages
  • 8097c089: Transifex translation update Mode: default Minimum percent translated: 0 Matched 28 languages
  • e313d732: Transifex translation update Mode: default Minimum percent translated: 0 Matched 28 languages
  • 78b6cc4f: Transifex translation update
  • a0fd5e99: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • fa5188c8: Transifex translation update
  • 6f446139: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • f6785503: Transifex translation update
  • 09f68135: Transifex translation update
  • 921c073d: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 973ec600: Transifex translation update
  • a8974372: Transifex translation update
  • 442fef93: Transifex translation update
  • 5f3a2d61: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 212e7c07: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • a090c86e: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • e469bd62: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • fd8b684f: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 09dd76d3: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • de30aa20: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 1bc8a178: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • e2b69fe3: Transifex translation update
  • 672eafb9: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 2288161a: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 25414ea8: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 818e4c92: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • 35154798: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • eae371ea: Transifex translation update Mode: default Minimum percent translated: 0 Matched 31 languages
  • bdcd5927: Transifex translation update
  • edd5509f: Transifex translation update
  • bf1667fa: Transifex translation update
  • d73a2bb6: Transifex translation update
  • 657f9e84: Transifex translation
  • 47889eb3: Add Finnish translation for the installer.
  • cf49984f: Transifex translation update Mode: default Minimum percent translated: 0 Matched 30 languages
  • 2dde4f5a: Transifex translation update Mode: default Minimum percent translated: 0 Matched 30 languages
  • 381109e0: Transifex translation update
  • 9523d0cb: Transifex translation update
  • f6aa3cf9: Transifex translation update
  • d0f6b965: Make script for updating translation strings more robust
  • c43e62a5: Transifex translation update
  • 18e5ecb2: Transifex translation update Mode: default Minimum percent translated: 0 Matched 32 languages
  • b2b3106f: Fix typo in Finnish translation
  • 9a2c0ee2: Transifex translation update
  • dc9ea2cf: Transifex translation update
  • 81f40a21: Transifex translation update
  • 1cd17698: Transifex translation update
  • 0609e983: Transifex translation update Mode: default Minimum percent translated: 0 Matched 34 languages
  • a5ef5cea: Transifex translation update Mode: default Minimum percent translated: 0 Matched 34 languages
  • d2095957: Transifex translation update Mode: default Minimum percent translated: 0 Matched 34 languages
  • 9797e926: Transifex translation update Mode: default Minimum percent translated: 0 Matched 34 languages
  • ab5004f1: Transifex translation update
  • ccfed6af: Transifex translation update
  • 3e31d6e3: Transifex translation update
  • 47947706: Fix Qt 5 compatibility of our Qt translation use
  • 4d2d72eb: Transifex translation update
  • 3576e529: Transifex translation update Mode: default Minimum percent translated: 0 Matched 35 languages
  • 95d966ce: Transifex translation update Mode: default Minimum percent translated: 0 Matched 36 languages
  • b6276544: Transifex translation update Mode: default Minimum percent translated: 0 Matched 37 languages
  • 664d5bc2: Transifex translation update
  • e4fdfec4: Transifex translation update Mode: default Minimum percent translated: 0 Matched 37 languages
  • 0ac822aa: Transifex translation update Mode: default Minimum percent translated: 0 Matched 37 languages
  • 38f47b94: Transifex translation update
  • f68a4322: Transifex translation update Mode: default Minimum percent translated: 0 Matched 37 languages
  • 72038f6a: Transifex translation update Mode: default Minimum percent translated: 0 Matched 37 languages
  • 74d19f48: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 1d2ed7ce: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 6c09d31b: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • bf74d581: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 4d5d0a8c: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 4185c998: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • e91c1f3b: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 864b7ee4: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • a8318a1c: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 04ffc928: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • c68c4994: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 9b4b7f1e: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • a75ad7c5: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 5bbbc7c6: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • f87d766e: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • bb5ea5c6: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • e5e5472b: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • e074953d: Transifex translation update Mode: default Minimum percent translated: 0 Matched 38 languages
  • 81027a98: Transifex translation update
  • 37a73708: Transifex translation update Mode: default Minimum percent translated: 0 Matched 39 languages
  • cb267a36: Transifex translation update
  • d1b958a4: Transifex translation update Mode: default Minimum percent translated: 0 Matched 39 languages
  • 729b376f: Transifex translation update Mode: default Minimum percent translated: 0 Matched 39 languages
  • 9e383568: Transifex translation update Mode: default Minimum percent translated: 0 Matched 40 languages
  • 96888ca5: Transifex translation update Mode: default Minimum percent translated: 0 Matched 40 languages
  • d3929c66: Transifex translation update Mode: default Minimum percent translated: 0 Matched 40 languages
  • 9b889cad: Transifex translation update Mode: default Minimum percent translated: 0 Matched 40 languages
  • b72a5a19: Transifex translation update Mode: default Minimum percent translated: 0 Matched 40 languages
  • f885c419: Transifex translation update Mode: default Minimum percent translated: 0 Matched 41 languages
  • cd1bbafc: Transifex translation update Mode: default Minimum percent translated: 0 Matched 41 languages
  • 790bd796: Merge PR #2253: Transifex translation update
  • 3b1ad3a5: Merge PR #2268: Transifex translation update
  • 0354aeb3: Merge PR #2282: Transifex translation update
  • 5640f0a2: Merge PR #2323: Transifex translation update
  • 5a50bb2c: Merge PR #2358: Transifex translation update
  • 2e20f739: MErge PR #2363: Transifex translation update
  • a8e5514c: Merge PR #2387: Transifex translation update
  • 64754ad0: Merge PR #2398: Transifex translation update
  • 5f04b19a: Merge PR #2407: Transifex translation update
  • 43db0c44: Merge PR #2416: Transifex translation update
  • 5ea862b3: Merge PR #2451: Transifex translation update
  • 3923ce82: Merge PR #2460: Transifex translation update
  • d3f79b6f: Merge PR #2500: Transifex translation update
  • 8248ab85: Merge PR #2509: Transifex translation update
  • 89ef242a: Merge PR #2515: Transifex translation update
  • 3557cd28: Merge PR #2517: Transifex translation update
  • 28660336: Merge PR #2535: Transifex translation update
  • d08be376: Merge PR #2557: Transifex translation update
  • 36ae0fc5: Merge PR #2613: Transifex translation update
  • 0a58100c: Merge PR #2675: Transifex translation update
  • f1b901ee: Merge PR #2677: Transifex translation update
  • 900803c8: Merge PR #2704: Transifex translation update
  • a1c964b0: Merge PR #2707: Transifex translation update
  • 3c62a186: Merge PR #2715: Transifex translation update
  • 9e26faee: Merge PR #2727: Transifex translation update
  • fe65beb7: Merge PR #2733: Transifex translation update
  • 50be1803: Merge PR #2767: Transifex translation update
  • 7ebabdaf: Merge PR #2833: Transifex translation update
  • 84044a7c: Merge PR #2847: Transifex translation update
  • f30e1d62: Merge PR #2853: Transifex translation update
  • 5a785f9e: Merge PR #2889: Transifex translation update
  • 839237ca: Merge PR #2897: Transifex translation update
  • 03908a01: Merge PR #2898: Transifex translation update
  • b3df8464: Merge PR #2904: Transifex translation update
  • e7c39bb8: Merge PR #2940: Transifex translation update
  • 68984070: Merge PR #2944: Transifex translation update
  • 562353a2: Merge PR #2949: Transifex translation update
  • 048d0291: Merge PR #2951: Transifex translation update
  • 0962523a: Merge PR #2963: Transifex translation update
  • 4e635ccb: Merge PR #3016: Transifex translation update
  • a902dec8: Merge PR #3045: Transifex translation update
  • 650e8f07: Merge PR #3082: Transifex translation update
  • 576c0174: Merge PR #3089: Transifex translation update
  • 9ef302e2: Merge PR #3110: Transifex translation update
  • a0eba81a: Merge PR #3123: Transifex translation update
  • ae6e08cd: Merge PR #3133: Transifex translation update
  • 8029f3fe: Merge PR #3140: Transifex translation update
  • cce48512: Merge PR #3214: Add greek translation for installer
  • 00625d6d: Merge PR #3399: Transifex translation update
  • e85191b2: Merge PR #3407: Transifex translation update
  • 426cd1e4: Merge PR #3441: Transifex translation update
  • e21ff859: Merge PR #3445: Transifex translation update
  • e9600d45: Merge PR #3459: Transifex translation update
  • 68aae1db: Merge PR #3468: Transifex translation update
  • 4269b0b9: Merge PR #3488: Transifex translation update
  • 3fa973ce: Merge PR #3495: Transifex translation update
  • 5d6978c9: Merge PR #3527: Transifex translation update
  • bfc8749e: Merge PR #3546: Transifex translation update
  • 5ff6fdce: Merge PR #3566: Transifex translation update
  • 885187e9: Merge PR #3569: Transifex translation update
  • e31d267a: Merge PR #3576: Transifex translation update
  • 1ee050a6: Merge PR #3606: Transifex translation update
  • 29940483: Translation: French: Fix
  • d3660652: Translation update
  • 90d75461: Translation update
  • 570a1f20: Translation update
  • fac902d3: Translation update
  • 32f32737: Translation update
  • 988eeb5f: Translation update
  • ad0ee22a: Translation update
  • 857e839e: Translation update
  • 492293ba: Translation update
  • f18c5870: Translation update
  • 00090db1: Translation update
  • 2857d71e: Translation update
  • 0df9a373: Merge PR #2877: Translation update
  • 49b80d86: Merge PR #3165: Translation update
  • 3cd8b982: Merge PR #3355: Translation update
  • a963fd0a: Merge PR #3438: Translation update
  • 68cfcc40: Merge PR #3466: Translation update
  • 1621ff29: Add Hungarian (hu) and Dutch (nl) translations to project files
  • 5dea5923: Apply patch with translations for FR #1096
  • c377cea7: Update translations for #1164
  • 880e126d: Split out translations list from
  • 52898aae: Add Finnish translations to the wix project
  • 311f6f7e: Auto-generate qrc file for embedded Qt translations when running qmake.
  • a6ac95b7: Do not warn about missing QT_INSTALL_TRANSLATIONS_DIR when no-embed-qt-translations is used.
  • e26020ea: update mumble_pt_BR.ts
  • fc12699e: Merge pull request #1390 from MumbleTransifexBot/master
  • 52272e28: update string: ΓÇ£ban listΓÇ¥ not ΓÇ£ban listsΓÇ¥
  • de2e0868: Merge pull request #163 from bendem/master
  • 3223c8aa: Fix translatability of 'Cycle transmit mode' GlobalShortcut log messages.
  • f1eb6425: Add Finnish to languages in Product.wxs
  • ce413bd9: Mark text as not to be translated
  • e6ac067c: Merge pull request #2871: Add new language Tengu (0%)

[Settings] Open sound file selection dialog with current path

Pull Requests: None
  • 7c2d1a3f: Open soundfile selection dialog with current path


Pull Requests: #2491#3038
  • 58efe0c5: GlobalShortcut_unix, Settings: disable XInput2 by default.
  • 956a8ca5: GlobalShortcut_unix: request latest XInput 2 version by default.
  • aef9ef71: Settings: enable XInput 2 by default once again.
  • 608e8028: GlobalShortcut_win, XboxInput: implement native XInput support in GlobalShortcut_win.
  • c2bbcd57: Fix XboxInputState being to small for XInputGetStateEx calls
  • 6f1331b2: GlobalShortcutWin: Exclude XInput devices from DirectInput.
  • 0f805335: XInputCheck: add XInputCheck_ClearDeviceCache().
  • 25b88a74: XInputCheck: add documentation for XInputCheck_IsGuidProductXInputDevice.
  • da12c2bd: XInputCheck: add comment at the top of the file describing development practices and origin of the code.
  • cbff56b1: XInputCheck: fix missing file reference in the README.
  • b8171226: GlobalShortcutWin: add issue references to comment describing recent Windows 10 DirectInput/XInput breakge.
  • bc12e8eb: XInputCheck: add string.h and stdlib.h includes to xinputcheck.cpp.
  • 888a459b: GlobalShortcutWin: fix memory leak of 'di' in new XInputCheck code path.
  • 8dbc7930: GlobalShortcut_win: only poll XboxInput if there are XInput devices present.
  • 896f6f52: Merge PR #2491: GlobalShortcut_win: log product GUID when excluding an XInput device from DirectInput processing.
  • 4d005f07: Merge PR #3038: Fix "Enable XInput" What's This text formatting

[Accessibility] Improve minimal mode window

Pull Requests: None
  • 47a81f7b: Do not use non-standard tool window for minimal mode.

[GUI] Various GUI improvements

  • c2be406a: Merge PR #2408: TextMessage, RichTextEditor: accept TextMessage dialog when Ctrl-Enter is pressed.
  • 10abf369: Merge PR #2411: MainWindow: allow using F6 to switch between MainWindow's main widgets.
  • be4ae5b2: Merge PR #2419: MainWindow, CustomElements: implement proper Backtab/Shift-Tab behavior for MainWindow::qteChat.
  • 4a99cde5: Merge PR #2446: AudioWizard: always use ClassicStyle.
  • 46462cd7: Merge PR #3020: Cert: use classic wizard style for the Certificate Wizard.
  • 80602a3e: Merge PR #3088: add trailing ellipses to each main window action text that open a window or dialog
  • 455ab192: Merge PR #3147: Make comparison case-insensitive in ConnectDialog.cpp
  • a4e859e7: Merge PR #3156: Add toggle to lock layout when in custom layout mode

[GUI] CertWizard: Password requirement notice on import

Pull Requests: #2800
  • 8f94c763: Merge pull request #2800 from Kissaki/cert-pw

[Settings] Show language code in language selection

Pull Requests: None
  • 2438f31e: Fix Esperanto entry in language list and display cc in parentheses behind name.

[User][Text-to-Speech] Unix: Use Mumble's language setting, or the system locale for TTS language

Pull Requests: None
  • 1aae05eb: TextToSpeech_unix: use Mumble's language setting, or the system locale for TTS language.

[Overlay] Change default overlay avatar alignment to centered

Pull Requests: None
  • ed2bf499: Change default overlay avatar alignment to centered as per #1325

[Overlay] Overlay blacklist default rules

  • 207f66ce: Add entries to default overlay blacklist
  • 2c0c0edd: Add Microsoft Visual Studio to overlay blacklist
  • e5b6dac2: Add Spotify to the overlay blacklist. It can cause Mumble to freeze/hang for multiple seconds.
  • f1dbd922: Ensure up-to-date built-in overlay blacklist.
  • 7f69c512: Add Far Cry 4 to the blacklist due to crashes with the x64 overlay.
  • df448598: Add EpicGamesLauncher to default overlay blacklist
  • f732ec4c: Add dwm and MouseKeyboardCenter to overlay blacklist
  • 31abc89c: Add outlook to overlay blacklist
  • ef72e3ea: overlay: remove Far Cry 4 from the default blacklist.
  • 95222b96: Merge PR #2396: overlay: ensure the whole Microsoft Office suite is blacklisted.
  • 6e820e8d: Merge PR #2912: overlay_blacklist.h: add "kodi.exe"
  • 623d2afa: Merge PR #2973: overlay: add gw2-64.exe to the default launcher-filter program whitelist.
  • b7ad9d66: Merge PR #2982: overlay: add GTAVLauncher.exe to the default launcher-filter program blacklist.
  • 15d18eea: Merge PR #2985: overlay: treat launchers as implicitly blacklisted programs.
  • 14648736: Merge PR #3046: Add itch.exe as known overlay launcher
  • 248859cf: Merge PR #3049: overlay: add LaunchPad.exe (Daybreak Games's launcher) to the launcher list.

[Overlay] Various improvements

Pull Requests: #2365
  • fd782c3c: Overlay, OverlayClient: add PID and process name diagnostics to 'Dead client detected' notice.
  • bb0ccc46: Add restart limiter to OverlayPrivateWin to avoid bombing the system with process spawns.
  • 8e333b31: OverlayPrivateWin: add qFatal calls for invalid states.
  • 82ca8008: Follow XDG directory spec for RPC socket & overlay pipe
  • 950fa156: Merge PR #2365: OverlayClient: hide QGraphicsPixmapItems when FPS and time are disabled instead of setting an empty QPixmap.

[PositionalAudio] Borderlands 2 (BL2)

Pull Requests: #158
  • b0ddb592: Borderlands 2 PA: v1.4.0 update, fix v-detection
  • 54d3f5a0: Borderlands 2 PA: Update for version 1.5.0
  • 398b7733: Cherry-pick changes as per pull request #158
  • 95214713: plugins/borderlands2: fix version check.
  • fb1cff62: plugins/borderlands2: add support for v1.7.0.
  • 5e7706ab: Update Borderlands 2 plugin for version 1.8.3

[PositionalAudio] Left 4 Dead 2 (L4D2)

  • 61ad05c9: Merge pull request #165 from Micah71381/master
  • 9f6c08b2: Merge pull request #166 from Micah71381/master
  • f2bfe2f7: L4D2 PA plugin update to game version (#1184)
  • 8017a01b: l4d2: Plugin update for latest game version
  • c8d136fe: Merge PR #2248: Fix Left 4 Dead 2 plugin and clean up plugin code
  • a3275f57: plugins/l4d2: fix build.
  • 730200a9: plugins/l4d2: Updated server ID memory address
  • 05cc7e33: plugins/l4d2: Added player SteamID in identity
  • f836ed42: Merge PR #2609: plugins/l4d: total revamp and identity support
  • db12479e: Merge PR #2650: L4d2 Plugin Simplification

[PositionalAudio] World of Warcraft (WoW)

Pull Requests: #2549#2565
  • fb3d6c64: Update WoW plugin to build 18019.
  • 82f95c63: Update World of Warcraft Plugin to build 18291
  • 8ab0c4a6: Update WoW Plugin to build 19034
  • d2a1b5ca: Update WoW plugin to build 19103
  • b9baebbb: Update WoW Plugin to build #19116
  • 263607f5: Update World of Warcraft 32-bit plugin to build 20444
  • 0556b6c2: Merge PR #2549: plugins/wow: Total revamp and support for the x64 version of the executable
  • 2733fed4: Merge PR #2565: plugins/wow: update plugin to work with build 22624
  • 0785dea6: plugins/wow: Update version number

[PositionalAudio] Battlefield 2142 (Bf2142)

Pull Requests: #3040
  • a935808b: Merge PR #3040: Update BF2142 plugin, adding identity support

[PositionalAudio] Garry’s Mod

Pull Requests: None
  • 47d8a4f2: Update gmod PA plugin with updated addresses.

[Admin T1] Userlist improvements

Improved UI, search functionality, multi-select, last-seen, inactive-for-timespan filter, live user renames,
Pull Requests: None
  • c40b0b00: Merge branch 'pr-userlist'
  • 51ecb7a3: Accountlist: Fix filtering. Windowtitle and refacs.
  • cde56107: Make userlist filter case-insensitive
  • 02ddd914: Allow user renames via UserList without requiring a reconnect.
  • d19e266f: Add period after "renamed to" message.

[Admin T1] Allow admins to clear user avatars/textures.

Pull Requests: None
  • 52d19ac3: Allow admins to clear user avatars/textures.

[Admin T1][Banlist] Improvements

Pull Requests: None
  • bf5927ee: BanList improvements
  • ac65b31a: Banlist: PR commit adjustments
  • afa6ee4c: Make banlist filter case insensitive (#1011)

[Admin T3]

Pull Requests: None
  • 7cff8ca5: Introduce auth rejection type AuthenticatorFail

[Admin T3][SocketRPC]

Pull Requests: #2682#3066
  • 9b4ee063: Merge PR #2682: main, SocketRPC: add 'togglemute' and 'toggledeaf' RPC commands.
  • a6aba12b: Merge PR #3066: SocketRPC: ensure pipe paths match up.

[Admin T3][Ice]

  • a436774b: Update slice path for Ice 3.5.0
  • d8889f8b: Extract Ice compilation to murmur_ice lib
  • 33f295f0: Update .gitignore to point to the new location of Ice-generated files.
  • 02881201: Don't expose SSL secrets over Ice/D-Bus.
  • 4fe90ae6: Merge PR #2909: MurmurIce: avoid NUL bytes in Ice messages
  • f90ab07c: Merge PR #3211: [BUILD] ZeroC Ice 3.7 compatibility
  • e03989ec: Merge PR #3240: Fix travis osx build; Add Ice 3.7 support
  • 88d41e10: FR #1096 by Henry Fallon: Corrections to string, Add missing comments in and add Missing MainWindow::msgReject in Client
  • f00b5a3f: Merge pull request #180 from tgurr/ice-3.5.1
  • bc111854: Update murmur.ini and scripts to disable dbus by default and enable ice.
  • 5026c479: Fix ice documentation mistake
  • 12cb8272: Fix path lookup for ermine and osx
  • c22393e9: Messages, make username checking case insensitive throughout Murmur.
  • f491aac4: Merge PR #2221: add updateCertificate() method.
  • 85d62398: Merge PR #2880: MurmurIce: remove ad-hoc RSA checks in updateCertificate with Server::isKeyForCert().
  • 649537ff: Merge PR #2938: MurmurIce.cpp: Fix comparison between signed and unsigned integer
  • 3313f9b5: Merge PR #2956: MurmurIce: fix signed/unsigned comparison between string size and std::numeric_limits.
  • b595d650: Merge pull request #2617 from mkrautz/query-extra-sliceflags

[Server] Change sqlite client synchronization mode from OFF to NORMAL

To reduce risk of data corruption in unstable environments. Details and reasoning is in the commit message.
Pull Requests: #3255
  • 53c5a917: Merge pull request #3255 from hacst/clientdbdurability


  • 442b46e8: installer: automatically build a static installer when in the win32-static build env.
  • 1b3f1990: installer: update Product.wxs to refer to the VC120 CRT.
  • 0e447428: installer: change InstallerVersion to 405 to be able to merge with MSVS2013 VCRedist.
  • 8aafb6ce: installer: automatically embed VCRedist 12.0 DLLs when env var MumbleNoMergeModule is set.
  • c897c564: installer: drop InstallerVersion back to 300. add note about InstallerVersion requirements for VC12 redist to MergeModuleDir setting.
  • 9ecdc0fa: installer: fix ability to use a custom OpenSslDir when building the Win32 installer.
  • 77314f40: installer: add the ability to use a custom bzip2 directory in the Win32 installer.
  • 9482cc87: installer: add x64 platform to the installer.
  • be8f9325: installer: additional update to the .sln file for x64.
  • f657478f: installer: fix whitespace issue in Plugins.wxs.
  • 8ffe90a6: installer: make WiX produce a working x64 installer.
  • 1e30fc6e: installer: remove vccorlib120.dll from the installer.
  • 840a31de: macx/scripts: fix and build-installer-overlay to work in a source tree path with spaces in it.
  • 4eba193f: Add "Uninstall" shortcut to start menu folder with windows installer.
  • 17d95c07: Update URLs in installer and add a comment.
  • 1749ef46: Resolve installer upgrade issues.
  • c9f170e8: Revert recent installer changes as they create more issues than they fixed.
  • a88b3162: installer: distribute D3DCompiler_47.dll for our Windows x64 builds.
  • 29525cba: installer: distribute D3DCompiler_43.dll for our Windows x86 builds.
  • 0128e7dd: installer: include both x86 and x64 variants of D3DCompiler_XX.dll.
  • 239b89c7: installer: rearrange codec components in the installer.
  • 5a8c7f50: Update the Mumble installer to work with a versioned directory hierarchy.
  • 3d466346: installer: force uninstall before install.
  • 9222b9af: installer: remove non-static installer logic.
  • c19ec3f8: installer: remove support for the Intel compilers.
  • bbd93e11: installer: remove support for merge modules.
  • a5724cf7: installer: do not bundle D3DCompiler_43.dll and D3DCompiler_47.dll with Mumble anymore.
  • a3ad0c54: installer: use 'The Mumble Developers' as ProductManufacturer in the Windows installer.
  • 6be0de43: installer: add 'rl.dll' to Plugins.wxs.
  • ec87aa6b: Merge PR #2286: Add BF4 x86 to the build and to the installer.
  • 220f2720: Merge PR #2434: installer: remove manual.dll from the installer.
  • 79f18853: Merge PR #2531: installer: use MSVC2015 runtime.
  • d13a877f: Merge PR #2551: Revert PR #2531: installer: use MSVC2015 runtime.
  • c3ebc173: Merge PR #2776: installer: use VC140 CRT.
  • 82d385f6: Merge PR #2780: installer: use "vcruntime140.dll" instead of "msvcr140.dll" for vcruntime140.dll's component ID.
  • 012429cb: Merge PR #2818: installer: ship app-local copies of UCRT DLLs.
  • 81f36bbf: Merge PR #2817: installer: use WiX from buildenv.
  • 5bbd804e: Merge PR #2835: installer: don't ship dbghelp.dll anymore.
  • 346702fc: Merge pull request #3187: installer: revert "installer: force uninstall before install."
  • e3e32633: Merge PR #3369: installer: only use WiX toolset from MUMBLE_PREFIX if the MUMBLE_PREFIX env var is set.
  • c19ac8c0: Merge PR #3432: Mark installer as AppVeyor build artifact
  • 42b43ee7: Merge PR #3443: installer: remove unused variables
  • 91601a1f: Merge PR #2902: installer: quote GUIDs in Settings.wxi.
  • 7c08da0b: Merge PR #3481: installer: copy rnnoise.dll
  • 9f5b01b9: Make the Windows install create desktop shortcuts again.
  • fcc2a390: Add property to enable "Launch app at exit" by default.
  • e7282052: Do not allow installing x86 and x64 side by side.


Pull Requests: #2742
  • 4fe07a50: Merge PR #2742: Mumble.proto: explicitly use proto2 syntax.


  • 198f45a7: Update Opus to v1.1 beta release
  • d322ad16: Update Opus to 1.1-rc
  • c148aafb: Update Opus to 1.1-rc3
  • 61391ae4: Update to Opus 1.1
  • 6918c9de: scripts/ add dirs new to Opus 1.1 to fix from-tarball build.
  • 5fa918be: Fix accidental CBR limit for large Opus frames.
  • 54ec5953: Update Opus to version 1.1.1 beta
  • b2f5bd09: Update Opus submodule to include our workaround for MSVC2013.3+ x64's bad sqrt auto-vectorizer codegen.
  • e8e7ed32: 3rdparty: for CELT and Opus, define APPROX_FLOAT if -ffast-math is in CFLAGS.
  • 9295be41: Update Opus to 1.1.1.
  • 7cb6bb17: 3rdparty/opus-build: enable use of SSE and SSE2 intrinsics in Opus on OS X.
  • 2eaed7eb: Merge PR #2542: Enable the Opus music encoder
  • 2fb5ee70: Merge PR #2825: Revert 91dc3d39f0 ('Move counter variable in processMsg into Opus condition.').
  • cada6775: Merge PR #3148: Update Opus to v1.2.1
  • e0ee016e: Merge PR #3431: Create OpusCodec class, similar to CeltCodec, in order to load Opus' functions from a shared library
  • 5f370a8c: Merge PR #3464: Fix crash when Opus is not available and add critical error message
  • 1e3d6a50: Merge PR #3646: Build Opus as shared library in static build, copy it into App Bundle
  • 30051f98: Update opus submodule to opus 1.0.2
  • ff9086e3: opus-build: build as C++ on Unix-like systems.
  • 338f0240: opus-build: revert ff9086e3 and error out if built with CONFIG(sbcelt) instead.
  • faa67303: Move speex, celt-0.7.0, celt-0.11.0, opus and sbcelt to the 3rdparty directory.
  • 8ebd51a6: add opus-src/celt and opus-src/include as -isystem headers.
  • da8a95e5: 3rdparty/opus-build: only enable OS X SIMD for x86-64 (non-universal) build.
  • e82debb8: 3rdparty/opus-build: re-structure qmake logic for including SSE, SSE2 and SSE4.1 sources into the build.
  • c722cd10: Merge PR #2695: 3rdparty/opus-src: update to 1.1.3.
  • ec0ed4ef: Merge PR #2696: 3rdparty/opus-build: update version references in config.h for Unix-like systems to 1.1.3.
  • 282d672c: Merge PR #2966: 3rdparty/opus-build: remove unnecessary shared library handling for macOS
  • e981c61e: Merge PR #3450: OpusCodec: add "" (Linux) and "opus.dll" (Windows) to the library names


Pull Requests: None
  • 99d37cff: Fix warnings in Bonjour code
  • dee463ef: bonjour: use Qt::AutoConnection for BonjourServiceResolver's QSocketNotifier slot.
  • 6beb46e6: Move src/bonjour to 3rdparty/qqbonjour-src and add its license to the third party license list.


Pull Requests: #2447#2470#2524
  • 8f0ae691: OSInfo: use full Windows version when version string is user-facing.
  • 1d0b1c86: OSInfo: fix display of Windows service packs in getOSDisplayableVersion.
  • 6d962818: OSInfo: use 'WinX64' as the OS identifier for Windows/amd64 builds.
  • 122ed926: OSInfo: update Windows 10 detection due to kernel version change.
  • 9dba18fc: OSInfo: fix OS X version string formatting build error.
  • 72ef9026: Add build number to OS X OSInfo.
  • 2f886052: Merge PR #2447: OSInfo: add Windows 10 displayable version string.
  • 0a9c69db: Merge PR #2470: OSInfo: fix new Windows 10 OSInfo to not include NUL values in the displayable version string.
  • fc9dc2e4: Merge PR #2524: OSInfo: fix implicit size_t conversion.

By default do not build with PortAudio

Pull Requests: #3338
  • 48277cb2: Merge PR #3338: Build with PortAudio support if the "portaudio" CONFIG flag is specified

Various Documentation Improvements

Pull Requests: #2262#2995#3050#3545
  • 3e0112da: README.static.osx: remove Linux references.
  • 9cc1c0a7: Add -limits to help text and improve man page
  • 821486ae: Update OS X murmur docs
  • 0623c14f: changed sourceforge links to links
  • 83da4f17: Replace all murmur.ini comments using hash (#) w/ semicolons (;)
  • d793aa11: murmur.ini: document empty welcometext behavior.
  • 7d4fe6cc: man: refer to The Mumble Developers as the Mumble authors in our man pages.
  • b4589b45: Add for GitHub
  • 6a3f2ef9: add note about allowping to murmur.ini regarding information exposure
  • 77b59e5d: Merge PR #2262: Touch up Mumble and Murmur manpages
  • a69916bc: Merge PR #2995: Drop Speex from README
  • 948331ee: Merge PR #3050: man: update murmurd.1 to mention SIGHUP and SIGUSR1.
  • df8b774f: Merge PR #3545: Minor corrections for better readability

[User] Improve Connect Dialog

Pull Requests: #3580
  • 3c280a66: Add poor man's padding to last column in connect dialog.
  • 71ff77b2: Add placeholder texts to connect dialog.
  • b2282e74: Move label to bottom of connect dialog and default it to hostname
  • 78d0db8d: Fix title from URLs not being picked up in connect dialog.
  • 4e459a9b: Do not consider a default hostname from clipboard to be custom
  • ab78e6c9: Sensible warning message
  • 7fbe61e5: Strip schema and path component from new server addresses
  • 08af66d5: ConnectDialog: disable ping and host lookups when using a proxy.
  • 66f5ae91: Merge PR #3580: ConnectDialog: create "Unknown" continent, never expand it automatically

[User][UI] Various Mumble client UI improvements

  • d9d81a99: MainWindow: add Cancel button to the "Minimize or Close?" message box.
  • b2d938ba: Messages: use actual username (instead of the ConnectDialog username) in msgPermissionDenied.
  • d3e00dee: Remove 'About' action from tray context menu (#1161)
  • d58990c3: CertView: do not use Qt::PlainText for qlExpiry - it needs HTML for its expiry warning color.
  • dd7cc7ca: Improve the look of Mumble on Retina Display Macs.
  • 1375022b: Make 'Close' the default for the AskOnQuit message box.
  • 754fc008: MainWindow: don't use custom flags for MinimalView - keep standard Close, Minimize and Maximize buttons.
  • d9785f9f: Shows move message if you moved a user from another channel into another channel
  • 44a08461: Show messages for priority speaker status
  • ad19d157: Display the native language name in the language chooser rather than the locale
  • 9ba92b58: Add user friendly UserRemove message when disconnecting a ghost user.
  • f5affcd4: Better log message when a user disconnects from the same channel as the client.
  • 67ed33f3: Do not show TTS options when speechd is disabled.
  • e8027bd6: Output more control channel encryption parameters
  • 8e195e17: Use lookup table for cipher info in 'Connection Info' dialog.
  • 21cd4ddc: Show Minimal View status in title
  • c1b6110b: Reorder server menu
  • 9e8a40f6: Echo -> Echo cancellation in settings dialog
  • b5825472: Show more information when a banned user connects
  • b83316ad: Show self mute/deaf, global mute/deaf, prio speaker, user left channel and disconnected states in linked channels.
  • 25ceebb3: MainWindow: only allow layout to be changed via settings.
  • 69cdaee4: MainWindow: only allow toolbar dragging in the 'custom' layout.
  • e6cde15c: Merge PR #2537: Messages: add the prefix ΓÇ£PrivateΓÇ¥ in MainWindow::msgTextMessage().
  • 4add9cec: Merge PR #2580: Log information about missing target channel
  • 153c0aa9: Merge PR #2661: Restore green background for strong certificate in UserView (root channel) and ServerView (ConnectDialog)
  • b5aef4ca: Merge PR #2762: MainWindow: don't include 'Hide Mumble' menu item on macOS.
  • fa818bdf: Merge pull request #2824: Indicate push-to-mute in tray
  • cb952e06: Merge PR #2908: Meta: enable both IPv4 and IPv6 if we're unable to query network interfaces.
  • dbab0f70: Merge PR #2926: Add setting for enabling the Developer menu
  • 871240e7: Merge pull request #2946: By default do not use attenuation
  • 4e430f74: Merge PR #3015: Do not include OS in HTTP user agent depending on privacy setting
  • 5c9a46e9: Merge PR #3068: Added a "Undo Idle action upon activity" setting.
  • 6cd17bdc: Merge PR #3154: ServerHandler: ensure only a single connection timeout timer is active at one time.
  • a1899695: Merge PR #3304: ServerHandler, Settings: add ping interval and connection timeout duration settings.
  • 26c732fb: Merge PR #3381: About: allow text in "About" tab to be selected
  • 9b19e609: Merge PR #3548: Disable hiding when system tray not present
  • b9815665: Merge PR #3572: WASAPI: print log message when the OS blocks access to the microphone
  • 4c82dd5e: Merge PR #3663: Add support for TLS 1.3 in the server information window

[Admin T1][UI]

Pull Requests: None


Pull Requests: #2589
  • 97cf80de: Log IP address on failed login
  • 4862897a: Add maximum number of server users to control channel protocol
  • 703f8c7f: murmur: exit with status code 1 on fatal error.
  • 33f8448d: Murmur: allow both bitmasked version and version string when setting 'suggestversion' via RPC.
  • 0d76ff92: Merge PR #2589: Remove additional word character channel name restriction

Technical changes

Pull Requests: #2623#3039#3080#3303
  • b422e0a9: Disconnect if for some reason we established a connection to a server without it having a certificate
  • b7d9387b: Be more stringent about properly escaping external strings in HTML ('rich text' in Qt-speak).
  • d299360f: Log, TextMessage: remove $ as an illegal character in our simple URL regexp.
  • 76475381: Change Pulseaudio Role.
  • 445cdf0e: Do not set the Mumble process's priority to High on Windows.
  • 2c0d37f9: Switch from old speex to new speex and speexdsp
  • de27cd7b: Add RTMP as an allowed protocol for links
  • b4d48ef4: Handle input device suspend/recovery gracefully
  • f32343d5: Use %zd for ssize_t printing in OSS.cpp.
  • 925587af: Unhide mumble.sqlite on non-Windows
  • a2e6cb8c: Log_unix: always send plain text notifications via org.freedesktop.Notifications.
  • cd8fbbdc: Log_unix: use plain log message for KDE notifications.
  • a50a120b: PulseAudio: fall back to default device if chosen device is no longer present.
  • a1a969e7: AudioOutput: make playSample() time out after 1 second if no AudioOutput is present.
  • b2e37e68: Merge PR #2623: Use same source address for UDP packets that is used for TCP packets
  • 65c25009: Merge PR #3039: Updating ServerDB.cpp to check for MySQL, SQLite, and Postgres
  • 6aba9842: Merge PR #3080: murmur/Cert: check for 'Murmur Autogenerated Certificate' prefix instead of explicit version in self-signed cert check.
  • 2c24ee0f: Merge PR #3303: ServerHandler: do not send pings unless the TLS handshake has completed.

App metadata

Pull Requests: #2564#3335
  • 192135db: Add x-scheme-handler support to the Mumble .desktop file.
  • 1eefaab0: mumble.appcompat.manifest: add Windows 8 and Windows 8.1 entries.
  • e24cfe6c: Add Keywords to mumble.desktop to satisfy Lintian warning
  • 2d6e099d: Merge PR #2564: Added an appdata.xml file for Linux software gallery integration
  • 39c526a7: Merge PR #3335: Update mumble.desktop

Bugfixes (14 groups)

[User][Text-to-Speech] Mac OS-X

Pull Requests: None
  • 15f76107: TextToSpeech_macx: reimplement using NSSpeechSynthesizer.
  • c2f75bbd: TextToSpeech_macx: fix 10.4 compatibility.
  • 1bd57bd0: TextToSpeech_macx: selectively conform to NSSpeechSynthesizerDelegate protocol.


Pull Requests: #3071
  • d3470c30: Merge PR #3071: TextToSpeech_unix: lazy initialize speech-dispatcher.

[User][Recorder] Various recorder fixes

Pull Requests: #2864
  • 4c48f72f: mumble: fix VoiceRecorderDialog build on Apple clang-500.1.70.
  • 9a47e050: Fix multi-track recordings going out of alignment on long recordings
  • fc4e1e3b: Fix recorder crash due to use after free on user object.
  • 8e22f9a2: Fix "Inverted samples in WAV recording when clipping" #971
  • 2ca559b2: Fix assumptions in alignment fix by reintroducing silence heuristic.
  • fc0e20bb: Fix recording timer not properly displaying in Qt 5 version of Mumble.
  • 1c00533b: Incorrectly assumed SF_FORMAT_* subtypes were flags.
  • 329dd4ee: Merge PR #2864: Fix crash when using the VoiceRecorder with voice target shortcuts

[User][Overlay] Various fixes

Pull Requests: #3616
  • 10b2d000: Prevent overlay from disappearing on D3D DLL reloading.
  • b0705324: Overlay: Fix address offset
  • 07e055ff: Fix overlay regression that in some cases prevented injection into devices in myCreateDevice(/Ex)
  • ab12d356: Fix handling of failed shared data map creation in overlay.
  • fb56112d: Fix crash of target application due to failures in D10State::init.
  • 6e9a7e7c: Disable vertex attrib arrays in overlay_gl (fixes #1298)
  • ad1ed221: Prevent OverlayClient destructor from hanging on disconnect
  • 3282887f: Fix access violations on exit with Overlay active
  • da004cf8: Overlay: Resolve undefined behavior
  • 06e19e6f: Check for Mesa rather than GLX > 1.2 when determining glXQueryDrawable GLX_WIDTH/GLX_HEIGHT availability.
  • 03258363: Merge PR #3616: OverlayEditorScene: fix object opacity calculation

[User][UI] Various Mumble client UI fixes

  • 6e09508e: Fix path in skin selection dialog
  • 549c1551: Fixed Mumble not remembering hidden dockwidgets
  • 5b3a406f: Fixed leaving channel message not being sent when leaving the server
  • 5b9e899c: Fix application shortcuts not working in minimal mode.
  • a6f76100: Fix mixup between printf and QString format character in VoiceRecorder error message
  • 75976ec2: Fix two GUI issues
  • ed424afa: Modify VoiceRecorder to be able to properly abort a recording.
  • ea165cde: Prevent adding to VoiceRecorder buffer after recording was stopped.
  • 12eac3c6: Fix client freeze due to deadlock (#1167)
  • 01a7c583: MainWindow: fix a bug where user/channel actions were enabled even though no user or channel was selected.
  • 13c6e582: Fix incorrect handling of mumble:// links
  • 12563866: Fix auto-reconnect behavior when kicked or banned.
  • abad339f: Remove flawed MX host existence check for cert wizard (#1178)
  • 73a1a98d: AudioOutputSample: HTML-escape filename in QMessageBox.
  • 2b8fc35f: Fix issue where the chat box does not scroll down when an image is loaded (#1258)
  • f1e3e096: Fix Qt 5 upgrade broke shutdown ask on quit suppression (#1362)
  • 8ad8812b: MainWindow: only trigger link tooltips of Mumble is the frontmost program.
  • edaca2ea: Fix hide in tray default value for Windows 8.1
  • 7c4fbee2: Fix hide in tray on windows.
  • 916dcc0c: Special case the Unity desktop to also default to not minimize to tray
  • 491789c2: Restore old log timestamp format.
  • dc87fa23: Fix crash on Linux when trying to configure shortcuts.
  • cde294f3: Fix assert when viewing legacy user registration lists
  • f35ef659: Fix compilation failure on OSX due to missing include.
  • 78d71984: Fix typo in AudioEchoWidget regression fix
  • 78604d85: Connect button should be disabled by default
  • 70451a60: Fix #1637 application crashes on Mumble exit
  • a1ff21bd: Enable audio to be played during config restart query
  • ebf6d23f: Broadcast RPC-updated welcome text, even when it is empty
  • 2612b67d: Don't display "Welcome message: " in client if none was sent.
  • 6fe55478: Don't initialize qsWelcomeText to "Welcome to this server"
  • 612d6b52: Enable bHideInTray only on Windows versions below 7.
  • 23fa9b39: AudioInput: ensure our encoders are reset correctly when using > 1 frame per packet.
  • 779496c5: AppNap: add AppNap support for OS X.
  • b126c4e2: Merge PR #2478: Log: check for QSizeF::isValid() in Log::validHtml()
  • 13772c13: Merge PR #2472: Remove the message size restriction and fix the validation of images
  • f2840525: Merge pull request #2573 from Kissaki/fix-quickchatbar
  • c45298e4: Merge PR #2685: MainWindow: disable MainWindow::changeEvent on macOS; it causes Mumble to be non-interactive after restoring from being minimized.
  • 06d3785a: Merge PR #2687: Settings: add workaround for macOS "@Variant(" bug.
  • fc13fd1c: Merge PR #2987: ACLEditor: fix tooltip for channel sort order.
  • db4a591c: Merge PR #3007: Fix local volume dialog default size
  • 27189b63: Merge PR #3010: MainWindow: Don't open tooltips when not active
  • eb63d0b1: Merge PR #3025: MainWindow: only perform changeEvent's hide-in-tray logic if there is a system tray available.
  • 97c34f4c: Merge PR #3084: Fix #3021: Update cert wizard introductory text
  • 4566f092: Merge PR #3198: ConnectDialog: re-arrange lookedUp() code to avoid recursive runloop problem.
  • ec254df1: Merge PR #3217: GlobalShortcut: fix typo in What's This for 'Enable shortcuts in privileged applications'
  • d2943a5f: Merge PR #3250: Fixed crashing on disconnect
  • 16810dd5: Merge PR #3322: SelfSignedCertificate: fix automatic certificate generator
  • b25db3e1: Merge PR #3359: SvgIcon: add new class to work around issues with SVG QIcons in Plasma/KStatusNotifierItem
  • 86197ff2: Merge PR #3473: Messages: set user hash and ID on join
  • adcf9fea: Merge PR #3474: Log: fix notification being triggered for own messages when TTS readback is enabled
  • 1a95cff6: Merge PR #3559: Messages: fix user registration status not being updated
  • d7ef5178: Merge PR #3418: ALSAAudioInput: use snd_pcm_drop() instead of snd_pcm_drain() in class destructor
  • 15f268cf: Merge PR #3586: Murmur: fix Denial of Service vulnerability in msgChannelState()
  • 6e709998: Merge PR #3587: Global: fix migrateDataDir() not migrating the data directory
  • 909c13c5: Merge PR #3590: Fix Duplicate Certificates In Chain Viewer
  • c49301b0: Merge PR #3611: AudioWizard: fix speech sample path
  • 5f43f651: Merge PR #3658: Fixed a bug/typo which prevented audio from playing on user disconnect
  • 4e839139: Merge PR #3603: GlobalShortcutMac: fix segmentation fault in setEnabled()

[PositionalAudio] Fix double free in WASAPI no positional audio fallback code-path

Pull Requests: None
  • fca62787: Fix double free in WASAPI no positional audio fallback code-path

[PositionalAudio] 'manual' plugin on OS X with Qt 5

Pull Requests: None
  • e0b884e6: mumble: fix dynamic lookup for the 'manual' plugin on OS X with Qt 5.
  • be75138d: mumble, plugins: allow 'manual' plugin dialogs to work OS X when using Qt 5.
  • 3cc24199: mumble, plugins: fix QWidget-for-HWND lookup for the 'manual' plugin.

[GUI] OS-X styling issues

Pull Requests: #2497
  • 66d41efd: Merge PR #2497: Introduce MUComboBox subclass and use it throughout the tree.


Pull Requests: #2430
  • b2f2277d: Merge PR #2430: LCD: add workarounds for LCD drawing on Qt 5.6.

[G15] Disable G15

We see a lot of crashes but have no testers and no way to debug/fix the issue for now
Pull Requests: #3614
  • 1974ac0f: Merge PR #3614: Default disable GKey

[Admin T1] Various admin fixes

Pull Requests: #2475
  • 44f1055d: Merge PR #2475: Fix for ban reason context menu overlap.

[Admin T2] Configurable message flood protection

Pull Requests: #3510#3512#3517
  • 44b9004d: Merge PR #3510: Prevent instability and crash due to message flood
  • f7221c14: Merge PR #3512: Lower bucket params
  • b44b1f21: Merge PR #3517: Make Rate limiter configurable

[Server] Various server fixes

Pull Requests: #2753#2879#3564
  • 4a67eebc: Fix ServerView::mimeData not actually overriding base class function.
  • 7c5a9fb3: Fix murmur handling all groups starting with "sub" as special.
  • c3236b30: Fix for Windows 10 detection in murmur
  • d39e7739: Fix setting an empty SuperUser password not creating an error
  • d110e564: Fix grammar in default murmur.ini file
  • 58c06f26: Fix Murmur on Windows DoS as described in Mumble-SA-2016-001.
  • bd8f92b9: Move HTML filtering to a separate shared class.
  • f5e03d6c: Fix relative paths for Murmur -ini switch
  • fd9c7941: Murmur: add no-op userTextMessage signal for DBus to silence connect()'s error log output.
  • c3e29055: Merge PR #2753: Murmur: set detach=false for -limits (implies -fg).
  • 1a1bd8c1: Merge PR #2879: Various minor fixes in preparation for hot-cert reload
  • 16c1145b: Merge PR #3564: Don't drop indices on MySQL

Technical fixes

  • 77233edf: Fixed crash triggered by reading large files referenced in the clipboard.
  • 860ec5c7: Reduce probability for possible race until a real fix can be implemented
  • 01a5e83b: PulseAudio: fix access to protected enums in AudioInput and AudioOutput.
  • 63f35d6a: PulseAudio: don't call pa_stream_drop() for empty pa_stream_peek().
  • 9d668ebc: Use QStandardPaths's DataLocation instead of GenericDataLocation when looking up AppData directory.
  • 26829872: Fix sequence counter becoming invalid for end-of-speech frames.
  • b4f50507: Fix handling of WAVEFORMATEX in WASAPI backend.
  • e934c1e6: Fix dual-stack UDP on Windows and improve dual-stack detection
  • 81698118: Fix broken range check in UserListModel::data
  • 147be101: Overlay: fix OS X pid comparison.
  • 0840dd45: Fix OpenSSL initialization.
  • b347f7e7: fix crash caused by decoding all MIME data formats in RichTextHtmlEdit
  • ba1a1897: GlobalShortcut_win: fix access to nxboxinput in EnumDevicesCB.
  • 4bae627e: Merge PR #2393: Murmur: fix MurmurDBus::addChannel that was broken by Murmur's new locking.
  • af38fdb8: Merge PR #2424: Fix updatecheck result logging
  • 0763a3dc: Merge PR #2490: GlobalShortcut_win: fix XboxInput button mask in buttonName().
  • 8aa2558e: Merge PR #2681: Audio: start qtLastFetch timer in LoopUser to fix local loopback.
  • d15c3f90: Merge PR #2821: Murmur: fix bad interaction with QDBus and fork().
  • c93b087c: Merge PR #3152: ServerHandler: fix broken hostname validation.
  • aa90739b: Merge PR #3326: Fix error when handling TCP tunneled UDP voice packets
  • 6195761d: Merge PR #3422: Fix #3411: Threaded access to Database

Code (25 groups)

[Code] Support modern C++ dialects (C++11)

Pull Requests: None
Commits: None

[Code] Treat warnings as errors

Compiler warnings can often indicate programming errors. Treating warnings as errors forces developers into a stricter implementation environment increasing robustness and consequently reducing issues.
The commits for this have not been categorized and can mostly be found in the “various code changes” list
Pull Requests: #2526
  • c52d1a32: compiler.pri: treat warnings as errors for MSVC (-WX).
  • 9652f7ff: compiler.pri: disable warnings-as-errors when MSVC static analysis is enabled.
  • 34cbd3cb: compiler.pri: on Windows, treat MSVC linker warnings as errors.
  • a59e166c: Do not enable warnings-as-errors by default.
  • 355bf07c: Merge PR #2526: compiler.pri: enable warnings-as-errors by default on Windows.

[Code] Support for newer compiler versions (mainly MSVC)

Pull Requests: None
Commits: None

[Code] Change to a “Mumble Developers” authorship declaration and list individuals in AUTHORS

Pull Requests: None
Commits: None

[Code] Document Mumble server locking strategy

Pull Requests: #2276
  • ea372dea: Merge PR #2276: Document and implement Murmur locking strategy

[Infrastructure] Use our own domain (for service endpoints and web addresses)

This was a switch away from both SourceForge and a separate service domain.
Pull Requests: #2943#3570
  • 40868d47: Update svg URL(s) from sourceforge to github
  • 9db30159: Usage: use new usage service hostname and endpoint, and use HTTPS.
  • bd49fa59: CrashReporter: use new service hostname and endpoint for the crash reporter service.
  • acb69be2: Update WebFetch, and its users, to use the new service hostnames and endpoints, as well as HTTPS.
  • 17ddc1a3: VersionCheck: use updated WebFetch::fetch() for snapshot downloads.
  • 92b82cf2: Merge PR #2943: Murmur: update registration URL to use instead of
  • 4ed7af93: Merge pull request #3570 from davidebeatrici/murmur-publist-register-domain

[Text-to-Speech] Implement optional QtSpeech-based text-to-speech backend

Pull Requests: #2939
  • b9165ae0: Merge PR #2939: Implement QtSpeech-based text-to-speech backend


Pull Requests: #3044
  • 8f65051f: Merge PR #3044: overlay: remove ability for overlay to decline being attached to a process.

[Overlay] Various Changes

  • 0abf7e3c: move logic into method OverlayClient::readyReadMsgInit; add curly braces
  • 14db2e9e: Add includepaths for celt and speex
  • cab4a3d8: Extend Windows Overlay code and clean it up.
  • 04b344dc: Overlay: Var init, comment, error loggin.
  • 3865e8ca: Overlay: Code comments
  • dfc86384: Overlay: Add myPresentEx function
  • 123486b4: Overlay: Move logic to function, Varnaming, msgfix
  • 1182fc26: Overlay: Introduce hook for ResetEx. Hook PresentEx.
  • e64fa103: Overlay: Use string var instead of hardcoded strings
  • 0e7d8609: Overlay: Move DllMain logic into functions
  • 3c787be1: Overlay: Move logic into function ..IsBlacklisted
  • 9d0de38a: Overlay: Pass on procname buffer
  • 1919b2cd: Overlay: Less obtrusive logging.
  • 087e38a2: overlay: fix blacklist debug ods call.
  • f789386b: Overlay: Introduce D3D call result logging
  • 487fcab9: mumble: fix Mac build after the overlay header refactoring.
  • 2e5c8a57: Overlay_win: move early-return on WinX64 below variable initializations.
  • 2bc61db6: OverlayEditorScene: fix header to allow building with Qt 5.
  • 3fe7ff4c: OverlayEditorScene: include QtGlobal before QT_VERSION check in header.
  • 2c0bfa0b: Fix compilation of Overlay.cpp. It was accidentally broken by fd782c3c.
  • 3b507d57: Overlay: Use standard OpenGL headers rather than duplicating code
  • 967a3251: In OpenGL Overlay, make code and context swapping more clear
  • 06d00f4a: OpenGL overlay injection requirements
  • 403aedb3: Add mach_override as a 3rdparty dep and hook it into the OS X overlay.
  • 8e3168b2: Port ec7e78d1 to the OS X overlay.
  • f4568b9e: Port 6e9a7e7c to the OS X overlay.
  • 1fab580b: Use glDrawArrays instead of immediate mode in OS X's drawOverlay().
  • f0ff84f6: Unify overlay code for Unix and OS X.
  • f8b63cd5: macx/osax: bump OS X overlay version to 19.
  • 5d41a786: Add toolchain files. To be used by 32-bit on 64-bit overlay (and vice versa).
  • 8d3c1f7f: Add support for using both x86 and x86_64 overlays in Overlay_win.cpp.
  • b29df64a: Rename 'missing magic argument' error to 'no arguments' in overlay helper.
  • 9a18c77d: Re-work command line parsing in the Windows overlay helper executable.
  • 2379f1fa: Use non-negative error constants in overlay_exe.h.
  • d63fc6d3: Use the index variable instead of hardcoding 0 in overlay_exe's GetCommandLineArgs().
  • fcb908b7: Initialize fields in OverlayClient
  • 771657ac: HardHook(MH): Reuse inject function and error logging
  • 834365e2: Cleanup: Remove unused Hooks
  • a66fdeb2: overlay_gl: remove unnecessary qmake message.
  • 859da4da: Do not link the Linux overlay with '-z now'.
  • 4fe16648: Handle some possible failure cases in overlay_gl
  • 66ff6d6d: Fix warnings in overlay_gl C code
  • e0cb6e01: Fix overlay code related warnings in mumble
  • e4c80dac: Fix warnings in overlay_gl when built with GCC 5.2.1 for i386.
  • f931ef1c: overlay_gl: add missing mach_override include for OS X.
  • c25da2c9: OverlayUserGroup: fix build in OS X ifdef block.
  • f5d72ba3: OverlayConfig: avoid implementing OverlayConfigDialogNew on OS X Universal.
  • 3a356a2a: overlay_gl: port to FreeBSD.
  • 5f79a3e4: overlay: fix a few MSVC signed/unsigned conversion warnings.
  • a3e7958f: overlay: add runtime check for when GetFnOffsetInModule()'s return value would have overflowed its return type.
  • 114495e5: overlay: add runtime checks for offset overflow in D3D9.
  • 53a529cb: overlay: split the shaders in overlay.fx out into separate HLSL files.
  • 3763d596: overlay: replace use of Effects11 with direct use of our split HLSL shaders.
  • 8eec7cc1: Overlay_win: silence MSVC warning about potentially uninitialized local variables.
  • 557dbae4: Merge PR #2355: overlay_gl: unmask framebuffer color components in drawContext().
  • dce83ca9: Merge PR #2356: overlay_gl: call glDrawArrays with GL_TRIANGLES instead of GL_QUADS.
  • 52a76244: Merge PR #2364: overlay: optimize blit() to not perform a blit if the active item rect is empty.
  • 85409667: Merge PR #2391: overlay_gl: use Elf_Sym instead of Elf64_Sym in FreeBSD specific-code.
  • f35d0cb9: Merge PR #2367: overlay: in D3D9's doPresent(), use swapchain's backbuffer and dimensions if drawn via IDirect3DSwapChain9::present().
  • 238618d3: Merge PR #2405: overlay: escape backslashes in
  • 3b53aad5: Merge PR #2444: bump overlay version to force re-install on macOS.
  • a0178103: Merge PR #2522: overlay: remove use of d3dx9, d3dx10 and d3dx11.
  • dd147960: Merge PR #2525: Fix various warnings in the Windows overlay found by upgrading to MSVC2015
  • 380cd6bb: Merge PR #2634: overlay: fall back to fxc.exe on PATH if DXSDK is not set.
  • feb2b21f: Merge PR #2669: Add OpenBSD to compiler.pri and, in disable the overlay on OpenBSD.
  • a08c509d: Merge PR #2759: fix-ups for "no-overlay" CONFIG option on Windows
  • 348d4570: Merge PR #2761: don't build minhook if "no-overlay" option specified
  • a9785932: Merge PR #2857: OverlayConfig: handle removal of qWinAppInst() in Qt 5.8.
  • bed08691: Merge PR #2921: Overlay_win: properly initialize m_helper_enabled, m_helper64_enabled and m_mumble_handle.
  • 2667fe41: Merge PR #2932: Overlay_win: Fix "m_active" variable order
  • b47b1dac: Merge PR #2975: Overlay_macx: fix code to work with removal of OverlaySettings::bUseWhitelist.
  • ea5c0381: Merge PR #3160: overlay: Use SIZE_T as correct type for memory addresses
  • 24e437c6: Merge PR #3230: overlay_gl: linux: only assume absolute dynamic entries on glibc.

[PositionalAudio] add magic values for all previously supported ABIs

Pull Requests: None
  • 9f327bee: plugins: add magic values for all previously supported ABIs (and a couple of new ones) to mumble_plugin.h.

[PositionalAudio] Various code changes

  • 28bb66e0: plugins: disable unhinge functionality for the manual plugin when using Qt 5.
  • 6a2f2bd8: plugins/manual: only depend on gui-private on Windows.
  • a20185de: plugins/manual: use qt_dynamic_lookup instead of static to guard linking against mumble_app.dll.
  • b20d9e94: Plugins: add support for the 'path' attribute in plugin auto-update XML.
  • 53daac83: mumble_plugin.h: change plugin magic values in preparation of the MSVS 2013 switch-over.
  • e31b7165: plugins: add missing 'elif'; fix indentation of MSVS2008 'if' block.
  • ace19170: Add QMAKE_TARGET_BUNDLE_PREFIX to the manual plugin's .qmake.cache file.
  • 82a8e7de: Update .gitignore to ignore more of Qt 5's auto-generated plugin importer .cpp files.
  • fc0ab935: Do not use the qtaccessiblewidgets plugin on Qt 5.4 and greater.
  • f3c64b38: plugins: move u8 function into the Star Trek: Online plugin.
  • 370fae6b: plugins: cleanup a few warnings in the WoW plugin.
  • ee432795: plugins/sto: fix signed/unsigned mismatch.
  • 7a82dc9a: Plugins: remove unused url parameter from fetchedUpdatePAPlugins slot.
  • 0393ed34: mumble_plugin.h: use _M_IX86 instead of (typo'd) _M_X86.
  • b82b6eb6: Merge PR #2281: Plugins, VersionCheck: don't pass WTD_LIFETIME_SIGNING_FLAG to WinTrust APIs.
  • c9814aed: Merge PR #2370: plugins: build fixes for UT3 and RL plugins to fix warnings-as-errors build
  • 6e2f7102: Merge PR #2431: Move the manual plugin into Mumble itself
  • ac134d3a: Merge PR #2438: ManualPlugin: fix macOS build.
  • ad10136d: Merge PR #2493: Various mumble_plugin.h and ManualPlugin fixes
  • dab868e6: Merge PR #2503: plugins/link: Initialize wsPluginName to fix the empty shortname problem
  • e83d01c7: Merge PR #2506: Plugins: fill out pids map on Linux.
  • f735a632: Merge PR #2513: plugins: use MUMBLE_PLUGIN_EXPORT instead of compiler-specific declarations.
  • 173aa7df: Merge PR #2523: Fix various plugin problems that popped up with MSVC2015
  • 308e4f72: Merge PR #2592: plugins: Move NUL terminator to escape function
  • e9c558ff: Merge PR #2611: plugins: use the short form of peekProc
  • e2ad9c05: Fix 2643: Revert "Merge PR #2611: plugins: use the short form of peekProc"
  • c936b99d: Merge PR #2785: plugins: Use tabs for indentation, remove trailing whitespace
  • 1be562fe: Merge PR #2790: mumble_plugin_win32_ptr_type.h: Prevent redefinition of "NOMINMAX"
  • fba1d65b: Merge PR #3262: Plugins: Determine correct pointer size automatically, without the need of specific headers and variables
  • 6bfd0392: Merge PR #3272: ManualPlugin.cpp: "MublePluginQt" -> "MumblePluginQt"

[Code] Copyright, licenses and authors

Updates to copyright notices and authors
  • bc5056cf: Update LICENSE file
  • 50bc11d0: Update LICENSE for 2016. Happy new year!
  • 3b2a169f: Simplify LICENSE file, add LICENSE.header and add AUTHORS.
  • 084da530: Merge PR #2256: Update the Mumble tree to use LICENSE.header for all license headers
  • 96d87db4: Merge PR #2540: Remove some old-style plugin license headers. They are now covered by LICENSE/AUTHORS.
  • 4b3746ab: Add Tim Vis├⌐e to AUTHORS.
  • 999b59b8: Add LuaMilkshake to AUTHORS.
  • b03a6890: Add .mailmap file and us it in scripts/
  • 9f20c218: scripts/ use 'origin/branch' instead of just 'branch' in git log call.
  • d475b446: scripts/ use pyuca for sorting to get deterministic output on all platforms.
  • aedb1a3d: Re-generate and update AUTHORS file.
  • 37c4749e: Merge PR #2264: Add Joeliam to .mailmap and sync AUTHORS.
  • 047e9f3a: Merge PR #2539: Update AUTHORS and CHANGES
  • 486381c9: Merge PR #2642: About: add AUTHORS file to the about dialog.
  • df0bd667: Merge PR #2716: Update AUTHORS and CHANGES.
  • cb5e34f9: Merge PR #2971: Update AUTHORS file (2017-03-25)
  • ac9fa648: Merge PR #3195: Update AUTHORS and src/licenses.h.
  • 2cec7bae: Add Filter.svg license notice
  • 2fd6a3cc: Fix mixup of CELT and Speex licenses in about dialog.
  • 8021c661: Refac Generate new licenses.h file.
  • 83218f11: Update project url and copyright info
  • b4f0c66c: Update product manufacturer to be "The Mumble team"
  • 4a149f8f: Update man pages author to "the Mumble team" and bump dates.
  • a2be9156: Fix missing comma in license header in overlay_exe.cpp.
  • a2b7020f: About: change 'The Mumble team' to 'The Mumble Developers', as used in our license.
  • 173b68a2: Update copyright strings in .rc and .plist files to refer to 'The Mumble Developers'.
  • 7a333184: About: update copyright year range to 2005-2016.
  • 6e165025: Update the Copyright year range for The Mumble Developers throughout the tree.
  • 3434ff89: .mailmap: update James Fraser alias.
  • 52f385ce: Merge PR #2279: Use # for license header instead of // in various .pro files.
  • a9384f11: Merge PR #2344: Remove old-style license header from WoW plugin.
  • 2c2744ea: Merge PR #2343: .mailmap: update dekarl's info.
  • acfa0444: Merge PR #2450: About: HTML-escape third party license text.
  • 80b8e3cf: Merge PR #2538: .mailmap: add Eli Tallman.
  • dd874ccd: Add and update author alias for Jan Klass
  • c59ca21c: Merge PR #2925: Use 'Third-Party Licenses' in About dialog instead of "3rd party licenses"
  • 45ad52f1: Merge PR #2970: .mailmap: add dark_skeleton's preferred author line.
  • 3ffd9ad3: Merge PR #3291: 2018: Happy New Year
  • e399de75: Merge PR #3194: Third-party license update
  • 4976c1ad: Merge PR #3577: Update copyright (2019)

[Build Infrastructure]

  • 2c490d71: categorize scripts (move example scripts for serverside into subfolders)
  • 00b36863: scripts/ add vpath special-case for fx11.
  • 4323a21b: scripts/ remove slicer-specific deployment functionality.
  • f623a695: scripts/mkini-win32.bat: use ',' as substitution delimiter; also fix regexp.
  • 64abcb38: scripts: set +x bit for the files people are expected to run.
  • 97b75de2: scripts: remove old Ermine build scripts.
  • 44a5bd12: scripts: remove unused svn2cl scripts.
  • c0d7aad0: scripts/ add Python 3 compatibility.
  • 0e4070c1: scripts/ fix shebang to work on systems where bash doesn't live in /bin.
  • 6d2364a8: scripts/qt.conf: remove.
  • 0d35a9c7: scripts/ remove.
  • 9b2bb226: Merge PR #2246: scripts/ add Python replacement for ''.
  • 23b4e859: Merge PR #2270: scripts/ fix capture group in gitMailmapLookup's contact regexp.
  • 2a20e165: Merge PR #2280: scripts/, CHANGES: update script to use commit date rather than author date.
  • 04b2635d: Merge PR #2341: scripts/ consider semicolons as comments to fix .ini generation.
  • b6d7cf43: Merge PR #2670: scripts/ remove old flags script.
  • f31bbf39: Merge PR #2959: scripts/ fall back to using the absolute path when os.path.relpath() fails on Windows.
  • fc1af7a1: Merge PR #3012: scripts/appveyor: fix comment about signing/UIAccess in appveyor-build.ps1.
  • 38e647fc: Merge PR #3173: scripts/mkini-win32.bat: perform LF -> CRLF conversion.
  • b7b16cf7: Merge PR #3305: scripts/travis-ci: use our own (Fastly-fronted) mirror of
  • 031abd01: Merge PR #3315: scripts/travis-ci: fix MUMBLE_NO_PCH checks in script.bash.
  • 71ab5b00: Merge PR #3313: scripts/travis-ci: bump apt timeout in before_install.bash.
  • 22d18212: add speech-dispatcher 0.8 compatibility.
  • c47d95a2: src/mumble/ silence some qmake warnings.
  • cd23aee8: Revert "src/mumble/ silence some qmake warnings."
  • a7ae275b: Make paths in case sensitive
  • 64d28eb0: when using Qt 5, use its bundled icns plugin instead of our own qicnsicon.
  • a2bb6596: murmur: move's CONFIG(static) and CONFIG(ermine) sections into the unix section.
  • f1e298aa: murmur: fix CONFIG(static) block in the unix section of to not be applied for OS X.
  • f05e6571: Fix typo in '../speex-build' instead of '../speex-srcbuild'.
  • e9b240c5: always disable G15 on FreeBSD.
  • 3762ad0c: fix g15 logic for detecting Windows and OS X.
  • 329afa37:, 3rdparty: remove fx11 from the Mumble build.
  • 74ce74cf: don't find OpenSSL via pkconfig here, it is already found via mumble.pri.
  • c56cb010: use separate libsndfile libs on Windows.
  • 7164d3d0: Merge PR #2297: query pkg-config for protobuf instead of using -lprotobuf.
  • fcd2de6a: Merge PR #2417: Fix must_pkgconfig and misspelling in
  • f47df773: Merge PR #2647: include compiler.pri to make CONFIG(buildenv) check in macx section work.
  • 1f430e47: Merge PR #2662: 3rdparty/speex-build: add CONFIG += no_batch to
  • eda8adec: Merge PR #2688: refactor handling of accessiblewidgets plugin.
  • 6fe920b2: Merge PR #2689: only use qico on Windows.
  • aa263e92: Merge PR #2691: don't add to QTPLUGIN if we're on a Qt with auto-plugin support.
  • e596b72b: Merge PR #2694: ConfigDialog_macx, extra cleanups after removal in PR #2693.
  • 3e777bab: Merge PR #2768: use forward slash for GENQRC also on Windows
  • 4eef649e: Merge PR #2828: Fix paths
  • 3315e01e: Merge PR #2830: fix protoc invocation for out-of-tree builds
  • d41923d5: Merge PR #2851: handle case where QSQLite a plugin in static builds.
  • 91a8c2c5: Merge PR #2916: Use "3rdparty/asio" instead of "ASIO_PATH", if the folder exists
  • dda999ca: Merge PR #2929: use qmake/compiler.pri -- the compiler.pri in the root does not exist.
  • 8275f77f: Merge PR #3149: HostAddresss.h -> HostAddress.h
  • 6da29305: mumble, murmur: final adjustments for the win32-static buildenv.
  • 41613d60: Merge PR #2376: compiler.pri: enable warnings-as-errors by default if inside Mumble buildenv.
  • b466faae: Merge PR #2637: Fix Murmur build inside the Linux buildenv
  • 64d730a2: Merge PR #2656: buildenv.pri: set USE_BUILDENV preprocessor define when inside a buildenv.
  • 5aaf1ed2: Merge PR #3199: src/murmur: remove CONFIG(ermine), use CONFIG(buildenv) instead.
  • 37269b15: Merge PR #2954: travis-ci: Remove unneeded "winpaths_custom" CONFIG option
  • b2455f24: Merge PR #2950: travis-ci: add macOS target.
  • a092a444: Merge PR #3405: travis-ci: unlink Python 2 files on MacOS
  • 72b4df2a: Merge PR #3622: travis-ci: switch to Xenial for Qt 5 builds, improve matrix, update MXE mirror
  • 8dd4b109: Merge PR #2984: murmur_ice: various fixes in preparation of macOS Travis-CI PR
  • 1619dbbb: Merge PR #2840: Add travis configuration for linux proof builds
  • fa98f6d6: Merge PR #2876: .travis.yml: add 'make check' to the Travis Linux build.
  • 05f3fa9c: Merge pull request #2887: Add Qt 5 Trusty build to .travis.yml.
  • 11b5c285: Merge PR #3014: .travis.yml: add no-pch build for Linux/Qt 4.
  • a8d8c136: Merge PR #3249: Fix travis OSX build
  • 76eb586f: Merge PR #3277: .travis.yml: remove mingw builds from allow_failures.
  • 7bd6b6c7: Merge PR #2839: Add appveyor configuration for windows proof builds
  • c0b0f01f: Merge PR #2903: appveyor.yml: use win64-static-no-ltcg-1.3.x-2017-03-04-1ddd966-811.
  • 7d649aa5: Make sure always outputs LF endings
  • d74b5b04: IconSync.cpp: Move Icon creation script
  • 82fa0e60: Adjust script
  • c03d8fcc: Drastically simplify
  • b2529590: Missed DIST dependency on results.
  • 9946dc75: Reorder Mumble.proto to match ordering in Message.h.
  • e562e92e: Exclude files with DFSG licensing issues from tar balls (#1230)
  • a429c763: Add transifex client configuration for project.
  • 630a17ba: Use $$shell_path to ensure QMAKE_LRELEASE is formatted correctly regardless of the OS.
  • 0fdb7c17: Mark shebanged files as executable
  • d4c8abd2: Merge PR #3013: AppVeyor: add no-pch build for x86_64 MSVC.
  • a3187870: Merge PR #3170: Fix #3162: Travis builds could fail with timeout
  • 17cdab70: Merge PR #3575: Add Azure Pipelines for continuous integration (Windows)
  • 8c149069: Merge PR #3578: Remove AppVeyor configuration
  • ca8f3dd4: Merge PR #3652: Azure Pipelines: add macOS build
  • 41b26558: Merge PR #3704: Do not build tags that we create when we upload to GitHub Releases


  • 9ff780b5: Merge PR #2886: src/tests: fix various MSVC build issues.
  • a90fc606: Merge PR #2896: src/tests: make all test .pro files 'inherit' from common test.pri file.
  • 10511de2: Merge PR #3091: src/tests: remove fragile TestTimer tests.
  • 3754898a: Merge PR #3099: src/tests: make TestTimer's resolution test more VM friendly.
  • db472b96: tests/Benchmark: Foarmatting and descriptiveness
  • e32f9714: Merge PR #2878: TestCryptographicHash: make test GUI-less.
  • 0be68559: Merge PR #2881: tests: add existing TestCrypt, TestPacketDataStream and TestTimer tests to the test suite.
  • e848e562: Merge PR #2895: TestCryptographicRandom: add QT_NO_OPENGL to fix 'make check' for win32-msvc builds.
  • 888df45a: Merge PR #2979: TestPacketDataStream: use UTF-8 instead of Latin1.
  • e97adf7d: Merge PR #2983: Simplify delta calculation in TestTimer.cpp
  • 4f8ea24a: Merge PR #2990: TestTimer: make resolution test independent of QTime.
  • cc30e71c: Merge PR #3006: TestTimer: refactor some tests to provide more useful log output
  • 52058184: Merge PR #3083: Move RichTextEditor XML tool methods into separate class and add Tests
  • d6e327d0: Merge PR #3166: TestServerResolver: add CNAME test.
  • 33295b8a: tests-files: Add description to file
  • c74fc803: Merge PR #2867: mumble.pri: split out OpenSSL depenency lookup into qmake/openssl.pri for easier use in tests.
  • fdd837c1: Merge PR #2980: tests: depend on OpenSSL in test.pri instead of each individual test.
  • 820ee72e: Merge PR #3295: Disable SRV tests when running on Wine
  • 9e6e6bb6: Benchmark.cpp: Fix: Set version to prevent crash

Qt 4

  • 4bbc5611: mumble: fix Linux build for Qt 4 and Qt 5.
  • 90963a1b: compiler.pri: tweak OS X SDK detection when building with Qt 4.
  • 4efabcea: Fix Qt 4 compilation.
  • bf5693bc: Remove special case for allowing override on Qt 4 for windows.
  • 7ecf4b35: Define Qt 4 no-ops for Q_DECL_OVERRIDE and Q_DECL_FINAL on the command line.
  • ef9ffea5: Fix qtaccessiblewidgets removal logic to be compatible with Qt 4 as well.
  • 46fc40e1: Fix Qt 4 build of mach-override to build both x86 and x86-64 binaries.
  • a96a8e79: Add deprecation warning for building client with Qt 4
  • 3283ac2f: SSL: fix build for Qt 4.
  • 377d7cd5: rcc.pri: use manual quoting via escape_expand(\") instead of system_quote() to be compatible with Qt 4.
  • f6b746e8: Migrate old Qt 4 data directory to new Qt 5 location
  • ab6b4b67: Merge PR #2342: Implement uname.pri and use it to detect FreeBSD on both Qt 4 and Qt 5
  • 35a1979a: Merge PR #2382: ViewCert: clean up Qt 4/Qt 5 compatibility code.
  • 6bc1da30: Merge PR #2395: ViewCert: only include 'QStringList processQSslCertificateInfo(QString in)' when built against Qt 4.
  • 54eab8d4: Merge PR #2648: cplusplus.pri: refactor 'prior modern C++ standards' logic to work for Qt 4.
  • d22a797a: Merge PR #2666: ServerHandler: use QUdpSocket::bind(QHostAddress, int) overload to fix Qt 4 build.
  • be79bffe: Merge PR #2703: Qt 4-related FTBFS issues
  • 03a4d457: Merge PR #3391: XMLTools: include QXmlStream headers to get proper symbols names on Qt 4.
  • 21264952: Merge PR #3393: Add qtaccessiblewidgets to PLUGINS for Qt 4 builds.
  • 487e032d: Merge PR #2807: Fix usage of QFileInfo for Qt4
  • 1c1dac5e: Fix FTBFS regression from dd7cc7caa7257d2d1525daebbcc070cbb0983915

[Qt 5]

  • 5cb33704: mumble, murmur: Qt 5 support for Linux.
  • 7e452dc3: mumble, murmur: Qt 5 support for Windows.
  • 26b05974: mumble: fix HWND handling for Qt 5.
  • 9f62921e: mumble: Qt 5 support for OS X.
  • 21c4bbf7: mumble: remove FileEngine.{cpp,h} and use data URLs for better Qt 5 compatibility.
  • 4df44b9a: mumble: make new user editor work with Qt 5.
  • c9f46b89: compiler.pri: use short-form OS X SDKs for Qt 5.
  • bcf1a3e5: build: add support for building against Qt 5 from the win32-static build env.
  • 434087c3: SSL: make CA filter code compatible with Qt 5.
  • c84e9b7e: mumble, murmur: add a 'Qt::escape' for Qt 5 to avoid ifdef hell.
  • 800947ee: Messages: fix conversion from protobuf uint64 to ChanACL::Permissions when building against Qt 5.
  • 68fb468b: UserListModel: add mumble_pch.hpp header instead of directly using Qt headers in order to fix Qt::escape on Qt 5.
  • 340c7b69: ASIOInput: use MumbleHWNDForQWidget() to get HWND for Qt 5 compatibility.
  • 19996c53: g15helper, macx/compat: fix OS X i386 targetting when using Qt 5.
  • 6f2552de: Fix Qt 5 transition bug making certificate wizard access out of bounds.
  • d2dbfedf: Remove -Zc:strictStrings flag that Qt 5.4 adds when using MSVS 2013.
  • a24b5663: Only use $$shell_path on Qt 5.
  • 78ac4688: Murmur: fix override of TcpSocket::incomingConnection(). it takes a qintptr (and not an int) in Qt 5.
  • 75843b62: Use TLS 1.2 when built with Qt 5.
  • c5e427d6: Revert "Use TLS 1.2 when built with Qt 5."
  • 71e522f4: Use QSsl::TlsV1_0OrLater on Qt 5.5 or later, and QSsl::SecureProtocols on Qt 5.4.
  • 6c96ab46: Use 'QSsl::TlsV1_0' on Qt 5.0 through 5.3 and allow 'QSsl::SecureProtocols' to be used on 5.4.X.
  • d855b67d: Fix config.h issues in 3rdparty caused by new INCLUDEPATH handling in Qt 5.4.1.
  • 9a426b1d: Fix Qt 5 mumur incorrectly binding to IPv6 only by default
  • c84916f9: SSL: Fix build for Qt 5 versions before Qt 5.3
  • 6c47ca71: compiler.pri: update non-universal deployment target to 10.7, as mandated by Qt 5.5.
  • 1f6a1f2e: ViewCert: only implement decode_utf8_qssl_string()'s QStringList override for Qt 5 builds.
  • 82561a47: UserInformation: only implement decode_utf8_qssl_string()'s QStringList override for Qt 5 builds.
  • d840fa79: Merge PR #2335: Murmur: use non-forceful disconnect when encountering SSL handshake errors on Qt 5.
  • 4009ea35: Merge PR #2552: MainWindow: avoid initial setupView(false) call in setupGui() on Qt 5.
  • 3cbccc5f: Merge PR #2760: Update QSslDiffieHellmanParameters API calls to final Qt 5.8 API
  • 6070c820: Merge PR #2883: ManualPlugin: re-enable unhinge button for Qt 5.
  • 00f47620: Merge pull request #2888: Cert: require Qt 5.5 for QSsl::Ec.
  • 841bff8b: Merge PR #2933: os_win.cpp: Fix unused "mumbleMessageOutput()" function with Qt 5
  • c84af26e: Merge PR #2955: qmake/compiler.pri: fix value of MUMBLE_ARCH on Qt 5.
  • ab5ecba0: Merge PR #3289: qmake/compiler.pri: target macOS 10.8 when building against Qt 5.10 or above.
  • 35765f63: mumble: use ConfigDialog_macx on Qt5/macx.
  • ef6353bf: Fix Qt5 transition regression in AudioEchoWidget.
  • 7e4639c5: Add rules to compiler.pri to fix FreeBSD builds w/ Qt5
  • 84a8bbcc: Fix build for Qt < 5.2
  • ebbac0bb: Merge PR #2420: Murmur: use aiUdpFlag.load() in comparisons to fix Qt <5.2 build.
  • cb1732b6: Merge PR #2664: Connection.h: fix build-breaking typo in include: Qtcore -> QtCore.
  • d5600562: Merge PR #3626: mumble/main.cpp: fix compilation with Qt >= 5.9


  • 72407cf0: GlobalShortcut_macx: always make a deep copy of the translated key name.
  • 915fe152: mumble: allow to build using the OS X 10.9 SDK.
  • 731d8638: GlobalShortcut: do not require expert mode for Mac event tap warning message in GlobalShortcutConfig.
  • dedf8415: GlobalShortcut: remove margins on the Mac Event Tap warning's layout container.
  • ecf543b2: GlobalShortcut: enable use of hooks for Windows x64 now that we have HardHook available.
  • dede3178: Add basic support for sending text messages via GlobalShortcuts.
  • 18c359f8: GlobalShortcut_unix: disable evdev by default.
  • 80e0f961: GlobalShortcut_unix: fix build on non-Linux systems.
  • f44b7df8: GlobalShortcut_unix: fix GCC deprecation pragmas for GCC 4.2.
  • 7852dcee: GlobalShortcut: update help text for marking Mumble trusted for OS X Mavericks and greater.
  • 2a317080: GlobalShortcut: only build in the OS X-specific AXIsProcessTrustedWithOptions check if we're on a 10.9 or newer SDK.
  • df28734b: GlobalShortcut_win: add PID/VID blacklist for misbehaving devices.
  • 7f37b717: GlobalShortcut_win: NULL-initialize xboxinput and gkey member variables.
  • 6902b222: Merge PR #2400: GlobalShortcut_macx: add missing default-case to switch statement to fix -Werror build.
  • 0dcbf542: Merge PR #2425: GlobalShortcutWin: delay winhook initialization until after our first timeTicked() slot.
  • cf9877c5: Merge PR #2440: GlobalShortcut_win: add additional diagnostic logging to the DirectInput backend
  • e7ff17b3: Merge PR #2492: GlobalShortcut_win: log product guid when adding a new DirectInput device.
  • 5e005a7c: Merge PR #2641: GlobalShortcutWin: ensure winhook NumLock and Pause keys are translated into their correct DirectInput key IDs.
  • 0740c0ae: Merge PR #2919: GlobalShortcut_win.cpp: Make the "qHash()" function non-static
  • 47be3094: Merge PR #2924: GlobalShortcut: allow users to enable/disable our additional shortcut engines on Windows.
  • 38c525ed: Merge PR #3190: GlobalShortcut_win: delete poll timer inside the GlobalShortcut thread.
  • 52ad7725: Merge PR #3207: GlobalShortcutWin, MumbleApplication: inject native WM_* keyboard and mouse messages into GlobalShortcutWin.
  • 807869b3: Merge PR #3208: GlobalShortcutWin, MumbleApplication: add suppression support for injected Windows keyboard/mouse message events.
  • 13bad232: Merge PR #3222: GlobalShortcutWin: fall back to 'Unknown' for unknown DirectInput buttons.
  • 742a5d98: Merge PR #3276: GlobalShortcut_win: fix std::/boost:: confusion in comment.
  • 1bcea4ef: GlobalShortuct_win: warn if a device takes more than 1 second to poll via DirectInput.
  • a3f0eb68: Merge PR #3212: Allow users to disable UIAccess via Additional Shortcut Engines setting.
  • 325226ca: Added CycleTransmitMode global shortcut.
  • f96dfcab: Add shortcut for de-/activating channel filter
  • 499b3f58: Add Ctrl+F shortcut for quickly enabling/disabling channel filtering
  • 15ff0720: Remove event handler for retired global channel filter shortcut
  • fe81316f: Settings: disable 'shortcut/windows/xbox/enable' by default, disabling XboxInput.
  • aa92699b: Revert "Settings: disable 'shortcut/windows/xbox/enable' by default, disabling XboxInput."
  • 2a9fa47e: Merge PR #2994: MainWindow: avoid floor/ceil in VolumeUp/VolumeDown global shortcut handlers.
  • 8a1e0e85: Merge PR #3627: Add global shortcuts for setting specific transmit modes

[G15 LCD]

Pull Requests: #2428#2816#3654
  • d55d944e: g15helper: update G15 SDK paths for OS X.
  • 8d2edb8b: G15LCDEngine_helper: change size parameter in submitFrame() to qint64.
  • 9adc52db: Merge PR #2428: g15helper: add Qt-based G15 emulator, for debugging.
  • 78ff4fc2: Merge PR #2816: LCD: drop workaround for Qt >= 5.6.2.
  • 193c01d3: Merge PR #3654: LCD.cpp: remove unused "bound" variable
  • 2eef8ba0: g15helper: force 32-bit x86 compilation.
  • 89045910: g15helper: apply mumble.appcompat.manifest to mumble-g15-helper.exe.
  • 218c6a55: g15helper: statically link against runtime library on Windows.


  • 551f109c: PBKDF2: use 8 digits in OPENSSL_VERSION check.
  • ba49ba5e: Murmur: use OPENSSL_VERSION_NUMBER instead of OPENSSL_VERSION.
  • a7c8344a: Merge PR #3095: murmur/Cert: OPENSSL_VERSION -> OPENSSL_VERSION_NUMBER.
  • 1dc6ecc5: SSL: implement OpenSSL cipher list format reader.
  • 49f57d3d: SSL: add MumbleSSL::defaultOpenSSLCipherString().
  • 63a6985d: SSL: remove class name qualifier in SSL.h for new cipher string methods.
  • e5ddf556: SSL: move declaration of 'i' in MumbleSSL::ciphersFromOpenSSLCipherString() to the top of the function.
  • ed308af8: SSL: add const_cast to be compatible with OpenSSL 0.9.8.
  • e54e7cfc: Merge PR #2372: Show the SSL cert's SHA1 digest in the "SSL Verification failed" prompt.
  • 1742f869: Merge PR #2850: Live reload of Murmur SSL settings via SIGUSR1 (including runtime certificate-swap for Let's Encrypt)
  • 06af4e3e: Merge pull request #3568 from Partmedia/ssl
  • 571b3c1c: Use murmur_pch.h instead of mumble_pch.hpp in SSLCipherInfo.cpp.
  • 30df2cb3: Revert 72038f6, add -lssl for FreeBSD
  • d1a19d46: Cert: drop OpenSSL 0.9.7 compatibility code.
  • 711c2ec2: Murmur: forcefully disable PBKDF2 on OpenSSL < 0.9.9.
  • 25f0e1f6: Remove OpenSSL 0.9.x compatibility hacks.
  • 7b54ad05: Merge PR #2124: MumbleSSL: add a sanity check for QSsl loading a different version of OpenSSL than we're linked against.
  • dcc92364: Merge PR #2875: qmake/openssl.pri: when using OpenSSL via pkgconfig, ensure link_pkgconfig is in CONFIG.
  • dde8173b: Merge PR #3093: OpenSSL include fixes
  • 260b32d2: Merge PR #2860: Murmur: clean up use of the global QSslSocket::defaultCaCertificates() list.
  • f8072e8a: Merge PR #2988: Re-run to regenerate SSLCipherInfoTable.h
  • 7141a05c: Add CA certificate filter to MumbleSSL::addSystemCA() to work around issue 1271.


  • 21554c6f: 3rdparty/fx11-build: remove DX_SDK include dir, we get it from the environment.
  • 3293f7ad: Make 3rdparty/mach-override-src point to mumble-voip/mach_override, and use https instead of ssh.
  • 8f4b0714: 3rdparty/minhook-src: sync with MinHook master.
  • e871691c: 3rdparty/fx11-build-shared: set _WIN32_WINNT to 0x0501.
  • 441ae3f5: Point 3rdparty/minhook-src back to 'cbd6254467b0f4b20f3fc2b47ceea44e26330a34'.
  • a97c4bb0: 3rdparty/minhook-build: disable third-party warnings by default in MinHook.
  • 5c17181b: Move smallft to 3rdparty/smallft-src and add to 3rdPartyLicenses.
  • 8bdfd7d6: Merge PR #2484: 3rdparty/xinputcheck-src: add Xbox One controller GUIDs to avoid device list querying for Xbox One controllers.
  • 46a05fe3: Merge PR #2489: 3rdparty/xinputcheck-src: add Xbox One S wireless (non-Bluetooth) and Xbox One Elite wireless.
  • ab588647: Merge PR #2495: 3rdparty/xinputcheck-src: add Xbox One controller (w/ 3.5 mm jack).
  • 89b39162: Merge PR #2657: 3rdparty/qqbonjour-src: in BonjourServiceResolver, always tear down ResolveRecord on error.
  • ef5f0826: Merge PR #2826: 3rdparty/minhook-src: update MinHook to v1.3.3.

[Hardening] Hardening against accidental or deliberate misuse, security hardening

Pull Requests: None
  • fc24262f: Abort drop when drag setting is invalid
  • b6e17cac: Log: HTML-escape QDateTime's Qt::DefaultLocaleShortDate string representation.
  • 9837c4dc: MainWindow: HTML-escape hostname in 'Connecting to...' message.
  • 17fa695b: MainWindow: HTML-escape host in Server Information dialog to state our intention.
  • d9ff1e94: ConnectDialog: HTML-escape name in ServerItem::toMimeData().
  • 527d24ed: Make sure exported certs are not world readable
  • e438a05f: Comment memcpy from #1305
  • e740ea5e: PulseAudio: stricter pa_stream_peek() validation.
  • 996a3df4: Reset buffered frames count on encoding failure.

[Code] Fix warnings

  • 708212ab: fix warning on unused var
  • 3af16511: Fix warning due to implicit BOOL to bool conversion.
  • 2c892fee: Fix various compiler warnings with VS2010
  • 306e1f7a: Log: fix typo in 'image too big' warning.
  • d3d6920d: Fix various warnings in Linux build
  • 5acf4af5: Fix qmake warning about qdbus CONFIG option being deprecated
  • a8bed298: Modify generator for licenses.h to fix warnings in that file
  • 51ab40a4: Fix warning due to missing default case in protocolToString
  • 8ecc3d1e: Fix warnings in shared connection code
  • e21ce495: Fix shadow warning in SignalCurry.h
  • 7b882d0b: Fix warnings in murmur/Server.cpp
  • 68205b93: Fix remaining warnings in murmur code
  • 39b8b07b: Fix warnings in AudioOutput code
  • f9b2db45: Fix various shadow warnings in mumble by renaming
  • c9c9d0e7: Fix remaining frontend warnings for mumble
  • 648f35b0: Fix remaining backend warnings in mumble
  • b828a0a3: Fix warning in debug assertion
  • 671598b7: Fix warnings in SharedMemory_unix when built with GCC 5.2.1 on i386.
  • 159aad4f: Cert: fix old-style cast warning on older GCCs that disallow 'pragma GCC diagnostic' within functions.
  • 2757a0c2: Cert: disable old-style cast warning for the whole source file to fix GCC 4.2 build.
  • 86824a3c: Merge PR #2511: Fix warnings in mumble_plugin_linux.h
  • 51bb441c: Merge PR #2797: os_win.cpp: Fix PATH_MAX redefinition warning
  • 76d2ea20: Merge PR #2934: ASIOInput.cpp: Fix print format warning
  • c495c579: Merge PR #2937: XboxInput: Fix type-punned pointer dereference warning
  • ec07f61b: Merge PR #2936: WASAPI.cpp: Fix print format warnings
  • 81b00bfc: Merge PR #3072: Murmur: fix warning about unused mumble_BN_GENCB_new/mumble_BN_GENCB_free.

Remove unused Jitter reporting code

Pull Requests: None
  • 3910dc96: Remove all REPORT_JITTER-related code.
  • 8b4ed1e1: Remove timer to run reportJitter.
  • 4e9f4127: Remove unused jitter reporting code

[Code] Various code fixes

  • 14597920: fix 2 typos, add TODOs
  • 11d5305f: Code refacs; fix typo and adjust texts
  • f09e943b: * Commenting, varnaming, fix indent
  • c4691048: mumble: fix main.cpp to not reference MumbleFileEngineHandler.
  • 1509f564: mumble: fix UserListModel.h includes to work without PCH.
  • 2d2509f9: UserListModel: fix non-PCH build by including QTextDocument header for Qt::escape.
  • 50206cee: celt-0.7.0-src, .gitmodules: point the submodule to our own CELT 0.7.0 code base to fix Windows/amd64 build of celt-0.7.0.
  • cc0533c6: Fixed typo in the main README
  • d6ba8cf0: Fix mumble_dll.rc to identify as a DLL.
  • 99f3de86: Fixed typo reported at github #1552
  • 263a2928: fix minor spelling mistake
  • 9f1b01a4: Fix small error in bEnableEvdev config
  • 4c16f25b: Fix build on Linux (missing semicolon)
  • 13e494c6: Update sbcelt submodule to include fix for's git:// -> https:// transition.
  • a5009b64: Fix "RCC: Error in [...]" output that appears when running qmake.
  • 10c902fa: Fix rcc.pri to work when there are spaces in our $PWD.
  • 234ed23a: Fix "-isystem" flag use for mumble_proto
  • 3206530f: Fix isystem compiler flag for celt
  • 5fb25734: Fix regression in last commit
  • a7e7e1b0: CrashReporter: fix build with -Werror.
  • f56143f9: mumble_pch.hpp: add missing networking headers to fix FreeBSD build.
  • 514100d4: compiler.pri: fix erroneous QMAKE_FLAGS overwrite.
  • 150d0966: os_win: fix conversion from size_t to DWORD.
  • 37618b77: fix unix ub celt build
  • 1070b402: Fix use of wrong calling convention on xboxinput function pointers
  • 4e53e6f8: AppNap: fix build for OS X Universal, which uses the 10.4 SDK.
  • cffa565d: Fix warning typo reported in #2087
  • 53107ca4: Fix building Mumble on unix with no-dbus
  • 93427aff: Fix typo in comment: Issue #2070
  • e174f8de: compiler.pri: fix architecture checks for force-x86-toolchain and force-x86_64-toolchain builds.
  • 68547c9a: Fix missing whitespace in if statement
  • daba32f6: Merge PR #2375: Fix Timer class's system-header Boost problems
  • e5d365e5: Merge PR #2401: mumble: add various Q_DECL_OVERRIDE declarations to fix the macOS build.
  • 72cd86c9: Fix mapping description
  • 94b05db3: Fix #2584 by reverting introduction of log message with PR #2580
  • 6130b349: Merge PR #2659: macx/compat: fix build of compat.m shim with Sierra SDK.
  • 8a10b932: Merge PR #2663: Fix Windows no-pch build by including correct headers in .h files.
  • afd86cf9: Merge PR #2775: MVSC2015 toolchain fixes: ignore C4091 on v140_xp toolchain and fix UCRT lib path in toolchain files
  • 43109d10: Fix linking mumble client in static debug mode
  • 90a904db: Merge PR #2862: lrelease.pri: add Windows-specific code path, to fix nmake build.
  • 5a31a63a: Merge PR #2910: rcc.pri: Fix wrong script path
  • 905461f8: Merge PR #2930: Global.cpp: Fix unused "migrateDataDir()" function on Windows
  • 50fc0ca7: Merge PR #2931: UserView.cpp: Fix deprecated Qt class
  • 6b7dfc72: Merge PR #2948: Fixed uname() query on Solaris.
  • 8758cf5a: Merge PR #2952: TextToSpeech.cpp: Fix build problem
  • e414bd3b: Merge PR #2958: Fix no-pch build and add a no-pch configuration to Travis CI
  • 1b2b642f: Merge PR #3011: Fix CONFIG(no-pch) build on MSVC.
  • 54895649: Merge PR #3051: Fix Some Issues, Improve Code quality
  • 5a5a3b27: Merge PR #3054: Fix issues identified by PVS-Studio
  • 176c041c: Merge PR #3150: ServerAddress.cpp: Fix ServerAddress ports comparison typo
  • 4411059e: Merge PR #3213: Fix indentation and spacing in pro files
  • 1b203cdc: Merge PR #3311: Fix and refactor problems found via GCC 7's -Wimplicit-fallthrough.
  • 1273ba90: Merge PR #3318: Fix changes made in #3311
  • 5039340a: Merge PR #3370: Fix Boost library link for MSYS2
  • c176974e: Merge PR #3589: Crossbuild fix
  • 1fb1e9c0: Merge PR #3594: murmur: cross pkg-config build fix
  • c38d77e0: Merge PR #3659: Fix transaction handling in Server::registerUser

[Code] Various code changes and improvements

  • 40ca9b45: Rename header guard defines to not use c++-reserved names
  • 7642e722: Adjust header guard defines for uniformity
  • 1e4bb6db: Prepend Projectname to header guard defines
  • 15370fb5: add path (sub-src) to header guard define
  • 3227b1c9: Add guard define to licenses.h
  • b0707fd1: Apply patch #960: add preprocessor #if for OpenBSD
  • 487ed147: Implement copy constructors, minor cleaning
  • 8b044264: reduce varscopes
  • 33069f82: comments. more elaborative debugoutput, consistent prefixing.
  • bb47083b: Reduce varscopes and improve debugtext.
  • 46fc3ccf: Commenting, formatting. Remove obsolete/wrong comment.
  • f4c54b24: Explicitly mark childmethods as virtual
  • 6e8c8939: shorten and specify comment of authenticate return code
  • b004a4ce: add a comment, remove an unused variable
  • 676bb0e3: use qFatal instead of exception
  • 84bc19c8: mumble: migrate hardcoded 0x050000 Qt version to the QT_VERSION_CHECK macro.
  • 7b68d0ce: User.h: add missing QDateTime include.
  • 2c07833d: Reduce variable scopes
  • 84be1eb1: Move method comments. Remove obsolete.
  • 9450d669: Unify comment style.
  • 36217acc: Rename variable. Informative tooltips.
  • 1011d530: Code cleanup.
  • bcaa10ac: mumble_exe: add user-visible alert dialogs for error states.
  • b25a9069: mumble_exe: do not add mumble.exe's parent directory to PATH.
  • 39697c79: Re-implement UserEdit using Model/View paradigm to resolve various problems with the old implementation.
  • f5141076: AGC: remove redundant speex_preprocess_ctl call
  • 5f98a656: Merge pull request #1075 from mumble-voip/olay-changes
  • 67914c3c: Logtextfix. Logically format code.
  • b5ee1f4c: mumble: add os=MacOSX-Universal to VersionCheck.cpp and Plugins.cpp.
  • 2ac3b67b: AudioInput: make a copy of the EncodingOutputBuffer when calling flushCheck.
  • da6c2444: New approach using a QHash to track PTT events per whisper.
  • 229f0419: Merge v1.2.5 into master.
  • 34943628: Avoid "jump to label crosses initialization" error.
  • 1caaec76: CertView: explicitly use plain-text QLabels for subject/issuer/email/expiry labels.
  • a0ebded7: CertView: remove incorrect use of an HTML line break for qlSubjectEmail.
  • c52dedce: Remove unneeded Qt::escape.
  • 1f6ddaf3: ASIOInput: use Qt::PlainText for QLabels.
  • 22d87409: Add doxygen output directory to .gitignore
  • abdb5ac1: Added setTokens to ServerHandler
  • 4f7ede51: Removed g.uiSession from ServerHandler::joinChannel
  • cdcf77c0: Adjust method comment to match usage
  • 8540e08a: Set mumble_app.dll's version to 1.3.0.
  • 34daf712: Split up long HEADERS, SOUCES and FORMS lines to improve readability.
  • 12eb2643: Replace all uses of QT_VERSION_CHECK with explicit version.
  • fc5fd45f: Delete MumbleApplication.cpp.autosave
  • 694dca85: Replace hacky hide/show handling with more straight-forward implementation.
  • acd8174f: Use enum type and constants instead of integer indices.
  • e9e2680f: Add mumble_pch.hpp include to various .mm files.
  • 236e9874: Added Windows 10 in OS detection and manifest file.
  • 1bd6c883: Add RC files for CELT 0.7.0 and CELT 0.11.0.
  • b78f34d0: Calculate peak and max microphone level in the same loop.
  • 124b1ceb: Make os_win.cpp strictStrings-safe.
  • 6a07cbd1: Update changelog.
  • 2418b806: Remove unused injection code and function lookups
  • 5a033b8b: Simplify and extend mix format check in WASAPI.cpp
  • 525995d1: Address review concerns to mix format check changes
  • a7dd1b77: Remove __DATE__ and __TIME__.
  • 21a15190: Log path to the executable of the helper process in onHelperProcessExited().
  • 0f072ef0: Add missing LSB Description to the init script.
  • c005fe34: Remove tabs from the project file
  • 15fbe1d7: Remove ICC support and some VC10 workarounds
  • d9e0d08f: Ignore VS *.aps files
  • 9ee9e8ad: Use upstreamed MH_STATUS to string function
  • ced3bf8d: Do not delayload speex.dll.
  • faddfda5: Remove old "non-tagged" Boost include directories.
  • fac930b3: Suppress warnings in 3rd party codec builds
  • 75feffb3: Suppress protobuf warnings in unix builds
  • 35e58ebb: Add CONFIG(unix)'s new SYSTEM_INCLUDES to CFLAGS and CXXFLAGS.
  • 65c1affb: Add script as a rcc -project replacement
  • e614a7b9: Document no-gkey CONFIG option.
  • e8f627f8: Add fallback include path for speech-dispatcher
  • 0528883a: Add an experimental translator comment
  • 495dfdc0: Replace obsolete Qt method with new method
  • e9f87a60: Add missing includes
  • 75a25c43: ConnectDialog, ServerHandler: use HostAddress instead of QHostAddress when comparing addresses.
  • 0db712ed: Make write a banner to its generated files
  • 1a8175be: Use intrinsic instead of inline asm in Net.h
  • 1090423e: Suppress remaining old-style casts we incur from 3rd party headers. These should all be system headers but we still get these warnings from macro expansions which is kinda strange...
  • 2062b243: Suppress deprecation warning on XKeycodeToKeysym
  • e074dded: Consistently use -Wall -Wextra -Werror for C++ and C
  • bfe43e30: Drop -std=XXX directives for gcc
  • 7eb4987c: FreeBSD can use pkgconfig too
  • 1e06692e: Disable warnings by default for third party library mach-override.
  • 9f85eeb2: Meta: cast rlim_t to unsigned long when format printing.
  • 5feef962: Remove __int64_t define/undef dance from mumble_pch.hpp.
  • 8ea17403: CoreAudio: use '#pragma GCC' to be compatible with both GCC and Clang.
  • 63909462: Allow no-warnings-as-errors for vc too
  • 2fdbc837: toolchain/win32-msvc2013: only use native amd64 compiler if it is available.
  • 5dac7e81: Net: GCC 4.2 on FreeBSD 9.3 does not have __builtin_bswap.
  • ce1df5d3: os_win.cpp: disable MSVC 2013's FMA-optimized math routines on Windows versions earlier than 8.
  • 21673bf4: mumble.desktop: added missing semicolons
  • eaad2da6: Database: use separate QFile variables for legacy DB path and modern DB path.
  • 143bf861: AppNap: only declare 'appNapSuppressed' static variable when AppNap is available.
  • 3643c240: Add missing iMask to Ban equality operator
  • a24b8c30: Do not use _FORTIFY_SOURCE for debug builds since they're not built with optimizations.
  • 0502fa67: Drop OS X specific '64-bit' check.
  • 25422e7f: Add comments to some conditionals in initializeCert()
  • b7271c20: Log: remove 'console' parameter of postNotification().
  • 5b6bdac5: Merge PR #2258: Remove hardcoded IP whitelist for master server
  • 656be8fe: Merge PR #2259: remove non-existent file from .gitignore
  • 11b2823a: .gitignore: add .DS_Store.
  • f4e3ca98: Merge PR #2250: Various OpenBSD fixes
  • 2f34ff75: Merge PR #2289: Net: use QLatin1String instead of implicit char * -> QString conversion Ban::toString().
  • d3e1c68b: Merge PR #2308: Move "escape" function to mumble_plugin_utils.h header
  • 07559e23: Merge PR #2333: Timer: use boost::chrono::steady_clock as the underlying monotonic timer.
  • 3d050886: Merge PR #2402: WASAPI: remove unnecessary Timer.h and User.h includes in WASAPI.cpp.
  • f2417826: Merge PR #2399: AudioInput: remove use of the register keyword.
  • d6572388: Merge PR #2527: Allow Mumble to be built with MSVC2015
  • ca2fd07b: Merge PR #2593: Introduce QAtomicIntLoad inline function in QAtomicIntCompat.h header, use for aiUdpFlag in Murmur.
  • e9f3c081: Merge PR #2640: ServerDB: ensure 'id' is never uninitialized in Server::removeChannelDB().
  • 52fd689c: Merge PR #2655: .gitignore: add mocinclude.opt.
  • 46137d96: Merge PR #2665: Always prepend 'release' or 'debug' dirs when adding to QMAKE_LIBDIR.
  • c0865e14: Merge PR #2668: Only link against -lrt when using a linux mkspec.
  • 0df5c64d: Merge PR #2671: Split mumble_flags.qrc into separate files to reduce .cpp size for older compilers.
  • 5998cc0a: Merge PR #2692: os_win: remove MumbleHWNDForQWidget, add mumble_mw_hwnd.
  • 59275f54: Merge PR #2741: CryptState: introduce AES_KEY_SIZE_* constants.
  • f5429899: Merge PR #2769: Use forward slash for paths in .rc files
  • 039096ac: Merge PR #2792: Re-run to remove non-existant '__.svg' from our flags QRC files.
  • eca32a03: Merge pull request #2801 from mkrautz/murmur-dualstacksupport-refactor
  • 077cbfd9: Merge PR #2796: VoiceRecorder.cpp: Use braces to avoid ambiguous "else"
  • 1773dc71: Integrate review comments on getenvQString
  • e0b384b0: Merge PR #2844: Add support for custom "protoc" path and scan using "which" on Linux
  • 5d036bc9: Merge PR #2859: Murmur: refactor private key loading sequence.
  • accc8fda: Merge PR #2868: CryptographicHash: new class for computing cryptographic hashes.
  • e95dd303: Merge PR #2873: .gitignore: make xxx_plugin_import.cpp a glob entry.
  • cae5d6d0: Merge PR #2885: .gitignore: add target_wrapper.bat.
  • a58d708f: Merge PR #2882: CryptographicRandom: new class for acquiring random data for cryptographic purposes.
  • 50764166: Merge PR #2918: main.cpp: Change "_declspec" to "__declspec"
  • 5e7cbcac: Merge PR #2935: WASAPI.cpp: Remove unused "numFramesLeft" variable
  • a27fbb7b: Merge PR #2969: Log_macx: disable Growl fallback on Qt >= 5.8.
  • efd63614: Merge PR #2788: Document workaround in LogTextBrowser
  • b54166be: Merge PR #3002: Update description of configuring lib paths
  • bd6a4669: Merge PR #2981: Resolve code issues
  • eca5d035: Merge PR #3008: Net: split Net.cpp/Net.h into multiple files
  • 0cffca12: Merge PR #3062: Use BN_GENCB_new() and BN_GENCB_free() where applicable.
  • c0c5ba74: Merge PR #3076: Use RSA_generate_key_ex instead of RSA_generate_key for generating Murmur's self-signed certificate.
  • 449c7974: Merge PR #3059: Recompress png files and ico files
  • a6cae4f9: Merge PR #3056: Make EnvUtils available to murmur, implement setenv
  • 30a91763: Merge PR #3107: murmur.ini: Remove extra whitespaces
  • 7c77b8c0: Merge PR #3111: Remove unnecessary "-ldl" library from Mumble and Murmur project files
  • d472e06d: Merge PR #3125: Initialize siInfo.format
  • 3fcd786b: Merge PR #3151: ServerHandler: add missing return for hostname lookup failure case.
  • fcb367f8: Merge PR #3157: Log: remove the notion of an invalid LogDocument.
  • 9a2fa244: Merge PR #3161: Cast to correct API types
  • 911f957d: Merge PR #3164: ServerHandler: avoid leaking ServerResolver in ::run().
  • 53574722: Merge PR #3167: Log: remove dead m_valid code from LogDocument.
  • e79ca504: Merge PR #3169: Settings: add DEPRECATED macro for keeping old, reserved names around.
  • d8179372: Merge PR #3171: SelfSignedCertificate: new class for creation of self-signed certificates.
  • 6770eac8: Merge PR #3176: SelfSignedCertificate: add missing newline to SelfSignedCertificate.cpp.
  • 5564901b: Merge PR #3178: Log.cpp: "ftp" -> "FTP"
  • 6f434d3e: Merge PR #3179: UserListModel.cpp: "id" -> "ID"
  • 5db1fa41: Merge PR #3218: Remove DIST directive from all .pro files.
  • 04c05785: Merge PR #3252: Check ClientUser pointer before dereference
  • 894ade2a: Merge PR #3257: ServerHandler.cpp: Remove "Qt::QueuedConnection" attribute for connection between "readyRead()" and "udpReady()"
  • 8bf71ba1: Merge PR #3264: Ignore "", ".directory" and all files with ".Debug" and ".Release" extensions
  • caa18737: Merge PR #3287: AudioOutput: do not use non-existant template version of std::abs.
  • e348e47f: Remove leftover includes from "main" and "macx" project files
  • e5ff9c52: Merge PR #3310: Correctly handle ServerResolver errors, with dedicated signal and slot
  • 0dddc437: Merge PR #3337: XMLTools: remove unused default argument 'opstyle' in recurseParse().
  • b230c285: Merge PR #3364: Correct case of AGL/agl.h to allow compilation on case-sensitive filesystem
  • af4b7526: Merge PR #3398: Use Utf8 QStrings for PulseAudio
  • 7e15d9e1: Merge PR #3436: Comment and status text fixes
  • c91553c4: Merge PR #3612: mumble: change title of windows which have the default one ("Form")
  • c014e04f: Merge PR #3623: Include "Global.h" after "Mumble.pb.h", to avoid a redefinition issue with protobuf 3.7
  • f90ef837: Merge PR #3632: Add missing advapi32 library reference in server project
  • 02a14f4e: Merge PR #3695: ServerUser: use QTime instead of std::chrono and ctime
  • 8632246f: Bump version to 1.2.5
  • 689f4c18: Bump version to 1.3.0
  • ddab6ed8: Replace overlooked QT_VERSION_CHECKs with explicit version.
  • 86f97a93: Add warning about missing QT_INSTALL_TRANSLATIONS directory.
  • d15ca887: Merge PR #2690: qt.pri: introduce QT_VERSION_INT for easier version comparisons in qmake files.
  • 17bae485: Merge PR #2852: Always use lrelease binary from QT_INSTALL_BINS.
  • 8cf4e142: Introduce use of Q_DECL_OVERRIDE and Q_DECL_FINAL into the codebase.
  • b25ea2d3: Merge PR #3392: Only invoke Q_IMPORT_PLUGIN(qico) on Windows.
  • 0285e3b6: Adjust build error text (missing submodule dir)
  • 5aabbcdb: Normalize submodule URLs as https
  • 80916fdf: Merge PR #3181: .gitmodules: always use our own submodule repos on GitHub.
  • 91e3dafa: build: allow Mumble on Win32 to be built against a static Qt.
  • 2864eee2: murmur: build fixes for win32-static.
  • 3a47d996: mumble: allow to build against the OS X 10.4 SDK (for universal builds).
  • 67fc74f0: Build fixes for the debug variant of the win32-static/win64-static build envs.
  • 6095134b: Fix Mumble build failing on OSX due to missing include.
  • bf2a2cd6: Add /Zo to release flags for improved optimized build debugging
  • 81bc94c9: Add $MUMBLE_PREFIX/include and $MUMBLE_PREFIX/lib when in a build env in CONFIG(unix) builds.
  • bcaebc0b: CoreAudio: make it build with -Werror.
  • 4dc497e6: Merge PR #2413: build: add pkgconfig.pri and must_pkgconfig qmake function.
  • 70bf6867: Merge PR #2874: Add make target 'check' to the build.
  • ec3f2cac: Merge PR #3339: Set custom build folders globally, with support for shadow builds
  • d848af97: compiler.pri: update to Boost 1.54.0 on OS X.
  • 6c7e0e31: compiler.pri: allow version-less Boost to be used on Windows.
  • d59a3b13: compiler.pri: use default OS X SDK instead of hard-coding it.
  • 724d9e98: compiler.pri: explicitly target Windows XP when specifying output binary's subsystem.
  • af377490: compiler.pri: explicitly specify -ARCH:SSE for MSVS 2012 and 2013.
  • 4d55c33e: compiler.pri: use explicit subsystem versioning for Windows builds.
  • c9f476c5: compiler.pri: only set explicit -ARCH:SSE for Windows x86.
  • 4a478f7f: Add force-x86-toolchain and force-x86_64-toolchain to compiler.pri.
  • f6e17fea: Drop support for VC10 by updating compiler.pri for VC12 default flags
  • 0f2c07c8: compiler.pri: increase MSVC PCH heap to up to 150MB (-Zm).
  • b0d53e1f: compiler.pri: unsure that all our compiler.pri CFLAGS and CXXFLAGS are also applied for Objective-C(++).
  • be7367fc: compiler.pri: undefine _FORTIFY_SOURCE before defiining it.
  • b88728c8: compiler.pri: fixups for FreeBSD.
  • 0214948d: compiler.pri: ensure we only pass -pie as a linker flag.
  • 3a18e13c: compiler.pri: add CONFIG(verbose-linker) option for diagnosing MSVC runtime library issues.
  • 0c08e730: compiler.pri: pass '-compress 9' to rcc.
  • 0258d2a1: Merge PR #2582: compiler.pri: explicitly default to C++03 on Unix-like systems.
  • 713e2aab: Merge PR #2630: compiler.pri: improve modern C++ detection
  • 491363eb: Merge PR #2636: compiler.pri: drop old modern C++ detection logic that is now handled by cplusplus.pri.
  • 9e834cb7: Merge PR #3033: qmake/compiler.pri: add CONFIG(dpkg-buildflags).
  • 839a3e6f: refac: readability/consistency
  • 6eab5a9d: Refac: Commenting, readability/code-flow of vars
  • 07c78b14: Refac: Use constant to check return value
  • f92455b5: Refac: Reduce code duplication in IconSync.cpp
  • 85fa2ce5: Code formatting, smaller refacs, robustness.
  • f8f4b0fd: refacs: more elaborative Varnaming; codeformatting
  • 3aa91793: Refactor third party license code info (About dialog)
  • 640b532f: Refactor code: Create headers for cpp files
  • d41c1481: Refactor ClientUser to UserModel/MainWindow signal & slot connections.
  • 681ecf60: Merge PR #2697: Refactor LogEmitter from Murmur into its own file in src/.
  • a0aa1bc1: Refactoring of VoiceRecord.h/cpp according to new coding guidelines.
  • 6c835483: winpaths_static.pri: use version-less protobuf path.
  • 6da40b80: winpaths_static.pri: remove executable bit.
  • 1f3b254e: mumble.pri: use freebsd (mkspec) to check whether we're on FreeBSD, rather than checking the uname.
  • 67face3b: Merge PR #2404: rcc.pri: escape backslahes.
  • f3e8b139: Merge PR #2658: cplusplus.pri: pipe gcc -print-multiarch output to stderr.
  • 12b9c9b9: Merge PR #2749: python.pri: detect missing 'which' command and try to recover.
  • c2f6865d: Merge PR #2764: python.pri: Correct typo "unble" to "unable"
  • 19ecc86f: Merge PR #2974: Introduce protobuf.pri helper for depending on protobuf
  • bf9ea60d: Merge PR #3005: Add new path for winpaths_custom.pri (in qmake/) to gitignore.
  • d196a4b3: Merge PR #3219: mumble.pri: make SOURCES and HEADERS multiline.
  • 0faf8faf: .gitignore: add .qmake.cache, .qmake.stash, and murmurd_plugin_import.cpp.
  • d82ee96a: Merge PR #2406: Convert all remaining uses of LIBPATH in qmake files to use QMAKE_LIBDIR instead.
  • fd956962: Merge PR #2403: toolchain/win32-msvc2013: escape all backslahes to make qmake happy.
  • 48ca9e00: Merge PR #2905: Move .pri files to the "qmake" folder
  • 0f39a122: Merge PR #3633: Add missing ssleay32 library reference in openssl qmake configuration
  • 63661c01: Merge PR #2746: Remove long-form BSD-license from GKey.cpp/.h.
  • abb770b6: Merge PR #2265: Update CHANGES.
  • 7072cb25: Merge PR #2257: Various C++11 fixes
  • 00392d1a: Fix: Add forward declaration and include
  • a7d103f6: Fix indentation. Add curly braces according to coding style.

Thank you to our community and contributors

As a FOSS project Mumble depends in large part on your participation and engagement.

We work on Mumble in our spare time. Consequently we are not always able to commit time consistently and excessively.

If you are interested in helping out in any way you can or are willing to learn, please check out our Contribute page or reach out to us, on IRC freenode #mumble or directly.

We thank all our community participants. Be it reporting bugs, providing support for others, voicing appreciation for our project and products, participating in discussions and feature suggestions, or providing translations.

And a special thank you to everyone who contributed to this release with code changes.

A look into the future

We just launched our new website for a much needed design and technology improvement, and we want to migrate and improve some existing data; especially our documentation from our wiki.

We are excited about dropping some old technology weight and move our projects code forward. We hope to very significantly reduce the barrier of entry in the near future (by using CMake and vcpkg) as well.

We are interested in sharing more about our technical challenges, resolutions, and adventures in general – hopefully in some new blog posts very soon.

We are a very small team of core members and depend in large part on our community. If you are interested in helping out; even supporting other users or trying to reproduce reported issues can get some load off of our shoulders. But there are many more areas you can help in. If you are thinking about it, please take a look at our Contribute page for some more information.