This is an automated email from the ASF dual-hosted git repository. mjumper pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/guacamole-website.git
The following commit(s) were added to refs/heads/asf-site by this push: new 0c50a457 Deploy draft release notes for 1.5.0-RC1. 0c50a457 is described below commit 0c50a45795d02e862dae4bbb1f4015b910732ad1 Author: Michael Jumper <mjum...@apache.org> AuthorDate: Tue Feb 14 15:13:09 2023 -0800 Deploy draft release notes for 1.5.0-RC1. --- content/images/session-join-notification.png | Bin 0 -> 15827 bytes content/images/shared-session-tooltip.png | Bin 0 -> 12902 bytes content/releases/1.5.0/index.html | 1047 ++++++++++++++++++++++++++ 3 files changed, 1047 insertions(+) diff --git a/content/images/session-join-notification.png b/content/images/session-join-notification.png new file mode 100644 index 00000000..9425b0f8 Binary files /dev/null and b/content/images/session-join-notification.png differ diff --git a/content/images/shared-session-tooltip.png b/content/images/shared-session-tooltip.png new file mode 100644 index 00000000..f4a1ecd3 Binary files /dev/null and b/content/images/shared-session-tooltip.png differ diff --git a/content/releases/1.5.0/index.html b/content/releases/1.5.0/index.html new file mode 100644 index 00000000..288d355a --- /dev/null +++ b/content/releases/1.5.0/index.html @@ -0,0 +1,1047 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml"> + + <head> + <link rel="stylesheet" href="/styles/main.css?s=2e802ec8ebf673f18506558bd1588311"> + <link rel="icon" type="image/png" href="/images/guacamole-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> + + <!-- Header --> +<div id="header"> + <h1><a href="/">Apache Guacamole™</a></h1> + <ul id="navigation" class="menu"> + + + + + + + + + + <li> + <a href="/releases/" + + class="download" + >Downloads</a> + </li> + + + + + + + + + + + + + + + <li class="dropdown"> + + <a class="dropdown-toggle " + href="#">Docs</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="https://github.com/search?utf8=%E2%9C%93&q=repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-website&type=Repositories&ref=searchresults" + >GitHub</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li> + <a href="/open-source/" + >Contributing</a> + </li> + + + + + + + + + <li> + <a href="/support/" + >Help / Support</a> + </li> + + + + + + </ul> + </li> + + + + + + + + + + + + + + + <li> + <a href="https://issues.apache.org/jira/browse/GUACAMOLE/" + >JIRA</a> + </li> + + + + + + + + + + + + <li> + <a href="/security/" + >Security Reports</a> + </li> + + + + + + + + + <li class="dropdown"> + + <a class="dropdown-toggle apache" + href="#">Apache Software Foundation</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> + + + <!-- Content --> + <div id="page"> + <div id="content"> + + <div class="draft-disclaimer"> + <p><strong>Apache Guacamole 1.5.0 has not yet been + released!</strong> The artifacts and release notes below are drafts for + a proposed release of Apache Guacamole which has not yet occurred.</p> + </div> + + + + +<h1>Apache Guacamole 1.5.0</h1> + +<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> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/source/guacamole-client-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-client-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-client-1.5.0.tar.gz' + )">guacamole-client-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/source/guacamole-client-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/source/guacamole-client-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/source/guacamole-server-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-server-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-server-1.5.0.tar.gz' + )">guacamole-server-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/source/guacamole-server-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/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> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-1.5.0.war" + onclick="trackDownload( + 'click', + 'guacamole-1.5.0.war' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-1.5.0.war' + )">guacamole-1.5.0.war</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-1.5.0.war.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-1.5.0.war.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-duo-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-duo-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-duo-1.5.0.tar.gz' + )">guacamole-auth-duo-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-duo-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-duo-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-header-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-header-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-header-1.5.0.tar.gz' + )">guacamole-auth-header-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-header-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-header-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-jdbc-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-jdbc-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-jdbc-1.5.0.tar.gz' + )">guacamole-auth-jdbc-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-jdbc-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-jdbc-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-json-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-json-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-json-1.5.0.tar.gz' + )">guacamole-auth-json-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-json-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-json-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-ldap-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-ldap-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-ldap-1.5.0.tar.gz' + )">guacamole-auth-ldap-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-ldap-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-ldap-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-quickconnect-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-quickconnect-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-quickconnect-1.5.0.tar.gz' + )">guacamole-auth-quickconnect-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-quickconnect-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-quickconnect-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-sso-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-sso-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-sso-1.5.0.tar.gz' + )">guacamole-auth-sso-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-sso-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-sso-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-totp-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-auth-totp-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-auth-totp-1.5.0.tar.gz' + )">guacamole-auth-totp-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-totp-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-auth-totp-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-history-recording-storage-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-history-recording-storage-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-history-recording-storage-1.5.0.tar.gz' + )">guacamole-history-recording-storage-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-history-recording-storage-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-history-recording-storage-1.5.0.tar.gz.sha256">SHA-256</a> ]</td> + + </tr> + + <tr> + + + <td><a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-vault-1.5.0.tar.gz" + onclick="trackDownload( + 'click', + 'guacamole-vault-1.5.0.tar.gz' + )" + oncontextmenu="trackDownload( + 'menu', + 'guacamole-vault-1.5.0.tar.gz' + )">guacamole-vault-1.5.0.tar.gz</a></td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/binary/guacamole-vault-1.5.0.tar.gz.asc">PGP</a> ]</td> + + + <td>[ <a href="https://dist.apache.org/repos/dist/dev/guacamole/1.5.0-RC1/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/session-join-notification.png" alt="Count of current users of shared session, including a notification showing +that "guacadmin" 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/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"> + + <!-- Copyrights --> + <p class="copyright"> + Copyright © 2020 <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>. The HTML5 shield logo has been modified from the + original work of the <a + href="http://www.w3.org/">World Wide Web Constortium (W3C)</a>, + which is licensed under the <a + href="http://creativecommons.org/licenses/by/3.0/">Creative + Commons Attribution 3.0</a> license. + </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> + + + <!-- Google Analytics --> + <script type="text/javascript"> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-75289145-1', 'auto'); + ga('send', 'pageview'); + </script> + + <!-- Download tracking helper function --> + <script type="text/javascript"> + + /** + * Signals Google Analytics that a file is being downloaded (or, at + * least, we expect that it is). Note that it is not possible to + * determine this with 100% certainty without grepping server logs, + * but this should still at least help gauge interest/usage. + * + * @param {String} action + * A human-readable string describing the user event which + * occurred to initiate the download. + * + * @param {String} filename + * The filename of the file being downloaded. + */ + function trackDownload(action, filename) { + ga('send', 'event', { + eventCategory : 'Download', + eventAction : action, + eventLabel : filename, + transport : 'beacon' + }); + } + + </script> + + <!-- jQuery --> + <script src="/scripts/jquery.min.js" type="text/javascript"></script> + + <!-- Dropdown toggle --> + <script src="/scripts/dropdown.js" type="text/javascript"></script> + + </body> +</html>