Apache Guacamole 1.5.2 (Archived)

Apache Guacamole 1.5.2 is an archived release, and was originally released on 2023-05-25. The latest release of Apache Guacamole is 1.5.5.

Apache Guacamole is split into two subprojects: "guacamole-client", the HTML5 web application which serves the Guacamole client to users, and "guacamole-server", the remote desktop proxy which the web application communicates with. The source code for each of these may be downloaded below.

You must verify the integrity of any downloaded files using the OpenPGP signatures we provide with each release. The signatures should be verified against the KEYS file, which contains the OpenPGP keys of Apache Guacamole's Release Managers. Checksums of each released file are also provided.

If you do not wish to build Apache Guacamole entirely from source, pre-built versions of the web application (.war) and all extensions are provided here in binary form for convenience. Please note that guacamole-server must still be built and installed from source.

Release notes

The 1.5.2 release is a bugfix release that addresses a number of miscellaneous issues, including issues with the Docker images, web application UI, and systems in FIPS mode. For a full list of all changes in this release, please see the changelog below.

The 1.5.2 release is compatible with older 1.x components. You should upgrade older components to 1.5.2 when possible, however things should continue to work correctly in the interim:

  • Extensions written for older 1.x releases can be used by 1.5.2.
  • Components written for the version of the Guacamole protocol used by older 1.x releases can be used with components of the 1.5.2 release.

Regardless of inter-component compatibility, some Docker environment variables are now deprecated as of 1.5.2. Please see the deprecation / compatibility notes section for more information.


User interface / platform

  • Error handling issues in stream processing code in Angular frontend (GUACAMOLE-1571)
  • Connections in background tabs may disconnect if throttled by Chrome/Safari (GUACAMOLE-1687)
  • User “Account Restrictions” time zone cannot be cleared (GUACAMOLE-1728)
  • Scope watches on session storage may trigger AngularJS “infdig” error (GUACAMOLE-1745)
  • Authentication rejections without an interactive login result in a white screen (GUACAMOLE-1756)

Docker images

  • Typo on specified environment variable postgres_auto_create_accounts (GUACAMOLE-1572)
  • Docker image of guacamole client is missing unzip (GUACAMOLE-1628)
  • Docker build cannot download from libwebsockets.org (GUACAMOLE-1791)

Authentication, integration, and storage

  • Hitting 2100 SQLServer query parameter limit with large user base (GUACAMOLE-1253)
  • UserGroup Attributes not getting picked from the ModelUserGroup instead is picked from Model User (GUACAMOLE-1606)
  • KsmRecordService.getField() may throw a NullPointerException if getCustom() returns null (GUACAMOLE-1769)

Protocol support / guacd

  • Self built guacd, Release 1.4.0 segfaults on RDP-Disconnect (GUACAMOLE-1505)
  • SSH Connections not working when FIPS mode is enabled on guacd host (GUACAMOLE-1669)
  • RDP NLA security mode incompatible with FIPS (GUACAMOLE-1674)
  • Cursor Improperly Initialized when Connecting to Gnome Remote Desktop via RDP (GUACAMOLE-1717)



  • Document Dependency Package Error (GUACAMOLE-1662)
  • Documentation: Link to PostgreSQL JDBC drvier is not correct any more (GUACAMOLE-1727)
  • X11 Keysym docs in protocol reference section of GUG points to dead page (GUACAMOLE-1787)

General housekeeping and cleanup

  • Incorrect instruction element length handle because of Java’s char type (GUACAMOLE-615)
  • Missing winpr/file.h includes (GUACAMOLE-1436)
  • “uuid” property of Guacamole.ChainedTunnel may not be initialized (GUACAMOLE-1562)
  • The frontend unnecessarily sends the auth token to the /api/patches endpoint (GUACAMOLE-1579)
  • mouse_mask not properly initialized within guac_terminal (GUACAMOLE-1595)
  • Typo mistake: Some wrong comments (GUACAMOLE-1636)
  • Auth token as a parameter in “session/tunnels/<tunnel ID>/protocol” request (GUACAMOLE-1775)
  • guac_user instances must only be referenced from user callbacks (GUACAMOLE-1784)
  • Build fails against Maven 3.9.x (GUACAMOLE-1788)
  • Update webapp dependencies to latest stable and compatible versions (GUACAMOLE-1786)

Deprecation / Compatibility notes

Each 1.x release of Apache Guacamole should be compatible with components of older 1.x releases. This compatibility is intended at the Guacamole protocol level and at the extension level, but not necessarily at the API level. This means:

  • Extensions from older 1.x releases should still work in binary form, but may need code changes before their source will build against a newer version of guacamole-ext.
  • Software which uses the Guacamole protocol of an older 1.x release should still work.
  • Software which uses libguac from an older 1.x release should still work by continuing to use the libguac from that release, as newer versions of libguac may not be API/ABI compatible. In the case of third-party protocol support plugins for guacd, this means that the guacd from that release must also be used. Compatibility with respect to libguac is represented by the soname.
  • You should update to newer versions where applicable and when possible.

As of 1.5.2, the following changes have been made which affect compatibility with past releases:


All Docker environment variables used by the guacamole/guacamole image that relate to PostgreSQL have historically been named with the prefix “POSTGRES_”. As of 1.5.2, these variables now use the prefix “POSTGRESQL_” for consistency with guacamole.properties.

Continued usage of the old POSTGRES_* variables will still work, however a warning will be printed in the Docker logs regarding their deprecation. Existing deployments that still use POSTGRES_* should be migrated to POSTGRESQL_* when possible.

  • Typo on specified environment variable postgres_auto_create_accounts (GUACAMOLE-1572)