Skip to content

0.052.300

Latest

Choose a tag to compare

@danhetrick danhetrick released this 21 Sep 21:25
· 5 commits to main since this release

Summary

MERK is a free, open source, multiple-document interface Internet relay chat for Windows, Linux, and macOS. It can be run with Python 3.9+ if PyQt5 and Twisted are installed; to connect to TLS/SSL enabled servers, install pyOpenSSL and service_identity. If you encounter problems running MERK with Python 3.9+ on Windows, you may need to install pywin32. All PyInstaller versions of MERK are built for 64-bit operating systems.

What's New

  • Many icons have been changed. The icons for "open file", "folder", "bold" and "italics", "new file", "save", and "save as" are all new, from the public domain Tango icon set.
  • Log snippets can be copied from the Log Manager with color/formatting stripped. Use the "Ctrl+X" shortcut in the Log Manager to copy text from the log viewer with all IRC colors/formatting stripped from the text.
  • Results from /ctcp PING now show the round-trip time the request took in milliseconds. Showing a user's full username (nickname!hostmask) in CTCP replies can now be toggled; this is turned off by default, and will only display the user's nickname.
  • The "Windows" menu has been streamlined.
  • Many more IRC networks now have "known" websites. The network website URLs will appear in server information menus, and in status bars. Nearly all of the "built-in" server networks now have a URL, if we could find one.
  • All new application shortcuts. Press Ctrl+N to open the connection dialog, Ctrl+L to open the Log Manager, Ctrl+E to open the text style editor, Ctrl+I to open the Ignore Manager, and Ctrl+H to open the Hotkey Manager. The shortcuts are turned on by default; they can be turned off in the "Settings" dialog, in the "Settings" menu, or with the /config command.
  • Users are now asked before connecting to the same server more than once. MERK will connect to servers more than once, it will only ask the user if they are sure they want to. This option is enabled by default, but can be disabled in the "Settings" dialog, or with the /config command.
  • New "tips" have been added to the "tips and tricks" dialog.
  • Many prompt dialogs have been updated. Dialogs that prompt the user for a "yes or no" question have been changed to be clearer and easier to understand; the default button is always in "bold".
  • New script-only command: strip. This command strips IRC colors and formatting from text and stores the result in an alias.
  • The _TOPIC and _COUNT built-in aliases work slightly different. More details can be found in the MERK User Guide.
  • New built-in alias: _CMODE. This built-in aliases contains any channel modes that are set in the current channel, or to * if used in a non-channel window or if no channel modes are set.
  • The "large log" warning has been set to 15 MB (down from 30 MB). This is the new limit MERK will look for before prompting the user the back up large logs.
  • Many bugfixes.

Files

  • Python distribution
    • merk-0.052-300.zip contains the Python code for MERK; unzip the source to any folder, navigate to that folder with your favorite console application, and type python merk.py to run MERK. Instructions for running the source on Windows, Linux, and macOS can be found in the repository.
  • Windows PyInstaller distributions
    • merk-windows-0.052-300.zip can be unzipped to any folder, and contains an executable and a directory with support files; unzip to any folder, and double click on merk.exe to run MERK.
    • merk-windows-setup-0.052-300.zip contains an installer for MERK; unzip and double click setup.exe.
  • Linux PyInstaller distribution
    • merk-linux-0.052-300.zip can be unzipped to any folder, and contains an executable and a directory with support files; unzip to any folder, and double click on merk to run MERK.
    • merk-linux-0.052-300.flatpak can be installed with flatpack install --user merk-linux-0.052-300.flatpak.
  • Other files
    • MERK_User_Guide.pdf contains a guide for using MERK, as well as writing scripts and plugins. It is available in the app, in the "help" menu.
    • CHANGELOG contains a list of changes in new release.

All downloads contain README.html, which contains usage information about the application and a list of all commands supported by MERK. Further information can be found in the MERK_User_Guide.pdf, available here or from the Help menu.

MERK has a plugin framework. For more information about how to write plugins, please see MERK_User_Guide.pdf. The official repository contains some example plugins right here.

Configuration files and logs are stored in a directory named .merk in the user's home directory.

CHANGELOG for 0.052.300

