Posted
about 9 years
ago
by
Michael Jumper
Guacamole 0.9.9 - Memory regression (GUAC-1471)
In the weeks following the 0.9.9 release, it became apparent that RDP connections were using far more memory than in previous releases. We have now determined that this is a regression due to the new
... [More]
dynamic JPEG / WebP code, resulting in surfaces allocating significantly more memory than actually needed (GUAC-1471).
We have updated the 0.9.9 release such that future downloads of Guacamole will not be affected. If you are encountering unexpected memory consumption for RDP connections, we highly recommend that you re-download the guacamole-server 0.9.9 source, rebuild, and try again.
If you are using Guacamole under Docker, just pull the latest guacd Docker image and update your deployment accordingly. The Docker images have been rebuilt using the updated source described above.
[Less]
|
Posted
about 9 years
ago
by
Michael Jumper
Guacamole 0.9.9 - Memory regression (GUAC-1471)
In the weeks following the 0.9.9 release, it became apparent that RDP connections were using far more memory than in previous releases. We have now determined that this is a regression due to the new
... [More]
dynamic JPEG / WebP code, resulting in surfaces allocating significantly more memory than actually needed (GUAC-1471).
We have updated the 0.9.9 release such that future downloads of Guacamole will not be affected. If you are encountering unexpected memory consumption for RDP connections, we highly recommend that you re-download the guacamole-server 0.9.9 source, rebuild, and try again.
If you are using Guacamole under Docker, just pull the latest guacd Docker image and update your deployment accordingly. The Docker images have been rebuilt using the updated source described above. [Less]
|
Posted
about 9 years
ago
by
Michael Jumper
Guacamole 0.9.9
The 0.9.9 release of Guacamole features improved performance due to dynamic use of JPEG and WebP, as well as greatly improved LDAP support. The Guacamole interface overall is now all but completely searchable/filterable, with
... [More]
"Filter" fields available on every connection and user list. This interface-wide availability of filtering includes the home screen, all user and connection lists within the administration interface, as well as the completely new and unified connection history screen.
Everything is searchable
Just about every list in the Guacamole interface is now searchable, including the list of connections on the home screen, all connection and user lists in the admin interface, and the new connection history screen.
Users with large numbers of connections (and administrators managing large numbers of users and connections) can now narrow their view by entering search terms into any of the "Filter" fields. There is no longer any need to hop back and forth through dozens of pages to find that one connection within a haystack of several hundred connections.
[GUAC-1193] - Centralize usage statistics
[GUAC-1406] - Allow connection and user lists to be filtered
Dynamic JPEG/WebP compression
Previous releases of Guacamole encoded images purely using PNG compression. This was very efficient for typical remote desktop use, but anything involving fast moving or photographic imagery would tend to slow down.
Thanks to the contributions and collaboration of Frode Langelo, Guacamole will now select between PNG, JPEG, and WebP depending on how fast parts of your screen are changing, the content of those areas, and which encodings are supported by your browser.
[GUAC-240] - Implement streaming of JPEG images
[GUAC-1305] - Implement support for WebP encoded images
LDAP improvements
Guacamole's LDAP support can now be used with more complex directory hierarchies, such as those used by Active Directory. In addition to directly deriving a user's DN using a base DN and username attribute, Guacamole can now search for and discover a user's DN when given the necessary credentials to do so. This allows users to be mapped even if their DNs do not contain usernames.
Encrypted LDAP can now also be used. Past releases supported only unencrypted LDAP connections, but communication with LDAP servers using SSL/TLS or STARTTLS is now fully supported.
[GUAC-1115] - Support complex LDAP organizational structures
[GUAC-1166] - Support for LDAP over SSL/TLS
[GUAC-1342] - Passthrough authentication not working for LDAP in 0.9.8
Run commands via SSH
The equivalent of the ssh command's -c option has now been implemented within Guacamole. By specifying a value for the command parameter of an SSH connection (or by entering a value within the appropriate field in the admin interface), the SSH connection will run the specified command instead of simply invoking the default shell.
[GUAC-1038] - Add parameter for running command via SSH
Sound, printing, and file transfer fixed on Windows 2012
Windows Server 2012 suffers from a bug which requires both RDPDR (drive redirection or printing) and RDPSND (audio) to be loaded for either to work, even if both are not actually needed. Past releases of Guacamole had a workaround for this which automatically loaded RDPDR if audio was enabled, but this workaround did not apply in the other direction. If audio was disabled, printing and file transfer would mysteriously not work.
As of Guacamole 0.9.9, both RDPSND and RDPDR will always be loaded if either is enabled. File transfer, printing, and sound should all work under Windows Server 2012, regardless of which combination of those features is enabled.
[GUAC-1196] - RDPSND and RDPDR must be loaded together
Linking Docker images to non-Docker databases
The Guacamole Docker images previously required 100% Docker everything when it Came to deployment. Both the web application and guacd needed to be within Docker, and the database backing the web application (MySQL or PostgreSQL) needed to be within Docker as well.
While all Guacamole components (the web application and guacd) still need to be within Docker if Docker is going to be used, the requirement that the database be within Docker has been removed. The hostname and port of your database can now be specified when creating the Guacamole Docker container. The database does not need to be specified with a Docker link.
[GUAC-1291] - Allow linking with non-Docker MySQL/PostgreSQL databases
Guacamole API and protocol changes
In preparation for supporting real-time hardware encoding of complex grapics, the Guacamole protocol and JavaScript client have been extended to allow streaming of arbitrary video codecs. Developers using the Guacamole API can associate the JavaScript client with codec implementations which will then be used to decode and render video streams.
The Guacamole extension API has also been updated, allowing extensions to automatically invalidate users' sessions by throwing specific exceptions which by their own nature imply that the user's current session is invalid. These exceptions are automatically caught and handled within the Guacamole web application, invalidating the user's session and displaying a login dialog.
[GUAC-1354] - Add real-time video streaming support to Guacamole protocol
[GUAC-1364] - Allow extensions to invalidate user sessions
Minor improvements / bug fixes
In addition to the above major improvements, several minor improvements and bug fixes are included in 0.9.9, including additional translations, changes to interface layout and behavior, and improved support for Microsoft Edge.
[GUAC-554] - WebSocket connection errors not exposed
[GUAC-555] - WebSocket connection errors cannot be detected as required by connect()
[GUAC-799] - Guacamole.Status is undocumented
[GUAC-1250] - Display login page instead of "reconnect/home" when session expires
[GUAC-1314] - Support distinct keysyms for numeric keypad
[GUAC-1324] - "Currently in use" text overlaps connection name on mobile
[GUAC-1338] - Add German missing translations
[GUAC-1345] - Allow available languages to be restricted
[GUAC-1349] - File transfer dialog overflows screen
[GUAC-1361] - listen() need not be present in main loop
[GUAC-1374] - "guac_socket_alloc()" must initialize "__keep_alive_enabled"
[GUAC-1375] - JavaScript error in MS EDGE if HTML5 audio/video is disabled
[GUAC-1376] - Add "logout" action to disconnect/error notifications
[GUAC-1380] - Added missing Dutch translations
[GUAC-1404] - Active sessions list sometimes contains closed connections
[Less]
|
Posted
about 9 years
ago
by
Michael Jumper
Guacamole 0.9.9
The 0.9.9 release of Guacamole features improved performance due to dynamic use of JPEG and WebP, as well as greatly improved LDAP support. The Guacamole interface overall is now all but completely searchable/filterable, with "Filter"
... [More]
fields available on every connection and user list. This interface-wide availability of filtering includes the home screen, all user and connection lists within the administration interface, as well as the completely new and unified connection history screen.
Everything is searchable
Just about every list in the Guacamole interface is now searchable, including the list of connections on the home screen, all connection and user lists in the admin interface, and the new connection history screen.
Users with large numbers of connections (and administrators managing large numbers of users and connections) can now narrow their view by entering search terms into any of the "Filter" fields. There is no longer any need to hop back and forth through dozens of pages to find that one connection within a haystack of several hundred connections.
[GUAC-1193] - Centralize usage statistics
[GUAC-1406] - Allow connection and user lists to be filtered
Dynamic JPEG/WebP compression
Previous releases of Guacamole encoded images purely using PNG compression. This was very efficient for typical remote desktop use, but anything involving fast moving or photographic imagery would tend to slow down.
Thanks to the contributions and collaboration of Frode Langelo, Guacamole will now select between PNG, JPEG, and WebP depending on how fast parts of your screen are changing, the content of those areas, and which encodings are supported by your browser.
[GUAC-240] - Implement streaming of JPEG images
[GUAC-1305] - Implement support for WebP encoded images
LDAP improvements
Guacamole's LDAP support can now be used with more complex directory hierarchies, such as those used by Active Directory. In addition to directly deriving a user's DN using a base DN and username attribute, Guacamole can now search for and discover a user's DN when given the necessary credentials to do so. This allows users to be mapped even if their DNs do not contain usernames.
Encrypted LDAP can now also be used. Past releases supported only unencrypted LDAP connections, but communication with LDAP servers using SSL/TLS or STARTTLS is now fully supported.
[GUAC-1115] - Support complex LDAP organizational structures
[GUAC-1166] - Support for LDAP over SSL/TLS
[GUAC-1342] - Passthrough authentication not working for LDAP in 0.9.8
Run commands via SSH
The equivalent of the ssh command's -c option has now been implemented within Guacamole. By specifying a value for the command parameter of an SSH connection (or by entering a value within the appropriate field in the admin interface), the SSH connection will run the specified command instead of simply invoking the default shell.
[GUAC-1038] - Add parameter for running command via SSH
Sound, printing, and file transfer fixed on Windows 2012
Windows Server 2012 suffers from a bug which requires both RDPDR (drive redirection or printing) and RDPSND (audio) to be loaded for either to work, even if both are not actually needed. Past releases of Guacamole had a workaround for this which automatically loaded RDPDR if audio was enabled, but this workaround did not apply in the other direction. If audio was disabled, printing and file transfer would mysteriously not work.
As of Guacamole 0.9.9, both RDPSND and RDPDR will always be loaded if either is enabled. File transfer, printing, and sound should all work under Windows Server 2012, regardless of which combination of those features is enabled.
[GUAC-1196] - RDPSND and RDPDR must be loaded together
Linking Docker images to non-Docker databases
The Guacamole Docker images previously required 100% Docker everything when it Came to deployment. Both the web application and guacd needed to be within Docker, and the database backing the web application (MySQL or PostgreSQL) needed to be within Docker as well.
While all Guacamole components (the web application and guacd) still need to be within Docker if Docker is going to be used, the requirement that the database be within Docker has been removed. The hostname and port of your database can now be specified when creating the Guacamole Docker container. The database does not need to be specified with a Docker link.
[GUAC-1291] - Allow linking with non-Docker MySQL/PostgreSQL databases
Guacamole API and protocol changes
In preparation for supporting real-time hardware encoding of complex grapics, the Guacamole protocol and JavaScript client have been extended to allow streaming of arbitrary video codecs. Developers using the Guacamole API can associate the JavaScript client with codec implementations which will then be used to decode and render video streams.
The Guacamole extension API has also been updated, allowing extensions to automatically invalidate users' sessions by throwing specific exceptions which by their own nature imply that the user's current session is invalid. These exceptions are automatically caught and handled within the Guacamole web application, invalidating the user's session and displaying a login dialog.
[GUAC-1354] - Add real-time video streaming support to Guacamole protocol
[GUAC-1364] - Allow extensions to invalidate user sessions
Minor improvements / bug fixes
In addition to the above major improvements, several minor improvements and bug fixes are included in 0.9.9, including additional translations, changes to interface layout and behavior, and improved support for Microsoft Edge.
[GUAC-554] - WebSocket connection errors not exposed
[GUAC-555] - WebSocket connection errors cannot be detected as required by connect()
[GUAC-799] - Guacamole.Status is undocumented
[GUAC-1250] - Display login page instead of "reconnect/home" when session expires
[GUAC-1314] - Support distinct keysyms for numeric keypad
[GUAC-1324] - "Currently in use" text overlaps connection name on mobile
[GUAC-1338] - Add German missing translations
[GUAC-1345] - Allow available languages to be restricted
[GUAC-1349] - File transfer dialog overflows screen
[GUAC-1361] - listen() need not be present in main loop
[GUAC-1374] - "guac_socket_alloc()" must initialize "__keep_alive_enabled"
[GUAC-1375] - JavaScript error in MS EDGE if HTML5 audio/video is disabled
[GUAC-1376] - Add "logout" action to disconnect/error notifications
[GUAC-1380] - Added missing Dutch translations
[GUAC-1404] - Active sessions list sometimes contains closed connections
[Less]
|
Posted
over 9 years
ago
by
Michael Jumper
Guacamole 0.9.8
The 0.9.8 release of Guacamole is the first release to allow multiple authentication extensions to be loaded simultaneously. Administrators can now, for example, authenticate users against LDAP while storing connection data in MySQL
... [More]
or PostgreSQL.
Guacamole 0.9.8 also features major improvements to the file transfer interface, allowing the filesystem hierarchy of the remote system to be browsed directly within the Guacamole menu, as well as fully stabilized and documented support for audio and file transfer for VNC using PulseAudio and SFTP respectively.
Install multiple extensions
One major shortcoming of Guacamole in past releases was that it could only use one authentication mechanism at a time. LDAP, MySQL, etc. were supported, but only exclusively with respect to each other. If you wanted to authenticate against LDAP while storing connection data in MySQL (a very common request), the only solution was to create your own hybrid authentication extension.
Guacamole now supports loading multiple authentication extensions at the same time, and allows each extension to provide data for a user account, even if that user account didn't come from that extension. More information on exactly how this can be configured is provided in the manual.
[GUAC-586] - Decouple storage and authorization from authentication
[GUAC-1260] - Allow the Guacamole logo to be overridden through extensions
File browsing
In addition to traditional drag-and-drop, files can now be transferred by browsing a hierarchy of folders within the Guacamole menu. This file transfer support has been extended to the point that it can even be used with VNC through a secondary SFTP connection.
[GUAC-1167] - File download using RDP protocol via xrdp does not work
[GUAC-1171] - Add SSH file transfer support to VNC and RDP
[GUAC-1172] - Add file browsing support
Audio within VNC
Though Guacamole has supported audio within VNC using PulseAudio in previous releases, that support was experimental, and had known issues. All known issues with Guacamole's support for PulseAudio alongside VNC have now been fixed, and this support is considered stable. The manual has been updated to document configuration of both Guacamole and PulseAudio to provide audio for VNC.
[GUAC-427] - Improve PulseAudio latency and bandwidth usage
[GUAC-1212] - Creating Guacamole.AudioChannel.context fails if user has multiple tabs with sound open
RDP performance/experience flags
The various options provided by RDP for configuring user experience, possibly to the detriment of connection bandwidth usage and speed, are now supported. Wallpaper, theming, smooth text, desktop composition, etc. can all be explicitly enabled, though group policies on the RDP server can still override these settings.
[GUAC-835] - Support RDP performance flags
SSH and telnet terminal palette
Past releases of Guacamole provided SSH and telnet support which rendered all text as gray-on-black by default. Normal terminal colors were still supported, of course, but the default text would always be gray-on-black. Guacamole 0.9.8 adds the ability to specify a color scheme for SSH and telnet connections, including higher-contrast options like white-on-black which are easier to read.
[GUAC-1195] - Configurable terminal palette
Administration improvements
If using the database authentication extension, use of individual user accounts can now be restricted to specific times of day or configured to automatically become valid/invalid after specific dates.
For ease of configuration, connection parameters within the administration interface are now organized into logical sections. What used to be a sea of miscellaneous options for each protocol is now organized by category.
[GUAC-830] - Limit concurrent access to Windows RDP sessions
[GUAC-1194] - Log connection usage statistics
[GUAC-1213] - Restrict account access by date/time
Additional languages
Thanks to the generous contributions of Mathias Müller, Norbert Klaus, and Serena Soldati, Guacamole now has support for three additional languages: Dutch, German, and Italian. These, or any supported language, will automatically be selected by Guacamole when it is used for the first time in a browser configured to prefer that language.
[GUAC-1230] - Use browser language by default
[GUAC-1225] - Review and merge contributed German translation
[GUAC-1238] - Review and merge Dutch translation
[GUAC-1241] - Review and merge Italian translation
[GUAC-1254] - Merge German on-screen keyboard layout
Support for telnet break
The telnet protocol provides for sending a "break" to the remote end, but it was previously impossible to send this signal using Guacamole. Unlike Ctrl+C and similar keyboard shortcuts, which actually result in control codes, "break" is more low-level and is commonly necessary to control running processes within a telnet session to a network appliance.
To send "break" over telnet within Guacamole, you can press either Pause, Break, or Ctrl+0.
[GUAC-1296] - Add support for IAC BRK
Minor fixes/improvements
In addition to the above major improvements, several minor improvements and bug fixes have also been made in 0.9.8, including low-level improvements to the Guacamole tunnel, the ability to override the standard encoding of the VNC clipboard, and automatic creation of the RDP drive directory.
[GUAC-298] - Allow encoding of VNC clipboard to be overridden
[GUAC-515] - Create RDP drive directory if necessary
[GUAC-1083] - HTTP tunnel isn't working in CORS
[GUAC-1084] - ChainedTunnel does not support reconnect
[GUAC-1226] - SSH/Telnet font rendering sometimes fails on high DPI
[GUAC-1236] - Installation documentation incorrect with respect to guacamole.properties
[GUAC-1244] - Mouse scroll events are not issued for minor mouse wheel scrolling
[GUAC-1245] - OSK keys Super and Menu are stuck together
[GUAC-1247] - Surface does not catch 1 pixel put's with no pixel value change
[GUAC-1249] - Labels do not show on login page in IE 11
[GUAC-1294] - Error creating users/connections/groups
[Less]
|
Posted
over 9 years
ago
by
Michael Jumper
Guacamole 0.9.8
The 0.9.8 release of Guacamole is the first release to allow multiple authentication extensions to be loaded simultaneously. Administrators can now, for example, authenticate users against LDAP while storing connection data in MySQL
... [More]
or PostgreSQL.
Guacamole 0.9.8 also features major improvements to the file transfer interface, allowing the filesystem hierarchy of the remote system to be browsed directly within the Guacamole menu, as well as fully stabilized and documented support for audio and file transfer for VNC using PulseAudio and SFTP respectively.
Install multiple extensions
One major shortcoming of Guacamole in past releases was that it could only use one authentication mechanism at a time. LDAP, MySQL, etc. were supported, but only exclusively with respect to each other. If you wanted to authenticate against LDAP while storing connection data in MySQL (a very common request), the only solution was to create your own hybrid authentication extension.
Guacamole now supports loading multiple authentication extensions at the same time, and allows each extension to provide data for a user account, even if that user account didn't come from that extension. More information on exactly how this can be configured is provided in the manual.
[GUAC-586] - Decouple storage and authorization from authentication
[GUAC-1260] - Allow the Guacamole logo to be overridden through extensions
File browsing
In addition to traditional drag-and-drop, files can now be transferred by browsing a hierarchy of folders within the Guacamole menu. This file transfer support has been extended to the point that it can even be used with VNC through a secondary SFTP connection.
[GUAC-1167] - File download using RDP protocol via xrdp does not work
[GUAC-1171] - Add SSH file transfer support to VNC and RDP
[GUAC-1172] - Add file browsing support
Audio within VNC
Though Guacamole has supported audio within VNC using PulseAudio in previous releases, that support was experimental, and had known issues. All known issues with Guacamole's support for PulseAudio alongside VNC have now been fixed, and this support is considered stable. The manual has been updated to document configuration of both Guacamole and PulseAudio to provide audio for VNC.
[GUAC-427] - Improve PulseAudio latency and bandwidth usage
[GUAC-1212] - Creating Guacamole.AudioChannel.context fails if user has multiple tabs with sound open
RDP performance/experience flags
The various options provided by RDP for configuring user experience, possibly to the detriment of connection bandwidth usage and speed, are now supported. Wallpaper, theming, smooth text, desktop composition, etc. can all be explicitly enabled, though group policies on the RDP server can still override these settings.
[GUAC-835] - Support RDP performance flags
SSH and telnet terminal palette
Past releases of Guacamole provided SSH and telnet support which rendered all text as gray-on-black by default. Normal terminal colors were still supported, of course, but the default text would always be gray-on-black. Guacamole 0.9.8 adds the ability to specify a color scheme for SSH and telnet connections, including higher-contrast options like white-on-black which are easier to read.
[GUAC-1195] - Configurable terminal palette
Administration improvements
If using the database authentication extension, use of individual user accounts can now be restricted to specific times of day or configured to automatically become valid/invalid after specific dates.
For ease of configuration, connection parameters within the administration interface are now organized into logical sections. What used to be a sea of miscellaneous options for each protocol is now organized by category.
[GUAC-830] - Limit concurrent access to Windows RDP sessions
[GUAC-1194] - Log connection usage statistics
[GUAC-1213] - Restrict account access by date/time
Additional languages
Thanks to the generous contributions of Mathias Müller, Norbert Klaus, and Serena Soldati, Guacamole now has support for three additional languages: Dutch, German, and Italian. These, or any supported language, will automatically be selected by Guacamole when it is used for the first time in a browser configured to prefer that language.
[GUAC-1230] - Use browser language by default
[GUAC-1225] - Review and merge contributed German translation
[GUAC-1238] - Review and merge Dutch translation
[GUAC-1241] - Review and merge Italian translation
[GUAC-1254] - Merge German on-screen keyboard layout
Support for telnet break
The telnet protocol provides for sending a "break" to the remote end, but it was previously impossible to send this signal using Guacamole. Unlike Ctrl+C and similar keyboard shortcuts, which actually result in control codes, "break" is more low-level and is commonly necessary to control running processes within a telnet session to a network appliance.
To send "break" over telnet within Guacamole, you can press either Pause, Break, or Ctrl+0.
[GUAC-1296] - Add support for IAC BRK
Minor fixes/improvements
In addition to the above major improvements, several minor improvements and bug fixes have also been made in 0.9.8, including low-level improvements to the Guacamole tunnel, the ability to override the standard encoding of the VNC clipboard, and automatic creation of the RDP drive directory.
[GUAC-298] - Allow encoding of VNC clipboard to be overridden
[GUAC-515] - Create RDP drive directory if necessary
[GUAC-1083] - HTTP tunnel isn't working in CORS
[GUAC-1084] - ChainedTunnel does not support reconnect
[GUAC-1226] - SSH/Telnet font rendering sometimes fails on high DPI
[GUAC-1236] - Installation documentation incorrect with respect to guacamole.properties
[GUAC-1244] - Mouse scroll events are not issued for minor mouse wheel scrolling
[GUAC-1245] - OSK keys Super and Menu are stuck together
[GUAC-1247] - Surface does not catch 1 pixel put's with no pixel value change
[GUAC-1249] - Labels do not show on login page in IE 11
[GUAC-1294] - Error creating users/connections/groups
[Less]
|
Posted
over 9 years
ago
by
Michael Jumper
Guacamole 0.9.7
The 0.9.7 release of Guacamole greatly simplifies the installation process for extensions and reduces the need for guacamole.properties, providing reasonable defaults where possible. Extensions can now be used to theme, brand, and
... [More]
translate Guacamole, not only to provide custom authentication. In addition to several bug fixes, this release also marks the first public availability of Guacamole in languages other than English, and the first official release with support for Docker.
Simplified extensions
Guacamole extensions are now entirely self-contained .jar files which can be installed simply by copying them into the GUACAMOLE_HOME/extensions directory. The auth-provider and lib-directory properties are still supported for backward compatibility, but are no longer needed. The remaining common properties, like guacd-hostname and guacd-port, now have default values and no longer need to be specified unless your configuration deviates from the defaults.
Each extension now also provides enough information for Guacamole to determine compatibility prior to loading the extension. If an extension is not compatible, and is not forcibly loaded through the legacy auth-provider property, Guacamole will refuse to load the extension and log an error describing the problem.
[GUAC-631] - Remove need for guacamole.properties
[GUAC-1069] - Detect and warn of improper extension versions
Theming and translation
In the past, Guacamole extensions could only be used to extend authentication. Extensions can now be used to augment Guacamole's styling for the sake of theming or branding, or to add additional translations or on-screen keyboard layouts. Multiple extensions can be loaded at the same time by simply placing their .jar files within GUACAMOLE_HOME/extensions, though no more than one extension may provide authentication.
With this translation support in place, Guacamole has been translated into both French and Russian, and those translations have been contributed and merged into the main Guacamole codebase thanks to the generosity of Jerome Charlot and Konstantin Kozhin.
[GUAC-587] - Allow theming/translation through extensions
[GUAC-1053] - Allow selection of display language
[GUAC-1187] - Merge contributed Russian translation
[GUAC-1217] - Review and merge contributed French translation
Official Docker support
Version 0.9.7 marks the first release with official support for Docker. Experimental support for Docker and Guacamole 0.9.6 was made available prior to the 0.9.7 release, and this support is now stabilized and officially documented within the Guacamole manual.
Login screen behavior
The Guacamole home screen has little use for a user that has access to only one connection. As of 0.9.7, users will be taken immediately to their connection if only one connection is available. Further, if a user visits a page within Guacamole, but is not logged in, they will no longer be redirected to a distinct login page from which logging in redirects to the home screen. Visiting a page while not logged in now simply results in the page being replaced with a login screen - no redirect occurs. Once the user logs in, the page is allowed to load normally.
[GUAC-1061] - Login page should redirect to destination
[GUAC-1066] - Connection errors not cleared after logout
[GUAC-1126] - Open connection by default if only one exists
Hanging VNC connections
Past versions of Guacamole suffered from occasional hanging connections when VNC was used, typically when data in the clipboard changed. The cause of this rare but annoying phenomenon has now been both explained and fixed.
[GUAC-1056] - VNC client hangs when clipboard is changed
iOS bluetooth keyboard
When Guacamole 0.9.6 or older is used with iOS and a bluetooth keyboard, a bug in keyboard event handling results in Guacamole only receiving each key press. Without any corresponding key release, pressed keys act permanently stuck. A workaround is now in place which addresses this problem, ensuring pressed keys are released.
[GUAC-661] - Stuck keys with iPad and bluetooth keyboard
Improved audio in Firefox
Although Guacamole has supported audio for quite some time, this audio support has been poor under Firefox. This is not Mozilla's fault: Guacamole was simply using a Chrome-specific version of the Web Audio API, and thus only supported audio within Firefox using a lower-quality fallback mode. This has been fixed, and the Web Audio API is used wherever supported.
[GUAC-1088] - Web Audio API not being used in Firefox
Restricting user accounts
User accounts within the database authentication can now be manually disabled or expired. A disabled account cannot be used, and attempts to login with a disabled account are rejected as if the account did not exist. If a user logs in with an expired account, they are prompted to change their password before login succeeds.
[GUAC-800] - Enhanced user account restrictions
[GUAC-1176] - Implement password expiration attribute
User management regression
Guacamole 0.9.6 was released with a regression that prevented non-admin users with user-creation permissions from editing the users they created. This has now been fixed.
[GUAC-1188] - Created users cannot be modified
RDP features
Support for specifying the name of the connecting RDP client is now available through an additional client-name parameter. Past releases would simply send the hostname of the guacd server to the RDP server when connecting, but Guacamole 0.9.7 allows this to be explicitly specified on a per-connection basis. Setting this value affects the CLIENTNAME environment variable of Windows RDP servers.
Support for Italian keyboards has also been added - a contribution from Denis Bernacci.
[GUAC-346] - Add support for specifying the RDP client name
[GUAC-794] - Italian keyboard keymap
Build/browser warnings
Although guacamole-server is configured to treat warnings as errors during the build process, guacamole-client was not, resulting in several warnings going unnoticed. These warnings have been resolved, and the build process is now configured to treat all warnings as errors. Warnings which were logged by the web browser while Guacamole runs have also been fixed.
[GUAC-1170] - Fix build and browser warnings
Low-level connection/tunnel issues
Several miscellaneous, low-level improvements have been made to the Guacamole HTTP tunnel and request handling structure in general. The size and complexity of functions handling tunnel requests have been reduced, and issues involving mishandling of tunnel reconnect/disconnect have been resolved. Thanks to David Dvora and Vasily Loginov for these improvements.
[GUAC-1082] - HTTP tunnel fails to reconnect
[GUAC-1086] - TunnelRequestService.createTunnel method is too large
[GUAC-1096] - Tunnel remains open despite disconnect
[GUAC-1102] - HttpServletRequest within Credentials contains no parameters
[Less]
|
Posted
over 9 years
ago
by
Michael Jumper
Guacamole 0.9.7
The 0.9.7 release of Guacamole greatly simplifies the installation process for extensions and reduces the need for guacamole.properties, providing reasonable defaults where possible. Extensions can now be used to theme, brand, and
... [More]
translate Guacamole, not only to provide custom authentication. In addition to several bug fixes, this release also marks the first public availability of Guacamole in languages other than English, and the first official release with support for Docker.
Simplified extensions
Guacamole extensions are now entirely self-contained .jar files which can be installed simply by copying them into the GUACAMOLE_HOME/extensions directory. The auth-provider and lib-directory properties are still supported for backward compatibility, but are no longer needed. The remaining common properties, like guacd-hostname and guacd-port, now have default values and no longer need to be specified unless your configuration deviates from the defaults.
Each extension now also provides enough information for Guacamole to determine compatibility prior to loading the extension. If an extension is not compatible, and is not forcibly loaded through the legacy auth-provider property, Guacamole will refuse to load the extension and log an error describing the problem.
[GUAC-631] - Remove need for guacamole.properties
[GUAC-1069] - Detect and warn of improper extension versions
Theming and translation
In the past, Guacamole extensions could only be used to extend authentication. Extensions can now be used to augment Guacamole's styling for the sake of theming or branding, or to add additional translations or on-screen keyboard layouts. Multiple extensions can be loaded at the same time by simply placing their .jar files within GUACAMOLE_HOME/extensions, though no more than one extension may provide authentication.
With this translation support in place, Guacamole has been translated into both French and Russian, and those translations have been contributed and merged into the main Guacamole codebase thanks to the generosity of Jerome Charlot and Konstantin Kozhin.
[GUAC-587] - Allow theming/translation through extensions
[GUAC-1053] - Allow selection of display language
[GUAC-1187] - Merge contributed Russian translation
[GUAC-1217] - Review and merge contributed French translation
Official Docker support
Version 0.9.7 marks the first release with official support for Docker. Experimental support for Docker and Guacamole 0.9.6 was made available prior to the 0.9.7 release, and this support is now stabilized and officially documented within the Guacamole manual.
Login screen behavior
The Guacamole home screen has little use for a user that has access to only one connection. As of 0.9.7, users will be taken immediately to their connection if only one connection is available. Further, if a user visits a page within Guacamole, but is not logged in, they will no longer be redirected to a distinct login page from which logging in redirects to the home screen. Visiting a page while not logged in now simply results in the page being replaced with a login screen - no redirect occurs. Once the user logs in, the page is allowed to load normally.
[GUAC-1061] - Login page should redirect to destination
[GUAC-1066] - Connection errors not cleared after logout
[GUAC-1126] - Open connection by default if only one exists
Hanging VNC connections
Past versions of Guacamole suffered from occasional hanging connections when VNC was used, typically when data in the clipboard changed. The cause of this rare but annoying phenomenon has now been both explained and fixed.
[GUAC-1056] - VNC client hangs when clipboard is changed
iOS bluetooth keyboard
When Guacamole 0.9.6 or older is used with iOS and a bluetooth keyboard, a bug in keyboard event handling results in Guacamole only receiving each key press. Without any corresponding key release, pressed keys act permanently stuck. A workaround is now in place which addresses this problem, ensuring pressed keys are released.
[GUAC-661] - Stuck keys with iPad and bluetooth keyboard
Improved audio in Firefox
Although Guacamole has supported audio for quite some time, this audio support has been poor under Firefox. This is not Mozilla's fault: Guacamole was simply using a Chrome-specific version of the Web Audio API, and thus only supported audio within Firefox using a lower-quality fallback mode. This has been fixed, and the Web Audio API is used wherever supported.
[GUAC-1088] - Web Audio API not being used in Firefox
Restricting user accounts
User accounts within the database authentication can now be manually disabled or expired. A disabled account cannot be used, and attempts to login with a disabled account are rejected as if the account did not exist. If a user logs in with an expired account, they are prompted to change their password before login succeeds.
[GUAC-800] - Enhanced user account restrictions
[GUAC-1176] - Implement password expiration attribute
User management regression
Guacamole 0.9.6 was released with a regression that prevented non-admin users with user-creation permissions from editing the users they created. This has now been fixed.
[GUAC-1188] - Created users cannot be modified
RDP features
Support for specifying the name of the connecting RDP client is now available through an additional client-name parameter. Past releases would simply send the hostname of the guacd server to the RDP server when connecting, but Guacamole 0.9.7 allows this to be explicitly specified on a per-connection basis. Setting this value affects the CLIENTNAME environment variable of Windows RDP servers.
Support for Italian keyboards has also been added - a contribution from Denis Bernacci.
[GUAC-346] - Add support for specifying the RDP client name
[GUAC-794] - Italian keyboard keymap
Build/browser warnings
Although guacamole-server is configured to treat warnings as errors during the build process, guacamole-client was not, resulting in several warnings going unnoticed. These warnings have been resolved, and the build process is now configured to treat all warnings as errors. Warnings which were logged by the web browser while Guacamole runs have also been fixed.
[GUAC-1170] - Fix build and browser warnings
Low-level connection/tunnel issues
Several miscellaneous, low-level improvements have been made to the Guacamole HTTP tunnel and request handling structure in general. The size and complexity of functions handling tunnel requests have been reduced, and issues involving mishandling of tunnel reconnect/disconnect have been resolved. Thanks to David Dvora and Vasily Loginov for these improvements.
[GUAC-1082] - HTTP tunnel fails to reconnect
[GUAC-1086] - TunnelRequestService.createTunnel method is too large
[GUAC-1096] - Tunnel remains open despite disconnect
[GUAC-1102] - HttpServletRequest within Credentials contains no parameters
[Less]
|
Posted
almost 10 years
ago
by
Michael Jumper
Official support for Docker
As of today, we now have Docker images for Guacamole which we will be officially supporting going forward:
https://registry.hub.docker.com/u/glyptodon/guacamole/
https://registry.hub.docker.com/u/glyptodon/guacd/
To any
... [More]
users who currently use Docker or are interested in using Docker, please try these images and report back with any issues, difficulties, etc. The goal is for this to be flexible and stable enough for production use, yet one of the easiest ways to deploy Guacamole.
Currently, these images should be considered experimental, but it is our intent to support these images as a well-documented and stable Guacamole deployment with the release of 0.9.7 and all future releases.
Why two images?
The two Docker images correspond to the two main components of a Guacamole deployment: guacamole-client and guacamole-server. As suggested in the Docker best practices, we have kept these images separate so that only one process runs in each container.
To deploy Guacamole through Docker, you thus need to create a guacd container, and then link a Guacamole container to that.
The Guacamole image currently only supports database authentication, but can be linked to either a PostgreSQL or a MySQL database. The underlying Guacamole configuration will be generated automatically based on the Docker links.
Reporting issues
If you encounter any issues when using these images, please report them to our JIRA, or comment on our Docker thread in the forums.
[Less]
|
Posted
almost 10 years
ago
by
Michael Jumper
Official support for Docker
As of today, we now have Docker images for Guacamole which we will be officially supporting going forward:
https://registry.hub.docker.com/u/glyptodon/guacamole/
https://registry.hub.docker.com/u/glyptodon/guacd/
To any
... [More]
users who currently use Docker or are interested in using Docker, please try these images and report back with any issues, difficulties, etc. The goal is for this to be flexible and stable enough for production use, yet one of the easiest ways to deploy Guacamole.
Currently, these images should be considered experimental, but it is our intent to support these images as a well-documented and stable Guacamole deployment with the release of 0.9.7 and all future releases.
Why two images?
The two Docker images correspond to the two main components of a Guacamole deployment: guacamole-client and guacamole-server. As suggested in the Docker best practices, we have kept these images separate so that only one process runs in each container.
To deploy Guacamole through Docker, you thus need to create a guacd container, and then link a Guacamole container to that.
The Guacamole image currently only supports database authentication, but can be linked to either a PostgreSQL or a MySQL database. The underlying Guacamole configuration will be generated automatically based on the Docker links.
Reporting issues
If you encounter any issues when using these images, please report them to our JIRA, or comment on our Docker thread in the forums. [Less]
|