All Versions
46
Latest Version
Avg Release Cycle
48 days
Latest Release
-

Changelog History
Page 1

  • v50200.13.0 Changes

    ๐Ÿ†• New features:

    • Matterhorn now has optional mouse support! Thanks to Hari Menon (@phsmenon) for this work. From the User Guide: Matterhorn supports mouse interaction with some UI elements. To enable mouse support, set enableMouseMode to True in your Matterhorn configuration. Mouse interaction is supported on the following user interface elements:
      • Channel list entries can be clicked to switch channels.
      • Channel list entries in channel selection mode (C-g) can be clicked to switch to the selected channel match.
      • Team names in the team list can be clicked to switch teams.
      • URLs and post links in the URL list (C-o) can be clicked to open them.
      • URLs in messages can be clicked to open them using the configured URL opener.
      • Post links in messages can be clicked to switch to the channel containing the post.
      • Usernames in messages can be clicked to switch to the direct message channel for the clicked user.
      • Usernames in the "Reactions" tab of the message view window can be clicked to switch to the direct message channel for the clicked user.
      • Reactions to messages can be toggled by clicking on them. Click-toggling also works in the "Search Emoji" window as well as the "Reactions" tab of the message view window.
    • Notification scripts now have a richer versioned interface. Thanks to Dave Lamkins (@TieDyedDevil) for this work. Details can be found in docs/notification-scripts.md.
    • Favorite channel support was added. Thanks to Ajay Eeralla (@ajayeeralla) for this work.
      • Matterhorn now honors the "favorite" status of channels, displaying favorite channels together in a new channel list category.
      • Matterhorn got a new command, /toggle-favorite, to toggle the favorite status of the current channel.
    • A new /attach command can be used to attach a file to the message being composed.
    • The URL list got a new keybinding to prompt for attachment save path for the selected entry. This added a new key event, save-attachment (default binding: s), for the URL list. When triggered, if the selected URL entry is for an attachment, a dialog box is shown prompting the user for a path to which to save the attachment. (If the entry is not an attachment, the event is ignored.)
    • The attachment file browser's key bindings can now be customized as Matterhorn key events. Thanks to Dave Lamkins (@TieDyedDevil) for this work. (#628)
    • Matterhorn now supports pipe table syntax in Mattermost messages.
    • The URL selection mode now displays available actions in its UI. The URL list's bottom bar now indicates any actions that are available for the selected link, similarly to how Matterhorn displays such actions for messages in message selection mode. This change also adds a new theme attribute, urlSelectStatus, that is used to render the keybindings shown in the options list.

    ๐Ÿ› Bug fixes:

    • Message reactions are now wrapped rather than being truncated by the window width (#715)
    • When switching away from one team to another, the previous team now has its current channel marked as viewed to fix a bug where unread messages in that channel were still seen as unread.

    Other improvements:

    • Channel autocompletion alternatives are now trimmed to one row in height (thanks Karl Smeltzer (@karljs)).
    • User metadata is now updated correctly in reponse to websocket events (#697; thanks Karl Smeltzer (@karljs)).
    • "No route to host" exceptions no longer trigger "unexpected error" messages (#714)
    • Matterhorn no longer exposes the server's /msg command (#657)
    • Matterhorn no longer exposes the server's /search command since Matterhorn provides its own UI for that command.
    • The /group-msg command was renamed to /group-create to make it more distinct from the server command which has a different behavior (#657).
    • The /remove-user command was renamed to /remove and the server's /remove command is no longer exposed (#657).
    • Matterhorn now shows the team position and count in team list (#692).
    • Matterhorn now falls back to UTC when it is unable to load local time zone data (#695).
  • v50200.12.0 Changes

    ๐Ÿ†• New features:

    • Matterhorn now supports multiple teams! This includes a number of UI changes:
      • Matterhorn no longer prompts for a team on startup.
      • If the configuration file sets team, Matterhorn will attempt to honor that by selecting that as the active team on startup. If the configuration does not specify the team setting, the initially-selected team is chosen as the first team after sorting the team list alphabetically.
      • The window title now reflects the sum of all unread channels in all teams, rather than the number of unread channels in the current team.
      • If the user is a member of more than one team, the list of teams will be displayed at the top of the window with the active team highlighted. Each team with unread channels will display the count of unread channels next to the team name and teams with unread channels will be highlighted. This change comes with a new theme attribute, currentTeam, to style the selected team in the list.
      • The current team selection can be changed with new keybindings:
        • next-team (default binding: C-Right)
        • prev-team (default binding: C-Left)
      • The team list can be reordered manually. In the official web client, the team list can be reordered by dragging and dropping the team icons; in Matterhorn, this can be done by using two new commands, /move-team-left and /move-team-right, respectively. New keybindings to do the same thing were also added:
        • move-current-team-left (unbound by default)
        • move-current-team-right (unbound by default)
    • The new /rename-channel-url command renames the current channel's URL name. This differs from the server command /rename, which renames the current channel's display name. Renaming the URL name with this command is equivalent to changing the value of the "URL" field in the "Rename Channel" dialog box in the official web client. (thanks to Ajay Eeralla for this work)

    Other improvements:

    • The channel list now takes up the full window height. Previously the message editor and input preview were displayed across the entire screen; now those areas stop at the channel list, so the channel list gets a few more rows of space to display channels.
    • Matterhorn now parses all incoming Markdown text with the Haskell commonmark library. Migrating to commonmark improved our support for many Markdown extensions and improved how Matterhorn handles some Markdown syntax.
    • The syntax highlighting XML files in syntax/ were updated from version 0.10.0.3 of the skylighting package.
  • v50200.11.0 Changes

    October 15, 2020

    ๐Ÿ†• New features:

    • Matterhorn now opens post links itself rather than invoking the configured URL open command. This means that if a user obtains a link to a post in the web client and pastes it into a message, Matterhorn will detect it, and if the user chooses to open that link, Matterhorn will switch to the post's channel and show the post. This change comes a new theme attribute, permalink, that is used to style post permalinks. Post links with no labels appear as <post link>; post links with labels are rendered with their labels. Post links also appear in the URL list accessed with C-o, and they are opened by the message selection mode o binding.
    • Message timestamp visibility can now be controlled with the configuration setting showMessageTimestamps (default: True) and can be toggled at runtime with the new /toggle-message-timestamps command.
    • The channel list can now be displayed on either the left side of the screen or the right. This is controlled with a new configuration setting, channelListOrientation, set to either left (the default and previous behavior) or right.
    • Matterhorn now supports strikethrough syntax in messages. This change adds a new theme attribute, markdownStrikethrough, that is used to style strikethrough text. This change also adds support for strikethrough as a valid style specifier in theme customization files. Bear in mind that your terminal might not support strikethrough; for details, see the FAQ entry on strikethrough support.
    • Matterhorn now has improved handling for channel topics (headers) with multiple lines of text. Previously Matterhorn displayed all lines in a multi-line channel topic but replaced newlines with spaces. That resulted in broken layouts for multi-line topics where layout was important. Now it renders the topics as originally intended with user control over how multi-line topics are displayed in order to let the user control how the topic affects screen real estate use.
      • Added a new key event, toggle-expanded-channel-topics, to toggle whether channel topics show only their first line or all lines.
      • Added a new configuration setting, showExpandedChannelTopics, to set this behavior on startup (default: True).
      • Added a new command, /toggle-expanded-topics, and a new default keybinding, F3, to control this behavior at runtime.
    • Added a /topic command that opens an interactive topic editor when run with no arguments. The editor provides a live Markdown preview of the channel topic. As part of the UI for this feature, new theme attributes were added: button and button.focused for rendering unfocused and focused buttons, respectively.
    • Command autocompletion now queries the server for available commands and includes those in the command list. Server commands are also indicated as being provided by the server to help distinguish them from Matterhorn-specific commands.

    Other changes:

    • Channel selection mode (C-g) now displays entries more consistently with the normal channel sidebar, including:
      • Channel mention counts and visual styles
      • The previous channel sigil (<) and first-unread channel sigil (~)
      • Channel mute status ((m))
      • Unread status and visual style
    • When composing replies, Mattehorn now displays the threat root message of the thread being replied to, rather than the message the user selected for reply (#670). This is intended to be less surprising than the old behavior since showing the root post in the preview is consistent with the display of the post in the message list once it is posted, where the root post is shown above the reply.
    • Matterhorn no longer considers external program output to constitute an error, instead only reporting external program errors on non-zero exit status (#665).
    • Matterhorn now decorates all hyperlinks with angle brackets. This change is intended to get around issues caused when a hyperlink label has a style or color that prevents the normal hyperlink color from being used, thus concealing the fact that it is a link. This makes all links visible regardless of link label content. In particular, links labeled foo now get rendered as <foo>. Links with no labels also get decorated this way.
    • The total unread channel count is now included in the window title bar updates.
    • The total unread channel count is now included in the channel list header.
    • Long lines in code blocks with no syntax highlighting are now wrapped to improve readability.
    • Command autocompletion now sorts command completions to prefer prefix matches first.
    • Command autocomplete now makes only one request for the server command list per completion attempt.
    • There is now a new /shortcuts command to stand in for server-provided version which did nothing in Matterhorn.
    • Message selection mode now remains active when:
      • Opening message URLs (C-s/o),
      • Exiting the message view window (C-s/v), and
      • Exiting the emoji reaction list window (C-s/a).
    • The channel list now includes an unread indicator in the DM channel section header when any DM channels are unread.
    • The visual style for channel selection match text now includes the underline style.
    • All unknown websocket events are now logged rather than triggering messages to ask the user to report issues.

    ๐Ÿ› Bug fixes:

    • The URL list (C-o) now has a fixed header when the channel in question is a DM channel.
    • The URL list no longer treats URLs with the same target but different labels as duplicates.
    • The message editor's multi-line toggle UI hint now looks up the active keybinding rather than hard-coding it.
    • The channel sidebar's unread logic was improved (#655).
  • v50200.10.3 Changes

    October 13, 2020
    SHA-256 checksums for Matterhorn 50200.10.3
    
    matterhorn-50200.10.3-Darwin-x86_64.tar.bz2
    7118993b457f49722b7fee0cae3121391f0e1a1fef9285581c27fce3ef202336
    
    matterhorn-50200.10.3-centos-7-x86_64.tar.bz2
    e8c3e06255ddff5c740b8a4921d29379ac1bc1831472534c9c90a2062721a28c
    
    matterhorn-50200.10.3-fedora-29-x86_64.tar.bz2
    f7c89a2c3b72cdafad4fff7ba653b02b2a6d60e5cbe5eeedf743af93182db7f4
    
    matterhorn-50200.10.3-ubuntu-18.04-bionic-x86_64.tar.bz2
    9e479e84d9a40ca8affcfcb78bb099377f6e85818511f35bfca7b1ef6867644e
    
    matterhorn-50200.10.3-ubuntu-20.04-focal-x86_64.tar.bz2
    84b81c3a6a2a14bd07a1c12603ab03a898ef69a4957c846dcabab67650cc8d7e
    
  • v50200.10.2 Changes

    October 01, 2020
    SHA-256 checksums for Matterhorn 50200.10.2
    
    matterhorn-50200.10.2-Darwin-x86_64.tar.bz2
    cd54f4758eafe8babf58534d3fb0bfde7e01c930cf1539bbe4500b783a73710c
    
    matterhorn-50200.10.2-centos-7-x86_64.tar.bz2
    2c79c053b111520efeb8fd808fb3bd608ef4026ff3c218859e9a0416d7db6760
    
    matterhorn-50200.10.2-fedora-29-x86_64.tar.bz2
    a6257cc28457ba0917e486c5b991e67be258f6e0f11dedd749ffb2046a495eeb
    
    matterhorn-50200.10.2-ubuntu-18.04-bionic-x86_64.tar.bz2
    28f4aa560117c95f39af83363e054c2ee4ba8e439c6f74502563acd06610884c
    
    matterhorn-50200.10.2-ubuntu-20.04-focal-x86_64.tar.bz2
    a63f5a4ef2e5040660d658b09c25c8b2a56e740c4f2bc3406a067277eb6e6572
    
  • v50200.10.1 Changes

    August 19, 2020
    SHA-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. When False (the default), opening URLs from a selected message returns the application to the main UI (the behavior prior to this release). When True, 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 binding Shift-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, not Home, 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 to Shift-Home.
      • Adds a new key event, select-oldest-message, that Shift-Home triggers by default.
      • Home now triggers the editor-home event. Users wanting the old behavior can simply unbind the editor-home key event and bind select-oldest-message to Home.
    • 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 from username.0 to username.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 in docs/.
    • 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)
  • 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 the Text Editing section of /help and /help keybindings as well as the keybinding tables provided by matterhorn -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 to focus-prev-channel
      • focus-next-channel-alternate, default key: Down, alternative to focus-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 the smartediting 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).
  • 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 see docs/sample-config.ini for documentation on tokencmd. 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) and focus-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)
  • 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.
    • A new configuration option now controls certificate validation (#263). This change adds a new config setting, validateServerCertificate. Its default is True. 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).