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

Changelog History
Page 2

  • 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).
  • 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) and select-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 and tabUnselected, 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 in sample-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 and select-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 to docs/ 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)
  • 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).
    • 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 file emoji.json located in the same directory as the Matterhorn configuration file config.ini, or at the path emoji/emoji.json relative to the location of the matterhorn 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 than O(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)
  • 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, see

    • The 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)