Changes in Konversation v24.02
* Konversation has been ported to Qt6/KF6
* Out of date channel topics will no longer reappear during window manipulations
* Fixed opening channels from the topic widget
* Konversation can no longer migrate KDE4-era configs
* Scripts now receive the full path of qdbus via an environment variable

Changes in Konversation v23.08
* Konversation will no longer hang if the server offers no CAPs that we're interested in

Changes in Konversation v23.04
* Highlights sounds file picker: fix setting file filter by MIME types

Changes in Konversation v22.08
* Added icons to more dialog buttons

Changes from Konversation v21.12.3 to v22.04.3
* Added an optional badge to the task manager icon for showing count of unread messages
* Ported audio support from Phono to Qt::Multimedia
* Added support for ^Q (aka U+0011) code for monospace text formatting
* Moved window state data to a separate config file in XDG_DATA_HOME

Changes from Konversation v21.08.3 to v21.12.3:
* Improved window management via systray
* Improved GNOME shell's handling of Konversation's main window
* Improved session  restoration (X11)
* Reclaim the space left by disabling the tab bar close button
* Fixed confirmation dialog after previous canceling of quit
* Added support for ^S (aka U+0013) code for strikethrough text formatting
* Fixed raising the main window from the system tray icon
* Channel Settings "User limit" field now supports values up to 99999
* Case sensitive nickname completion option now functions correctly
* Default log location now uses XDG_DATA_HOME (with fallback to ~.local/share/konversation)
* Menus no longer have window decorations on Wayland

Changes from Konversation v21.04.3 to v21.08.3:
* Fixes crash when handling messages from a now-offline user

Changes from Konversation v21.04.0 to v21.04.3:
* Default hard coded network changed to Libera.chat
* Password fields now support revealing the password, with KDE Kiosk support

Changes from Konversation v20.12.1 to v21.04.0:
* Improved keyboard navigation in identiy dialog
* Added support for CAP NOTIFY
* Added support for chghost server command
* Fixed joining channels whose names consist only of a prefix symbol
* Improved URL handling in the IrcView

Changes from Konversation v20.12.0 to v20.12.1:
* The "gauge" and "tinyurl" scripts were updated to call qdbus-qt5
* Fixed private message windows with nicknames containing a '\' character
* Hard-coded default server configuration now uses SSL/TLS
* Identity dialog no longer allows (unusable) spaces in nicknames and idents
* Handling of irc:// links improved

Changes from Konversation 1.7.7 to v20.12.0:
* Fixed several potential memory leaks
* Correct view in sidebar will be shown when selected via a notification click
* Fixed URL redirections when a link will is opened via web browser
* As Konversation is released via Release Service, version numbers will also
  contain the KDE Gear version details
* Removed the unusable "mail" script
* The "tinyurl" script now uses HTTPS
* Links in documentation updated to use HTTPS

Changes from Konversation 1.7.6 to 1.7.7:
Konversation v1.7.7 is a small translation update & bugfix release improving the
icons in the nick list with SVG options for HiDPI support and a new variant of
the default nick icon theme to work with dark UI colors.

* Fixed outdated color of existing nick items in the list after system color change
* Fixed accidental large potential nick sorting timeout
* Fixed tweak input box size to stop the text jumping around when selected
* Fixed unneeded and potentially encoding switching re-encoding of key
* Fixed disconnect for wrong slot for Chat::/TransferRecv::sendReverseAck
* Support SVG nick icon themes, switch default to SVG
* Add dark variant of default nick icon theme

Changes from Konversation 1.7.5 to 1.7.6:
Konversation v1.7.6 is a small translation update & bugfix release fixing
the build with Qt >= 5.13 and polishing the configuration dialog a bit.

* Fixed loading of nick icon theme to deal with multiple copies
* Fixed configuration dialogs to have consistent indentation of
  subordinate options as well as spacings between labels & fields
* Fixed building against Qt 5.15.
* Fixed building against Qt 5.13.

Changes from Konversation 1.7.4 to 1.7.5:
Konversation v1.7.5 is a small bugfix release fixing the build with Qt
5.11.

* Fixed building against Qt 5.11.

Changes from Konversation 1.7.3 to 1.7.4:
Konversation v1.7.4 is a small bugfix release addressing a font settings
regression that crept into v1.7.3.

* 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/Shrink Font Size actions is now applied on top of
  the configured size (or the system default font size, respectively).

Changes from Konversation 1.7.2 to 1.7.3:
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), 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.

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

Changes from Konversation 1.7.1 to 1.7.2:
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.

Changes from Konversation 1.7 to 1.7.1:
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.

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

