blob: b9ecd1e464c910f334765168cc6271df8264472a [file] [log] [blame]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="/styles/main.css?s=1714581448">
<link rel="icon" type="image/svg+xml" href="/images/logos/guac-classic-logo.svg"/>
<link rel="icon" type="image/png" href="/images/logos/guac-classic-logo-64.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi"/>
<meta charset="UTF-8"/>
<title>Apache Guacamole™: 1.5.0</title>
</head>
<body class="">
<!-- Header -->
<div id="header">
<div class="readable-content">
<h1><a href="/">Apache Guacamole™</a></h1>
<ul id="navigation" class="menu">
<li>
<a href="/releases/"
class="releases"
>Release Archives</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Documentation</a>
<ul class="dropdown-menu">
<li>
<a href="/faq/"
>FAQ</a>
</li>
<li>
<a href="/api-documentation/"
>API / Development</a>
</li>
<li>
<a href="/doc/gug/"
>Guacamole Manual</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Community</a>
<ul class="dropdown-menu">
<li>
<a href="/open-source/"
>Contributing to Guacamole</a>
</li>
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="https://github.com/search?utf8=%E2%9C%93&q=repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-manual+repo%3Aapache%2Fguacamole-website&type=repositories&ref=searchresults"
>Source Code</a>
</li>
</ul>
</li>
<li>
<a href="/security/"
>Security Reports</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Support</a>
<ul class="dropdown-menu">
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="/support/#commercial-support"
>Commercial Support</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle apache"
href="#">ASF</a>
<ul class="dropdown-menu">
<li>
<a href="http://www.apache.org/"
>ASF Homepage</a>
</li>
<li>
<a href="http://www.apache.org/licenses/"
>License</a>
</li>
<li>
<a href="http://www.apache.org/foundation/thanks.html"
>Thanks</a>
</li>
<li>
<a href="http://www.apache.org/foundation/sponsorship.html"
>Sponsorship</a>
</li>
<li>
<a href="http://www.apache.org/foundation/policies/conduct.html"
>Code of Conduct</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- Content -->
<div class="fullwidth-content">
<h1 class="title">
Apache Guacamole 1.5.0
<span class="release-type">
(Archived)
</span>
</h1>
<div class="readable-content">
<div class="note">
<p>Apache Guacamole 1.5.0 is an archived release, and was
originally released on 2023-02-18. <strong>The
latest release of Apache Guacamole is <a href="/releases/1.5.5/">1.5.5</a>.</strong></p>
</div>
<div id="links">
<h2>Release documentation</h2>
<ul>
<li><a href="/doc/1.5.0/gug">Manual</a></li>
<li><a href="/doc/1.5.0/guacamole-common">guacamole-common</a></li>
<li><a href="/doc/1.5.0/guacamole-common-js">guacamole-common-js</a></li>
<li><a href="/doc/1.5.0/guacamole-ext">guacamole-ext</a></li>
<li><a href="/doc/1.5.0/libguac">libguac</a></li>
<li><a href="/doc/1.5.0/libguac-terminal">libguac-terminal</a></li>
</ul>
</div>
<p>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.</p>
<p>You <strong>must</strong> <a href="https://www.apache.org/info/verification.html">
verify the integrity of any downloaded files</a> using the OpenPGP signatures
we provide with each release. The signatures should be verified against the
<a href="https://downloads.apache.org/guacamole/KEYS">KEYS</a>
file, which contains the OpenPGP keys of Apache Guacamole's Release Managers.
Checksums of each released file are also provided.</p>
<!-- Source archives -->
<div class="release-downloads">
<table>
<tr>
<th>Filename</th>
<th>Signatures / Hashes</th>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-client-1.5.0.tar.gz">guacamole-client-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-client-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-client-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-server-1.5.0.tar.gz">guacamole-server-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-server-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/source/guacamole-server-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
</table>
</div>
<p>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. <strong>Please note that guacamole-server must
still be built and installed from source.</strong></p>
<!-- All binaries -->
<div class="release-downloads">
<table>
<tr>
<th>Filename</th>
<th>Signatures / Hashes</th>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-1.5.0.war">guacamole-1.5.0.war</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-1.5.0.war.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-1.5.0.war.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-duo-1.5.0.tar.gz">guacamole-auth-duo-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-duo-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-duo-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-header-1.5.0.tar.gz">guacamole-auth-header-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-header-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-header-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz">guacamole-auth-jdbc-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-json-1.5.0.tar.gz">guacamole-auth-json-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-json-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-json-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-ldap-1.5.0.tar.gz">guacamole-auth-ldap-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-ldap-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-ldap-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-quickconnect-1.5.0.tar.gz">guacamole-auth-quickconnect-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-quickconnect-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-quickconnect-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-sso-1.5.0.tar.gz">guacamole-auth-sso-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-sso-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-sso-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-totp-1.5.0.tar.gz">guacamole-auth-totp-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-totp-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-auth-totp-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-history-recording-storage-1.5.0.tar.gz">guacamole-history-recording-storage-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-history-recording-storage-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-history-recording-storage-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
<tr>
<td class="filename"><a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-vault-1.5.0.tar.gz">guacamole-vault-1.5.0.tar.gz</a></td>
<td class="signatures">
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-vault-1.5.0.tar.gz.asc">PGP</a>
<a href="https://archive.apache.org/dist/guacamole/1.5.0/binary/guacamole-vault-1.5.0.tar.gz.sha256">SHA-256</a>
</td>
</tr>
</table>
</div>
<!-- Release notes -->
<div id="release-notes">
<h1>Release notes</h1>
<p>The 1.5.0 release features support for in-browser playback of session
recordings, retrieving secrets from key vaults, SSH support for elliptic-curve
cryptography (ECC) keys, and support for authenticating against multiple LDAP
or Active Directory servers. Users also will now automatically receive
notification of users joining a shared connection, including when
administrators join an active connection via the “Active Sessions” screen.</p>
<p>For a full list of all changes in this release, please see the
<a href="#changelog">changelog</a>.</p>
<p><strong>The 1.5.0 release is compatible with older 1.x components.</strong> You should
upgrade older components to 1.5.0 when possible, however things should continue
to work correctly in the interim:</p>
<ul>
<li>Extensions written for older 1.x releases can be used by 1.5.0.</li>
<li>Components written for the version of the Guacamole protocol used by older
1.x releases can be used with components of the 1.5.0 release.</li>
</ul>
<p>Regardless of inter-component compatibility, <strong>there are changes in 1.5.0 which
may affect downstream users of Guacamole’s APIs</strong>. Please see the <a href="#deprecation--compatibility-notes">deprecation
/ compatibility notes</a> section for more
information.</p>
<h2 id="recording-playback">In-application playback of recordings</h2>
<p>Guacamole now supports <a href="/doc/1.5.0/gug/recording-playback.html">playback of session recordings directly within the web
application</a>. An extension is provided
that, if installed, defines a standard location and naming convention for
session recordings that allows those recordings to be associated with
connection history entries:</p>
<p><img src="/doc/1.5.0/gug/_images/history-table-with-recordings.png" alt="The Guacamole history UI showing available session recordings." /></p>
<p>Any user with sufficient permissions to see those
history entries will then be able to directly open the recording in an
in-browser player by clicking a link next to the history entry in the “History”
screen of the administration interface:</p>
<p><img src="/doc/1.5.0/gug/_images/recording-player-in-use.png" alt="The in-application Guacamole session recording player being used." /></p>
<h2 id="key-vaults">Support for retrieving secrets from key vaults</h2>
<p>Secrets for both connection parameters and properties within
<code class="language-plaintext highlighter-rouge">guacamole.properties</code> can now be <a href="/doc/1.5.0/gug/vault.html">retrieved from key vaults</a>,
with initial support for <a href="https://www.keepersecurity.com/secrets-manager.html" rel="nofollow">Keeper Secrets Manager (KSM)</a>.
Leveraging parameter tokens, the administrator can <a href="/doc/1.5.0/gug/vault.html#automatic-injection-of-secrets-based-on-connection-parameters">configure connections to
automatically pull secrets like passwords or private keys from the vault</a>
based on the connection’s username, the hostname, or other criteria. Custom
tokens can also be defined for arbitrary secrets in the vault.</p>
<h2 id="share-notification">Notification when users join a session</h2>
<p>As of 1.5.0, users of a connection that is shared with other users will receive
a notification when those users join the connection, and will see a counter of
the number of other users currently present in the upper-right corner of the
display:</p>
<p><img src="/images/releases/1.5.0/session-join-notification.png" alt="Count of current users of shared session, including a notification showing
that &quot;guacadmin&quot; has joined." /></p>
<p>This notification and counter displays both users that have joined due to a
share link and administrators that have joined by clicking on the connection
within the “Active Sessions” screen. Users can at any time hover the mouse over
the counter to see which users are currently present:</p>
<p><img src="/images/releases/1.5.0/shared-session-tooltip.png" alt="Tooltip showing the current users of a shared session." /></p>
<h2 id="ecc-keys">SSH support for ECC keys</h2>
<p>As long as libssh2 1.9.0 or later is installed, Guacamole supports using
elliptic curve cryptography (ECC) private keys for SSH and SFTP connections,
including keys in OpenSSH format. This support relies on libssh2’s support for
the same capability, so the libssh2 version must be at least 1.9.0. If your
distribution does not provide a libssh2 package that is recent enough, you will
need to either <a href="https://www.libssh2.org/">build libssh2 from source</a> or <a href="/doc/1.5.0/gug/guacamole-docker.html#running-the-guacd-docker-image">use
the <code class="language-plaintext highlighter-rouge">guacamole/guacd</code> Docker image</a>.</p>
<h2 id="multi-ldap">Multiple LDAP servers</h2>
<p>Guacamole can now consider <a href="/doc/1.5.0/gug/ldap-auth.html#using-multiple-ldap-servers">multiple LDAP or Active Directory servers for
authentication</a>,
attempting to authenticate the user against each defined LDAP server until
authentication is successful or no servers remain.</p>
<p>The specific LDAP server that applies can also be narrowed before trying any
servers at all by using username patterns, if part of the username can
reasonably be used to determine this. An example where this might be the case
would be usernames of the form <code class="language-plaintext highlighter-rouge">DOMAIN\user</code> or <code class="language-plaintext highlighter-rouge">user@DOMAIN</code>.</p>
<h1 id="changelog">Changelog</h1>
<h3 id="user-interface--platform">User interface / platform</h3>
<ul>
<li>See recordings by clicking on history record (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-462">GUACAMOLE-462</a>)</li>
<li class="bug">web browser could not play large size of session recording file as 1G size. (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-896">GUACAMOLE-896</a>)</li>
<li class="bug">Additional permissions from groups do not affect user home screen (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1275">GUACAMOLE-1275</a>)</li>
<li>Alert users when admins connect to their session (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1293">GUACAMOLE-1293</a>)</li>
<li>Allow bundling of library .jar files within extensions (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1508">GUACAMOLE-1508</a>)</li>
<li>Provide better CSS/structural context for branding and theming extensions (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1509">GUACAMOLE-1509</a>)</li>
<li>Automatically trim trailing whitespace from guacamole.properties values (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1511">GUACAMOLE-1511</a>)</li>
<li class="bug">Cannot copy/paste into admin fields if local clipboard integration is unavailable (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1523">GUACAMOLE-1523</a>)</li>
<li class="bug">SessionRecording “onload” event fires twice (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1545">GUACAMOLE-1545</a>)</li>
</ul>
<h3 id="docker-images">Docker images</h3>
<ul>
<li>Docker: Allow configuring Tomcat's RemoteIPValve (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1005">GUACAMOLE-1005</a>)</li>
<li>SAML environment variables (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1322">GUACAMOLE-1322</a>)</li>
<li>Support setting “openid-groups-claim-type” property via Docker environment variable (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1394">GUACAMOLE-1394</a>)</li>
<li>Add support of SQL Server JDBC plugin in Docker Image (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1418">GUACAMOLE-1418</a>)</li>
<li class="bug">Docker implementation, The authentication type 10 is not supported. (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1433">GUACAMOLE-1433</a>)</li>
<li>Make api-session-timeout adaptable in Docker(<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1475">GUACAMOLE-1475</a>)</li>
<li class="bug">Fix environment name of GUACD_PORT (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1491">GUACAMOLE-1491</a>)</li>
<li>Enable configuration of of the ‘extension-priority’ parameter via environment variable (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1507">GUACAMOLE-1507</a>)</li>
<li>“FATAL: No authentication configured” when using the auth-json extension (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1539">GUACAMOLE-1539</a>)</li>
<li>Update libssh2 version within guacd Docker image to fix SSH key extraction problems (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1540">GUACAMOLE-1540</a>)</li>
</ul>
<h3 id="authentication-integration-and-storage">Authentication, integration, and storage</h3>
<ul>
<li>Support storage of sensitive data within key vaults (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-641">GUACAMOLE-641</a>)</li>
<li>Add support for querying multiple LDAP servers (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-957">GUACAMOLE-957</a>)</li>
<li class="bug">SSL communication by mariadb connector/J is not possible (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1453">GUACAMOLE-1453</a>)</li>
</ul>
<h3 id="protocol-support--guacd">Protocol support / guacd</h3>
<ul>
<li>Add support for OpenSSH private key format (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-745">GUACAMOLE-745</a>)</li>
<li>Add support for ED25519 SSH keys (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-746">GUACAMOLE-746</a>)</li>
<li class="bug">RDP “reconnect” resizing breaks RDPDR (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-876">GUACAMOLE-876</a>)</li>
<li class="bug">RDP print process may hang (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1115">GUACAMOLE-1115</a>)</li>
<li class="bug">An improper locking bug (e.g., resource leak) due to unreleased lock (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1416">GUACAMOLE-1416</a>)</li>
<li class="bug">FreeRDP DVCPluginEntry returns UINT for all 2.0 versions (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1435">GUACAMOLE-1435</a>)</li>
<li class="bug">SSH public key authentication fails with “Unable to extract public key from private key” (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1504">GUACAMOLE-1504</a>)</li>
<li>libguac-terminal should be a shared library (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1538">GUACAMOLE-1538</a>)</li>
<li>Shared recording functionality should be public (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1543">GUACAMOLE-1543</a>)</li>
</ul>
<h3 id="internationalization">Internationalization</h3>
<ul>
<li>Polish keyboard layout (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1495">GUACAMOLE-1495</a>)</li>
</ul>
<h3 id="documentation">Documentation</h3>
<ul>
<li class="bug">Documentation inconsistency regarding Docker setup (environment) (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1406">GUACAMOLE-1406</a>)</li>
</ul>
<h3 id="general-housekeeping-and-cleanup">General housekeeping and cleanup</h3>
<ul>
<li class="bug">guacenc build fails against FFmpeg 4.4 (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1330">GUACAMOLE-1330</a>)</li>
<li class="bug">Some typo mistakes in some source files (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1446">GUACAMOLE-1446</a>)</li>
<li>Update Java/JavaScript dependencies for 1.5.0 (<a href="https://issues.apache.org/jira/browse/GUACAMOLE-1594">GUACAMOLE-1594</a>)</li>
</ul>
<h1 id="deprecation--compatibility-notes">Deprecation / Compatibility notes</h1>
<p>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:</p>
<ul>
<li>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.</li>
<li>Software which uses the Guacamole protocol of an older 1.x release should
still work.</li>
<li>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
<a href="https://en.wikipedia.org/wiki/Soname">soname</a>.</li>
<li>You should update to newer versions where applicable and when possible.</li>
</ul>
<p>As of 1.5.0, the following changes have been made which affect compatibility
with past releases:</p>
<h2 id="libguac-api-changes">libguac API changes</h2>
<h3 id="name-added-to-guac_user_info-structure"><code class="language-plaintext highlighter-rouge">name</code> added to <code class="language-plaintext highlighter-rouge">guac_user_info</code> structure</h3>
<p>A new <code class="language-plaintext highlighter-rouge">name</code> member has been added to <code class="language-plaintext highlighter-rouge">guac_user_info</code> to allow
implementations to retrieve the optional human-readable name received during
the connection handshake, affecting the size of this structure.</p>
<p>Additionally, because <code class="language-plaintext highlighter-rouge">guac_user_info</code> forms a part of <code class="language-plaintext highlighter-rouge">guac_user</code>, this change
also affects the memory offsets of members of the <code class="language-plaintext highlighter-rouge">guac_user</code> structure which
follow the <code class="language-plaintext highlighter-rouge">info</code> member, such as <code class="language-plaintext highlighter-rouge">data</code> and various instruction handlers.</p>
<p>Downstream usages of libguac which make use of <code class="language-plaintext highlighter-rouge">guac_user</code> or <code class="language-plaintext highlighter-rouge">guac_user_info</code>
will need to be rebuilt to ensure that the structure sizes and memory offsets
used are correct.</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/GUACAMOLE-1293">GUACAMOLE-1293</a> - Alert users when admins connect to their session</li>
</ul>
</div>
</div>
</div>
<!-- Footer -->
<div id="footer">
<div class="readable-content">
<!-- Copyrights -->
<p class="copyright">
Copyright &copy; 2024 <a href="http://www.apache.org/">The Apache
Software Foundation</a>, Licensed under the <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache License,
Version 2.0</a>.
</p>
<!-- Trademarks -->
<p class="trademarks">
Apache Guacamole, Guacamole, Apache, the Apache feather logo, and the
Apache Guacamole project logo are trademarks of The Apache Software
Foundation.
</p>
</div>
</div>
<!-- jQuery -->
<script src="/scripts/jquery.min.js" type="text/javascript"></script>
<!-- Dropdown toggle -->
<script src="/scripts/dropdown.js" type="text/javascript"></script>
</body>
</html>