Konversation Changelog

What's new in Konversation 1.6

Apr 8, 2015
  • Konversation 1.6 is the first stable release of Konversation built on the new KDE Frameworks 5 and Qt 5 library sets, improving integration into many desktop environments, including Plasma Desktop 5, and adding first support for hi-dpi scaling. In addition to porting and reworking things for hi-dpi scaling, a number of behavior improvements and bug fixes were implemented, particularly improved nickname selection behavior at connection time and better layout behavior for the channel top area.
  • Unfortunately the 1.6 release removes support for integrating with the KDE Address Book, as the interfaces Konversation was using to achieve this were dropped from KDE Frameworks. A replacement is in the works in the form of the new KPeople library, which we intend to use in a future release. Using KPeople, Konversation will then be able to tightly integrate with various contact management-related features in Plasma Desktop.

New in Konversation 1.6 Beta 1 (Dec 1, 2014)

  • Konversation now depends on KDE Frameworks v5.2.0 and Qt v5.3.0.
  • The default nickname list theme has been updated to KDE's new Breeze visual identity.
  • Notification events now have non-generic titles to prevent Plasma Desktop 5 from merging events from different sources.
  • Fixed a bug causing the "Focus Input Bar" action to be enabled/disabled at incorrect times.

New in Konversation 1.5.1 (Nov 4, 2014)

  • 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.

New in Konversation 1.5 (Jan 16, 2014)

  • Support for SASL and client certificate authentication, a new topic management UI, an 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, improved Ignore and Watched Nicknames systems, many under-the-hood changes to improve CODEC support, and general performance and many bugfixes.

New in Konversation 1.5 RC2 (Jan 8, 2014)

  • 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.

New in Konversation 1.5 RC1 (Mar 18, 2013)

  • 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.