Changes from Konversation 1.7-rc1 to 1.7:
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.

* 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).

Changes from Konversation 1.6.2 to 1.7-rc1:
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.

* 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+.

Changes from Konversation 1.6.1 to 1.6.2:
Konversation 1.6.2 is a hotfix release that fixes an unfortunate severe
crash condition that crept into 1.6.1.

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

Changes from Konversation 1.6 to 1.6.1:
Konversation 1.6.1 is a maintenance release that contains various bug fixes
for the stable KDE Frameworks 5-based version of Konversation.

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

Changes from Konversation 1.6.1-beta1 to 1.6:
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.

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

Changes from Konversation 1.5.1 to 1.6-beta1:
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.

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

Changes from 1.5 to 1.5.1:
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 depen-
dency has increased to v4.9.0 to gain access to newer Qt socket transport
security flags.

* 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 some-
  times fail because the auto-join command was generated before we got the
  CHANTYPES pronouncement by the server.
* Added a size sanity check for incoming Blowfish ECB blocks. The blind
  assumption of incoming blocks being the expected 12 bytes could lead to a
  crash or up to 11 byte information leak due to an out-of-bounds read. This
  fixes CVE-2014-8483.
* Enabling SSL/TLS support for connections will now advertise the protocols
  Qt considers secure by default, instead of being hardcoded to TLSv1.
* Fixed the bundled 'sysinfo' script not coping with empty lines in
  /etc/os-release.
* Made disk space info in the bundled 'sysinfo' script more robust by forcing
  the C locale for 'df'.
* Added an audio player type hint for Cantata to the bundled 'media' script.
* Fixed some minor comparison logic errors turned up by static analysis.
* Konversation now depends on KDE Platform v4.9.0 or higher.


Changes from 1.5-rc2 to 1.5:
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!

* Expanded interface translations.


Changes from 1.5-rc1 to 1.5-rc2:
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!

* 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 regis-
  tration 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 implementa-
  tion 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 addi-
  tion 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 on-
  line".
* More information sources are now taken into account to update Konversation's
  idea of whether a particular nick is identified with services or not (infor-
  mation from IRC numeric 330 was previously discarded).
* Fixed a bug causing Konversation to attempt to PART a channel that's no
  longer actually joined when closing a channel tab after having been kicked
  from the channel.
* Some included PNG image files were badly encoded, this has been addressed.
* Fixed a bug causing the file URL for an authentication certificate in the
  Identities dialog to be forgotten across application restarts.
* The warning about text in the topic editor exceeding the server-allowed
  limit now calculates the threshold more correctly, taking encoding and IRC
  formatting expandos into account.
* Konversation now depends on KDE Platform v4.7.0 or higher and Qt v4.7.0 or
  higher.


Changes from 1.4 to 1.5-rc1:
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.


* 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 pre-
  served 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.


