We released version 1.2.0 of Mumble on December 10, 2009. This release uses a new protocol between the client and server, which means a 1.2.0 client is only compatible with 1.2.0 or newer servers, and a 1.1.8 client can't connect to a 1.2.0 server. The new protocol is designed to be easily extended, so we should never have this problem again. If your favorite server still runs 1.1.8 don't worry, 1.2.0 comes with a backwards compatible client.
We have also integrated support for using CELT as a voice codec. This means higher voice quality and even lower latency.
This is a summary of the new features we implemented for 1.2.0.
Increased voice quality, decreased latency
Mumble is now able to use a new codec called CELT, which means 48khz sampling rate, but most importantly reduced framesize to 10ms, half of what it used to be. This results in better audio quality and an even lower latency than with 1.1.8. Of course this also requires a bit of additional bandwidth and because we wanted to conserve the great performance Speex offered us in low bandwidth situations we simply decided to get the best of both worlds. Mumble automatically chooses the best codec for your quality and latency settings and hence is able to work in high, as well as low bandwidth environments.
Certificate based authentication
When starting Mumble for the first time, users are guided through the process of generating a certificate. A certificate uses strong public key cryptography to securely and uniquely identify a user to a server without giving away any passwords or other sensitive information. If the certificate is ever lost, the ability to authenticate to servers will be lost, so making a backup is mandatory, and part of the guided process.
Users that already have secure certificates will have the option to use these instead, and such a trusted certificate can be replaced by any other trusted certificate for the same user identity.
With certificate based authentication, many of the social engineering attacks on password-based authentication are weakened. As such, we feel it's safe to do user registration from the client. There are a few new permissions possible, and one of them is the ability to rightclick and register a connected user with the server.
Once registered, the user will be remembered by the server for the future, and can be used in ACL lists and group memberships.
There is also the possibility to list existing users and unregister users.
New connect dialog
For the new version we completely redid our previous server browser. It is now able to display all the important information about favourite, lan and public servers in one comprehensive list. We also added additional important information like the ping of the server or the number of users currently connected to it. Of course you are able to use this information to filter and sort the list, for example you could prevent empty servers from being displayed. We also added drag and drop capability, if you want to connect to a server on startup just drag it from the list to your desktop.
Mumble is primarily meant to be used for talking. Nevertheless it can be useful to be able to send a quick message to someone. For this purpose we added the chatbar. Just select the channel or user you want to send the message to and type away. The bar is also able to complete usernames if you press Tabulator, or to directly select the user for a private message with Control + Space.
A lot of users asked us if it was possible to change the way mumble places its user interface elements, here is our answer: It is. This ability was already present in version 1.1.8 and earlier though not many users knew of it. For example if you place your mouse cursor on the top of the log and wait for a short time a bar pops up, click on it and drag the whole log where you want it to be. We realise that this is non trivial and without being told about it or reading it somewhere you most probably would not be able to find it. This is why we introduced layout presets. The user has the possibility to easily switch between three very common layouts directly from the options menu.
- Classic: The standard layout all previous mumble releases shipped with (extended by the chatbar of course).
- Stacked: A layout optimized for minimal horizontal space usage.
- Hybrid: Same as classic but with the chatbar spanning the whole width of the window.
One of the most bemoaned facts in the 1.1.X series was that channels could not be ordered in any but alphabetical order. In 1.2 we fixed this. Channels can now be reordered with drag and drop or a numerical sort indicator. Channels with the same sort indicator will stay in alphabetical order while channels with bigger indicators are placed lower in the channel list.
For chat messages, comments, channel descriptions and everything else that has to do with text in Mumble we now introduced an easy to use What You See Is What You Get editor for Richtext. This means you can color text, add links and images with a few simple clicks.
Based on popular requests, both players and channels can now have comments associated with them. Comments are shown in the tooltip for the channel or player, and are stored persistently on the server.
You can now add players to your friends list. Friends are recognized based on their certificate, so you will recognize your friends even on other servers than where you first met. Friends can be used as targets for whispering.
You can now set up one-sided whispers. This will redirect your voice to a set of players or channels. The possibilities are fairly large; for example, you can whisper to "everyone in my parent channel, and all channels linked to it, that are a member of the @admin group". You can whisper to as many different "targets" as you want at the same time. The picture you see on the left is the icon indicating that a player is whispering to you.
G15 for OSX
OSX now has full G15 support, which was the last missing feature on that platform.
Native-feeling ConfigDialog on Mac OS X
To better fit in with the look and feel of Mac OS X, Mumble now sports a very native-feeling configuration dialog on that platform.
Automatic Plugin Update and Enhanced Plugin Support
As the number of positional audio plugins increase, it has become a bit of a problem that games are updated much more frequently than Mumble releases. There is now a system to automatically update plugins, which means they'll be installed as soon as they are available.
Also, plugins are now configured so that one only hears positional audio from those who are playing the same game, and in some cases, only from those in the same server and team, depending on the plugin.
New Positional Audio Plugins
The following plugins have been added to Mumble 1.2.0:
- Battlefield 2142 v1.50
- Call of Duty: Modern Warfare 2 Multiplayer
- Call of Duty: Modern Warfare 2 Special Ops
- World of Warcraft (v3.2.2 Euro)
- Manual placement plugin
Custom textures for the overlay can now be changed from within the client. User textures were already present in 1.1.8 but as they had to be uploaded into the server by other software many users do not know about them. The picture uploaded to the server will be shown in the overlay of other people instead of your name. This way you can easily figure out who is talking without having to read the players name.
Automatic network fallback
For clients that, for some reason, have trouble getting UDP packets to and from the server, the client will now detect this and automatically switch to TCP compatibility mode. If things improve, it will switch back. This helps people wo have bad behaving routers or are on restricted networks where UDP packets cannot flow freely.
Instead of events being announced to you by our Text-To-Speech system you can now define custom audio files that play in this case. The system supports a lot of common formats like .wav, .ogg or .flac.
ACLs can now define rules for Token groups; and anyone who knows the token will match the group. This can be used to implement password-based channel access.
To set a token on a channel, simply add the token name preceded by # as a group in the ACL tab. Example: #yourtoken
Unified channel add/edit dialog
Because of the many new features we introduced for channels in the new version we decided to put all of them into an easy to use dialog. It can be used to perform basic tasks like renaming the channel, setting a description or a password. For experienced users there is an advanced mode in which you can hand-tune the ACL and Group settings for the channels yourself.
Temporary channels live only as long as there are users in them, and automatically get deleted when the last users leaves. We expect to see a lot of these on public servers as the capability to create them can be given independently of normal channel creation rights.
LAN announcement and discovery
Mumble and Murmur now support Bonjour, allowing users on the same site to easily find local Murmur servers. As it uses multicast, it even works across VLANs, making it great for LAN parties. No more exchanging of IP addresses, just fire up Mumble and connect.
Mumble now has a built in crash reporter, and will allow you to upload the crash directly to the developers. With the complete crash data, it's much easier for us to find and fix bugs.
1.2 will come with an updated version of 1.1.8, we call it 1.1.X, which enables you to visit servers which did not update to the new version yet. This client uses the same audio backend and libraries as 1.2 so it fixes some problems people reported with systems unsupported by Mumble 1.1.8 stable (like Windows 7). We will eventually remove this client from the default installer once we feel that the new protocol has spread wide enough in our user base.
Customizable PTT audio cue
With the new client you can now customize what sound mumble plays when you push or release your push to talk key.
The changes listed here are the most interesting and visible ones. Of course there were many more behind the curtains. If you really want to know about every single change, there are over 1000 of them, we did for 1.2.0 you can see our complete repository logs here.