Menu

Guacamole 0.9.4 Released

Guacamole 0.9.4

The 0.9.4 release of Guacamole is our biggest update yet. It contains a complete rewrite of the web interface, standardized official support for WebSocket, improved and configurable logging, as well as cosmetic changes improving style and usability.

Massively improved interface

The Guacamole web interface has been completely rewritten as a single-tab application. You can still open connections in new tabs if you wish, but the new interface allows you to open multiple connections within the same tab. While these connections are running, their thumbnails on the home screen update in real time.

Opening the Guacamole menu, a common point of confusion among users, is now much easier. The Ctrl+Alt+Shift shortcut for showing/hiding the menu is much less picky. Pressing these keys in any order will toggle menu visibility - you no longer need to ensure that Shift is pressed last.

  • [GUAC-546] - Refactor of the Guacamole interface
  • [GUAC-804] - Ctrl-Alt-Shift is too finicky
  • [GUAC-829] - Configurable connection names
  • [GUAC-894] - Complete new Guacamole UI

WebSockets for everyone

When users encounter latency or poor performance while using Guacamole, the answer has often been "enable WebSocket". WebSocket is now enabled by default, and is supported for Tomcat 7.0.37 or later (including Tomcat 8), Jetty 8 or later, or any Java servlet container supporting JSR-356 (the Java standard for WebSocket support).

  • [GUAC-866] - Support WebSocket as a standard feature

Username/password parameter tokens

If you or your users use the same username/password for Guacamole as in their remote desktop accounts, you can now specify the "${GUAC_USERNAME}" or "${GUAC_PASSWORD}" tokens in any connection parameter. Guacamole will substitute the current user's username or password respectively when connecting.

If editing passwords through the management interface, using the above tokens can be difficult as passwords are masked by default, and you will be unable to see exactly what has been entered. You can now temporarily reveal the contents of a password connection parameter by clicking the lock icon next to the password field.

  • [GUAC-340] - Implement cached authentication credentials and SSO

Improved (and configurable) logging

Guacamole's logging is now configurable and much more readable. Both guacd and the web application may be configured to log at higher levels of detail and, by default, debugging information like stacktraces is omitted, replaced with human-readable descriptions of the problem at hand.

If you serve Guacamole through a reverse proxy, Guacamole will now take the de facto standard "X-Forwarded-For" header into account when logging IP addresses. No longer will your logs consist only of the IP address of your proxy server.

  • [GUAC-778] - Log reasonable things in reasonable ways

Improved mouse behavior

Guacamole will now automatically take advantage of browser support for local mouse cursors, using those in favor of its own software-rendered cursor. This is often noticeably faster, and feels more responsive.

  • [GUAC-823] - Cursor CSS3 image instead of canvas image
  • [GUAC-842] - Remove remote mouse pointer when leaving canvas space

Keyboard improvements and fixes

In past releases, pressing key combinations like Alt+Tab or the "Windows" key could result in those key(s) being stuck down in the remote connection. This is no longer the case - such keys are now automatically released when Guacamole detects that you have switched to a different application.

Guacamole 0.9.4 also adds support for Swedish keyboard to RDP, and fixes several recent keyboard-related bugs.

  • [GUAC-872] - Page Up and Page Down are swapped
  • [GUAC-875] - No keyboard input on Firefox 27
  • [GUAC-884] - Keyboard event queue can become permanently blocked
  • [GUAC-916] - Super ("Windows") key can be stuck down
  • [GUAC-930] - Implement Swedish keymap

Other bug fixes

  • [GUAC-833] - JS error thrown - Mouse.js not checking if variable is undefined
  • [GUAC-849] - RDP audio not working with all servers
  • [GUAC-852] - Implicit declaration of function ‘bitmap_decompress’
  • [GUAC-876] - No sound on Safari 7.1 on OS X
  • [GUAC-882] - Cannot use Guacamole under IE11
  • [GUAC-891] - Segfault in guac_common_surface due to resize
  • [GUAC-893] - Synchronous XMLHttpRequest on the main thread is deprecated
  • [GUAC-924] - Browser crash on iOS 8
Posted by Michael Jumper 2015-01-08