You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by vn...@apache.org on 2019/01/05 03:07:09 UTC

[04/10] guacamole-website git commit: Add remaining descriptions of changes in 1.0.0.

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 <mj...@apache.org>
Authored: Fri Jan 4 11:51:18 2019 -0800
Committer: Michael Jumper <mj...@apache.org>
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.