Changes from 1.4-beta1 to 1.4:
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 release 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 v1.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 since 1.4-beta1:
* Fixed +q Type A channel modes (Freenode's "quiet bans") being reported as
  awarding channel owner privileges.
* Fixed a bug causing the +r channel mode to be incorrectly described as "server
  reop" in the user interface.
* Improved the description string for the +l channel mode.
* Fixed the parameter handling of the example script in the handbook's section
  on scripting.
* Fixed build with KDE Platform versions below 4.6.0. The minimum required
  version is 4.4.3.
* The '/setkey' command now supports keys that have spaces in them, by treating
  all parameters after the first as part of the key.
* The 'Edit Multiline Paste' editor now puts initial focus on the text field,
  rather than the Send button.
* Added a sanity check to avoid a crash while processing broken, empty NAMES
  messages from a server, encountered with the shroudBNC bouncer.


Changes from 1.3.1 to 1.4-beta1:
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.

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 occurred. Others did get disabled, but
    not consistently in all menus in which they are available. Still others,
    such as the "Add to Watched Nicks" action, used to get disabled
    unnecessarily. All of this has been addressed.
  - Toggle actions used to appear and behave inconsistently: The nickname list
    context menu showed either "Ignore" or "Unignore" actions as applicable,
    while the chat text view nick context menu used a checkable item. Meanwhile,
    the "Add to Watched Nicknames" action had no corresponding action to remove
    a nick from the Watched Nicks Online list at all. All of this has been
    fixed, going with the "Ignore"/"Unignore" style of the nickname list context
    menu (i.e. there's now a "Remove from Watched Nicks").
  - If built against Qt 4.7, the topic area now uses the same context menus as
    the chat text view (with the exception of the inappropriate "Find Text.."
    action in the basic context menu), enabling a lot of functionality missing
    otherwise.
  - Some actions used to be shown in menus inappropriately, e.g. the "Channel
    Settings" action in the chat text view context menu of a connection status
    tab or the "Open Logfile" action in the same context menu of a raw log tab.
    This has been addressed.
  - The behavior of many of the actions is now more consistent with their input
    line equivalents. For example, clicking "Join Channel" in a link to an
    already-joined channel will now focus the existing channel tab, the same as
    the /join command would do. Previously, nothing would happen.
  - Fixed a bug causing the nick and channel link context menus in the chat text
    view of a channel tab to get disabled after having been kicked from the
    channel.
  - Fixed a bug causing the "Send Email..." action to always be disabled, even
    when any of the associated address book entries did have an email address on
    file.
  - The display of helpful titles repeating the nick/channel at the top of the
    chat text view nick and channel link context menus has been fixed - it
    previously got broken in the KDE 4 port.
  - The nick and channel link context menus now mark the action that occurs when
    clicking either as the default action of the context menu, improving the
    appearance with UI styles that visually distinguish the default action.
  - General improvements to the layout of menus, often with an aim for improved
    consistency with other KDE applications.
  - Numerous actions that were missing icons now have them.
  - The consistency of keyboard accelerators between the various menus has been
    improved.
  - Various actions in the nickname list context menu now appropriately use a
    singular or plural form for their text label depending on the number of
    selected nicks the menu operates on.
  - Improved memory efficiency by using single global instances of the various
    menus, rather than for example having two separate instances of the nick
    context menu - one for the chat text view, one for the nickname list view -
    for every channel tab.
  - The code implementing the various actions was in many cases redundantly
    implemented in three different places, for some even in four. This
    staggering code duplication has been done away with.
  - Links now have an "Open With..." action that opens a dialog allowing to
    choose in which application to open the link.
* The URL Catcher has been rewritten from scratch, bringing about a number of
  improvements and bug fixes:
  - It is now possible to select multiple list entries, and all of the
    selection-related actions, such as "Open" or "Add Bookmark", can now operate
    on multiple selected entries ("Add Bookmark" will offer to add all selected
    entries as a new bookmark folder, for example).
  - Reasonable default sorting: The list is now sorted by the "Date" column in
    descending order the first time the URL Catcher is opened, so that the
    newest URLs are found at the top. Previously, the list was sorted by the
    "From" column in ascending order by default.
  - The list data is no longer stored in memory twice while the URL Catcher is
    open. Data handling is generally more efficient.
  - The list entry context menu has been cleaned up, now showing only the
    actions applicable to individual entries.
  - The list now automatically receives keyboard focus when switching to the URL
    Catcher tab.
  - When saving the list to disk, the file dialog to pick the destination file
    will now ask before overwriting an existing file of the same name.
  - The date and time in the header of a saved list file is now formatted
    according to the user's locale settings.
  - Fixed a bug causing the opening of caught irc:// and ircs:// URLs not to
    work.
  - Fixed a bug causing the "Date" column to sort alphabetically rather than
    chronologically.
  - Fixed a bug causing the deletion of list entries not to work.
  - Fixed a bug causing a 1px remnant of tree branch lines to be visible along
    the left edge of list entries.
  - An unnecessary margin around the toolbar and the search line edit has been
    removed.
  - Fixed a bug causing the URL Catcher tab to claim to be eligible to receive
    chat text messages that have the frontmost eligible tab as their recipient
    despite it not actually possessing the means to display them, resulting in a
    crash when such a message occurred.
* The Warning Dialogs system has been overhauled, with improved wording in the
  listing in the configuration dialog (which now also contains the previously
  missing warning when minimizing to the system tray) and further improvements
  to individual warning dialogs, such as the addition of previously missing
  Cancel buttons.
* Added a "Show/Hide Konversation" action that can be used to toggle the
  minimized state of the Konversation window or, if the tray icon is enabled,
  its visibility. Additionally, the window will always be moved to the current
  virtual desktop if shown using this action (if the window is already shown on
  another desktop, it will be moved to the current desktop rather than hidden).
* It's now possible to give the "Next Active Tab" shortcut a global keyboard
  shortcut, and when triggered the action will always show, raise and focus the
  Konversation window (as needed), regardless of whether it will also perform a
  tab switch. This allows "Next Active Tab" to double as a "get me the
  Konversation window and the tab that just caused my notifications to go off"
  global shortcut.
* Clicking the Insert button in the "Insert Character" dialog will no longer
  immediately close the dialog, making it easier to insert multiple characters
  in quick succession.
* Double-clicking a character in the "Insert Character" dialog will now insert
  it into the input line.
* The "Insert Character" dialog now sports a search line.
* The widths of the columns and the sort column and direction in the Channel
  Option dialog's ban list are now remembered across application restarts.
* The "Rejoin Channel" context menu action, shown when a channel could not be
  rejoined automatically on reconnect as well as after having been kicked from a
  channel, will now appear above the "Close Tab" action rather than at the end
  of the context menu, so "Close Tab" is always the last item.
* The "Ok" button in the "Edit Multiline Paste" editor has been renamed to
  "Send" to communicate more clearly that clicking it will send the editor
  contents to the server.
* Formatting control codes (e.g. for colors) in user real names are now filtered
  out before the names are shown in the nickname list when the "Show real names
  in nickname list" option is enabled.
* The layout of user information tooltips (shown e.g. when hovering a nick in
  the nickname list or the header area of a query tab) has been improved
  slightly.
* Fixed bugs causing the tooltip for the adjacent rather than the hovered item
  to be shown when hovering the mouse pointer near the upper or lower edges of
  an item in the nickname list or the listview version of the tab bar (tooltips
  are only shown on the latter when the listview is too narrow to fit its
  contents, to provide the unelided tab names).
* Fixed bug causing the IRC Color Chooser dialog to only show 15 colors instead
  of the available 16.
* Fixed a bug causing a very wide minimum window width when a query tab with
  very long user information in the header area was open.
* Fixed bug causing the opening of URLs via the "Open URL" sub-menu in the list
  entry context menu in Channel List tabs not to work.
* Fixed a bug causing actions that are meant to operate on the active tab (e.g.
  "Close Tab" invoked by the default shortcut Ctrl+W) to operate on a different
  tab after the "Join on Connect" action in that tab's context menu had been
  used.
* Fixed a bug causing the state of the Show/Hide Menubar action not to be
  updated correctly when hiding the menubar was canceled from the warning
  dialog.
* Fixed a bug causing the "Delete" button in the "Server List" dialog to
  incorrectly show a "Network needs to have at least one server." error dialog
  when trying to delete servers, even when the deletion would in fact leave the
  network with one or more servers.
* Fixed a bug causing the active tab's text label not to be greyed out when its
  IRC server connection is cut.
* Got rid of some too large margins in the "Edit Network" dialog.

Text views:
* Added support for KDE Web Shortcuts when built against KDE Platform 4.5 or
  higher: The context menu for selected text in a chat text view then offers a
  submenu by which the selected text can be used in a web search with any of the
  enabled search providers. The resulting search URL is opened in the system's
  default wen browser after clicking on the search provider in the submenu.
* Added support for ircs:// URLs, the 's' standing for 'SSL'. It is supported
  both for opening and for bookmarking. If an ircs:// URL matches a server
  configured in the server list or refers to a network name instead of a
  specific server, the directive from the URL overrides the state of the SSL
  setting in the configuration.
* Detection of URLs and email addresses in chat text views to turn them into
  clickable links has been much improved. An incomplete overview of notable
  cases:
  - Unicode characters in URLs are now handled properly, enabling support for
    example for international domain names.
  - Protocol-less links not starting in "www.", such as the short URLs popular
    these days ("bit.ly/foo" and similar), are now recognized.
  - Arbitrary protocols (e.g. "http://" or "message://") are now recognized;
    previously only a small hand-picked and insufficient set was.
  - The check that avoids balanced a pair of parentheses around an URL becoming
    part of the link now works for more than one level of balanced parentheses.
  - Aside from balanced pairs of parentheses, also square and other forms of
    brackets are now handled properly.
  - Trailing question marks no longer become part of the link.
  - URLs using uncommon schemas, e.g. Apple message:// URLs or Wolfram Alpha
    URLs, are now handled properly.
  - Numerous improvements to email link handling: User names containing the plus
    sign are now handled correctly, opening email links from the URL Catcher
    works now and others.
  - The URL detection for the "Open URL" sub-menu in the list entry context menu
    in Channel List tabs now uses the same infrastructure as link detection
    elsewhere rather than separate code, making it massively better compared to
    previous versions.
  - Average speed of link detection has improved slightly.
* Added support for dragging web and email address links found in topic areas.
* IRC formatting markup (colors, bold, italic, etc.) support in chat text views
  and the topic editor has been improved significantly:
  - Background colors are now supported.
  - The reverse color formatting character is now supported.
  - To emphasize usability, links are now consistently displayed using the link
    and background colors from the configuration dialog, regardless of preceding
    formatting markup or formatting markup located within the link.
