Repository: guacamole-website
Updated Branches:
  refs/heads/master 572bafdfa -> 0e7f3de02


Add draft release notes for first RC of 1.0.0.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-website/commit/04444fc7
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-website/tree/04444fc7
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-website/diff/04444fc7

Branch: refs/heads/master
Commit: 04444fc74a5a7e661ca34caa88087eedb32e8717
Parents: 572bafd
Author: Michael Jumper <[email protected]>
Authored: Sun Dec 9 23:08:05 2018 -0800
Committer: Michael Jumper <[email protected]>
Committed: Mon Dec 31 16:31:07 2018 -0800

----------------------------------------------------------------------
 _releases/1.0.0.md | 409 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 409 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/04444fc7/_releases/1.0.0.md
----------------------------------------------------------------------
diff --git a/_releases/1.0.0.md b/_releases/1.0.0.md
new file mode 100644
index 0000000..f76da78
--- /dev/null
+++ b/_releases/1.0.0.md
@@ -0,0 +1,409 @@
+---
+
+released: false
+title: 1.0.0
+date: 2018-12-20 22:00:00 -0800
+summary: >
+    User groups, improved clipboard integration, TOTP (Google Authenticator),
+    RADIUS, dead keys.
+
+artifact-root: "https://dist.apache.org/repos/dist/dev/";
+checksum-root: "https://dist.apache.org/repos/dist/dev/";
+download-path: "guacamole/1.0.0-RC1/"
+
+source-dist:
+    - "source/guacamole-client-1.0.0.tar.gz"
+    - "source/guacamole-server-1.0.0.tar.gz"
+
+binary-dist:
+    - "binary/guacamole-1.0.0.war"
+    - "binary/guacamole-auth-cas-1.0.0.tar.gz"
+    - "binary/guacamole-auth-duo-1.0.0.tar.gz"
+    - "binary/guacamole-auth-header-1.0.0.tar.gz"
+    - "binary/guacamole-auth-jdbc-1.0.0.tar.gz"
+    - "binary/guacamole-auth-ldap-1.0.0.tar.gz"
+    - "binary/guacamole-auth-openid-1.0.0.tar.gz"
+    - "binary/guacamole-auth-quickconnect-1.0.0.tar.gz"
+    - "binary/guacamole-auth-totp-1.0.0.tar.gz"
+
+documentation:
+    "Manual"              : "/doc/1.0.0/gug"
+    "guacamole-common"    : "/doc/1.0.0/guacamole-common"
+    "guacamole-common-js" : "/doc/1.0.0/guacamole-common-js"
+    "guacamole-ext"       : "/doc/1.0.0/guacamole-ext"
+    "libguac"             : "/doc/1.0.0/libguac"
+
+---
+
+The 1.0.0 release features support for user groups, improved clipboard
+integration leveraging the Asynchronous Clipboard API, as well as support for
+TOTP (Google Authenticator), RADIUS, and dead keys.
+
+**This release contains changes which break compatibility with past releases.**
+Please see the [deprecation / compatibility
+notes](#deprecation--compatibility-notes) section for more information.
+
+
+New features and improvements
+-----------------------------
+
+### Support for user groups
+
+Guacamole now supports granting permissions based on group membership. While
+this has been supported to a degree for some time via LDAP and the `seeAlso`
+attribute, groups can now be defined and used within a database, with LDAP and
+a database combined, or within other extensions using Guacamole's extension
+API.
+
+ * [GUACAMOLE-220](https://issues.apache.org/jira/browse/GUACAMOLE-220) - 
Implement user groups
+
+### Clipboard integration with the Asynchronous Clipboard API
+
+For browsers which implement the [Asynchronous Clipboard
+API](https://www.w3.org/TR/clipboard-apis/#async-clipboard-api), Guacamole will
+now automatically synchronize the local and remote clipboards. Users will be
+prompted to grant clipboard access upon opening Guacamole, and Guacamole will
+synchronize the clipboard if access is granted.
+
+This API [has been implemented in Google Chrome since version
+66](https://developers.google.com/web/updates/2018/03/clipboardapi), and other
+browsers will likely follow suit. The legacy synchronous clipboard API will
+continue to be used as a fallback for browsers that support clipboard access
+but lack support for the newer API (Internet Explorer).
+
+ * [GUACAMOLE-559](https://issues.apache.org/jira/browse/GUACAMOLE-559) - Add 
support for the new Asynchronous Clipboard API
+
+### Multi-factor authentication with Google Authenticator / TOTP
+
+Guacamole now has support for TOTP as an additional authentication factor.
+TOTP ([Time-based One-Time 
Password](https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm))
+is a [standardized algorithm](https://tools.ietf.org/html/rfc6238) used for
+multi-factor authentication. With this new support, Guacamole may be used with
+any application or authentication device which supports the TOTP standard,
+including the popular Google Authenticator.
+
+ * [GUACAMOLE-96](https://issues.apache.org/jira/browse/GUACAMOLE-96) - Two 
factor authentication with Google Authenticator
+
+### Support for RADIUS authentication
+
+RADIUS support has been added, allowing Guacamole to delegate authentication to
+a RADIUS service like FreeRADIUS for validating credentials, enforcing multiple
+authentication factors, etc.
+
+Because the RADIUS library used by this support is licensed under the LGPL, a
+convenience binary for this extension is not provided. If you wish to use the
+RADIUS support, you will need to [build guacamole-client from
+source](/doc/1.0.0/gug/installing-guacamole.html) and explicitly enable that
+part of the build with `-P`:
+
+    mvn package -Plgpl-extensions
+
+Instructions for building this support are [provided in the
+manual](/doc/1.0.0/gug/radius-auth.html).
+
+ * [GUACAMOLE-197](https://issues.apache.org/jira/browse/GUACAMOLE-197) - 
Implement Support for RADIUS Authentication
+
+### Support for creating ad-hoc connections
+
+An extension is now provided which allows users to create arbitrary, temporary
+connections through entering a URL. This ability can be quite convenient, as
+users need not create new connections through the administrative interface in
+order to quickly access a particular machine.
+
+Be sure you understand the [security implications of providing this level of
+access](/doc/1.0.0/gug/adhoc-connections.html). A Guacamole connection
+implicitly has network and filesystem access to the Guacamole server, thus
+providing this ability is equivalent to granting your users those privileges.
+
+ * [GUACAMOLE-38](https://issues.apache.org/jira/browse/GUACAMOLE-38) - 
On-Demand connection
+
+### Improved keyboard handling / Support for dead keys
+
+ * [GUACAMOLE-161](https://issues.apache.org/jira/browse/GUACAMOLE-161) - 
Handle CapsLock events properly on Mac OS
+ * [GUACAMOLE-232](https://issues.apache.org/jira/browse/GUACAMOLE-232) - 
Stuck keys iPad/Bluetooth keyboard (Return/Backspace/Space)
+ * [GUACAMOLE-352](https://issues.apache.org/jira/browse/GUACAMOLE-352) - Add 
support for dead keys
+ * [GUACAMOLE-447](https://issues.apache.org/jira/browse/GUACAMOLE-447) - 
Certain keys fail for external keyboards on iOS Safari
+
+### Automatic connection behavior
+
+ * [GUACAMOLE-508](https://issues.apache.org/jira/browse/GUACAMOLE-508) - 
Automatically connect only if user lacks access to settings
+
+### Support for renaming RDP drive and printer 
+
+ * [GUACAMOLE-445](https://issues.apache.org/jira/browse/GUACAMOLE-445) - 
Allow RDP printer name to be configured
+ * [GUACAMOLE-446](https://issues.apache.org/jira/browse/GUACAMOLE-446) - 
Allow RDP drive name to be configured
+ * [GUACAMOLE-523](https://issues.apache.org/jira/browse/GUACAMOLE-523) - Use 
client_name for redirected devices
+
+### Configurable terminal color schemes
+
+ * [GUACAMOLE-470](https://issues.apache.org/jira/browse/GUACAMOLE-470) - Make 
individual terminal colors configurable through "color-scheme" parameter
+
+### Optional recording of input events
+
+ * [GUACAMOLE-313](https://issues.apache.org/jira/browse/GUACAMOLE-313) - 
Allow input events within session recording
+
+### SSH host key verification
+
+ * [GUACAMOLE-527](https://issues.apache.org/jira/browse/GUACAMOLE-527) - Add 
parameter for specifying known SSH/SFTP server host key
+
+### Automatic detection of network issues
+
+ * [GUACAMOLE-567](https://issues.apache.org/jira/browse/GUACAMOLE-567) - 
Network connection problem acknowledgement/feedback
+
+### Support for configuring Guacamole with environment variables
+
+ * [GUACAMOLE-464](https://issues.apache.org/jira/browse/GUACAMOLE-464) - 
Extension configuration properties from the OS environment
+
+### Improvements to `guacamole/guacd` and `guacamole/guacamole` Docker images
+
+ * [GUACAMOLE-42](https://issues.apache.org/jira/browse/GUACAMOLE-42) - 
Support setting guacd log level on Docker container
+ * [GUACAMOLE-407](https://issues.apache.org/jira/browse/GUACAMOLE-407) - 
Update guacd Docker image to build against more recent dependencies
+ * [GUACAMOLE-450](https://issues.apache.org/jira/browse/GUACAMOLE-450) - 
Change Tomcat Version in Dockerfile to major release
+ * [GUACAMOLE-553](https://issues.apache.org/jira/browse/GUACAMOLE-553) - 
Docker image need a new MySQL JDBC driver for MySQL 8.0
+
+### General usability improvements
+
+ * [GUACAMOLE-113](https://issues.apache.org/jira/browse/GUACAMOLE-113) - Add 
Ctrl+Alt+Del hotkey
+ * [GUACAMOLE-152](https://issues.apache.org/jira/browse/GUACAMOLE-152) - 
Difficult to reach specific zoom levels
+ * [GUACAMOLE-304](https://issues.apache.org/jira/browse/GUACAMOLE-304) - 
Clicking area to open connection
+ * [GUACAMOLE-351](https://issues.apache.org/jira/browse/GUACAMOLE-351) - 
Version parameter for guacd
+
+### General improvements to terminal behavior
+
+ * [GUACAMOLE-269](https://issues.apache.org/jira/browse/GUACAMOLE-269) - Add 
support for alternative backspace/delete control codes
+ * [GUACAMOLE-564](https://issues.apache.org/jira/browse/GUACAMOLE-564) - Hide 
APC escape sequence for terminal
+ * [GUACAMOLE-565](https://issues.apache.org/jira/browse/GUACAMOLE-565) - Add 
terminal type parameter
+
+### Support for systemd
+
+ * [GUACAMOLE-30](https://issues.apache.org/jira/browse/GUACAMOLE-30) - Add 
Systemd init script for guacd-server
+
+### Control of RDP bitmap and glyph caching
+
+ * [GUACAMOLE-448](https://issues.apache.org/jira/browse/GUACAMOLE-448) - Add 
parameters for controlling RDP bitmap/glyph/off-screen caching
+
+Internationalization
+--------------------
+
+### Additional RDP keymaps
+
+ * [GUACAMOLE-233](https://issues.apache.org/jira/browse/GUACAMOLE-233) - Add 
Spanish keymap for RDP
+ * [GUACAMOLE-273](https://issues.apache.org/jira/browse/GUACAMOLE-273) - Add 
Portuguese Brazilian keymap for RDP
+ * [GUACAMOLE-434](https://issues.apache.org/jira/browse/GUACAMOLE-434) - Add 
UK English keymap for RDP
+ * [GUACAMOLE-481](https://issues.apache.org/jira/browse/GUACAMOLE-481) - Add 
Turkish Q keymap for RDP
+ * [GUACAMOLE-517](https://issues.apache.org/jira/browse/GUACAMOLE-517) - 
Print screen key definition missing from RDP base keymap
+
+### Spanish translation of web interface
+
+ * [GUACAMOLE-463](https://issues.apache.org/jira/browse/GUACAMOLE-463) - 
Spanish translation for Guacamole client
+ * [GUACAMOLE-530](https://issues.apache.org/jira/browse/GUACAMOLE-530) - Add 
Spanish on screen keyboard
+
+Bug fixes
+---------
+
+### Hostname / desktop name regression
+
+ * [GUACAMOLE-502](https://issues.apache.org/jira/browse/GUACAMOLE-502) - 
Hostname / desktop name replaces connection name
+
+### General connection stability
+
+ * [GUACAMOLE-324](https://issues.apache.org/jira/browse/GUACAMOLE-324) - 
Incorrect buffer used in socket write
+ * [GUACAMOLE-384](https://issues.apache.org/jira/browse/GUACAMOLE-384) - 
Terminal writes during disconnect may segfault
+ * [GUACAMOLE-424](https://issues.apache.org/jira/browse/GUACAMOLE-424) - VNC 
client segfaults if provided password is incorrect
+ * [GUACAMOLE-489](https://issues.apache.org/jira/browse/GUACAMOLE-489) - 
Secondary socket of "tee" socket is not threadsafe
+ * [GUACAMOLE-533](https://issues.apache.org/jira/browse/GUACAMOLE-533) - 
Automatically kill wayward guacd processes
+
+### Issues with database authentication behavior and SQL queries
+
+ * [GUACAMOLE-505](https://issues.apache.org/jira/browse/GUACAMOLE-505) - 
Individual user query fails after two or more login history entries exist
+ * [GUACAMOLE-525](https://issues.apache.org/jira/browse/GUACAMOLE-525) - 
Creating user results in "Incorrect syntax near 'LIMIT'"
+ * [GUACAMOLE-529](https://issues.apache.org/jira/browse/GUACAMOLE-529) - 
Despite the fact user account is disabled, user account can access to a welcome 
blank screen
+ * [GUACAMOLE-540](https://issues.apache.org/jira/browse/GUACAMOLE-540) - 
Discrepancy with remote_host between tables
+
+### Incorrect status reported for sessions closed by RDP server
+
+ * [GUACAMOLE-484](https://issues.apache.org/jira/browse/GUACAMOLE-484) - 
UPSTREAM_UNAVAILABLE incorrectly reported for sessions closed by RDP server
+
+### CAS authorization URI derived incorrectly
+
+ * [GUACAMOLE-457](https://issues.apache.org/jira/browse/GUACAMOLE-457) - CAS 
authentication provider omits login URI
+
+### Build issues for guacamole-server
+
+ * [GUACAMOLE-485](https://issues.apache.org/jira/browse/GUACAMOLE-485) - 
pango is required with pango support disabled
+ * [GUACAMOLE-500](https://issues.apache.org/jira/browse/GUACAMOLE-500) - 
Terminal build fails against GCC 7
+
+### Fixes for guacenc behavior and protocol implementation
+
+ * [GUACAMOLE-307](https://issues.apache.org/jira/browse/GUACAMOLE-307) - 
guacenc reports "Layer index out of bounds: -1"
+ * [GUACAMOLE-482](https://issues.apache.org/jira/browse/GUACAMOLE-482) - 
Return value of guacenc_video_flush_frame() not handled
+ * [GUACAMOLE-490](https://issues.apache.org/jira/browse/GUACAMOLE-490) - 
guacenc does not take channel mask into account for image streams
+
+### Issues specific to Internet Explorer
+
+ * [GUACAMOLE-316](https://issues.apache.org/jira/browse/GUACAMOLE-316) - IE 
Compatibility mode doesn't work
+ * [GUACAMOLE-347](https://issues.apache.org/jira/browse/GUACAMOLE-347) - IE 
may lack window.location.origin
+ * [GUACAMOLE-348](https://issues.apache.org/jira/browse/GUACAMOLE-348) - 
Stream download iframe may not exist in DOM at time of removal
+
+### Use of deprecated `navigator.getUserMedia()`
+
+ * [GUACAMOLE-237](https://issues.apache.org/jira/browse/GUACAMOLE-237) - 
navigator.getUserMedia() deprecated
+
+### Incorrect documentation for RDP `load-balance-info` parameter
+
+ * [GUACAMOLE-427](https://issues.apache.org/jira/browse/GUACAMOLE-427) - RDP 
"load-balance-info" parameter incorrectly documented
+
+### Erroneous inclusion of "guaclog" binary in source tree
+
+ * [GUACAMOLE-492](https://issues.apache.org/jira/browse/GUACAMOLE-492) - 
guaclog binary erroneously included in source tree
+
+Platform / API changes
+----------------------
+
+### **Java 8 or later is now required**
+
+ * [GUACAMOLE-497](https://issues.apache.org/jira/browse/GUACAMOLE-497) - 
Ensure guacamole-client source is compatible with Java 9
+ * [GUACAMOLE-635](https://issues.apache.org/jira/browse/GUACAMOLE-635) - 
Build against and require Java 1.8
+
+### Guacamole no longer uses cookies
+
+ * [GUACAMOLE-549](https://issues.apache.org/jira/browse/GUACAMOLE-549) - 
Store auth token within localStorage
+
+### Removal of NoAuth and other deprecated components
+
+ * [GUACAMOLE-493](https://issues.apache.org/jira/browse/GUACAMOLE-493) - 
Remove the NoAuth extension entirely
+ * [GUACAMOLE-494](https://issues.apache.org/jira/browse/GUACAMOLE-494) - 
Remove support for old, deprecated properties
+ * [GUACAMOLE-495](https://issues.apache.org/jira/browse/GUACAMOLE-495) - 
Remove support for old, deprecated portions of API
+
+### Improvements to extension API
+
+ * [GUACAMOLE-499](https://issues.apache.org/jira/browse/GUACAMOLE-499) - REST 
API Error Codes should come from GuacamoleStatus
+ * [GUACAMOLE-541](https://issues.apache.org/jira/browse/GUACAMOLE-541) - 
Webapp dependencies take precedence over bundled extension dependencies
+ * [GUACAMOLE-542](https://issues.apache.org/jira/browse/GUACAMOLE-542) - 
Provide base implementations of UserContext and AuthenticationProvider
+ * [GUACAMOLE-566](https://issues.apache.org/jira/browse/GUACAMOLE-566) - Add 
RESTExceptionWrapper support for extensions
+
+### Web application updated to AngularJS 1.6.9
+
+ * [GUACAMOLE-526](https://issues.apache.org/jira/browse/GUACAMOLE-526) - 
Update Guacamole-Client Webapp to Angular 1.6.9
+
+### Improvements to Java / JavaScript tunnel API
+
+ * [GUACAMOLE-431](https://issues.apache.org/jira/browse/GUACAMOLE-431) - 
Tunnel implementations handles close only once
+ * [GUACAMOLE-437](https://issues.apache.org/jira/browse/GUACAMOLE-437) - 
Allow to configure custom headers for Guacamole tunnels
+
+Deprecation / Compatibility notes
+=================================
+
+As of 1.0.0, the following changes have been made which affect compatibility
+with past releases:
+
+
+**Java 8 or later is now required**
+-----------------------------------
+
+TODO
+
+Database schema changes
+-----------------------
+
+The MySQL, PostgreSQL, and SQL Server schemas have changed, ...
+
+Users of the database authentication will need to run the
+`upgrade-pre-1.0.0.sql` script specific to their chosen database.
+
+Hostname logging within database
+--------------------------------
+
+The hostname/address of users logged by the database authentication backend is
+now determined entirely by the servlet container. The database authentication
+will not manually parse the `X-Forwarded-For` header, and will instead rely on
+the servlet container to perform any such parsing.
+
+If proxying Guacamole, the configuration of your servlet container should be
+updated to handle the headers set by your proxy. For Apache Tomcat, this is
+accomplished with a 
[`RemoteIpValve`](https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/valves/RemoteIpValve.html)
+in your `server.xml`.
+
+Logging of hostnames/addresses by Guacamole during the authentication process
+(as would be parsed by tools like fail2ban) is unchanged, however you will need
+to update the pattern if `RemoteIpValve` or similar are used, as the address of
+interest will likely be the rightmost address. If the user is not behind any
+additional, untrusted proxies, the address of interest will be the *only*
+address.
+
+Removal of deprecated NoAuth extension
+--------------------------------------
+
+TODO
+
+Removal of deprecated properties
+--------------------------------
+
+* `basic-user-mapping`
+* `mysql-disallow-simultaneous-connections`
+* `mysql-disallow-duplicate-connections`
+* `postgresql-disallow-simultaneous-connections`
+* `postgresql-disallow-duplicate-connections`
+
+TODO
+
+Extension API changes
+---------------------
+
+### Support for user groups
+
+TODO
+
+### The new decoration API
+
+TODO
+
+### Removal of deprecated `GuacamoleHome` and `GuacamoleProperties` classes
+
+TODO
+
+### Deprecation of `SimpleUserDirectory`, `SimpleConnectionDirectory`, and 
`SimpleConnectionGroupDirectory` classes
+
+TODO (Replaced by `SimpleDirectory`)
+
+### Deprecation of `SimpleUser` convenience constructors
+
+TODO
+
+libguac API changes
+-------------------
+
+### `guac_protocol_send_mouse()` now requires additional parameters
+
+TODO
+
+### `GUAC_INSTRUCTION_MAX_ELEMENTS` macro definition changed
+
+TODO (Affects size of `guac_parser` as well as any code referencing that macro)
+
+Java API (guacamole-common) changes
+-----------------------------------
+
+### Removal of deprecated `GuacamoleSession` class
+
+TODO
+
+### Change in definition of `GuacamoleHTTPTunnelServler.sendError()`
+
+TODO
+
+JavaScript API changes
+----------------------
+
+### Removal of deprecated `GuacamoleClient.setClipboard()` function
+
+TODO
+
+### Addition of `Guacamole.Tunnel.State.UNSTABLE` state
+
+TODO (Implementations of `onstatechange` may need to take this into account if 
unknown statuses are not simply ignored)
+
+### Internal WebSocket tunnel implementation changes
+
+TODO (New use of internal tunnel opcode for connection stability "ping" will 
affect third-party reimplementations of Guacamole's WebSocket tunnel)
+

Reply via email to