Changelog History
Page 2
-
v50200.10.1 Changes
August 19, 2020SHA-256 checksums for Matterhorn 50200.10.1 matterhorn-50200.10.1-Darwin-x86_64.tar.bz2 793715b8aec76ddc36c5160b01319a808babd7df5dcb3afce3bb4506f18dc7e3 matterhorn-50200.10.1-centos-7-x86_64.tar.bz2 60f9addca785eddd004c20e7efa8aa5dbbabbfd2d8c3e6453179de7234941b5b matterhorn-50200.10.1-fedora-29-x86_64.tar.bz2 a61ab9d692fd55b24795c090970e11ff783c9d5b77fc0990d7be5c92d3b14fe2 matterhorn-50200.10.1-ubuntu-18.04-bionic-x86_64.tar.bz2 57be908f3d26a1ed82128c1cb2c4d2aa71a951b3f7279c3475ac583dee95bb80 matterhorn-50200.10.1-ubuntu-20.04-focal-x86_64.tar.bz2 52a2837f56a85911f71a4e43dc9ff640499128ab0acfb284fd141d6673bd61bc
-
v50200.10.0 Changes
August 13, 2020๐ New features:
- Per-channel notification settings for non-DM channels can now be
managed with the
/notify-prefs
command. As part of that change, themes got a new attribute,brickForm.focusedInput
, that governs how focused form inputs are styled. (Thanks to Isaiah Mindich for this feature) - A new configuration file setting,
messageSelectAfterURLOpen
, was added to govern how URL opening works in message selection mode. WhenFalse
(the default), opening URLs from a selected message returns the application to the main UI (the behavior prior to this release). WhenTrue
, opening URLs leaves the application in message selection mode, allowing the user to continue opening URLs from other messages before returning to main mode manually. - The message viewing window now supports paging horizontally. This
change adds two new key events:
page-left
with default bindingShift-Left
page-right
with default binding:Shift-Right
- Matterhorn now sets the terminal window title based on unread
activity (
matterhorn*
when there are unread messages;matterhorn
otherwise.) - The
/theme
command now opens an interactive theme list window to choose between available built-in themes. - Added support for handling muted channels and respecting the
/mute
server command (thanks to Isaiah Mindich for this feature) - Make
Shift-Home
, notHome
, selected the oldest message when in normal mode (#258). This change:- Changes the default keybinding for entering message selection mode
and selecting the oldest message from
Home
toShift-Home
. - Adds a new key event,
select-oldest-message
, thatShift-Home
triggers by default. Home
now triggers theeditor-home
event. Users wanting the old behavior can simply unbind theeditor-home
key event and bindselect-oldest-message
toHome
.
- Changes the default keybinding for entering message selection mode
and selecting the oldest message from
- New 256-color variants of the built-in light and dark themes were
added. Those themes are identical to the 16-color variants except
that larger pools of 256-color values are used to assign colors
to usernames. If a username color chosen by the new themes is
objectionable, it can be customized by first using the new
/username-attribute
command to find out which attribute is used to render a username and then setting it in the theme customization config. As part of this change the number of theme attributes for usernames was extended to 50, meaning attributes fromusername.0
tousername.49
now govern the assignment of colors.
Other improvements:
- The
/members
window now displays the total server user count in the title bar to avoid confusion about the number of displayed search results, which is capped by the server's API response. - Autocompletion now completes
@all
and@channel
with prefix matches only and puts them after all other alternatives in the alternative list. - The help documentation on themes now documents the
#RRGGBB
theme color syntax that was already supported but not documented. - Key events now supported in the attachment management UI are now included in the keybinding help list.
- The help documentation on themes now shows an attribute demo for each theme attribute using the current theme's colors.
- Some documentation in the
README
was factored out into other documents indocs/
. - The UI for showing typing notifications was improved.
- The
/leave
command now hide DM and group channels instead of reporting an error (#626)
๐ Bug fixes:
- Matterhorn now properly restores the terminal state before crashing with unhandled exceptions (#622)
- The URL list accessible with
C-o
now shows URLs from messages regardless of what kind of user reference they contain (#638)
- Per-channel notification settings for non-DM channels can now be
managed with the
-
v50200.9.0 Changes
June 18, 2020๐ New features:
- More text-editing keybindings are now rebindable rather than being
hard-coded. In addition, the keybinding events for text editing are
now respected by editors for the
/join
window, the/msg
window, the/members
window, as well as channel selection mode (C-g
). For the complete list of supported configurable keybindings, please see theText Editing
section of/help
and/help keybindings
as well as the keybinding tables provided bymatterhorn -k
. - Matterhorn now has support for dealing with server API request rate limiting. When Matterhorn is denied an API request due to rate limiting it will now attempt to reissue the request once the server's rate limit has reset. Matterhorn will indicate when it does this by displaying an informative message in the current channel. If for some reason the second attempt fails, the user will be notified. We recommend that users encountering rate limiting issues (e.g. on fast connections to their servers) contact their server administrators.
- Channel selection mode (triggered by event
enter-fast-select
/ default key:C-g
) now provides two alternative key events for changing the selected entry (#609). These new events are alternatives for the existing events:focus-prev-channel-alternate
, default key:Up
, alternative tofocus-prev-channel
focus-next-channel-alternate
, default key:Down
, alternative tofocus-next-channel
- The message editor's tab completion now supports more intelligent
completion by detecting punctuation following completions.
Previously, tab completion would insert the completion followed by
a trailing space; for example,
@u<TAB>
might complete to@user
followed by a space. While this is often desirable behavior, it also meant that if the very next input character was a punctuation character such as a period, the final text would be@user .
Based on the observation that usually the intention is to end up with@user.
, the editor now automatically replaces the trailing space when such a punctuation character is entered. This behavior is configurable with thesmartediting
configuration setting which defaults to On. The list of characters that trigger this behavior is:.,'";:)]!?
.
Other improvements:
- The current user's status is now displayed next to the current user's username at the top of the channel sidebar (#594).
- Help for keybindings was improved to list all available bindings for
each event. The help text also now makes it clear when an event has a
non-bindable (fixed) key or has no binding at all. These improvements
affected the output of
/help
,/help keybindings
, and the output of the command-line options to print keybinding tables. - The sample configuration documentation clarified how to use the
host
field and also how to use Matterhorn without TLS. - The message editor's spell checking no longer checks the spelling of tokens that start with slashes or user/channel sigils (#611).
- Matterhorn now sets the Markdown file extension when editing messages in external editors in order to help the external editors detect the file type and do syntax highlighting (#590).
- The help text for the logging commands now makes it clear that the logging commands log application debug information, not chat messages.
- The autocompletion list no longer appears if only a single completion is available when the user autocompletes input text.
๐ Bug fixes:
- Parsing for the configuration file's
host
field has been improved to accept only valid hostnames and IPv4/IPv6 addresses. - Editing a message now properly clears the message editor of any preexisting input (#614).
- The example notification scripts for Linux and macOS have been improved with backslash and quote escaping (#613, thanks Bernhard Walle).
- Incoming messages are now sanitized of unprintable characters (#604).
- Matterhorn is now better behaved when the server has disabled custom emoji (#600).
- Matterhorn's parsing of timezone data is now improved platforms where it previously could not parse the timezone files (#542).
- The
/join
channel list no longer includes channels of which the user is already a member (#602). - The channel messages now render properly whenever the editor's multiline preview changes size (#587).
- More text-editing keybindings are now rebindable rather than being
hard-coded. In addition, the keybinding events for text editing are
now respected by editors for the
-
v50200.8.0 Changes
March 30, 2020๐ New features:
- Support for Personal Access Tokens and browser session tokens was
added. To take advantage of this feature, paste either type of
token in the new "Access Token" field of the login user interface
or set up the new
tokencmd
configuration file setting. See the "Authentication" section of the README for help and seedocs/sample-config.ini
for documentation ontokencmd
. Thanks to @ftilde for early work on this feature! - The attribute used to render the current user's username can now be
customized. By default the attribute still uses the same color as
before (chosen based on the username) but is bold. The new theme
attribute
currentUser
can be customized just like other attributes; for details, see/help themes
. - The
focus-next-unread
(default:M-a
) andfocus-next-unread-user-or-channel
(default: no binding) events can now be repeatedly triggered to cycle through channels with unread activity and then return to the original channel where you started, which is now marked with~
in the channel sidebar. - Matterhorn got a new
--check-config
argument that triggers a configuration file validation check (thanks @glguy). - The Matterhorn login user interface was greatly improved and
simplified. Now, instead of providing individual fields for server
hostname and port, the user interface provides a single "Server URL"
field that is capable of accepting server hostnames with or without
ports as well as full Mattermost web client browser URLs, complete
with team names and URL paths. This adds support for servers that run
at URL paths other than "/" and auto-detects teams in URLs to improve
the web client user's migration experience. As part of this change,
the configuration got a new setting,
urlPath
, that corresponds to the URL path of the server URL in the login interface. Thanks, @glguy and @immindich!
Other improvements:
- The XML syntax highlighting descriptions were updated.
- Channels with unread join or leave messages now appear as unread in the sidebar as intended.
The format-specific command-line options for markdown and plain text for generated command and keybinding tables were merged. The old interface was:
-k
/-K
to output configured keybindings in plain and markdown formats, respectively-m
/-M
to output commands in plain and markdown formats, respectively
And the new interface is:
-f
to set the output format (default: plain)-k
to output configured keybindings in the active format-m
to output commands in the active format- The macOS example notification script was improved (thanks Geir Skjotskift)
- Support for Personal Access Tokens and browser session tokens was
added. To take advantage of this feature, paste either type of
token in the new "Access Token" field of the login user interface
or set up the new
-
v50200.7.0 Changes
March 09, 2020๐ New features:
- The channel sidebar now displays channels by display name, not URL name (#522).
- The channel autocompletion list now includes channel display names.
- Matterhorn now adds the character set with "stty erase" to the Vty input map so that the erase character translates to a backspace key event.
- Matterhorn now supports viewing pinned posts and changing pinning status (#213)
- This change adds a new command,
/pinned-posts
, that will show a post list of pinned posts in the current channel. - This change adds a new message select key event,
pin-message
(default:p
) to toggle the pinning state of the selected post. - A new
[PIN]
indicator is now displayed to the left of pinned posts. - A new theme attribute,
pinnedMessageIndicator
, was added to render the pinning indicator.
- This change adds a new command,
- A new configuration option now controls certificate validation (#263).
This change adds a new config setting,
validateServerCertificate
. Its default isTrue
. The sample config also includes documentation about the setting. - A new
/purpose
command was added to set channel purpose strings (#524). - A new example notification script for Mac OS systems was added at
notification-scripts/notify-macos
. - The help screen (default binding:
F1
) is now reachable from any Matterhorn screen (#525). - Private channels are now displayed as their own sidebar group (#510).
Other changes:
- The
markdownEmph
attribute is now being used to render user list window and attachment window titles. - The output of the
/theme
command was improved. - The help UI's default colors were changed to improve contrast (#564)
- Matterhorn now shows channel purpose strings, not headers, in channel autocompletion matches to match the official client's behavior (#524).
- The notification script API is now documented in
docs/notification-scripts.md
. - Configuration files without trailing newlines are now supported (#540).
- Websocket action responses are now supported, which fixed a bug where typing notifications would cause websockets to get disconnected (#529).
- Emote messages that get flagged now properly display a flagging indicator (#530).
- Matterhorn now supports generation of a command table similar to its
support for generating keybinding tables. This is done with the new
-m
/-M
command-line options. - Date transition lines at the beginning of channels are now preserved (#534).
- The channel sidebar now displays channels by display name, not URL name (#522).
-
v50200.6.0 Changes
January 15, 2020๐ Bug fixes:
- Initialization of the attachment file browser is delayed until it is needed.
- Reply message coalescing now occurs if a non-reply intervening message is deleted.
- When showing the attachment management window, the main UI is dimmed.
- Fixed a race condition where a script completes after the user changes channels.
Other improvements:
- README: improve mention of display corruption (relevant to #544)
- README: clarify source build instructions (relevant to #536)
-
v50200.5.0 Changes
September 13, 2019๐ New features:
- The configuration file now supports tilde expansion in the following
fields, where a tilde ("~") will be expanded to the path to the
user's home directory:
urlOpenCommand
syntaxDirectories
activityNotifyCommand
themeCustomizationFile
- The "message view" window (accessible in message selection mode by
default with the
v
binding) has been redesigned.- The window now shows the message and the message's user reactions in separate tabs in a tabbed interface.
- New key events,
select-next-tab
(default:Tab
) andselect-previous-tab
(default:Shift-Tab
), were added to control tab-switching behavior. - The window got some keybinding help text.
- Message text is now wrapped in this view, whereas before long lines were not wrapped and had to be scrolled horizontally to be read. In addition, code blocks are not wrapped, making wide code blocks readable by scrolling as originally intended.
- New theme attribute names,
tabSelected
andtabUnselected
, were added to style the currently-selected and other tabs, respectively. - Sections on the available keybindings in the various tabs for this interface were added to the interactive help section on keybindings as well as the generated keybindings file provided with Matterhorn.
- The application's default attachment browser path can now be
configured, thanks to Victor Shamanov (@wiruzx). See the
defaultAttachmentPath
setting insample-config.ini
for details. - Added the
/log-mark
command to add user-specified marker messages to the log to aid in debugging. - Logging no longer includes duplicate overlapping messages when paused and resumed.
- Added the
/create-private-channel
command to support creating private channels. (#512) - The attachment list now supports the
select-up
andselect-down
key events. - All editors in Matterhorn now support bracketed pastes if your terminal emulator supports bracketed paste mode.
Other improvements:
- Various files (e.g.
keybindings.md
) were moved todocs/
in the repository as well as in releases. - The team selection interface at startup now shows team display names.
- The main user interface now shows the current team and user at the top of the channel list sidebar.
๐ Bug fixes:
- The attachment file browser will now no longer disappear if the user attempts to navigate a symlinked directory. Instead, the symlinked directory will be navigated as expected. (#507)
- The "Fetching messages" message that appears in channels with pending server responses now gets cleaned up properly. (#498)
- Creating new
/group-msg
channels now properly shows the new group immediately; previously the/group-msg
command had to be issued a second time or Matterhorn had to be restarted. (#477)
- The configuration file now supports tilde expansion in the following
fields, where a tilde ("~") will be expanded to the path to the
user's home directory:
-
v50200.4.0 Changes
June 03, 2019๐ New features:
- This release includes support for viewing, adding, and removing post
emoji reactions:
- A new message select keybinding (default
a
, event 'react-to-message') opens an emoji search window. - Pressing 'Enter' in the emoji search window posts the selected reaction to the selected message if you have not already posted that reaction, or removes it from the message otherwise.
- The emoji search window automatically lists reactions that other users have posted before other emoji, along with your own posted reactions. This allows you to easily add your vote to (or remove) reactions.
- Emoji reactions posted to a message are now displayed in the
message view window (message select binding
v
).
- A new message select keybinding (default
- Emoji are now supported in autocompletion by pressing
TAB
after a colon (:
). The autocompletion list also includes custom emoji obtained from the server. The standard emoji are sourced from the fileemoji.json
located in the same directory as the Matterhorn configuration fileconfig.ini
, or at the pathemoji/emoji.json
relative to the location of thematterhorn
binary (as in releases). - The channel list shown by the
/join
command has been redesigned to support incremental search similar to the UI for/msg
. - Special
@all
and@channel
mentions are now highlighted and included in autocompletion. (#491) - If a channel has new messages that go beyond the top of the displayed
message area, a
New Messages
line appears at the top of the window to indicate that more unread messages precede it. (#131)
Other improvements:
- The subprocess logger indicates when unexpected stdout output was received. (#503)
- The log manager thread is now started before authentication begins so that the authentication code can do logging.
- Keybinding event names are now included in auto-generated text and Markdown keybinding tables.
- User status updates are automatically batched, resulting in
O(1)
user status requests on startup rather thanO(n)
. - Command help text now includes
@
and~
in arguments to more clearly indicate user and channel arguments respectively.
๐ Bug fixes:
- Theme changes now invalidate the rendering cache, fixing color artifacts left over in the channel message area.
- When searching for users, username sigils are always trimed first. (#497)
- This release includes support for viewing, adding, and removing post
emoji reactions:
-
v50200.3.1 Changes
April 10, 2019๐ Bug fixes:
- Matterhorn now correctly handles server API responses with Content-type parameters (#496).
-
v50200.3.0 Changes
April 08, 2019๐ New features:
- Message reply rendering has been improved. Matterhorn now uses a rendering almost identical to that of the web client: rather than rendering an arrow from the reply to its parent, Matterhorn now indents the reply with a vertical border to its left. Matterhorn now also only renders the reply's parent message if it is not already adjacent or if it is not in the same thread as the previous message. This greatly reduces clutter in channels with a lot of threaded message activity. (#490)
- At startup, Matterhorn no longer restores the terminal state to the pre-startup state in between authentication attempts.
- At startup, if Matterhorn immediately attempts a connection (due to credentials being available in the configuration), a "Connecting to ..." message is displayed while the connection attempt is underway.
The syntax highlighting XML specification files included with Matterhorn were updated to the versions in the upstream Skylighting package as of commit
bf3e5d163c3e7b9f98d1cd3b9aeb6780a6f76572
. For more details, seeThe help and usage messages for the
/msg
command were improved.The
run.sh
script got various bug fixes and portability improvements.
๐ Bug fixes:
- Messages from bots now properly display a "[BOT]" indicator next to the post author username (#494)
- Matterhorn no longer reports timeout-related network socket exceptions to the user (#492)