Add remaining descriptions of changes in 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/c165e3c2 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-website/tree/c165e3c2 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-website/diff/c165e3c2 Branch: refs/heads/master Commit: c165e3c23f2448f4897f1ad089ba742125df4c0a Parents: 26d79b0 Author: Michael Jumper <[email protected]> Authored: Fri Jan 4 11:51:18 2019 -0800 Committer: Michael Jumper <[email protected]> Committed: Fri Jan 4 11:57:28 2019 -0800 ---------------------------------------------------------------------- _releases/1.0.0.md | 103 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 93 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-website/blob/c165e3c2/_releases/1.0.0.md ---------------------------------------------------------------------- diff --git a/_releases/1.0.0.md b/_releases/1.0.0.md index 111dc60..b469e0e 100644 --- a/_releases/1.0.0.md +++ b/_releases/1.0.0.md @@ -191,6 +191,14 @@ matches. ### Automatic detection of network issues +The Guacamole web application will now periodically check the responsiveness of +the network connection, displaying a warning if the network appears unstable. + +Downstream web applications which leverage the Guacamole API should handle the +`Guacamole.Tunnel.State.UNSTABLE` tunnel state in their tunnel's +[`onstatechange`](/doc/guacamole-common-js/Guacamole.Tunnel.html#event:onstatechange) +handler to provide similar behavior, if desired. + * [GUACAMOLE-567](https://issues.apache.org/jira/browse/GUACAMOLE-567) - Network connection problem acknowledgement/feedback ### Support for configuring Guacamole with environment variables @@ -320,6 +328,16 @@ issue causes the process to become unresponsive. ### Issues with database authentication behavior and SQL queries +The new SQL Server support introduced with 0.9.14 leveraged SQL syntax that was +not compatible with SQL Server 2008 and later, and contained a bug which +resulted in the login history query failing after several history entries +existed. These issues have been fixed. + +A usability issue where users with disabled accounts would be shown a home +screen (albeit entirely blank) has also been fixed, and handling of the +hostname/address logged for user and connection access history has been +updated to be consistent across both underlying tables. + * [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 @@ -327,6 +345,17 @@ issue causes the process to become unresponsive. ### Incorrect status reported for sessions closed by RDP server +Guacamole would previously incorrectly report that an RDP server was +unavailable when the connection was actually closed by the RDP server due to +another user starting a conflicting desktop session. As the web application will +automatically attempt to reconnect if the RDP server is reported as +unavailable (under the assumption that the condition is transient and the +server may eventually become available), this could cause users to repeatedly +kick each other out. + +This has been fixed for 1.0.0. Disconnects due to conflicting RDP sessions +should now be handled correctly. + * [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 @@ -650,7 +679,11 @@ original `UserContext`: ### Removal of deprecated `GuacamoleHome` and `GuacamoleProperties` classes -TODO +The `GuacamoleHome` and `GuacamoleProperties` classes have been deprecated +since 0.9.4, having been replaced by the [`Environment`](/doc/1.0.0/guacamole-ext/org/apache/guacamole/environment/Environment.html) +interface and its concrete [`LocalEnvironment`](/doc/1.0.0/guacamole-ext/org/apache/guacamole/environment/LocalEnvironment.html) +implementation. These classes are no longer part of the extension API. +Implementations should migrate to `LocalEnvironment`. ### Deprecation of `SimpleUserDirectory`, `SimpleConnectionDirectory`, and `SimpleConnectionGroupDirectory` classes @@ -664,36 +697,80 @@ warnings, and will be removed in a future release. ### Deprecation of `SimpleUser` convenience constructors -TODO +With the increasing number of permission sets available for both users and user +groups, the old convenience constructors which provided parameters for these +permission sets for the +[`SimpleUser`](/doc/1.0.0/guacamole-ext/org/apache/guacamole/net/auth/simple/SimpleUser.html) +implementation of the [`User`](/doc/1.0.0/guacamole-ext/org/apache/guacamole/net/auth/User.html) +interface have been deprecated for the sake of API simplicity and consistency. + +Implementations which use these constructors of `SimpleUser` should migrate to +extending `SimpleUser` and overriding the applicable getters instead. The +deprecated constructors will continue to work as before, however their use will +result in deprecation warnings, and they will eventually be removed from the +API. libguac API changes ------------------- ### `guac_protocol_send_mouse()` now requires additional parameters -TODO +The [`guac_protocol_send_mouse()`](/doc/1.0.0/libguac/protocol_8h.html#a8947056262da2f3263b9851370597622) +function now accepts an additional [`guac_timestamp`](/doc/1.0.0/libguac/timestamp-types_8h.html#a69e916d1ff324fbe0e527f32359c9cea) +argument representing the point in time that the mouse event occurred. Callers +of this function will now need to include an appropriate timestamp, such as the value returned by +[`guac_timestamp_current()`](/doc/1.0.0/libguac/timestamp_8h.html#ab85ce937dce4d8e94c173be917bc0719). ### `GUAC_INSTRUCTION_MAX_ELEMENTS` macro definition changed -TODO (Affects size of [`guac_parser`](/doc/1.0.0/libguac/structguac__parser.html) as well as any code referencing that macro) +The value of the +[`GUAC_INSTRUCTION_MAX_ELEMENTS`](/doc/1.0.0/libguac/parser-constants_8h.html#a6f314dc5700812ca93ff132a15b86a46) +has been increased from 64 to 128. This should not affect whether existing code +builds against libguac, however it does affect the size of the +[`guac_parser`](/doc/1.0.0/libguac/structguac__parser.html) structure such +that it will not be binary-compatible with older versions of libguac. The +system linker should take this into account automatically. Java API (guacamole-common) changes ----------------------------------- ### Removal of deprecated `GuacamoleSession` class -TODO +The `GuacamoleSession` class has been deprecated since 0.9.9 and has now been +removed from the API. Downstream usages of this class should simply be removed; +it is entirely unnecessary and has had no effect since 0.9.9. -### Change in definition of `GuacamoleHTTPTunnelServler.sendError()` +### Change in definition of `GuacamoleHTTPTunnelServlet.sendError()` -TODO +The definition of the `protected` function +[`sendError()`](/doc/1.0.0/guacamole-common/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.html#sendError-javax.servlet.http.HttpServletResponse-int-int-java.lang.String-) +within [`GuacamoleHTTPTunnelServlet`](/doc/1.0.0/guacamole-common/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.html) +has changed to include explicit numeric codes for the Guacamole and HTTP +statuses rather than a single +[`GuacamoleStatus`](/doc/1.0.0/guacamole-common/org/apache/guacamole/protocol/GuacamoleStatus.html). + +It is unlikely that this change will affect downstream implementations of +`GuacamoleHTTPTunnelServlet`, which generally will only override +[`doConnect()`](/doc/1.0.0/guacamole-common/org/apache/guacamole/servlet/GuacamoleHTTPTunnelServlet.html#doConnect-javax.servlet.http.HttpServletRequest-), +however any downstream implementations which *do* call or override +`sendError()` will need to be updated accordingly. JavaScript API changes ---------------------- -### Removal of deprecated `GuacamoleClient.setClipboard()` function +### Removal of deprecated `Guacamole.Client.setClipboard()` function + +The `setClipboard()` function of +[`Guacamole.Client`](/doc/1.0.0/guacamole-common-js/Guacamole.Client.html) +has been deprecated since 0.9.1, having been replaced by +[`createClipboardStream()`](/doc/1.0.0/guacamole-common-js/Guacamole.Client.html#createClipboardStream), +and convenience "writer" implementations like +[`Guacamole.StringWriter`](/doc/1.0.0/guacamole-common-js/Guacamole.StringWriter.html) +which may be given the resulting +[`Guacamole.OutputStream`](/doc/1.0.0/guacamole-common-js/Guacamole.OutputStream.html). -TODO +`setClipboard()` has now been removed from the API. Downstream uses of +`setClipboard()` should migrate to `createClipboardStream()`. ### Addition of `Guacamole.Tunnel.State.UNSTABLE` state @@ -709,5 +786,11 @@ or that code would benefit from explicitly handling the unstable condition. ### 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) +The WebSocket tunnel ([`Guacamole.WebSocketTunnel`](/doc/1.0.0/guacamole-common-js/Guacamole.WebSocketTunnel.html)) +now uses the [internal tunnel opcode](/doc/1.0.0/guacamole-common-js/Guacamole.Tunnel.html#.INTERNAL_DATA_OPCODE) +to [send "ping" requests](https://github.com/apache/guacamole-client/blob/78f1ae1b4eac25501d532ddee94fd1d8588e56dc/guacamole-common-js/src/main/webapp/modules/Tunnel.js#L948-L952) +which the server side of the tunnel must respond to +[with an identical instruction](https://github.com/apache/guacamole-client/blob/78f1ae1b4eac25501d532ddee94fd1d8588e56dc/guacamole-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java#L321-L324) +to verify connection stability. Third-party reimplementations of the WebSocket +tunnel will need to be updated to do the same.