New in Konversation 1.4 (Dec 5, 2011)

  • A brief selection of highlights since 1.3.1:
  • URL and email detection in text views has been rewritten from scratch, greatly improving the handling of various types of URLs and the contexts they might appear in.
  • Extensive improvements to IRC formatting code handling, including the return of background color support.
  • Extensive, sometimes full rewrites of user interface elements such as nearly all context menus, the URL Catcher and the Warning Dialogs system for a long list of user interface improvements and bug fixes.
  • Improved SSL connection behavior.
  • Translation support and various other improvements in several bundled scripts.
  • Expanded Python scripting support via the introduction of an API support package.
  • Support for more IRC numerics.
  • Various bugfixes to input line command handling and connection behavior.
  • Changes from 1.4-beta1 to 1.4:
  • Fixed +q Type A channel modes (Freenode's "quiet bans") being reported as awarding channel owner privileges.
  • Fixed a bug causing the +r channel mode to be incorrectly described as "server reop" in the user interface.
  • Improved the description string for the +l channel mode.
  • Fixed the parameter handling of the example script in the handbook's section on scripting.
  • Fixed build with KDE Platform versions below 4.6.0. The minimum required version is 4.4.3.
  • The '/setkey' command now supports keys that have spaces in them, by treating all parameters after the first as part of the key.
  • The 'Edit Multiline Paste' editor now puts initial focus on the text field, rather than the Send button.
  • Added a sanity check to avoid a crash while processing broken, empty NAMES messages from a server, encountered with the shroudBNC bouncer.
  • Changes from 1.3.1 to 1.4-beta1:
  • General User interface (more UI changes in individual sections below):
  • The code handling the context menus of chat text views (including the context menus for nicks and channel links), channel nickname list views and topic areas has been rewritten from scratch, resulting in a long list of bug fixes and consistency and efficiency improvements:
  • - Numerous consistency problems in the area of which actions are available in which context menus have been addressed. For example, the chat text nick context menu used to lack many of the actions available in the nickname list context menu.
  • - Numerous actions that require an established connection (e.g. everything in the "Modes" submenu of nick context menus or the DCC actions) used to not get disabled when loss of connection occured. Others did get disabled, but not consistently in all menus in which they are available. Still others, such as the "Add to Watched Nicks" action, used to get disabled unnecessarily. All of this has been addressed.
  • - Toggle actions used to appear and behave inconsistently: The nickname list context menu showed either "Ignore" or "Unignore" actions as applicable, while the chat text view nick context menu used a checkable item. Meanwhile, the "Add to Watched Nicknames" action had no corresponding action to remove a nick from the Watched Nicks Online list at all. All of this has been fixed, going with the "Ignore"/"Unignore" style of the nickname list context menu (i.e. there's now a "Remove from Watched Nicks").
  • - If built against Qt 4.7, the topic area now uses the same context menus as the chat text view (with the exception of the inappropriate "Find Text.." action in the basic context menu), enabling a lot of functionality missing otherwise.
  • - Some actions used to be shown in menus inappropriately, e.g. the "Channel Settings" action in the chat text view context menu of a connection status tab or the "Open Logfile" action in the same context menu of a raw log tab. This has been addressed.
  • - The behavior of many of the actions is now more consistent with their input line equivalents. For example, clicking "Join Channel" in a link to an already-joined channel will now focus the existing channel tab, the same as the /join command would do. Previously, nothing would happen.
  • - Fixed a bug causing the nick and channel link context menus in the chat text view of a channel tab to get disabled after having been kicked from the channel.
  • - Fixed a bug causing the "Send Email..." action to always be disabled, even when any of the associated address book entries did have an email address on file.
  • - The display of helpful titles repeating the nick/channel at the top of the chat text view nick and channel link context menus has been fixed - it previously got broken in the KDE 4 port.
  • - The nick and channel link context menus now mark the action that occurs when clicking either as the default action of the context menu, improving the appearance with UI styles that visually distinguish the default action.
  • - General improvements to the layout of menus, often with an aim for improved consistency with other KDE applications.
  • - Numerous actions that were missing icons now have them.
  • - The consistency of keyboard accelerators between the various menus has been improved.
  • - Various actions in the nickname list context menu now appropriately use a singular or plural form for their text label depending on the number of selected nicks the menu operates on.
  • - Improved memory efficiency by using single global instances of the various menus, rather than for example having two separate instances of the nick context menu - one for the chat text view, one for the nickname list view - for every channel tab.
  • - The code implementing the various actions was in many cases redundantly implemented in three different places, for some even in four. This staggering code duplication has been done away with.
  • - Links now have an "Open With..." action that opens a dialog allowing to choose in which application to open the link.
  • The URL Catcher has been rewritten from scratch, bringing about a number of improvements and bug fixes:
  • - It is now possible to select multiple list entries, and all of the selection-related actions, such as "Open" or "Add Bookmark", can now operate on multiple selected entries ("Add Bookmark" will offer to add all selected entries as a new bookmark folder, for example).
  • - Reasonable default sorting: The list is now sorted by the "Date" column in descending order the first time the URL Catcher is opened, so that the newest URLs are found at the top. Previously, the list was sorted by the "From" column in ascending order by default.
  • - The list data is no longer stored in memory twice while the URL Catcher is open. Data handling is generally more efficient.
  • - The list entry context menu has been cleaned up, now showing only the actions applicable to individual entries.
  • - The list now automatically receives keyboard focus when switching to the URL Catcher tab.
  • - When saving the list to disk, the file dialog to pick the destination file will now ask before overwriting an existing file of the same name.
  • - The date and time in the header of a saved list file is now formatted according to the user's locale settings.
  • - Fixed a bug causing the opening of caught irc:// and ircs:// URLs not to work.
  • - Fixed a bug causing the "Date" column to sort alphabetically rather than chronologically.
  • - Fixed a bug causing the deletion of list entries not to work.
  • - Fixed a bug causing a 1px remnant of tree branch lines to be visible along the left edge of list entries.
  • - An unnecessary margin around the toolbar and the search line edit has been removed.
  • - Fixed a bug causing the URL Catcher tab to claim to be eligible to receive chat text messages that have the frontmost eligible tab as their recipient despite it not actually possessing the means to display them, resulting in a crash when such a message occurred.
  • The Warning Dialogs system has been overhauled, with improved wording in the listing in the configuration dialog (which now also contains the previously missing warning when minimizing to the system tray) and further improvements to individual warning dialogs, such as the addition of previously missing Cancel buttons.
  • Added a "Show/Hide Konversation" action that can be used to toggle the minimized state of the Konversation window or, if the tray icon is enabled, its visibility. Additionally, the window will always be moved to the current virtual desktop if shown using this action (if the window is already shown on another desktop, it will be moved to the current desktop rather than hidden).
  • It's now possible to give the "Next Active Tab" shortcut a global keyboard shortcut, and when triggered the action will always show, raise and focus the Konversation window (as needed), regardless of whether it will also perform a tab switch. This allows "Next Active Tab" to double as a "get me the Konversation window and the tab that just caused my notifications to go off" global shortcut.
  • Clicking the Insert button in the "Insert Character" dialog will no longer immediately close the dialog, making it easier to insert multiple characters in quick succession.
  • Double-clicking a character in the "Insert Character" dialog will now insert it into the input line.
  • The "Insert Character" dialog now sports a search line.
  • The widths of the columns and the sort column and direction in the Channel Option dialog's ban list are now remembered across application restarts.
  • The "Rejoin Channel" context menu action, shown when a channel could not be rejoined automatically on reconnect as well as after having been kicked from a channel, will now appear above the "Close Tab" action rather than at the end of the context menu, so "Close Tab" is always the last item.
  • The "Ok" button in the "Edit Multiline Paste" editor has been renamed to "Send" to communicate more clearly that clicking it will send the editor contents to the server.
  • Formatting control codes (e.g. for colors) in user real names are now filtered out before the names are shown in the nickname list when the "Show real names in nickname list" option is enabled.
  • The layout of user information tooltips (shown e.g. when hovering a nick in the nickname list or the header area of a query tab) has been improved slightly.
  • Fixed bugs causing the tooltip for the adjacent rather than the hovered item to be shown when hovering the mouse pointer near the upper or lower edges of an item in the nickname list or the listview version of the tab bar (tooltips are only shown on the latter when the listview is too narrow to fit its contents, to provide the unelided tab names).
  • Fixed bug causing the IRC Color Chooser dialog to only show 15 colors instead of the available 16.
  • Fixed a bug causing a very wide minimum window width when a query tab with very long user information in the header area was open.
  • Fixed bug causing the opening of URLs via the "Open URL" sub-menu in the list entry context menu in Channel List tabs not to work.
  • Fixed a bug causing actions that are meant to operate on the active tab (e.g. "Close Tab" invoked by the default shortcut Ctrl+W) to operate on a different tab after the "Join on Connect" action in that tab's context menu had been used.
  • Fixed a bug causing the state of the Show/Hide Menubar action not to be updated correctly when hiding the menubar was canceled from the warning dialog.
  • Fixed a bug causing the "Delete" button in the "Server List" dialog to incorrectly show a "Network needs to have at least one server." error dialog when trying to delete servers, even when the deletion would in fact leave the network with one or more servers.
  • Fixed a bug causing the active tab's text label not to be greyed out when its IRC server connection is cut.
  • Got rid of some too large margins in the "Edit Network" dialog.
  • Text views:
  • Added support for KDE Web Shortcuts when built against KDE Platform 4.5 or higher: The context menu for selected text in a chat text view then offers a submenu by which the selected text can be used in a web search with any of the enabled search providers. The resulting search URL is opened in the system's default wen browser after clicking on the search provider in the submenu.
  • Added support for ircs:// URLs, the 's' standing for 'SSL'. It is supported both for opening and for bookmarking. If an ircs:// URL matches a server configured in the server list or refers to a network name instead of a specific server, the directive from the URL overrides the state of the SSL setting in the configuration.
  • Detection of URLs and email addresses in chat text views to turn them into clickable links has been much improved. An incomplete overview of notable cases:
  • - Unicode characters in URLs are now handled properly, enabling support for example for international domain names.
  • - Protocol-less links not starting in "www.", such as the short URLs popular these days ("bit.ly/foo" and similar), are now recognized.
  • - Arbitrary protocols (e.g. "http://" or "message://") are now recognized; previously only a small hand-picked and insufficient set was.
  • - The check that avoids balanced a pair of parentheses around an URL becoming part of the link now works for more than one level of balanced parentheses.
  • - Aside from balanced pairs of parentheses, also square and other forms of brackets are now handled properly.
  • - Trailing question marks no longer become part of the link.
  • - URLs using uncommon schemas, e.g. Apple message:// URLs or Wolfram Alpha URLs, are now handled properly.
  • - Numerous improvements to email link handling: User names containing the plus sign are now handled correctly, opening email links from the URL Catcher works now and others.
  • - The URL detection for the "Open URL" sub-menu in the list entry context menu in Channel List tabs now uses the same infrastructure as link detection elsewhere rather than separate code, making it massively better compared to previous versions.
  • - Average speed of link detection has improved slightly.
  • Added support for dragging web and email address links found in topic areas.
  • IRC formatting markup (colors, bold, italic, etc.) support in chat text views and the topic editor has been improved significantly:
  • - Background colors are now supported.
  • - The reverse color formatting character is now supported.
  • - To emphasize usability, links are now consistently displayed using the link and background colors from the configuration dialog, regardless of preceding formatting markup or formatting markup located within the link.
  • - Formatting markup located within links in incoming messages no longer results in those links being broken.
  • - Fixed bugs resulting in incorrect display of messages containing multiple formatting characters.
  • - Improved robustness in the face of invalid color codes.
  • - Formatting markup in the topic editor's topic history listing is now shown in the human-readable format that is also used for entry, making it much easier to derive a new topic from an old one that contains formatting markup.
  • - Fixed a bug causing '/topic channel' to display the topic with formatting markup stripped.
  • Join/Part/Nick messages can now be selectively hidden based on whether the nickname the message is about has been active in the respective channel in the last 10 minutes, last hour, last day or last week. Previously it was all or nothing.
  • Rewrote chat text view wallpaper image support to avoid rendering problems some users were experiencing.
  • Fixed a bug causing some user hostmasks in chat text lines about channel topic author information to be treated as email addresses and thus turned into clickable links. They would also pollute the URL Catcher.
  • The code backing the marker and remember lines has been rewritten to work around bugs in Qt that could cause crashes, especially when running Konversation against Qt v4.7.4 or newer (see QTBUG-20916 for more).
  • Input lines:
  • Added a "Focus Input Box" action that puts keyboard focus on the input box. The default shortcut is the Escape key.
  • The '(away)' label shown next to input lines when away now has a context menu with actions to change the away message or return from away state.
  • Pressing the Tab key when the cursor is at the start of the input box now checks whether the remembered nickname is currently attending the channel before repeating the last successful completion.
  • Commands:
  • The syntax for the '/cycle' command is now '/CYCLE [-APP | -SERVER] [channel | nickname]'. Whereas '/cycle' previously only allowed you to cycle a channel from the input line of that same channel, you can now specify the target explicitly. '-app' will restart Konversation (as with the new 'Restart' action mentioned in the "Command line arguments" section, preservation of the command line arguments the app was started with requires KDE Platform 4.6 Alpha 1 or higher to work) and '--server' will close all tabs belonging to the current connection and then create a new connection with the same settings as the old one (plus it will attempt to rejoin all previously open channels). Both are new abilities for the command. A '/cycle' without parameters issued in server, channel and query tabs is equivalent to specifying '-server' or the current channel or query, respectively -- the ability to cycle a query is also new.
  • The '/clear' command now supports a channel or query argument to clear, as well as an an -all parameter to clear all views.
  • The '/notify' command now displays more useful output after adding and removing and when summarizing Watched Nicks.
  • Fixed a bug causing adding of nicknames to the Watched Nicks Online list via the '/notify' command to fail.
  • Added an optional '-showpath' parameter to the '/exec' command that shows the path at which the given script file was found in the chat text view, i.e. '/exec -showpath media'.
  • Commands that accept parameters in the form "-foo" will now also understand "--foo".
  • The '/dns' command used to block the UI while trying to resolve the parameter it was given, potentially causing an extended lock-up of the application when the system has serious DNS trouble. This has been resolved; '/dns' is now fully non-blocking.
  • Trying to use the '/me' command from a tab that doesn't support it will now cause an appropriate error message to be displayed.
  • Fixed a bug causing the '/kickban' command not use the default kick reason from the Identity settings if no reason was explicitly specified.
  • Fixed a bug that could cause the '/list' command to open the Channel List tab for the wrong connection.
  • Fixed a bug causing '/list search pattern' to close an existing Channel List tab (the intended behavior for a parameter-less '/list') rather than update the active filter and refresh the list.
  • Highlights and notifications:
  • Added a new "Chat Windows" field to the Highlight configuration to optionally restrict the list of chat windows a given highlight event may be triggered in to those named in the field, separated by comma or semicolon.
  • Resolved a conflict between the highlight system and the graphical emoticon support that was causing unintended highlights when the filesystem path to an emoticon image file shown in the chat text view matched any of the configured highlights.
  • Fixed bugs in the highlight system caused by it mistakenly operating on the HTML markup used internally by the chat text views rather than the original text.
  • Identities:
  • Added a "Default away reason" field to the "Away" tab in the Identities dialog. The away reason entered there will be used when no away message is entered manually as an argument to the '/away' or '/aaway' commands, so for example when Global Away is enabled using the keyboard shortcut.
  • "Away Messages" on the "Away" tab of the Identities dialog has been renamed to "Away Commands".
  • Watched Nicknames:
  • Fixed a bug causing the Watched Nicks Online system to fail to start checking nickname online status for a network after adding an initial nick to its Watched Nicks list via the context menu actions or the '/notify' command (it worked fine via the WNO tab, however).
  • Bookmarking:
  • Fixed a bug causing the bookmark address to be unusable (it would lack the network name) when bookmarking a tab and the name of the associated network contains a space or certain other special characters.
  • Logging:
  • Fixed a bug causing pipe symbols to appear in the date/time stamp and next to the nickname in backlog replay.
  • Fixed a bug causing the chat text notification messages originating in the Watched Nicknames Online system to be logged in HTML format (and thus HTML source to be displayed e.g. in backlog replay).
  • Fixed a bug causing a change of the buffer size setting on a log reader tab's toolbar not to immediately apply to new log reader tabs opened thereafter. Instead the buffer size for new tabs would be the size set on the toolbar of the last log reader tab that got closed, making it easy to unintentionally undo a change depending on the order in which log reader tabs were closed.
  • DCC:
  • Added a Color Picker tool to DCC WHITEBOARD, to select a color from the image.
  • A better version of the information dialog for DCC file transfers is shown when Konversation is built against KDE Platform 4.5 or higher.
  • Fixed a bug causing newly-added DCC file transfers to the list in the DCC Status tab not to be sorted when using Qt 4.7.
  • Connection behavior:
  • The auto-join on connect feature will now skip over any configured channels that are invalid as per the IRC server's CHANTYPES rules when sending the join command(s) to the server, making sure that all valid channels are joined even on servers that stop parsing join commands on the first invalid channel. Previously, all configured channels were sent.
  • Fixed a bug causing a channel the tab of which was closed while a connection was in disconnected mode to be rejoined upon reconnect.
  • Fixed a (harmless) bug causing unnecessary trailing "." placeholder channel key segments to be added to the raw format auto-join command (or to the last of multiple such auto-join commands when the amount of auto-join channels requires multiple commands to be generated).
  • Fixed a regression that could cause an endless loop of reconnection attempts when issuing a reconnect order to an established connection and the time needed to establish the new connection was longer than the configured reconnection delay. It would also cause confusing status messages to be shown in the connection status tab.
  • Cancelling the dialog asking how to deal with SSL errors upon connecting is now treated as a deliberate disconnect on part of the user, i.e. Konversation will no longer try to automatically reconnect.
  • A disconnect while waiting for user response to an SSL error dialog will no longer result in an automatic reconnection attempt. Instead, Konversation will wait for the outcome of the user interaction: If the user decides to ignore the SSL errors that have occurred, a reconnect will be initiated, otherwise the connection will remain disconnected.
  • Fixed a bug causing a crash when the user chose to accept an invalid certificate in the SSL error dialog when the connection had timed out in the meantime.
  • Fixed a bug causing the quit message to not always be supplied successfully to the server when disconnecting.
  • Fixed a bug that could cause the "Server found" message to be shown in the connection status tab before the "Looking for server" message if the DNS response was already cached.
  • Fixed bugs causing the automatic user information lookup, the periodic WHO-on-self and the periodic PING for a given connection not to be suspended properly after a disconnect, causing unnecessary wakeups and the potential for these messages to be sent at inappropriate times in the early phase of a reconnection attempt.
  • Fixed a bug causing a connection failure to reset the lag meter in the status bar to "Unknown" even when the active tab is not related to the connection that failed.
  • Solid network up/down notifications are now ignored for connections to localhost.
  • Scripting and bundled scripts:
  • The 'cmd' script, used to run a shell command from within Konversation and send the output to the server, has been rewritten from scratch to provide the following improvements:
  • - Running a command that returns no output or only empty lines used to result in an error claiming the command does not exist. Now an info message is shown remarking that the command executed successfully but did not return any output or only whitespace.
  • - The script now also works when called from a server status tab - the command output will be shown to the user rather than sent to the server in that case.
  • - The command's error output (stderr) used to be ignored; now it is shown to the user in the active tab (but not sent to the server).
  • - Trailing whitespace is now stripped from command output.
  • - Output lines containing only whitespace are no longer forwarded to Konversation. As an aside, this also implicitly fixes a bug the old script used to suffer from that caused it to generate faulty D-Bus calls when trying to forward empty output lines.
  • The bundled 'sysinfo' script now handles the way 'mount' reports bind mounts on certain newer Linux distributions by collapsing the repeated mentions of the same volume before calculating the disk space information.
  • Scripts executed by Konversation can now access Konversation's current UI locale in the KONVERSATION_LANG environment variable.
  • Konversation now installs an experimental Python scripting support package named 'konversation' into a subdirectory of its application data directory and appends all 'konversation/scripting_support/python' directories found in any KDE application data resource directories (i.e. within $KDEHOME, $KDEDIRS, etc.) to the PYTHONPATH environment variable available in the script execution context, thereby allowing Python scripts executed by Konversation to import the package. The package currently sports modules providing APIs for i18n support and D-Bus communication with Konversation.
  • User-facing information and error message strings in the bundled 'cmd' and 'media' scripts now finally enjoy translation support, making use of the experimental new Python scripting support package described above.
  • The 'media' script now requires Python 2.6 or higher and is compatible with Python 3.
  • IRC Protocol:
  • Added support for the 475 numeric (ERR_BADCHANNELKEY).
  • Added support for the 482 numeric (ERR_CHANOPRIVSNEEDED).
  • Added support for UnrealIRCd's 671 numeric.
  • Incoming actions (i.e. "/me") without an argument are now handled properly.
  • Fixed a number of crashes on illegal data from the server.
  • Raw log tabs (/raw) now use percent-recording to depict non-ASCII characters in raw traffic for much improved usefulness and reliability in the multi-encoding world of IRC.
  • Numeric 437 (ERR_UNAVAILRESOURCE) is now treated like numeric 433 (ERR_NICKNAMEINUSE) during early connection negotiation: The next nickname in the identity's nickname list is tried, or the user asked for a new one if necessary. Previously Konversation would just idle in this situation and allow the connection attempt to time out.
  • Command line arguments:
  • Added '--restart' command line argument and a 'Restart' action that quits and restart Konversation. Notes: If not already running, the command line argument has no effect; startup will occur normally. Also, the preservation of command line arguments across restarts is only supported on KDE Platform 4.6 Alpha 1 and higher, as a required library feature is only available as of that version.
  • Added a '--startupdelay msec' command line argument that causes the app to sleep for the specified amount of milliseconds early during the startup process, delaying D-Bus activity and UI creation.
  • System integration:
  • Konversation now also registers itself for the irc:// and ircs:// protocols using the way preferred by freedesktop.org's shared-mime technology rather than just the KDE-specific way.
  • Fixed the tray icon always being in 'active' mode (and thus conflicting with the Plasma desktop tray's auto-hide behavior) when using the new (and, in this release, only supported) system tray protocol.
  • D-Bus interface:
  • A D-Bus method call to retrieve the list of channels a particular connection is currently attending has been added.
  • Documentation:
  • Numerous updates and cleanup in the handbook.
  • Fixed a bug causing the Help button in the Configure Konversation dialog not to open the handbook.
  • Misc:
  • Various small code cleanups inspired by cppcheck.
  • Build system and dependencies:
  • Konversation now depends on KDE Platform v4.4.3 or higher and Qt v4.6.0 or higher.
  • A Python installation is a recommended dependency due to optional but highly popular bundled scripts and an experimental Python scripting support package mentioned above.
  • Fixed build with KDE4_ENABLE_FINAL.
  • The section of the build system required to build user interface and handbook translations is now always present instead of being added manually to the tarball at release time, springing into action when the subdirectories containing the translation files are added to the source tree from KDE SVN, or remaining dormant otherwise.
  • Konversation could crash during Diffie-Hellman key exchange or Blowfish encryption/decryption if the system's installation of the Qt Cryptographic Infrastructure (QCA) does not have the required features available (usually because the qca-ossl provider plugin is not installed). It will now fail gracefully instead and show helpful error messages in the active tab.

New in Konversation 1.4 Beta 1 (Nov 2, 2011)

  • Konversation v1.4-beta1 is the first pre-release leading up to our next major release. A dominant theme in this release cycle have been improvements and feature additions to the user interface, particularly to text views, dialogs, menus and input line commands. However, as you might expect given the amount of time since the last release (sorry about that :-), improvements are to be found in nearly all areas of the application, including connection behavior, IRC protocol handling, scripting support, and more. Please have a look at the changelog for a short summary of the major highlights, as well as the usual extensive coverage of the details.

New in Konversation 1.3.1 (Jul 2, 2010)

  • Konversation 1.3.1 is a maintenance release that improves program behavior and fixes defects, the most serious of which is a regression that unfortunately suck into v1.3, which causes data corruption or even loss of Watched Nicknames Online lists on application quit. Behavioral improvements are found in the handling of aborting automatic reconnection attempts after connection failure and RFC 1459 PING/PONG exchanges. Further notable bugfixes have been made to the Edit Network dialog, the handling of system color schemes and using the ignore list feature to ignore certain CTCP events.

New in Konversation 1.3 (Jun 8, 2010)

  • Konversation 1.3 debuts a major new feature in the area of Direct-Client-to-Client (DCC) support: An implementation of the DCC Whiteboard extension that brings collaborative drawing - think two-player Kolourpaint - to IRC. It also brings back the integration with KDE's SSL certificate store the KDE 3 version enjoyed and expands support for auto-away to the Windows and Mac OS X platforms thanks to both recent advances in the KDE 4 platform and new code in Konversation. Interface tweaks, new keyboard shortcuts and many bugfixes (including a number of new fixes since 1.3-beta1) round things out. Finally, Konversation now depends on KDE 4.3 and Qt 4.5.

New in Konversation 1.3 Beta 1 (May 23, 2010)

  • Konversation now depends on Qt 4.5 and KDE 4.3.
  • Added support for DCC WHITEBOARD, bringing collaborative drawing to IRC.
  • When showing the dialog informing the user about the local target file for an incoming DCC file transfer already existing that dialog now includes the sizes of the local file and the file the sender is offering up.
  • Fixed a bug causing either an empty line or a few characters of garbage to be placed in the clipboard in place of marker/remember lines when copying chat text containing such lines.
  • Fixed a bug causing quotation marks, ampersands and angle brackets in chat messages to be displayed as HTML entities in the OSD.
  • The "Clear All Windows" action will now also resets the notification state of all tabs (i.e. removes active new message or highlight notifications from the tab bar).
  • Fixed a bug causing the server responses to background data gathering via WHO (to keep the app's idea of its own hostmask up to date, as well as optionally channel user info) to be displayed in tabs as if the user had made the requests manually after sending a '/who' command without parameters.
  • Fixed a bug causing a crash when sending '/privmsg' without any parameters (did not apply to '/msg').
  • In previous versions, channel tabs opened in the background (i.e. while "Focus new tabs" is disabled, as it is by default) would considerably increase the minimum width of the window due to particularities of the Qt layout system. After raising every channel tab at least once it would then be possible to make the window much narrower. This unintuitive behavior resulted in confusion as to why the minimum width of the Konversation window would sometimes vary greatly. This has been fixed in this version, i.e. it is no longer necessary to have raised every channel tab at least once to achieve a reasonable minimum width of the window. This also means that joining a new channel is now much less likely to resize the window.
  • Fixed a bug causing the status bar to become multiple lines in height when hovering an URL containing percent-encoded line breaks in the chat text view.
  • Fixed a bug making it impossible to scroll the Advanced Modes list in the Channel Settings dialog when the user doesn't have operator status in the channel.
  • Fixed a crash when selecting more than one completed, failed or aborted outbound transfer in the "DCC Status" tab and clicking "Resend" in their context menu.
  • Fixed a bug causing the human-readable mode descriptions used by default in channel chat text views as well as the Channel Settings dialog's Advanced Modes list not to be translated.
  • When the display of human-readable mode descriptions is enabled (as it is by default), the Advanced Mode list in the Channel Settings dialog will now show the respective mode characters alongside them. Previously, only the description was shown. This makes the list useful as a utility to look up the meaning of obscure mode characters.
  • Fixed a bug causing both the default email client and the default web browser to be invoked when clicking an email address link in the chat text view.
  • Added a built-in '/sayversion' command that, as opposed to the bundled '/kdeversion' script, can show the version of both the KDE Konversation was built against and is running on. It also outputs the information in a single message instead of several.
  • Fixed a bug that would cause the second and following segments of a text so long that it has to be split into multiple messages when it is sent to be encoded incorrectly.
  • The ASCII 0x1d character is now used to denote italic formatting of text rather than 0x09, to avoid the conflict with the tab character that is frequently pasted e.g. from websites with tables.
  • Fixed a bug causing the server response to '/whois ' not to be displayed on many IRC servers when the nick in questions is not online at that time (this variant of the WHOIS command is also used by the GUI actions).
  • Fixed a bug causing missing bans in the list in the Channel Settings dialog on certain (mostly older) IRC servers.
  • The text in notification messages used to be wrapped every 50 characters, an old workaround for problems with KDE 3.x's bubble notifications. This has been removed now since it's no longer needed with modern notification frontends such as Plasma's, and produces rather ugly results there.
  • Made it possible again to initate DCC file transfers to a query partner by dragging files or URLs onto the chat text area of the query.
  • When building against the KDE Platform v4.4.3 libraries, the auto-away functionality will now make use of the new KIdleTime library to determine user activity and inactivity rather than use its own code, the primary advantage being that KIdleTime is supported on non-X11 platforms such as Windows and Mac OS X. In effect, this means auto-away is now supported on those platforms, depending on the implementation level in KIdleTime. (The use of KIdleTime can be explicitly disabled by passing '-DUSE_KIDLETIME=false' to 'cmake', in which case Konversation will fall back to using the original, X11-specific code and auto-away will only work decently on an X11 platform.)
  • SSL support now integrates with KDE's certificate handling again, as it used to in the KDE 3 version, made possible by improvements in the libraries of the KDE Platform v4.3 (the minimum version supported in this release) and higher.
  • Not reacting to an SSL certificat validation error dialog in a timely manner should no longer result in Konversation locking up.
  • In-progress automatic reconnect in the event of connection failure can now be aborted by using the '/disconnect' command.
  • Manually issueing a reconnect order to a connection currently inactive after having exceeded its maximum number of reconnection attempts used to result in a single connection attempt after which it would be announced that the maximum number of reconnection attempts had been exceeded again. This has been fixed: It will now make the number of attempts specified as the upper limit in the application settings.
  • Fixed a bug that could cause the selection in the transfer list of the DCC Status tab to be lost when a new transfer was added to the list.
  • Fixed a bug causing the information panel in the DCC Status tab to show information for a transfer other than the one selected in the transfer list after sending a file to oneself for the first time in a session.
  • The frame that used to be around the main window's tab widget when the tab bar was located either at the bottom or top position has been removed.
  • Improved compatibility with freedesktop.org-compliant notification frontends other than KDE's. Other frontends could previously show empty notification message contents due to non-standard content in the messages.
  • Added an action to switch to the last focused tab, making it possible to quickly switch forth and back between two tabs. The default keyboard shortcut for this new action is Alt+Space.
  • Added a "-local" parameter to the '/amsg' and '/ame' commands that limits their scope to the channel and query tabs associated with the same connection as the tab the command is issued in.
  • Fixed a bug causing the order of networks in the server list dialog not to be preserved across application restarts.

New in Konversation 1.2.2 (Feb 12, 2010)

  • Konversation 1.2.2 contains a number of new features, such as support for passive DCC chat and amarok:// URLs, and a large amount of user interface improvements to various tabs (e.g. Watched Nicknames Online and the URL Catcher) and dialogs (e.g. Join Channel). When used with KDE SC 4.4 it supports the new system tray icon API. A sizable list of bug fixes round things out; of particular note is a change addressing the high CPU usage some users have experienced with Qt 4.6.

New in Konversation 1.2.1 (Nov 12, 2009)

  • This second release in the Konversation 1.2.x release series for KDE 4 adds a number of new features to the bookmarks system and support for reacting to changes in network availability as signaled by KDE's Solid, along with a number of fixes for bugs discovered since version 1.2 was released last month.

New in Konversation 1.2 (Oct 10, 2009)

  • Konversation 1.2 is the first release of Konversation for the KDE 4 application platform and desktop environment. In addition to preserving the full functionality of the KDE 3 version, this release offers a significant amount of new features and improvements to the user interface, performance, memory usage, energy efficiency, correctness and stability. Sum total, the changelog of all development releases since Konversation 1.1 and of this final release combined once again make for the longest changelog in Konversation's release history.
  • Some of the highlights compared to Konversation 1.1 include support for SOCKS v5 and HTTP proxies, a redesigned DCC file transfer user interface (and much improved DCC code under the hood with several new features, such as support for IPv6 and DCC REJECT), support for UPnP for NAT traversal, rewritten and much improved support for Blowfish encryption (now supporting DH1080 key exchange, for example), a significantly better performing channel list, a rewrite of the channel nickname lists for better performance and improved battery-friendlyness, a new channel join invitation user interface, an improved auto-replace feature, expanded media player support and many improvements to the IRC protocol implementation.

New in Konversation 1.2 RC1 (Oct 5, 2009)

  • Fixed the scrollbar thumb not remaining at the bottom when the chat text view is resized (such as when the window is resized or the input bar increases in height after typing more than one line with auto-expand mode enabled).
  • Fixed a bug that could cause the progress bar for DCC file transfers not to be updated when "Fast DCC send" was enabled.
  • Fixed a bug that could cause a crash when resuming an incoming DCC file transfer.
  • Fixed characters that require the Alt Gr modifier to be typed (such as the '@' symbol in German keyboard layouts, for example) not causing keyboard focus to move to the input line when typed while the chat text view has keyboard focus and thus not showing up in the input line.
  • Fixed a bug causing both the link and the marker or remember line to be selected when a line is appended directly after a link that has just been clicked.
  • Fixed a bug causing the automatic scroll-down not to work when more backlog is replayed than the viewport can show at once at channel join.
  • The "Advanced Modes" listing in the "Modes" tab of the Channel Settings dialog will now properly vertically expand as the dialog is resized even to a very large height.
  • Fixed a bug that could cause a crash while manipulating a channel's ban list.
  • Fixed a bug causing the moving of child tabs of a network tab in the treelist version of the tab bar not to work using the keyboard shortcuts, context menu actions or "Window" menu actions.

New in Konversation 1.2 Beta 1 (Sep 21, 2009)

  • Added a topic widget for Konsole windows and hooked it up to the KPart's setWindowCaption signal
  • Added tooltips to items in the new DCC transfer lists that describe the transfer's status more verbosely.
  • Fixed the OSD stealing focus when it appears on Windows.
  • Running DCC file transfers are now properly aborted on application quit.
  • Removed the 'ucs2' encoding from the encoding list, as it is is not supported on IRC. This also resolves a crash when sending messages after selecting it (however the crashing codepath has been independently made more robust as well).
  • Fixed a crash when sending a message containing only spaces.
  • Added a "Manage Profiles" button to the information area above the terminal area in Konsole tabs.
  • Added SOCKS v5 and HTTP proxy support. Proxy credentials are stored in KWallet.
  • Moved the buttons in the DCC Status tab to a toolbar, similar to how things were already laid out in log viewer tabs.
  • Redesigned the DCC transfer info panel in the DCC Status tab to have a smaller minimum size. This should mean that less people will see their window size increase when a DCC transfer is initiated, as it reduces the minimum size of the window with the DCC Status tab open.
  • Added a "Clear Completed" item to the DCC Status tab's toolbar.
  • Fixed a crash on the processing of illegal lines sent by the server that contain only spaces (as sent by the buggy lidegw lide.cz gateway script).
  • Made DCC transfer speed reporting more reliable.
  • Fixed sorting the transfer list in the DCC Status tab by its "Started At" column. Previously, sorting by that column would sort alphabetically by the string value of the fields rather than properly by date.
  • Fixed the Channel Settings no longer disabling interface elements allowing the manipulation of channel properties when the user lacks the necessary operator privileges in the channel.
  • The position of the splitter handle determining the size of the info panel in the DCC Status tab is now saved across application restarts.
  • Fixed a crash when changing settings after the "Insert Character" dialog had been used.
  • When an attempt to set up a port forward via UPnP fails, an error message stating as much will now be shown in the currently active or last active tab for the associated IRC server connection.
  • Made the '/amsg' command work properly again.
  • Fixed two close icons (one on the left, one on the right) being shown on tabs when close buttons were enabled and the tabs were in top or bottom position.
  • Fixed incorrect colors in the listview version of the tab bar when initially switching to it within a session.
  • Fixed a regression vs. the KDE 3 version that caused a failure to correctly parse shortened IPv6 addresses except when using RFC 2732-style bracket notation and explicitly stating a port to connect to.
  • Made the display of server address and port number in various connection-related chat view messages more consistent and IPv6-friendly (with the ':' forward previously used, it could be hard to tell where the IP ended and the port began -- now it's ' (port )').
  • Updated the scripting documentation to talk about D-Bus rather than DCOP.
  • The initial width of the nickname lists in channel tabs is now more sensible.
  • Added back the ability to drag links out of the chat view.
  • Resurrected the RTL text support in the chat view.
  • Fixed a crash during UPnP discovery when the router doesn't respond in the expected way.
  • Various actions that operate on the active tab (e.g. those found in the "Insert" menu) are now properly disabled when the last tab is closed.
  • Fixed a bug with Qt 4.5 where after closing a tab a tab adjacent to it would briefly be activated before subsequently activating the tab that was active before the just closed one (i.e. only noticable when 'a tab adjacent to the just closed tab' and 'the previously active tab' are not the same).
  • Marker lines and the remember line are back.
  • Fixed a bug that could cause queue flushing rates to be entered into the configuration that would prevent successfully connecting to Freenode and potentially other IRC networks.

New in Konversation 1.2 Alpha 4 (Jul 5, 2009)

  • Changed links to KDE's (and hence our) bug tracker throughout the codebase to use https://bugs.kde.org/ rather than http://bugs.kde.org/
  • Fixed the "Show Menubar" item not getting removed from the chat view context view after showing the menubar again. Also added a separator after the item (only visible when it is present).
  • Switched the timestamps in log files to use KDE's locale settings for formatting the date and time, as the equivalent Qt API used previously seems to look at the value of LC_NUMERIC to detemine the format in Qt 4, which doesn't meet user expectations.
  • Fixed the "Date" column in the topic history of the Channel Options Dialog not using KDE's locale settings to format the value.
  • Fixed the "Date" column in the Channel Settings dialog's topic history sorting alphabetically rather than by date.
  • Improved Windows support in the bundled 'media' script.
  • Fixed the vertical alignment of the topic label when using Qt 4.5 (it's now top-aligned rather than vertically centered, i.e. making the topic area bigger than the topic by dragging the splitter down won't cause the topic to move down to stay in the vertical center anymore -- Qt 4.5 is needed because a method to retrieve the document margin from the chat view to use as the top margin for the topic label is new in that version).
  • Fixed various chat view messages containing date/time values (channel created, topic set, online since, ban info) not using KDE's locale settings for their display format.
  • Added support for using UPnP for NAT traversal for DCC file transfers (both active send and passive receive) and DCC chat. When UPnP is enabled in both Konversation and your router, Konversation now knows how to ask your router to set up the necessary port forward, and also how to to ask it to remove it later.
  • Added support for the KDE 4 version of JuK to the bundled 'media' script.
  • Fixed '/msg < channel > < message >' not displaying the resulting message in the target channel when the user is attending that channel.
  • Made the appearance of the line informing about the message being sent with '/msg < nick|channel > < message >' consistent between channel, query and status tabs (it now looks like in the former in the latter two as well).
  • Fixed the visualization of '/msg < nick|channel > < message >' (i.e. the '< -> target > message' line) being shown only after adding the resulting message to the target chat view (if present), causing an odd-looking order if the origin view and the target view are the same.
  • Watched Nicknames Online now generally operates on networks by their internal unique IDs rather than names, enabling it to handle multiple configured networks with identical names properly.
  • Konversation's custom implementation of Blowfish encryption has been replaced with an optional dependency on the Qt Cryptographic Architecture (QCA) library version 2.
  • The '/setkey [nick|channel] < key >' command now recognizes 'cbc:' (cipher-block chaining) and 'ecb:' (electronic codebook) prefixes in the key field to set a particular Blowfish block cipher mode of operation, defaulting to the value of a config dialog preference (Behavior -> Connection-> Encryption -> Default Encryption Type, the default is Electronic Codebook (ECB)) when no prefix is given.
  • Fixed crash when opening links with ' in them when the "Custom Browser" preference is enabled in Konversation's config dialog.
  • Improved consistency of link opening behavior between the chat view, the topic label and the URL catcher (all three now use the new-in-KDE-4 KToolInvocation API to invoke the KDE default browser, whereas the topic label and the URL catcher were still using KRun until now).
  • Fixed a bug that could cause the state of the spell-checking setting for the input line to be lost across application restarts.
  • Added support for considering square brackets ([]) part of URLs.
  • Fixed the code producing multiple JOIN commands for auto-join as necessary to stay under the 512 byte limit for a single command to take the length of the commas in the commands into account when calculating the distribution of the channels among the multiple lines, as well as not to list channels falling at the boundary twice, once in the current and once in the following line. In English: Fixed auto-join with a massive amount of channels possibly not joining all channels correctly.
  • Fixed a bug causing re-joining of password-protected channels to fail on reconnects when those channels also had another mode with a parameter set.
  • Fixed a bug that caused query lines written by the user that are so long that they need to be split up into multiple messages not to display in the query text color.
  • Fixed a bug causing query lines written by the user that are so long they need to be split up into multiple messages for sending not to be displayed in the configured query text color.
  • Fixed the status bar showing HTML data when hovering the contents of the info label area at the top of query tabs. The data was actually supposed to be displayed as a tooltip (just like the nickname list item tooltips in channel tabs), and is now.
  • Fixed a bug causing the automatic away system to set the user away again on the next periodic activity check when no further mouse/keyboard activity occurs after unlocking the screen/ending the screensaver.
  • Implemented splitting up of overly long actions (i.e. usage of the the '/me' command) into multiple messages to stay under the 512 byte message length limit (in raw format) imposed by the IRC protocol. As with the normal message splitting, this is aware of how multi-byte/variable-width text encodings and sender hostmask length (which is part of the message on the receiving end) factor into the matter. Note that only the first message is actually sent as an action, the other messages are sent as normal messages - intentionally, as this seemed to make the most sense formatting-wise.
  • Fixed the dialog box appearing upon receiving an invitation to join a channel causing a disconnect by timeout when not being dealt with by the user swiftly enough.
  • Multiple invitations to join channels are now being handled by a single dialog box per connection, so that receiving many invitations in short order no longer means getting flooded with dialog boxes.
  • Implemented DH1080 key exchange support for Blowfish encryption. You can use the '/keyx' command to initiate a key exchange.
  • The raw log now shows encrypted incoming and outgoing messages in their encrypted form. Previously, incoming messages were being decrypted before being shown, and outgoing messages were being shown before encryption took place, thus not capturing what was actually coming from or going to the network socket as is the intent of the raw log.
  • Fixed a bug causing unrecognized channel mode characters being shown as their decimal value in the chat view messages announcing them having been set or removed.
  • Per-tab encoding settings for tabs belonging to a connection to a configured network (i.e. one found in the Server List dialog) now reference the unique ID rather than the name of the network in the config file, making things work reliably across restarts even when there are multiple identically named networks. Encoding config file entries for tabs belonging to connections to servers that are not part of a configured network continue to reference the server hostnames.
  • Fixed the "(away)" label in front of the input line, indicating away status, not showing up in query tabs.

New in Konversation 1.2 Alpha 3 (Jun 3, 2009)

  • Worked around a Qt bug that has a text selection in the chat view that includes the last line in the view grow to include the new text when new text is appended to the view.
  • Fixed Konversation exposing various signals on D-Bus that it shouldn't have.
  • Fixed a regression causing '/names #channel' to end up duplicating the nickname list contents when already attending '#channel'.
  • When using Qt 4.5, Konversation no longer paints a frame around the UI elements of a view (e.g. a channel) when using the listview version of the tab bar. Feedback on this change is appreciated!
  • Fixed duplicated messages about DCC transfer failures in the chat view.
  • When the menu bar is hidden, the top-most item in the chat view context menu is now the option to unhide it again.
  • Fixed the OSD disappearing also cancelling the system tray blinking notification.
  • Fixed a crash on quit by D-Bus / by KDE session logout.
  • Fixed the tab completion nickname list sorting behavior for the "Shell-like" completion modes. The behavior now matches the "Cycle Nicklist" mode and the "Shell-like" modes of previous Konversation 1.x versions again: The last active nick for the given prefix is at the top of the list, with the rest of the list sorted alphabetically.
  • The default tab completion mode has been changed to "Cycle Nicklist". Feedback on this change is appreciated!
  • Changed the bundled 'bug' script to perform a quick search with the given parameter, rather than try to use it as a bug ID directly. The resulting behavior is unchanged for a numerical parameter, but with a string, much more useful.
  • The 'mail' script, which was disabled in the build system up until now, is now getting installed again.
  • Fixed a bug causing the "Set Encoding" menu not to work.
  • Fixed a bug causing the bundled 'media' script not to work when used to retrieve song information from Amarok 2 for a song which has any of the following meta data fields not set: title, artist or album.
  • Fixed the 'Self' field of the DCC transfer details panel not showing the port when available.
  • Fixed DCC transfers showing an average speed of 1 TB/s in their first second.

New in Konversation 1.2 Alpha 2 (May 26, 2009)

  • After just under a week's worth of adding back some missing functionality, polishing the interface and, of course, of fixing bugs, we've decided to bring you Konversation 1.2-alpha2. While there were no major defects discovered in alpha1, this one should yield an overall more refined user experience, and brings us another good step closer to our first stable release for KDE 4.

New in Konversation 1.2 Alpha 1 (May 20, 2009)

  • Ported to KDE 4 (KDE 4.1 or higher is required).
  • Enabled the (experimental, hackish) Amarok 2 support in the 'media' script.
  • Fixed a bug that could cause channel notifications to be lost across reconnects.
  • Removed the code to recreate hidden-to-tray state across application restarts. It was broken after the shutdown procedures were moved to a point in time after after the main window is hidden to cover quit-by-DCOP, and Konversation 1.1 features an explicit hidden startup option that fulfills user demands more accurately anyhow. This fixes a bug that made Konversation always hide to tray on startup regardless of the aforementioned option when the system tray icon was enabled.
  • Added a network settings lookup fallback to retrieving the key of a channel. Previously, this relied solely on the channel's mode map.
  • Closes the brief gap between a channel join and the server's reply to MODE where possible, so that e.g. reconnecting directly after auto-joining a channel with a key doesn't result in a failed rejoin due to not having the key by way of the MODE reply yet. Fixed opening URLs from the channel topic context menu in Channel List tabs.
  • When connecting to multiple selected unexpanded network items from the Server List, don't also try to connect to the hidden server sub-items selected by implication, avoiding unwanted connection duplicates.
  • Mask the password field in the Quick Connect dialog.
  • Fixed a bug causing passive DCC file transfers to stall at 99%.
  • Fixed "/leave" command in queries.
  • Fixed auto-replace rules containing commas in the pattern not being loaded correctly from the config file.
  • Fixed non-regex mode auto-replace rules containing regex special characters and character sequences not working correctly.
  • Improved performance of non-regex mode auto-replace rules.
  • Added option to open log files with the system text editor instead of the built-in log viewer.
  • Made the Oxygen nicklist icon theme the default nicklist icon theme.
  • Removed the bundled 'weather' script (it relied on a KDE 3 service no longer present in KDE 4; a replacement will need to adopt a new approach).
  • Fix sending and receiving of files with names containing spaces
  • DCC Protocol adjustment to proper handle passive DCC resume/accept requests. (this breaks passive-resume compatibly with
  • Send proper DCC reject commands when rejecting a queued receive.
  • Improved error recovery during dcc send.
  • Fix time left for transfers that finished in under 1 sec displaying infinite time left.
  • Increased default DCC buffer size to 16384 to reduce CPU load while sending or receiving files.
  • Added KNotify events for "Highlight triggered", "DCC transfer complete" and "DCC transfer error".
  • Fixed Automatic User Information Look Up not being started upon channel join on some IRC servers (namely those that don't send RPL_CHANNELCREATED after joining a channel, such at those used by IRCnet).
  • Updated the server hostname for the pre-configured Freenode network to the one given on their website these days, 'chat.freenode.net'.
  • Added support for browsing the input line history by using the mouse wheel.
  • Fixed problems the bundled 'tinyurl' script had with certain URLs by converting it to use the TinyURL API rather than screen scraping.
  • Added initial support for the MODES parameter of RPL_ISUPPORT. When giving or taking op, half-op or voice to/from multiple people at once, Konversation will now combine as many of them into a single MODE command as the server advertises it supports (as long as it advertises an actual value; the value-less unlimited MODES case is not supported yet as it requires more work on limiting MODE commands to the 512 byte IRC message buffer limit for extreme cases). If MODES is not given at all by the server, the fallback is an RFC1459-compliant value of 3.
  • Added support for formatting variable expansion in the replacement part of auto-replace rules.
  • Rewrote multi-line paste editor, improving handling and appearance.
  • Added button to intelligently replace line breaks with spaces to the multi-line paste editor.