You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by mj...@apache.org on 2023/02/14 23:13:44 UTC
[guacamole-website] branch asf-site updated: Deploy draft release notes for 1.5.0-RC1.
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 <mj...@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>