Skip to content

Commit

Permalink
Add draft release notes for first RC of 1.5.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
mike-jumper committed Nov 28, 2023
1 parent 903781a commit 85e1a75
Showing 1 changed file with 158 additions and 0 deletions.
158 changes: 158 additions & 0 deletions _releases/1.5.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---

released: false
title: 1.5.4
date: 2023-11-28 14:57:00 -0800
summary: >
Bugfix release addressing miscellaneous issues from 1.5.3 and earlier, and
updating dependencies to their latest compatible versions.
artifact-url: "https://dist.apache.org/repos/dist/dev/{}"
checksum-url: "https://dist.apache.org/repos/dist/dev/{}"
download-path: "guacamole/1.5.4-RC1/"
checksum-suffixes:
"PGP" : ".asc"
"SHA-256" : ".sha256"

source-dist:
- "source/guacamole-client-1.5.4.tar.gz"
- "source/guacamole-server-1.5.4.tar.gz"

binary-dist:
- "binary/guacamole-1.5.4.war"
- "binary/guacamole-auth-duo-1.5.4.tar.gz"
- "binary/guacamole-auth-header-1.5.4.tar.gz"
- "binary/guacamole-auth-jdbc-1.5.4.tar.gz"
- "binary/guacamole-auth-json-1.5.4.tar.gz"
- "binary/guacamole-auth-ldap-1.5.4.tar.gz"
- "binary/guacamole-auth-quickconnect-1.5.4.tar.gz"
- "binary/guacamole-auth-sso-1.5.4.tar.gz"
- "binary/guacamole-auth-totp-1.5.4.tar.gz"
- "binary/guacamole-history-recording-storage-1.5.4.tar.gz"
- "binary/guacamole-vault-1.5.4.tar.gz"

documentation:
"Manual" : "/doc/1.5.4/gug"
"guacamole-common" : "/doc/1.5.4/guacamole-common"
"guacamole-common-js" : "/doc/1.5.4/guacamole-common-js"
"guacamole-ext" : "/doc/1.5.4/guacamole-ext"
"libguac" : "/doc/1.5.4/libguac"
"libguac-terminal" : "/doc/1.5.4/libguac-terminal"

---

The 1.5.4 release is a bugfix release that addresses miscellaneous bugs from
1.5.3 and earlier, and updates all dependencies to their latest compatible
versions. For a full list of all changes in this release, please see the
[changelog](#changelog) below.

**The 1.5.4 release is compatible with older 1.x components.** You should
upgrade older components to 1.5.4 when possible, however things should continue
to work correctly in the interim:

* Extensions written for older 1.x releases can be used by 1.5.4.
* Components written for the version of the Guacamole protocol used by older
1.x releases can be used with components of the 1.5.4 release.

Regardless of inter-component compatibility, **there are changes in 1.5.4 which
may affect downstream users of Guacamole's APIs**. Please see the [deprecation
/ compatibility notes](#deprecation--compatibility-notes) section for more
information.

Changelog
=========

### User interface / platform

* History Recording Player should show controls when mouse is moved ([GUACAMOLE-1872](https://issues.apache.org/jira/browse/GUACAMOLE-1872))
* {:.bug} Control bar doesn't auto-hide on history recording player ([GUACAMOLE-1873](https://issues.apache.org/jira/browse/GUACAMOLE-1873))

### Docker images

* {:.bug} Typo in environment variables for Dockerfile ([GUACAMOLE-1860](https://issues.apache.org/jira/browse/GUACAMOLE-1860))

### Authentication, integration, and storage

* {:.bug} Regression in JSON module causes loading to fail ([GUACAMOLE-1851](https://issues.apache.org/jira/browse/GUACAMOLE-1851))
* {:.bug} Permission check for creating user groups is incorrect ([GUACAMOLE-1856](https://issues.apache.org/jira/browse/GUACAMOLE-1856))

### Protocol support / guacd

* {:.bug} Race condition can cause the first user for a connection to miss updates ([GUACAMOLE-1846](https://issues.apache.org/jira/browse/GUACAMOLE-1846))
* {:.bug} Parser reparses same instructions multiple times in some cases ([GUACAMOLE-1849](https://issues.apache.org/jira/browse/GUACAMOLE-1849))
* {:.bug} guac_common_cursor_dup() may segfault if cursor is being modified ([GUACAMOLE-1850](https://issues.apache.org/jira/browse/GUACAMOLE-1850))
* Add libguac convenience functions for memory management ([GUACAMOLE-1867](https://issues.apache.org/jira/browse/GUACAMOLE-1867))

### Internationalization

* Updates and corrections to Catalan translation ([GUACAMOLE-1880](https://issues.apache.org/jira/browse/GUACAMOLE-1880))

### Documentation

* TOTP Authentication - Add documentation relating to usage with docker ([GUACAMOLE-1878](https://issues.apache.org/jira/browse/GUACAMOLE-1878))

### General housekeeping and cleanup

* Update webapp dependencies to latest stable and compatible versions ([GUACAMOLE-1859](https://issues.apache.org/jira/browse/GUACAMOLE-1859))
* Bump version numbers to 1.5.4 ([GUACAMOLE-1886](https://issues.apache.org/jira/browse/GUACAMOLE-1886))


Deprecation / Compatibility notes
=================================

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:

* 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.
* Software which uses the Guacamole protocol of an older 1.x release should
still work.
* 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
[soname](https://en.wikipedia.org/wiki/Soname).
* You should update to newer versions where applicable and when possible.

As of 1.5.4, the following changes have been made which affect compatibility
with past releases:

Bulk user join support (`join_pending_handler`)
-----------------------------------------------

When a user joins an established connection via Guacamole's sharing
functionality, that user's display state must be synchronised with the existing
display state of the connection such that future updates will have the expected
effects. Historically, this synchronization was done individually for each
joining user via a single handler called `join_handler`.

As of 1.5.4, `join_pending_handler` has been added to allow _all_ joining users
to be synchronized at the same time. If using this new bulk synchronization
support, the `join_handler` will be used primarily to parse user-specific
connection parameters, while the `join_pending_handler` will be used to
synchronize the display state to all users that are about to join. Using
`join_pending_handler` avoids having to re-encode the same display state
multiple times.

* {:.bug} Race condition can cause the first user for a connection to miss updates ([GUACAMOLE-1846](https://issues.apache.org/jira/browse/GUACAMOLE-1846))

Memory management macros
------------------------

The latest version of libguac provides [a series of `guac_mem_*()` macros](/doc/1.5.4/libguac/mem_8h.html)
for memory management and memory-related calculations that perform checked
arithmetic. These macros are intended to replace manual usage of `malloc()`,
`calloc()`, `realloc()`, and `free()` and should be preferred.

The addition of these macros does not itself affect compatibility, however
established libguac functions that previously required returned memory to be
freed using `free()` now document that returned memory should be freed with
`guac_mem_free()`. Existing usage of `free()` instead of `guac_mem_free()` will
continue to work but should be migrated when possible.

* Add libguac convenience functions for memory management ([GUACAMOLE-1867](https://issues.apache.org/jira/browse/GUACAMOLE-1867))

0 comments on commit 85e1a75

Please sign in to comment.