|Submitted: Jan 6 2004|
Updated: Nov 4 2014
Konversation is a user-friendly Internet Relay Chat (IRC) client built on the KDE Platform.
--- What's new ---
Konversation 1.5.1 is a maintenance release containing only bug fixes. The included changes address several minor behavioral defects and a low-risk DoS security defect in the Blowfish ECB support. The KDE Platform version dependency has increased to v4.9.0 to gain access to newer Qt socket transport security flags.
Konversation 1.5 adds numerous major features over the previous stable release. Of particular note are support for SASL and client certificate authentication, all-new topic management UI, overhauled authentication UI in the Identities dialog, per-tab spell-checking language settings, user-configurable nick context menu entries, mouse spring-loading on tabs, all-new versions of major bundled scripts and improved Ignore and Watched Nicknames systems. Many under-the-hood changes to improve codec support and general performance, along with the usual slew of bug fixes all over, further sweeten the deal. Don't miss out on reading about various other new features and more fixes in the full changelogs since version 1.4, too!
--- Essential links ---
Konversation's website: http://konversation.kde.org/
Report bugs and wishes at: https://bugs.kde.org/enter_bug.cgi?product=konversation
Older releases: http://konversation.kde.org/wiki/Releases
Changes from 1.5 to 1.5.1:
* Fixed a bug causing wildcards in command alias replacement patterns not to be expanded.
* Fixed a bug causing auto-joining of channels not starting in # or & to sometimes fail because the auto-join command was generated before we got the CHANTYPES pronouncement by the server.
* Added a size sanity check for incoming Blowfish ECB blocks. The blind assumption of incoming blocks being the expected 12 bytes could lead to a crash or up to 11 byte information leak due to an out-of-bounds read. This fixes CVE-2014-8483.
* Enabling SSL/TLS support for connections will now advertise the protocols Qt considers secure by default, instead of being hardcoded to TLSv1.
* Fixed the bundled 'sysinfo' script not coping with empty lines in /etc/os-release.
* Made disk space info in the bundled 'sysinfo' script more robust by forcing the C locale for 'df'.
* Added an audio player type hint for Cantata to the bundled 'media' script.
* Fixed some minor comparison logic errors turned up by static analysis.
* Konversation now depends on KDE Platform v4.9.0 or higher.
Changes from 1.5-rc2 to 1.5:
* Expanded interface translations.
Changes from 1.5-rc1 to 1.5-rc2:
* Fixed a bug that could cause the Watched Nicks system to report all nicknames as offline if the Watched Nicks tab had been opened prior to a reconnect, even if that was not the case.
* Fixed a bug where a URL with IRC Color markups caused to show colors, even if 'Allow Colored Text in IRC Messages' was disabled.
* Fixed a bug where spaces in the path to the pre-connect shell command were handled incorrectly. Tilde expansion now occurs as well.
* Clicking a channel link starting with more than one # character would join a channel starting with one # too few; this has been fixed.
* Fixed auto-replace not being applied to messages that are sent from the Large Paste Warning dialog.
* Made the action to manually apply Auto Replace work in the Paste Editor as well.
* Fixed irc(s):// URL support registration in KDE 4.9.3+ (kdelibs versions 4.9.3 and higher give precedence to .desktop file x-scheme-handler MIME type registration over .protocol files installed by an app, but Konversation did not announce URL support via an %u expando in the Exec key).
* Build fix for win32.
* Added a workaround for a rare crash on Mac OS X due to bugs in the implementation of Qt's font metrics calculation on that platform.
* Fixed a bug causing changes of the 'a' user mode to set/remove Owner status on nickname list entries.
* Minor UI cleanup in the Channel Settings dialog.
* Enabled freedesktop.org Startup Notification support.
* Recent releases of Konversation filtered all Unicode characters outside the Basic Multilingual Plane due to a confluence of grave bugs in the Utf-8 support in Qt. As fixed versions of Qt have now circulated for some time and are required to build Konversation, this restriction on Unicode support has now been lifted.
* Fixed a bug that caused the desktop notification (KNotify) event for nicks on the Watched Nicknames list coming online or dropping offline not to fire when notifications for the associated connection's status tab were disabled.
* Fixed the bundled 'sysinfo' script crashing on non-ascii characters in /etc/os-release when run on Python 2.
* The bundled 'sysinfo' script now tries harder to determine the current CPU clock frequencies (it now looks at sys/.../cpufreq/scaling_cur_freq in addition to /proc/cpuinfo).
* Fixed a bug causing the flood fill tool in DCC Whiteboard tabs not to use the correct color after using the color picker tool to set it.
* Launching the default browser when clicking on links now works properly again on Windows.
* Fixed a bug causing certain combinations of sorting and filtering in Channel List tabs not to work correctly, leading to partially unsorted list entries.
* Minor rewordings and cleanups in UI text and the handbook for clarity and correctness, e.g. the "Notify" notification event is now known as "Nick online".
* More information sources are now taken into account to update Konversation's idea of whether a particular nick is identified with services or not (information from IRC numeric 330 was previously discarded).
* Fixed a bug causing Konversation to attempt to PART a channel that's no longer actually joined when closing a channel tab after having been kicked from the channel.
* Some included PNG image files were badly encoded, this has been addressed.
* Fixed a bug causing the file URL for an authentication certificate in the Identities dialog to be forgotten across application restarts.
* The warning about text in the topic editor exceeding the server-allowed limit now calculates the threshold more correctly, taking encoding and IRC formatting expandos into account.
* Konversation now depends on KDE Platform v4.7.0 or higher and Qt v4.7.0 or higher.
Changes from 1.4 to 1.5-rc1:
* The user interface for the Auto Identify settings in the Identities dialog has been extended by a combo box that allows choosing the type of authentification to be performed. Depending on the chosen type, different input fields are shown below the combo box.
* The server password-based authentification supported by some networks is now configurable in the Identities dialog as well, making it more discoverable and allowing to keep Auto Identify settings generally with the Identity rather than requiring going through the Edit Server dialog.
* SASL PLAIN authentification is now supported. To use, pick SASL as the Auto Identify type in the Identities dialog and fill in your account name and password.
* Standard NickServ authentification has been further improved. The command sent to to the service, previously hard-coded to "identify", is now configurable, and the name of the service now defaults to "nickserv" in new identities (the previous default was an empty field).
* Added support for authenticating via a SSL Client Certificate in the form of a PEM file if Konversation is built against KDE Platform v4.8.3 or higher. Choosing this type of authentication in the Identities dialog forces SSL to be enabled for a connection, overriding any server settings.
* Added the ability to set a different spell-checking language for every tab, from the context menu of the input box. The chosen language setting is preserved across application restarts.
* The Topic tab in the Channel Options dialog has been redesigned and rewritten from scratch, featuring a much improved UI and many bug fixes:
- In place of the previous UI with a multi-column topic history list and two distinct text fields for browsing and editing there is now only the list and an edit field. The list has been redesigned to show all of the data for a topic, with visually distinct headers serving to delineate individual entries and showing the author and timestamp, above the full text for each topic.
- Entries in the history list now sport a context menu allowing to copy the topic text and querying the topic author.
- A new search field above the history list allows filtering it by looking for the search string in the text, author name and timestamp of all topics.
- When an encryption key is set for a channel an attempt is now made to decrypt all of the topics in the history, not just the current topic.
- When editing the topic any text entered past the server's maximum allowed topic length will now be drawn in the color scheme's negative text color (i.e. usually red). Further, if Konversation has been built against KDE Platform v4.7.0 or higher, a warning is shown at the bottom of the text field explaining the limit and offering the option - via a button - to delete the excess text.
- The text cursor is now automatically placed at the end of the edit field, making the common use case of adding to the topic more convenient.
- The location of the splitter handle inbetween the history list and the edit is now remembered across all Channel Options dialogs and application restarts.
- Storing the topic history for each channel now takes up less memory, and general efficiency in handling with topic data has been improved greatly.
- Fixed a bug causing redundant entries to accumulate in the topic history across reconnects when the last entry in the history corresponds to the topic given by the server at rejoin.
- Fixed a bug causing HTML tags in topics to be invisible in the edit field.
- Fixed a bug causing the "Undo" action in the edit field to occassionally stop working, making it impossible to return the field to the unmodified state in which its contents sync to the selected history list entry.
- Fixed a bug causing the topic not to return to its encrypted form when the decryption key for a channel has been deleted.
- Fixed a bug causing the author of a topic to sometimes be shown as the full user mask instead of consistenty showing only the nickname.
- Fixed a bug causing the "Unknown" placeholder that is used when the author of a topic is unknown not to be translated.
- Fixed the incorrect tab key order in the Topic tab.
* Fixed a bug causing the topic at the top of channel tabs not to return to its encrypted form after the decryption key for a channel has been deleted.
* The size of the Channel Options dialog is now synchronized between the dialogs for different channels and remembered across application restarts.
* The widths of the columns in the Ban List tab in the Channel Options dialog is now synchronized across all Channel Options dialogs.
* The Quick Buttons options now feature a new checkbox that toggles whether Quick Buttons that operate on nicknames will be shown alongside other nickname-related actions in context menus throughout Konversation. Essentially, this allows for placing custom actions in nickname context menus.
* The list of placeholders available in Quick Button patterns now mention the previously undocumented "%k" placeholder for the current channel's key and is sorted alphabetically.
* When a Quick Button pattern replaces the current input box contents (due to the presence of the "%n" expando in the pattern) they are now added to the input box history first.
* Quick Button patterns now support a new "%i" placeholder that is replaced with the current contents of the input box.
* Both the regular tab bar and its listview version now implement "spring-loading". That is, when dragging something onto a tab and holding it there, the hovered tab will now be switched to after a brief delay. This allows switching to the intended tab as part of dragging text or a file to its destination, e.g. the tab's input bar or nicklist.
* All types of tabs which sport a prominent input widget will now see focus moved to that widget and the first keypress redirected when focus is on the treelist version of the tab bar while starting to type. In previous releases this already worked for chat tabs with their usual input bars, now it also works for e.g. Channel List tabs and Konsole tabs.
* A '/umode' convenience command to set modes on self has been added.
* The 'Mode change' notification event now sports a proper text payload describing what has happened.
* The system tray icon now shows an overlay icon when global away is enabled.
* The behavior of the 'Show/Hide Konversation' action has been simplified and tuned to do the correct thing in more scenarios. Previously, invoking the action would hide the window even if it was not actually visible due to being covered by other windows, because merely not being hidden, not being minimized and being on the current desktop was already considered being shown. A much simpler approach of always showing the window if it is not the currently active window (and, as before, moving it to the current desktop as needed) and hiding it when it is has been adopted now instead.
* Added an option to restrict logging to private conversations (queries, DCC chats).
* Added an action to manually apply the user-configured auto-replace rules to the input box contents without sending the message, enabling user review before doing so. The relative cursor position is preserved or the cursor is moved to the end of an intersecting replacement insertion when auto-replace is applied.
* Server status tabs for networks listed in the Server List dialog now have a "Connect at Startup" checkbox in their context menu, similar to the "Join on Connect" checkbox in the context menu of channel tabs. Both set options also available from the Server List.
* Removing newlines in the Edit Paste dialog can now handle Windows-style carriage return line breaks and whitespace characters other than ASCII 0x20.
* Part and Quit messages now show the hostmask of the subject, consistent with Join messages.
* The nickname list theme preview in the configuration dialog now uses the same background color as the actual nickname lists.
* Raw log tabs now use color coding to visually differenciate inbound and outbound messages, using the server message and channel message colors from the color settings respectively.
* The DCC Status transfer list update interval now depends on the graphics effects level setting in KDE System Settings, changing between 500, 1000 and 2000 ms depending on the level set.
* Fixed a bug causing the input box height not to be adjusted appropriately to fit the contents when the "Input box expands with text" option is enabled and the window is resized horizontally, causing the text to rewrap.
* Fixed a bug causing the context menu for an item in the DCC Status transfer list to appear in the wrong position.
* The double-click action command for Watched Nicks list entries now supports command aliases.
* Fixed a bug causing wildcard expansion to be performed on the input box contents when they start with a Command Alias (rather than just expanding wildcards in the Alias replacement pattern).
* The bundled 'media' script has been rewritten from scratch to implement the MPRIS2 standard for interfacing with media players - and only the MPRIS2 standard. This means losing support for a number of legacy players which do not support MPRIS2, but also gaining support for a number of popular modern players which do (e.g. Tomahawk). Additionally, there are often third-party MPRIS2 bridges or plugins for players which do not support it natively. The script now also features much-improved error handling and reporting in the face of misbehaving players or configuration errors.
* The bundled 'sysinfo' script has been rewritten from scratch. The new version offers more accurate CPU and KDE version information (accounting for multiple cores and frequency scaling for the former, and making the difference between running inside KDE or just using the KDE Platform for the latter), as well as the addition of distro name and release information and generally improved robustness in data acquisition. Finally, the output format is now easier to configure, adopting an approach similar to the one used in the 'media' script.
* The bundled 'sayclip' script has been rewritten from scratch, removing the now-redundant flood handling found in the old version (Konversation takes care of this implicitly today) and improving the error handling in case Klipper cannot be contacted.
* The bundled 'bug' script has been rewritten from scratch, featuring improved error handling and adding internationalization support.
* Fixed a bug causing the What's This help tooltip for nickname lists to show the regular user icon instead of the away icon as the away icon example.
* The desktop notification for a completed incoming DCC file transfer now offers an action to open/run the received file.
* Various fixed to tab stops and margins in the configuration dialog pages.
* Minor UI fixes for the Queue Tuner (opened by /queuetuner), correcting icon use and button labels.
* Removed excess white space from several warning dialog messages.
* Fixed a bug causing the Watched Nicks to spam the active tab with repeated WHOIS requests for someone on the Watched Nicks List after opening a query tab to them while they were offline.
* Fixed several bugs in preserving per-tab encoding settings across application restarts.
* Link opening now properly respects KDE's file type associating settings instead of always opening a web browser.
* Fix Konversation not saving the unchecked "... a channel invitation is received" warning dialog option in the Warning Dialogs list in the configuration dialog
* Unchecking the "... a channel invitation is received" warning dialog option in the Warning Dialogs list in the configuration dialog now sets the behavior for future channel join invitations to always joining them. The actual dialog allows chosing between always accepting and always ignoring, but until this can be exposed in the configuration dialog, always joining them makes this option consistent to all other warning dialog options.
* The default behavior upon receiving a channel join invitation is now to ask the user, instead of silently accepting the invitation. The latter behavior accidentally snuck into 1.4 and is considered a bug.
* Added a workaround for behavior in the Phonon multimedia library that could lead to crashes on application quit when using custom highlight notification sounds.
* Fixed a bug causing an ambiguous shortcut warning dialog when using the default ESC keyboard shortcut to invoke the Focus Input Box action after the search has been opened and the Focus New Tabs option was disabled while a new tab was opened.
* Fixed a bug causing multiple ignore list entries with the same pattern not to be preserved across application restarts. Instead only the latest entry with the pattern would.
* Fixed a bug causing the tab label for open log viewer tabs to be set to "ChatWindowObject" when switching the tab bar position between top or bottom and left.
* Made the code turning channel names into clickable links more strict about what types of trailing punctuation it incorporates into the link.
* Fixed bugs causing currently joined channels not to react correctly to changes in the enabled state of the Automatic User Information Lookup setting. Previously, enabling the lookup would not actually start it, and disabling it would only take effect after one last lookup was performed. Both now take effect immediately.
* The reaction to a change of the Automatic User Information Lookup interval setting has been improved considerably: Whereas previously Konversation would simply wait out the current interval scheduled using the old setting value and only then schedule the next lookup using the new value, it now reschedules the next lookup to occur as if the new value had been set all along, or, if the time elapsed since the last lookup was performed already exceeds the new value, comes as close as possible by performing a lookup immediately.
* All forms of opening a query (the '/query' command, clicking a nickname in the chat text display, double-clicking in the nickname list or the nickname list context menu action) now consistently move focus to an existing matching query tab, matching the behavior of various forms of joining an already-joined channel. Previously this was only true for the '/query' command.
* Minor visual (the selection decoration for server items now spans the whole row) and behavioral (when collapsing a network while one of its a server is selected, the selection is now moved to the network item instead of becoming invisible) improvements in the Server List dialog.
* Fixed a bug causing the option to automatically focus new query tabs not to work correctly.
* Fixed a bug causing IRC formatting state not to be reset at the end of a topic when showing it in a channel's chat text display, potentially causing the rest of the line to be malformatted.
* If built against KDE Platform v4.8.3 or higher, the date column in the Url Catcher will now immediately reflect changes to the date format made in KDE's System Settings application.
* Fixed a bug causing an application crash in response to an (illegal) '/unban #channel' command.
* Showing line and paragraph indicators in the Edit Paste dialog's text entry field unfortunately had to be disabled for the time being due to a bug in the underlying Qt code.
* Leaving the "Use custom version reply" option's text field empty now disables responding to CTCP VERSION requests entirely instead of sending empty responses.
* Fixed the vertical height of rows in the Channel Invites dialog possibly cutting off the checkboxes depending on the checkbox and font sizes in play.
* A basic framework to support the IRC Client Capabilities Extension ("CAP") has been added.
* Performance optimizations and code cleanup for processing NAMES messages from the server.
* Performance improvements have been applied to hotpaths in the protocol implementation.
* Debug builds of Konversation now understand a "--nui" command line argument to disable the check for whether Konversation is already running, thus allowing multiple instances of Konversation to be started. This is known to cause bugs (e.g. for anything started by Konversation that relies on the D-Bus service name of the running instance being org.kde.konversation: this means all bundled scripts) and can wreak havoc with the config file - it's meant only for use by developers / for debugging purposes.
* Markup cleanups in the handbook and visual improvements to handbook icons in the PDF export on http://doc.kde.org.
* Fixed a compilation problem on 64bit Windows.
* Code cleanups for warnings issued by clang.
* Build system improvements for kdepimlibs includes handling.
* Konversation now depends on KDE Platform v4.6.0 or higher and Qt v4.7.0 or higher.
Changes in older releases: https://projects.kde.org/projects/extragear/network/konversation/repository/revisions/master/entry/ChangeLog