Konversation 1.7 released! (April 15th, 2017)
Konversation v1.7 is a major feature release focusing on greatly expanded protocol support, with newly-added support for many more IRC v3 extensions and the much-requested support for SASL EXTERNAL and 'server-time'. Many bugfixes and cleanups along with reinstated features initially lost in the first Frameworks 5-based release series v1.6.x are included as well. Finally, the handbook has been thoroughly refreshed in this release, and building and running on macOS and Windows have seen several fixes.
Changes from 1.7-rc1 to 1.7:
- Two-finger scroll on the vertical channel list is now less sensitive.
- Fixed execution of bundled scripts showing an error about locating translation files when running on a system without kde4-config installed.
- Fixed a bug in executable command line parsing for passed URLs.
- Fixed Konversation failing to start on Windows systems without D-Bus (it would previously exit if it failed to initialize its D-Bus service).
- Ported from deprecated KDE Frameworks APIs to 5.24+ API (v1.7 requires Frameworks 5.25 or higher).
The above change list is relative to the release candidate released last month. Check out the v1.7-rc1 news item below for a list of the bulk of the changes relative to v1.6.2!
Konversation 1.7-rc1 released! (March 30th, 2017)
Konversation v1.7-rc1 is the first release candidate for the next major version of Konversation. The focus of the v1.7 release is on greatly expanded protocol support, with newly-added support for many more IRC v3 extensions and the much-requested support for SASL EXTERNAL and 'server-time'. Many bugfixes and cleanups along with reinstated features initially lost in the first Frameworks 5-based release series v1.6.x are included as well. Finally, the handbook has been thoroughly refreshed in this release and building on Mac and Windows has seen several fixes.
Changes from 1.6.2 to 1.7-rc1:
- Improved support for CAP negotiation
- Output for CAP LS and CAP LIST is now shown in the server status view
- Added support for IRCv3 CAP MULTI-PREFIX
- Added support for IRCv3 CAP AWAY-NOTIFY
- Added support for IRCv3 CAP ACCOUNT-NOTIFY
- Added support for IRCv3 CAP EXTENDED-JOIN
- Added support for IRCv3 CAP USERHOST-IN-NAMES
- Added support for extended WHO
- Added support for server-time and message tags
- Added support for znc.in/server-time-iso, making buffer playback from ZNC much nicer
- Added support for the SASL EXTERNAL authentication mechanism, e.g. needed for using Tor with freenode.
- Redesigned search bar in chat views
- Added support for font zooming to chat views
- Improved bi-di text handling in chat views
- The --restart command line argument works again
- Fixed command line argument parsing when Konversation is already running
- Fixed tab completion not working when pressing tab after a full existing nickname as prefix
- Fixed the topic editor not updating when the topic changes
- Fixed nickname links including the pipe character
- Fixed the Invite dialog not closing on OK
- Fixed angle bracket display in OSD message bubbles
- Fixes to core protocol handling, e.g. in prefix parsing
- Fixed crash on close when the nick menu has been shown
- Fixed crash on quit
- Fixed crash when closing views
- Fixed crash in DCC resume dialogs without a Retry button
- Fixed incorrect icon for the global away action
- Minor UI layout cleanups, e.g. in the Behavior -> Chat Window settings page and fixes to tooltips
- Code cleanups, e.g. removal of unused settings and related code paths, porting away from deprecated API, and more
- Overhauled and corrected handbook & refreshed handbook screenshots to Frameworks 5 version
- Build fixes for Windows (MSVC compatibility and winsock linking)
- The Windows and Mac builds now have app icons
- Improved code portability by using different byte swapping routines
- Updated AppStream metadata
- Konversation now depends on Qt 5.5+ and KDE Frameworks 5.25+
Konversation 1.6.2 released! (August 4th, 2016)
Konversation 1.6.2 is a hotfix release that fixes an unfortunate severe crash condition that crept into 1.6.1.
Changes from 1.6.1 to 1.6.2:
- Fixed a bug causing various operations on server list data to crash, e.g. pressing "Edit" on a server sub-item in the Server List dialog.
- Translations for AppData metadata added in v1.6.1.
Konversation 1.6.1 released! (July 22nd, 2016)
Konversation 1.6.1 is a maintenance release that contains various bug fixes for the stable KDE Frameworks 5-based version of Konversation.
Changes from 1.6 to 1.6.1:
- Added an option to allow a server to bypass the global proxy settings.
- Fixed a crash when changing the Qt style engine.
- Fixed a crash when running "/exec -showpath" with no script name.
- Fixed notification events for DCC Chats not working.
- Fixed crash when closing the DCC Status tab.
- Fixed crashes with the ISO-2022-JP encoding.
- Fixed the "Close All Open Queries" action not working properly.
- Minor UI polish, e.g. the margin under the nicklist when the Quick Button grid is disabled or emtpy.
- Fixed missing icons on the Next/Previous buttons in the search bar.
- On screens to small to fit Konversation's configuration dialog, the dialog will now show scrollbars around its content instead of the dialog buttons being forced off-screen.
- Konversation now sets its window icon in a way that causes a hi-res icon to be available in window switchers such as Plasma's Alt+Tab UI.
- Removed the spell checking language submenu from the context menu of the input bar - KDE Frameworks 5 now contains this upstream, leading to two submenus.
- Fixed installing the Oxygen nickname list theme.
- Fixed changes to the tab bar font's font weight being applied to the chat text area.
- Minor changes to tooltips to support the Wayland windowing system better.
- Fixed the Windows build.
- Added KCrash (DrKonqi) support.
- Improved support for the KDE Kiosk framework, fixing checks for the "shell_command" privilege.
- Added AppData metadata for app stores.
Konversation 1.6 released! (April 8th, 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 topic 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.
Changes from 1.6-beta1 to 1.6:
- Improved support for character set aliases via KCharsets.
- Improved behavior when reconnecting and Konversation had to use an alternate nickname for the previous connection because the preferred nickname was already in use: Konversation will now try harder to go back to nicknames sorted earlier in the identity's nickname list, instead of advancing down the list without checking whether earlier nicknames have become available again.
- Konversation will no longer give up trying to connect when only a single nickname is configured and not available at connection time. Instead, it will do as many reconnection attempts as allowed by user configuration.
- Fixed incorrect size calculations for the channel topic text label causing cut-off text and unwanted collapsing of the topic area.
- Fixed a bug causing auto-connect not to connect to networks in the order they are listed in the Server List dialog.
- Fixed a bug causing the main window not to be raised when an Konversation is started an additional time and the window is currently minimized.
- The default tabs position is now 'Left', i.e. the treelist version of the tab bar.
- Tabs can now be reordered by drag and drop again.
- Fixed various rendering issues in the treelist version of the tab bar and made it high-DPI scaling-capable.
- Fixed a bug causing Channel List tabs not to be sorted below the status tab of the server they belong to in the treelist version of the tab bar, and corrupt its contents.
- Fixed margins in the Edit Network dialog.
- Improved wording and correctness of several interface messages.
- Fixed a bug causing some interface messages and labels not to use their translated versions when running with a language other than US English.
- Fixed a bug causing Konversation not to generate default command aliases for installed scripts at startup anymore.
- The bundled 'cmd' script now defaults to trying to decode command output as Utf-8 even when run on Python 2.
- Fixed the bundled 'bug' script not working.
- Fixed naming of bundled icons.
- Konversation now opts into Qt's high-DPI pixmap handling.
- Adjusted build system to use co-installable version of qca-qt5.
- Fixed build failures on Windows.
Konversation 1.6-beta1 has been released! (November 30th, 2014)
Konversation 1.6-beta1 is the first release of Konversation built on the new KDE Frameworks 5 and Qt 5 library sets, and intended to allow you to help us test and shake out the remaining issues in the ported code. With stability despite many changes under the hood as the primary goal, the 1.6 release will not bring any new features, though Frameworks 5 and Qt 5 offer a host of efficiency improvements over the old stack and will enable us to support hi-dpi scaling and Wayland going forward.
Known issues in this beta include a lack of addressbook integration support (the needed Frameworks dependencies have not yet been released), drag and drop support for tabs being disabled, and minor visual polish issues, including some visual assets not having been updated to match KDE's new "Breeze" visual identity yet. We expect to resolve these issues in upcoming releases.
Changes from 1.5.1 to 1.6-beta1:
- 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.
Konversation 1.5.1 has been released! (November 4th, 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.
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.
Konversation 1.5 has been released! (January 15th, 2014)
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!
Changes from 1.5-rc2 to 1.5:
- Expanded interface translations
Konversation 1.5-rc2 has been released! (January 7th, 2014)
After a (too) long wait, Konversation 1.5-rc2 is hopefully our final bid for your aid in assuring the quality of a now-impending final release. Quite a few gnarly bugs have fallen since rc1; some of them long-standing, others were introduced along with the features that made their debut in the preceding test release. Of particular interest to many users will be robustness improvements in the Watched Nicks system and the lifting of certain restrictions on Unicode support that had been in place as a by-product of supporting older, defective Qt versions. See the changelog for more details!
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.
Konversation 1.5-rc1 has been released! (March 16th, 2013)
Konversation 1.5-rc1 is the first test release for our next major release. The 1.5 development cycle has lead to significant new features in many areas of the application, from support for SASL and client certificate authentication on the protocol side, to all-new topic management UI, overhauled authentication UI, per-tab spell-checking language settings, user-configurable nick context menu entries and mouse spring-loading in the frontend and all-new versions of major bundled scripts. Improved Ignore, Watched Nicknames and Edit Paste functionality and behavior, performance improvements in some critical codepaths and many other bug fixes and minor UI touch-ups round things out.
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 (e.g. <title>) 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.
Konversation 1.4 has been released! (December 4th, 2011)
The dominant theme in Konversation v1.4 is improvements and feature additions to the user interface, particularly to text views, dialogs, (context) menus and input line commands. However, nearly all areas of the application have seen some amount of improvements in this release, as is to be expected given the relatively long relase cycle: Connection behavior, IRC protocol handling, scripting support, encryption support, user documentation - new features, polish and certainly also bug fixes are to be found in all of them. In summary, we hope you will enjoy the best Konversation yet.
The changelog for this release starts with a (very) brief summary of major highlights relative to v1.3.1, followed by the short list of changes since v1.4-beta1. If you skipped the beta, please do refer to the changelog for v1.4-beta1 as well, which is highly detailed and categorized for your reading pleasure.
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.
Konversation 1.4-beta1 has been released! (November 1st, 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.
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.
- 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 of <channel> 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).
- 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.
- 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.
- 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".
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- A D-Bus method call to retrieve the list of channels a particular connection is currently attending has been added.
- Numerous updates and cleanup in the handbook.
- Fixed a bug causing the Help button in the Configure Konversation dialog not to open the handbook.
- 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.