APPLICATION CHANGES

  • Changed the "open file" icon.
  • Changed the "folder" icon.
  • Changed the "bold" and "italics" icons. Previously, these icons had both
    "dark mode" and "light mode" separate icons; the code for this (and the icons)
    have been removed.
  • Bugfix: the userlist display in the text style editor was not showing entries
    in bold (or NOT in bold) correctly.
  • Bugfix: changing the font while connected and chatting could result in the
    chat display "cursor" being moved to an incorrect position.
  • Tweaked the "set color" button size in the "Settings" dialog and the text
    styler. This shrinks the size of the text style editor down some.
  • All widgets in the text style dialog can no longer accept focus, and the
    "Apply" button is now set to be the default button.
  • Bugfix: the "user" icon was shown in the channel "copy channel name to
    clipboard" option in the channel chat display right click menu.
  • Added an option (for privlileged users) to copy a channel's banlist to the
    clipboard to the channel right click menu.
  • Tweaked the private chat and channel right click menus; the name of the
    current chat is now mentioned relatively frequently.
  • Changed the right click menu in the log manager to allow users to copy
    selected text in the log viewer and strip IRC colors from the text before
    storing it in the clipboard. The "cut" shortcut (Ctrl+X) has is used to
    copy text without any IRC formatting or colors.
  • Changed the "new file" icon.
  • Changed the "save" icon.
  • Changed the "save as" icon.
  • The "/ctcp" command can now send PING requests. The "/ping" command (which did
    this functionality) has been removed. The "/help" command text, as well as
    the command documentation and the syntax highlighter, has been updated
    accordingly.
  • Bugfix: the IRC client can now handle malformed PING replies without
    displaying an error message.
  • Bugfix: the IRC client now handles CTCP PING replies properly.
  • Bugfix: the "smaller font" point size in the text style dialog could be not
    set in certain circumstances.
  • Bugfix: fixed the "/links" command.
  • Bugfix: several commands were potentially vulnerable to a race condition.
  • The "/whois", "/whowas", and "/who" commands now also write their output to
    the server window.
  • Bugfix: the "/who" command could print to STDOUT for no reason.
  • Removed support for the WebSocket "pong" event.
  • The "/ctcp PING" command now tracks how long it took the PING to return to
    to the client, and displays that time in milliseconds to the user.
  • Bugfix: the "/ctcp" command could pass unneeded arguments.
  • CTCP replies no longer display the user's "full" username (nick!hostmask).
  • Added an option to toggle showing "full" user data in CTCP replies to the
    "Settings" dialog.
  • Server submenus in the "Windows" menu now don't reproduce a per-server
    subwindow list when only one server is connected to. All the other options are
    there (as set in the "Settings" dialog/config file).
  • Added a link to every network in the "built-in" server list that I could find.
  • The "cleanlooks" Qt widget style is now allowed for use.
  • Added a message box that asks the user if they want to restart the
    application when they change the Qt widget style. Much like with other message
    boxes, the option to reconnect to all currently connected servers on restart
    is offered to the user.
  • Added application shortcuts to bring up the connection dialog, log manager,
    style editor, hotkey manager, and ignore manager. This option can be turned
    off in the Settings dialog, or by using "/config" to set
    "application_shortcuts" to "false". The shortcuts, if enabled, are shown in
    menu entries.
  • Bugfix: the chat display in the text style editor could be scrolled.
  • Added a toggle for application shortcuts to the "Settings" menu, in the
    "Tools" submenu.
  • Changed the font size in main menu entries.
  • Code cleanup: moved more functionality using string concatenation to
    f-strings.
  • Bugfix: channel topics with IRC colors/formatting could show up "strange" if
    they are shown in the application title. The colors/formatting are now
    stripped before being shown in the title.
  • Added an option to prompt the user if they try to connect to the same server
    more than once; the user can still connect anyways, but they will be prompted
    to make sure. This option is enabled by default, but can be disabled in the
    "Settings" dialog or the "/config" command.
  • Unified the "visual language" of the application by making the default button
    in various dialogs bold.
  • The "hostmask" script only command will now "return" "*" if the requested
    hostmask is not known.
  • Added new "tips" to the "tips and tricks" dialog.
  • Bugfix: channel user list refreshes didn't always occur for some "ununsual"
    or uncommon channel statuses.
  • Some server requests were moved to the newer "batch" system, to limit how
    much information we request from the server at one time.
  • New built-in alias: "_CMODE", which contains any set channel modes, or is set
    to "*" if there are no modes set or the window is not a channel window.
  • Change to the "_COUNT" built-in alias: the alias works the same for channel
    windows, but is set to "0" for server windows, and "2" for private chat
    windows.
  • Change to the "_TOPIC" built-in alias: if there is no topic set, or if the
    window is not a channel window, "_TOPIC" will be set to "*".
  • Bugfix: fixed several error messages for script-only commands.
  • New script-only command: "strip", which strips IRC colors and formatting from
    a string and stores it in an alias.
  • Changed the default "large log warning" size to 15 MB (down from 30 MB). The
    variable name in the configuration file has been changed so that the new
    default it updated for all users.
  • Rewrote some of the message display code for setting and unsetting modes.
  • Bugfix: sometimes the client would display a "mangled" set or unset mode
    message from servers.
  • The "/time" command now displays the reply to it in the active subwindow as
    well as the server subwindow; the same change has been made with the
    "/version" command.
  • Bugfix: being kicked from a channel could trigger a 442 error from the server
    (as the client tried to issue a PART command when a channel window is closed).

PLUGIN API CHANGES

  • The Window class "status" method can now accept "op" or "operator" to test for
    channel operator status.
  • The Window class "status" method can now accept "halfop" or "half-operator" to
    test for channel half-operator status.
  • The Window class "status" method can now accept "admin" or "administrator" to
    test for channel administrator status.

WARNING! MERK may appear to be infected with something by your Windows antivirus. It is not infected with anything, it just seems to appear that way because some malware in the past was packed with PyInstaller (at least, this is my theory). I have uploaded all binaries to VirusTotal.

Released Monday September 21, 2026