Konversation 1.7.4 released! (November 15th, 2017)
Konversation v1.7.4 is a small bugfix release addressing a font settings regression that crept into v1.7.3.
Changes from Konversation 1.7.3 to 1.7.4:
- Fixed a bug causing the size of a custom chat text view font set via the configuration dialog to be ignored. A font size modification done via the Enlarge/Decrease Font Size actions is now applied on top of the configured size (or the system default font size, respectively).
Security advisory: Crash in parsing IRC color formatting codes (November 11th, 2017)
Recently, we have been alerted* to a Konversation bug that will result in a crash when parsing certain IRC color formatting codes. Konversation v1.7.3 has been released today (see release post below) and contains a fix for this bug. Additionally, we have updated the 1.5 and 1.6 branches with the fix as well, and encourage distributions still shipping a 1.5.x or 1.6.x version to apply the relevant patch. If you are using v1.4.x, please upgrade, as it is affected as well.
If you are unable to upgrade to a fixed version right now, there's also a configuration workaround available: You can head to Interface → Colors in the Configure Konversation dialog and uncheck Allow Colored Text in IRC Messages (near the bottom) until you upgrade to v1.7.3 or a patched version of Konversation.
We will update this post with the relevant CVE number once available. Update: The vulnerability has been assigned CVE-2017-15923.
In summary:
| Affected version | Action to take now |
|---|---|
| v1.4.x | Apply config workround (above) or upgrade to fixed/patched version (below) |
| v1.5.x—v1.6.x | Apply patch or config workaround (above) |
| v1.7.0—v1.7.2 | Upgrade to v1.7.3 (out now) or apply patch or config workaround (above) |
* Thanks to Joseph Bisch!
Konversation 1.7.3 released! (November 11th, 2017)
While the Konversation team is currently hard at work on the upcoming major version 2.0 (which will debut an all-new UI and Matrix support, and pave the way for mobile versions - see here and here), we continue to support users of the stable version 1.7 with maintenance releases. Konversation v1.7.3 re-enables the lost channel mode buttons, adds minor UI refinements and includes fixes for several annoyances and crashes. Most notable in this regard are fixed color scheme handling for the treelist version of the tab bar, and crash fixes in IRC v3 extended-join and IRC color formatting code parsing.
Changes from Konversation 1.7.2 to 1.7.3:
- Added a copy action to the context menu of nicknames in the chat text view.
- Re-enabled channel mode buttons.
- Reduced emission of Unicode directional control characters in the chat text view. Unnecessary control characters could sometimes cause problems with copying text from Konversation and pasting it into terminal applications, confusing them.
- Fixed handling of nick and channel prefix characters potentially using the same set of symbols.
- Removed redundant escaping of angle brackets in GECOS ("realname") field.
- The nickname combobox will no longer change the nickname to the current value whenvever it loses focus.
- Fixed color scheme handling in the treelist version on the tab bar, fixing an issue where the background and text color of the selected item would sometimes be the same, rendering the item unreadable.
- Fixed handling of IRC URLs for channels starting with more than one #, addressing a percent-encoding problem with bookmarks of them.
- Fixed custom chat text view font family reverting to system default font family upon using the increase/decrease font size actions.
- Fixed chat text view font size adjusted via the increase/decrease font size actions reverting to configuration default when OK'ing the config dialog.
- Fixed incorrect checkbox states in the Channel Invite dialog.
- Fixed a crash in IRC v3 extended-join parsing.
- Fixed a crash in parsing IRC color formatting codes.
- Fixed a minor memory leak in the Join Channel dialog code.
- Removed unnecessary nickname list debug message sent as warning.
Konversation 1.7.2 released! (May 9th, 2017)
Konversation v1.7.2 is a repackage of v1.7.1 with incomplete and badly maintained translations removed. They were accidentally included with the v1.7.1 release. There are no code changes in this release.
Konversation 1.7.1 released! (May 9th, 2017)
Konversation v1.7.1 is a maintenance release that addresses issues with some of the new features introduced in the last major release, such as SASL EXTERNAL and server-time support, along with other minor fixes. As per usual this maintenance release also ships the latest round of translation updates.
Changes from Konversation 1.7 to 1.7.1:
- Fixed requesting the znc.in/server-time-iso capability from the server.
- Fixed SASL EXTERNAL authentication without an account name set in the Identity settings.
- Fixed clicking on nickname links containing the ` character.
- Fixed the Highlight page in the Configure Konversation dialog not enabling/disabling the Apply button correctly.
- Minor cleanups in application metadata setup code.
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.

