Update draft release notes for 1.0.0-RC1
diff --git a/_releases/1.0.0.md b/_releases/1.0.0.md
index f76da78..b7c90f6 100644
--- a/_releases/1.0.0.md
+++ b/_releases/1.0.0.md
@@ -119,6 +119,9 @@
 
 ### Improved keyboard handling / Support for dead keys
 
+Multiple improvements have been made to handling keyboards, including bug fixes
+for various clients and 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
@@ -126,9 +129,19 @@
 
 ### Automatic connection behavior
 
+Guacamole has a feature that, if a user has access to only a single connection,
+they will be automatically connected to it and skip the home screen.  This feature
+has been tweaked slightly so that users with elevated access to the Guacamole
+Client (Administrative, ability to create connections) will be taken to the
+home screen and not automatically taken to the connection.
+
  * [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 
+### Support for renaming RDP drive and printer
+
+A handful of changes allow for changing how the RDP protocol handles naming
+of the RDP client and redirected filesystem and printers passed through
+via Guacmaole.
 
  * [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
@@ -136,14 +149,33 @@
 
 ### Configurable terminal color schemes
 
+The Guacamole terminal now allows for finer control of terminal color
+schemes by allowing for the individual colors of a scheme to be customized.
+
  * [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 has supported recording sessions for quite some time, but input
+events were not recorded (mouse movement, mouse clicks, keyboard input, etc.).
+Options are now present for capturing the input events during session
+recording.  These events are disabled by default, for security and privacy
+reasons, but can be enabled if desired.
+
  * [GUACAMOLE-313](https://issues.apache.org/jira/browse/GUACAMOLE-313) - Allow input events within session recording
 
 ### SSH host key verification
 
+SSH host key verification is now implemented and can be enabled and configured
+within Guacamole.  In the past, Guacamole has not done any host key checking,
+and version 1.0.0 introduces that capability.  It is important to note that
+this functionality is still disabled by default - if known host keys are not
+provided, Guacamole will continue to behave as it has in the past and will not
+perform host key checking.  If host keys are provided, however, either in a
+known_hosts file within the GUACAMOLE_HOME directory on the server running
+guacd, or by passing in a parameter to the connection with the key of the
+specific server.
+
  * [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
@@ -152,10 +184,22 @@
 
 ### Support for configuring Guacamole with environment variables
 
+Support has been added for specifying any of the properties supported in the
+GUACAMOLE_HOME/guacamole.properties file by setting environment variables that
+resemble the names of the parameters.  The variables are all caps and replace
+dashes with underscores.
+
  * [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
 
+Many improvments have been made to the Docker support files for building
+and running Guacamole within Docker containers.  Most notable among these is
+that the default image for Guacamole Server has been changed from CentOS7
+to the latest Debian stable.  This allows for more recent, but still stable,
+versions of libraries to be used to support the various protocols and features
+of guacd.
+
  * [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
@@ -163,6 +207,14 @@
 
 ### General usability improvements
 
+A few changes address the usability of both the client and the server by
+adding functionality that addresses issues reported by users.  Guacamoel now
+supports Ctrl-Alt-End as a hotkey for sending Ctrl-Alt-Delete to remote systems,
+which is a widely-used hotkey among remote desktop clients.  The zoom level
+of the client can be specified more granularly, connections are easier
+to click on in the web interface, and guacd now provides a flag for
+outputting the build version.
+
  * [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
@@ -170,16 +222,33 @@
 
 ### General improvements to terminal behavior
 
+A few updates address improving compatibility of the terminal across
+different connections, particularly when dealing with non-Linux operating
+systems.  Parameters have been added for configuring the terminal type
+reported to the remote system, and for adjusting what code the backspace
+key sends.  The terminal has also been adjusted to hide escape sequences
+and control codes that were previously outputted to the screen.
+
  * [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
 
+A template systemd init script has been provided and can be built with
+Guacamole Server to allow for xyxtem startup on distributions that
+have moved from init scripts to 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
 
+Parameters have been added to RDP connections that allow for controlling
+how the RDP protocol behaves for caching bitmaps, glyphs, and off-screen
+data.  The default behavior remains un-changed, with caching of all of these
+items enabled, but, for certain scenarios where it may be desirable to
+change this behavior the parameters are present.
+
  * [GUACAMOLE-448](https://issues.apache.org/jira/browse/GUACAMOLE-448) - Add parameters for controlling RDP bitmap/glyph/off-screen caching
 
 Internationalization
@@ -187,6 +256,9 @@
 
 ### Additional RDP keymaps
 
+Several keymaps have been added or updated for better support for keyboard
+input on both the Guacamole Client side and on remote systems.
+
  * [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
@@ -195,6 +267,10 @@
 
 ### Spanish translation of web interface
 
+The entire web interface has been translated into Spanish, including section
+and field headers on the web interface, on-screen keyboard, and remote system
+support.
+
  * [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
 
@@ -203,10 +279,19 @@
 
 ### Hostname / desktop name regression
 
+An issue was corrected where the hostname or desktop name replaced the
+connection name on the tab or window title in the browser.  The behavior
+has been reverted to the desired behavior, where the connection name is
+displayed.
+
  * [GUACAMOLE-502](https://issues.apache.org/jira/browse/GUACAMOLE-502) - Hostname / desktop name replaces connection name
 
 ### General connection stability
 
+Several fixes address issues with the stability of connections opened
+with Guacamole, either between Guacamole Client and Server, or between
+Server and remote systems.
+
  * [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
@@ -226,35 +311,58 @@
 
 ### CAS authorization URI derived incorrectly
 
+To ensure comptability across CAS various implementations of the CAS
+protocol, the "/login" portion of the URI has been added to the code
+that performs the CAS login.
+
  * [GUACAMOLE-457](https://issues.apache.org/jira/browse/GUACAMOLE-457) - CAS authentication provider omits login URI
 
 ### Build issues for guacamole-server
 
+A couple of fixes were introduced for build issues for Guacamole
+server components for various libraries and compilers.
+
  * [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
 
+A few bugs were squashed in the guacenc program that caused error
+messages and erratic behavior under certain conditions.
+
  * [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
 
+Changes were introduced that fix IE-specific issues that either
+caused problems or had the potential to impact compatibility with
+various versions of IE.
+
  * [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()`
 
+The navigator.getuserMedia() method has been deprecated, so the
+Guacamole Client code has been adjusted to remove reliance upon
+that method.
+
  * [GUACAMOLE-237](https://issues.apache.org/jira/browse/GUACAMOLE-237) - navigator.getUserMedia() deprecated
 
 ### Incorrect documentation for RDP `load-balance-info` parameter
 
+Documentation was corrected for the 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
 
+The guaclog binary was accidentally included in one of the source
+code releases and in the git repository.  It has been removed.
+
  * [GUACAMOLE-492](https://issues.apache.org/jira/browse/GUACAMOLE-492) - guaclog binary erroneously included in source tree
 
 Platform / API changes
@@ -262,21 +370,48 @@
 
 ### **Java 8 or later is now required**
 
+As noted in the compatibility section below, the Guacamole Client
+code has been updated such that Java 1.8 is required for both
+build and runtime.
+
  * [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
 
+The Guacamole Client has been updated such that cookies are no longer
+used to store the authentication information, and it is, instead, stored
+in the localStorage of the local browser.
+
  * [GUACAMOLE-549](https://issues.apache.org/jira/browse/GUACAMOLE-549) - Store auth token within localStorage
 
 ### Removal of NoAuth and other deprecated components
 
+Several components that were previously marked as deprecated have been
+removed entirely from the code base.  This includes the NoAuth extension
+and several old properties and API endpoints.
+
  * [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
 
+The extension API has been updated with several changes designed to
+streamline functionality and make development and maintenance of
+extensions easier and more consistent.  The error codes sent by
+the REST API are now derived from the GuacamoleStatus data structure
+rather than being separately calculated.  Dependency precendence has
+been updated so that the dependencies bundled with the WebApp are
+preferred over the ones bundled with the extensions.  Base implementations
+of UserContext and AuthenticationProvider modules have been provided
+and current extensions updated to make use of those, reducing the overall
+amount of code to maintain and making implementation of future modules
+more straight-forward.  Finally, the RESTExceptionMapper class was replaced
+by the RESTExceptionWrapper class, which also makes it possible for
+extensions to generate their own exceptions that can be handled by the
+web applicatlon.
+
  * [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
@@ -284,10 +419,21 @@
 
 ### Web application updated to AngularJS 1.6.9
 
+The AngularJS code was updated from the 1.3.x code to the latest
+available 1.x code, which was 1.6.9 at the time of the update.  Several
+portion of the code were reworked for compatibility with this, including
+significant portions of the HTTP request code and how exceptions are
+handled within those requests.
+
  * [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
 
+Changes were introduced to improve how the tunnel is handled between the
+Java and JavaScript portions of the code, including allowing custom
+headers to be configured for the tunnels and insuring that the tunnels
+are not closed more than once.
+
  * [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
 
@@ -301,15 +447,29 @@
 **Java 8 or later is now required**
 -----------------------------------
 
-TODO
+Most of the Java components of the Guacamole Client have been updated to
+require Java 1.8 for both compile and runtime.  The decision was made
+based on the fact that many support libraries are moving toward
+requiring later versions of Java, that Java 1.8 has been out and stable
+for many years, and that Java 1.6 and 1.7 have not been updated in
+several years.  The only exception to this is the base API, the
+guacamole-common code, which continues to maintain compatibility with
+Java 1.6.
 
 Database schema changes
 -----------------------
 
-The MySQL, PostgreSQL, and SQL Server schemas have changed, ...
+Significant changes have been made to the schemas for all of the JDBC
+authentication modules (MySQL, PostgreSQL, and SQL Server).  Among those
+changes are the addition of support for user groups and the changes
+required to support those within the database modules (including the
+"entity" as an overall type for both users and groups).
 
-Users of the database authentication will need to run the
-`upgrade-pre-1.0.0.sql` script specific to their chosen database.
+Users of any of the database authentication modules will need to run the
+`upgrade-pre-1.0.0.sql` script specific to their chosen database as part
+of the move from earlier versions of Guacamole to 1.0.0.  More thorough
+instructions for this process can be found in the [`JDBC Authentcation`]
+(http://guacamole.apache.org/doc/gug/jdbc-auth.html) documentation.
 
 Hostname logging within database
 --------------------------------
@@ -334,29 +494,50 @@
 Removal of deprecated NoAuth extension
 --------------------------------------
 
-TODO
+The NoAuth extension has been deprecated for a couple of major releases of
+Guacamole, and has been entirely removed from the code base in this release,
+both source and binary releases.  If you are currently using this extension
+you will need to move to a different authentication extension during the
+upgrade process, as the NoAuth extension will no longer work.
 
 Removal of deprecated properties
 --------------------------------
 
+The following properties have been deprecated for quite some time, and
+are completely removed in the 1.0.0 release.  Prior to the 1.0.0 release
+a warning would be logged regarding the deprecation of these properties;
+as of this release they will be completely ignored if present in the
+guacamole.properties file.
+
 * `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
+As noted above, one of the major changes in this version of the Guacamole
+Client is the addition of support for user groups across all authentication
+modules.  This includes changes in the core Extension API (guacamole-ext)
+that supports the user groups and allows for those groups to be processed
+across various stacked modules and implemented in newer modules.  The
+AbstractUserGroup, DelegatingUserGroup, SimpleUserGroup, and UserGroup
+classes have been added to the Extension API to be implemented within
+various extension modules.
 
 ### The new decoration API
 
-TODO
+The 1.0.0 version of the Guacamole Client introduces several classes
+that allow extension modules to decorate other modules, providing the
+ability to modules to build on top of other modules and store data in
+other modules.  This was key in allowing the TOTP module to function by
+allowing it to store arbitrary data in the databases provided by the
+JDBC module, and paves the way for future expansion on how modules
+leverage data and functionality from other modules.
 
 ### Removal of deprecated `GuacamoleHome` and `GuacamoleProperties` classes
 
@@ -364,7 +545,11 @@
 
 ### Deprecation of `SimpleUserDirectory`, `SimpleConnectionDirectory`, and `SimpleConnectionGroupDirectory` classes
 
-TODO (Replaced by `SimpleDirectory`)
+The SimpleUserDirectory, SimpleConnectionDirectory, and
+SimpleConnectionGroupDirectory classes have been deprecated in favor
+of the SimpleDirectory<T> class.  These classes can still be used,
+but will result in deprecation warnings, and will be removed in
+a future release.
 
 ### Deprecation of `SimpleUser` convenience constructors
 
@@ -401,7 +586,13 @@
 
 ### 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)
+In order to support changes to detecting and handling network
+problems within the Guacamole connections, another tunnel state,
+UNSTABLE, has been added.  Custom code that leverages the
+Guacamole.Tunnel.State type may need to be refactored to take
+this additional state into account if it does not currently
+ignore unknown states, or the code needs to handle unstable
+connections.
 
 ### Internal WebSocket tunnel implementation changes