Konversation 1.2-alpha3 has been released! (June 2nd, 2009)
This third alpha fixes a fair amount of annoying bugs encountered in day-to-day usage, as well as a serious bug in handling NAMES messages from IRC servers. We've also made some UI changes that we'd like to get your feedback on: We've changed the default tab completion mode to "Cycle Nicklist", and we've removed the frame around the tab widget when using the listview version of the tab bar.
Changes from 1.2-alpha2 to 1.2-alpha3:
- Worked around a Qt bug that has a text selection in the chat view that includes the last line in the view grow to include the new text when new text is appended to the view.
- Fixed Konversation exposing various signals on D-Bus that it shouldn't have.
- Fixed a regression causing '/names #channel' to end up duplicating the nickname list contents when already attending '#channel'.
- When using Qt 4.5, Konversation no longer paints a frame around the UI elements of a view (e.g. a channel) when using the listview version of the tab bar. Feedback on this change is appreciated!
- Fixed duplicated messages about DCC transfer failures in the chat view.
- When the menu bar is hidden, the top-most item in the chat view context menu is now the option to unhide it again.
- Fixed the OSD disappearing also cancelling the system tray blinking notification.
- Fixed a crash on quit by D-Bus / by KDE session logout.
- Fixed the tab completion nickname list sorting behavior for the "Shell-like" completion modes. The behavior now matches the "Cycle Nicklist" mode and the "Shell-like" modes of previous Konversation 1.x versions again: The last active nick for the given prefix is at the top of the list, with the rest of the list sorted alphabetically.
- The default tab completion mode has been changed to "Cycle Nicklist". Feedback on this change is appreciated!
- Changed the bundled 'bug' script to perform a quick search with the given parameter, rather than try to use it as a bug ID directly. The resulting behavior is unchanged for a numerical parameter, but with a string, much more useful.
- The 'mail' script, which was disabled in the build system up until now, is now getting installed again.
- Fixed a bug causing the "Set Encoding" menu not to work.
- Fixed a bug causing the bundled 'media' script not to work when used to retrieve song information from Amarok 2 for a song which has any of the following meta data fields not set: title, artist or album.
- Fixed the 'Self' field of the DCC transfer details panel not showing the port when available.
- Fixed DCC transfers showing an average speed of 1 TB/s in their first second.
Konversation 1.2-alpha2 has been released! (May 26th, 2009)
After just under a week's worth of adding back some missing functionality, polishing the interface and, of course, of fixing bugs, we've decided to bring you Konversation 1.2-alpha2. While there were no major defects discovered in alpha1, this one should yield an overall more refined user experience, and brings us another good step closer to our first stable release for KDE 4.
Changes from 1.2-alpha1 to 1.2-alpha2:
- Fixed nicknames in action messages using the message text color when nick coloring is disabled rather than the correct action text color as the rest of the message.
- Added back the context menus for nicknames and channel links in the chat view.
- Fixed the topic/info area in channels, queries and DCC chats, the nickname list in channels and the listview variant of the tab bar not keeping their sizes when the window is resized.
- Added missing actions ("Reconnect", "Disconnect", "Join channel ...") back to the context menu for server status tabs.
- Improved the placement of the "Join on connect" channel tab context menu item (back under "Enable Notifications" as in v1.1).
- Added the use of some of the new irc-* icons found in recent updates to the Oxygen icon theme.
- Fixed crash when joining a channel after having been blocked from getting the topic for the channel.
- Made the initial size of the "Edit Network" dialog more reasonable.
- Improved vertical size of and text alignment inside the input line.
- Added back support for drag and drop reordering of views to the listview version of the tab bar.
- Added back support for "surfing" in the listview version of the tab bar by pressing and holding the left mouse button on a view and moving the mouse up and down in the list view.
- Fixed mouse handling for close buttons in the listview version of the tab bar.
- Added back support for showing tooltips for truncated view items in the listview version of the tab bar.
- Fixed crash when receiving lines terminated by LFCRLF from buggy IRC servers (such as the shroudBNC IRC proxy when it relays a private message received while no user was connected to it).
- Worked around a Qt bug that has a text selection in the chat view that includes the last character in the view grow to include the new text when new text is appended to the view.
- Sound notifications for highlights now reuse a single Phonon MediaObject by enqueuing notification sounds rather than instanciate a new one for every notification, improving resource efficiency and hopefully taking care of some high CPU usage reports that seemed to be linked to Konversation's Phonon usage.
- Fixed the enabling/disabling of the "Find Previous" action.
- Fixed several bugs in the Server List dialog (sort indicator disappearing while dragging items, stray pixel in the top-left corner of the listview, hover decoration while dragging not always showing).
- Improved handling in the Identity editor dialog: When Konversation complains about one or more required fields not being filled in, the dialog will now put focus on the field when it opens.
- Fixed the 'Self' IP field of the DCC transfer details panel not showing a value when on the receiving end of a DCC file transfer.
- Handle DCC REJECTs. A DCC SEND is now automatically aborted when the partner rejects it.
- Fixed a bug causing the ordering of views to be partially reversed when switching from the listview version of the tab bar to the regular tab bar.
- Improved consistency of the context menu for links between the topic area and the chat view.
- Fixed repeated searches for the same search pattern (i.e. "Find Next") sometimes not working reliably with the chat view search bar.
- Minor code cleanups and performance improvements.
Konversation 1.2-alpha1 has been released! (May 20th, 2009)
We're happy to bring you this first public release of the KDE 4 version of Konversation.
Despite the "alpha" moniker we've settled on for this one, mostly due to not yet being feature-complete (see below), this port has already been used productively by a fair number of people for some time and should be stable enough for general usage. In fact, certain features, notably DCC file transfers and auto-replace, are expected to be more robust than in Konversation 1.1.
While this version largely achieves feature parity with Konversation 1.1 (and adds several new features on top), notable exceptions are the lack of support for marker lines as well as nick and channel context menus in the chat view. These are pending the merge of a rewritten chat view and will make a return before the final Konversation 1.2 release. Other known issues in this version include a lack of KDE 4 HIG compliance in the configuration dialog and various minor interface polish problems; these will be addressed as well.
Enjoy, and don't forget to report any bugs you encounter!
Changes from 1.1 to 1.2-alpha1:
- Ported to KDE 4 (KDE 4.1 or higher is required).
- Enabled the (experimental, hackish) Amarok 2 support in the 'media' script.
- Fixed a bug that could cause channel notifications to be lost across reconnects.
- Removed the code to recreate hidden-to-tray state across application restarts. It was broken after the shutdown procedures were moved to a point in time after after the main window is hidden to cover quit-by-DCOP, and Konversation 1.1 features an explicit hidden startup option that fulfills user demands more accurately anyhow. This fixes a bug that made Konversation always hide to tray on startup regardless of the aforementioned option when the system tray icon was enabled.
- Added a network settings lookup fallback to retrieving the key of a channel. Previously, this relied solely on the channel's mode map. Closes the brief gap between a channel join and the server's reply to MODE where possible, so that e.g. reconnecting directly after auto-joining a channel with a key doesn't result in a failed rejoin due to not having the key by way of the MODE reply yet.
- Fixed opening URLs from the channel topic context menu in Channel List tabs.
- When connecting to multiple selected unexpanded network items from the Server List, don't also try to connect to the hidden server sub-items selected by implication, avoiding unwanted connection duplicates.
- Mask the password field in the Quick Connect dialog.
- Fixed a bug causing passive DCC file transfers to stall at 99%.
- Fixed "/leave" command in queries.
- Fixed auto-replace rules containing commas in the pattern not being loaded correctly from the config file.
- Fixed non-regex mode auto-replace rules containing regex special characters and character sequences not working correctly.
- Improved performance of non-regex mode auto-replace rules.
- Added option to open log files with the system text editor instead of the built-in log viewer.
- Made the Oxygen nicklist icon theme the default nicklist icon theme.
- Removed the bundled 'weather' script (it relied on a KDE 3 service no longer present in KDE 4; a replacement will need to adopt a new approach).
- Fix sending and receiving of files with names containing spaces
- DCC Protocol adjustment to proper handle passive DCC resume/accept requests. (this breaks passive-resume compatibly with
- Send proper DCC reject commands when rejecting a queued receive.
- Improved error recovery during dcc send.
- Fix time left for transfers that finished in under 1 sec displaying infinite time left.
- Increased default DCC buffer size to 16384 to reduce CPU load while sending or receiving files.
- Added KNotify events for "Highlight triggered", "DCC transfer complete" and "DCC transfer error".
- Fixed Automatic User Information Look Up not being started upon channel join on some IRC servers (namely those that don't send RPL_CHANNELCREATED after joining a channel, such at those used by IRCnet).
- Updated the server hostname for the pre-configured Freenode network to the one given on their website these days, 'chat.freenode.net'.
- Added support for browsing the input line history by using the mouse wheel.
- Fixed problems the bundled 'tinyurl' script had with certain URLs by converting it to use the TinyURL API rather than screen scraping.
- Added initial support for the MODES parameter of RPL_ISUPPORT. When giving or taking op, half-op or voice to/from multiple people at once, Konversation will now combine as many of them into a single MODE command as the server advertises it supports (as long as it advertises an actual value; the value-less unlimited MODES case is not supported yet as it requires more work on limiting MODE commands to the 512 byte IRC message buffer limit for extreme cases). If MODES is not given at all by the server, the fallback is an RFC1459-compliant value of 3.
- Added support for formatting variable expansion in the replacement part of auto-replace rules.
- Rewrote multi-line paste editor, improving handling and appearance.
- Added button to intelligently replace line breaks with spaces to the multi-line paste editor.
KDE 4 port: New SVN path, translations
The work to port Konversation to KDE 4 has been progressing well since the last update. While there are still some odds and ends left to tie up, the port has generally been fairly stable and usable for some time now, and many of you have switched to it already. Reflecting that, we have moved back from /branches to /trunk in KDE SVN. In other, more succinct words:
The new SVN path for the KDE 4 port is now: /trunk/extragear/network/konversation
... just as it used to be in the old days.
A welcome side-effect of the new (old) SVN location is being back on the radar of KDE's awesome translation teams and their infrastructure, so many of you should now be able to enjoy KDE 4 Konversation in your native language - the existing KDE 3 translations have been moved as well to form a strong basis for this.
A public alpha release is not far off at this point. If you want to get involved as we zero in on the target of our first stable KDE 4 release, check out the todo list on the bug tracker.
News update: KDE 4 port, 1.1.x plans, Qt 4.5 Beta 1
A bunch of noteworthy items:
The initial KDE 4 port of Konversation has landed in SVN. There's still a lot of work to be done; join us at #konversation on Freenode or at our mailing list if you're interested in helping out.
We're planning on shipping a 1.1.1 maintenance release for KDE 3 this quarter, rounding up the bug fixes done since 1.1 and enabling Amarok 2 support in the bundled 'media' script.
Speaking of the 'media' script: If you're using Qt 4.5 Beta 1, you might have noticed Amarok 2 support no longer working. This is due to a change in the default output format of the 'qdbus' application included with Qt. This change has since been reverted, so a recent Qt 4.5 snapshot should get you back in the game.
Attention Amarok 2 users
Those wishing to query their Amarok 2 music player (Beta 1 released) from within Konversation using /media or /audio will be interested to learn that the 'media' script shipped with Konversation 1.1 does in fact contain experimental Amarok 2 support, albeit disabled due to being merged during feature freeze.
If you're familiar with Python coding, you may simply want to edit your existing copy yourself. Alternatively, grab the latest version (with Amarok 2 support enabled by default) from SVN, move it to ~/.kde/share/apps/konversation/scripts/ and mark it as executable to override the system-installed version.
To those in the know, please note that the implementation is presently Amarok 2-specific; a generic MPRIS client implementation for the 'media' script is planned to be included with the initial KDE 4 release of Konversation (and yes, we're making progress on that).
Konversation 1.1 has been released!
We are extremely pleased to announce Konversation's newest major release, v1.1. Konversation 1.1 is a special release for us in multiple ways: It's our farewell to KDE 3, by way of being the last major release built upon that venerable platform. It's also our biggest release yet, in terms of the number and magnitude of the changes.
The additions and improvements in this release are both user-visible and under the hood. Some of the highlights are rewritten connection handling (robustness and correctness improvements, better support for IRC URLs, bookmarking and more), redone DCC with better UI and Passive/Reverse DCC support, a redone away system with the addition of auto-away support, redone and much more useful remember / marker line support, a new outbound traffic scheduler that is capable of aggressive throttling to avoid flooding while smartly reordering messages to improve latencies, great convenience additions like a "Next Active Tab" shortcut, and much, much more, along with a large number of bugfixes and tweaks to round things out. Note: All fixes made since RC1 are marked with a "[New since RC1]" label in the changelog.
We're confident that this release is the best and most robust version of Konversation published so far, and upgrading comes highly recommended to all users. Enjoy!
Changes from 1.0.1 to 1.1:
Text views
- Added an option to hide the scrollbar in chat windows.
- Don't scroll to bottom if the view was scrolled up before resizing.
- Fixed chat views occassionally not being scrolled to the bottom at their inception with long backlog appends.
- Fixed an off-by-one error in scrollback culling.
- Fixed a bug that lead to single leading whitespace characters in lines being omitted from display in chat windows.
- Now preserving trailing whitespace in raw log tabs.
- Fixed display of '<' and '>' in backlog lines.
- Fixed copy/paste with shortcuts other than the default Ctrl+C/V ones.
- Fixed onotice display.
- Fixed middle-click-to-open-in-new-tab on chat window URLs when Konqueror wasn't running.
- Fixed superfluous closing parenthesis being inserted after links in lines which contain multiple links followed by closing parenthesis.
- Fixed URLs with encoded hash mark %23 being incorrectly passed off to handler.
- Fixed variable expansion causing certain URLs to be corrupted when pasted.
- Added a "Save Link As" item to the context menu of links in the chat window.
- Have the "Save as..." dialog suggest a file name.
- Implemented Shift+Click to "Save as..." URLs..
- Made the channel links context menu work in server status views.
- Fixed nickname links in chat view messages created as a result of '/msg
' commands erroneously prepending '->' to nicknames. - Fixed operations on nicknames containing "\" characters from the nickname context menu.
- Fixed query view context menus operating on the wrong nickname under certain circumstances.
- Fixed a bug that caused the "Send File..." action in the generic query context menu to pick the wrong recipient after hovering the user's own nick in the chat display.
- Fixed date display not using the locale's date format.
- Fixed IRC color parsing so that the colors gets reset to default if no color numbers were given.
- Fixed a bug that could cause the text selection in a chat window to be messed up when new text was appended.
Marker/Remember Lines
- Konversation now distinguishes between manually and automatically inserted marker lines, making the "show line in all chat windows" preference less confusing.
- The automatically inserted remember lines when chat windows are hidden are now "sliding", i.e. there is only one per chat window, and it moves.
- Automatically inserted remember lines will now optionally only be inserted when there's actually new text being appended to the chat window (enabled by default).
- The automatic remember line will now also be inserted when the window has lost focus.
- Added an action to clear all marker lines in a chat window.
- Improved marker lines-related preferences and terminology.
- Improved the appearance of marker lines in the chat window.
- Made the (marker line-related and other) identity default settings consistent between the initial identity and additional newly created identities.
- Fixed hidden join/part/quit events marking tabs as dirty, allowing multiple consecutive remember lines to appear.
- Fixed crash when minimizing or closing the application window prior to any tab switch when the auto-insertion of remember lines is enabled.
Input line
- Fixed input line contents rather than actual sent text being appended to the input history upon a multi-line paste edit.
- Special characters and IRC color codes will now be inserted at the cursor position rather than the end of the input line contents.
Nickname list
- Implemented an additional "Sort by activity" nicklist sorting mode.
- Added Oxygen nicklist icon theme by Nuno Pinheiro.
- The list of nickname list themes is now sorted alphabetically.
- Fixed race condition when removing a nicklist theme (listview would be repopulated before deletion was complete).
- Fixed using the wrong palette for the disabled text color in the nickname list.
- Fixed moving back from the custom alternate background color to system colors in the channel nickname listviews when disabling the "Use custom colors for lists, [...]" preference.
- Cleanups in the nicklist item code.
Tab bar / Tree list
- Added option to add and remove a channel from its network's auto-join list from the tab context menu.
- Added option to close tabs using middle-mouse.
- Slightly sped up tab switching by eliminating some redundant UI action state updates.
- Channel tabs will no longer close when kicked, but rather grey out on the tab bar and offer context menu actions to rejoin.
- Channel and query tabs will now grey out on the tab bar when disconnected and no higher priority notification is present. Channel tabs will only ungrey if and when the channel is successfully rejoined after reconnect; query tabs ungrey immediately once reconnected.
- Display tooltips for truncated treelist items.
- Fixed forwarding keyboard events received by the treelist to Konsole widgets and focus adjustment thereafter as well as generally after switching to Konsole tabs by other means.
- Fixed treelist scrollbar not picking up on new palette when the KDE color scheme changes.
- Fixed a bug that could cause a crash when the view treelist would receive keypress events during application shutdown.
- [New since RC1] Fixed a corner case where a server status item could become a child item of another server status item when dragging it below an special application pane item such as DCC Status or Watched Nicks Online.
- [New since RC1] Fixed a crash when using the mouse wheel on the list within ~150ms of a drag and drop operation.
System Tray icon
- Remember and recreate minimized-to-tray state across sessions.
- Added option for hidden-to-tray startup.
- Reload tray icons when the icon theme changes at runtime.
- Added option to not blink the systray icon, but just light it up.
Channel Settings Dialog
- Added a search line to the ban list.
- Fixed sorting the ban list by time set.
- Made the ban list's "Time Set" column use KDE locale settings for the date format.
- Fixed OK'ing/Cancel'ing/closing the Channel Settings Dialog not dealing with open ban list in-line edits correctly.
- Reset topic editbox when the channel options dialog has been dismissed with cancel.
- Fixed incorrect time display in the topic history list in the Channel Settings dialog.
Server List Dialogs
- Moved the "Show at application startup" option for the Server List dialog to the dialog itself.
- Auto-correct hostnames and passwords entered with preceding or trailing spaces in the Server List dialog.
- Don't allow impossible ports to be set for servers.
- Sensible default focus in the server list dialog.
- Fixed unresponsive, defective Server List dialog window appearing at application startup using the Beryl or Compiz compositing window managers.
Interface Misc
- Added a "Next Active Tab" keyboard shortcut to jump to the next active tab with the highest priority notification.
- Added a Find Previous standard action.
- Have the "Insert Character" dialog pick up on text view font changes.
- Show correct number of colors in the color chooser dialog.
- Made "Alternate Background" colorchooser disable when unneeded.
- Fixed crash when changing the KDE color scheme while a non-chat tab is open.
- The encoding selection now allows returning to the used identity's default encoding setting.
- Update actions on charset changes.
- Added Notifications Toggle and Encoding sub-menu to the window menu.
- Moved "Hide Nicklist" menu action from Edit to Settings.
- Fixed the "Automatically join channel on invite" setting not to show an inquiring dialog anyway.
- Fixed saving the state of the invitation dialog option in the Warning Dialogs preferences.
- Added a warning dialog for quitting with active DCC file transfers.
- Return focus to the text display widget after closing the search bar in a log reader view.
- Made pressing Return or Enter in the Log File Viewer's size spinbox apply the setting, just as pressing the Return button.
- Fixed a bug where the SSL padlock icon would be shown on a non-SSL connection (and clicking would cause a crash).
- Empty topic labels will no longer show empty tooltips, but rather none at all.
- Added a sample 12-hour clock format string to the timestamp format combobox.
- Timestamp format list is no longer localized.
- Robustness improvements and less UI quirks around channel password handling.
- Improved general layout and consistency of tab, chat view, query and topic context menus. Added some missing icons.
- Fixed some bugs of UI actions not being appropriately as their context changes.
- Fixed enabled state of "Close All Open Queries" action not being updated correctly when queries are closed by way of closing a status view tab.
- The window caption is now properly being reset when the last tab is closed.
- Made units in spinboxen in the identity and app preferences UI more consistent.
- Minor fixes to accelerators and tabbing order in various dialogs.
Commands
- Support command aliases in network connect commands.
- Turned parameter-less '/away' into a toggle: Sets away state with default message initially, and unsets away state if already away.
- Added an '/aunaway' command to complement '/aaway' (previously, there was only '/aback').
- Added support for '/kill'.
- A '/join' command for an already-joined channel will now focus it.
- Added an '/encoding' command as an alias to '/charset'.
- '/charset' and '/encoding' now accept 'latin-1' as an alias for 'iso-8859-1'.
- Improved messages for the '/charset' and '/encoding' commands.
- Rewrote /me parsing to be less hackish and display usage info with an empty parameter.
- '/msg
' is no longer treated as equivalent to '/query '. - '/msg
' will now error out when lacking a message parameter. - '/query
[message]' will now error out when recipient is a channel. - Added a '/queuetuner' command to bring up the outbound traffic scheduler's tuning/debug pane.
Notifications
- Seperated query messages and messages containing the user's nickname into two distinct KNotify events.
- Made the tab notification color of private messages configurable independently from normal messages.
- Don't highlight own nick on topic created by messages.
- Fixed disabling notifications for a tab not cancelling highlight sounds.
- Fixed a race condition where a highlight's autotext reply would outrun the original line's tab notification.
- Fixed actions in queries and DCC chats producing message notification events (rather than the correct private message ones).
- Changed the OSD screensaver check logic to work in KDE 4.
- [New since RC1] Fixed on screen display occassionally reverting to the default position when using the settings dialog to change unrelated settings.
Connection handling
- Improved behavior with regard to reusing existing connections in connection attempts that provide an initial channel to join, such as command line arguments, the DCOP interface, the bookmark system or irc:// links). Previously, the application would have inconsistently either reused an existing or created a new connection.
- Better dialog messages in the interactive variant of the decision to either reuse or create a new connection (from the Server List dialog and the Quick Connect dialog).
- Improved and more consistent display of connection names (i.e. network or server host name) throughout the application.
- Much improved irc:// URL support for connection intanciation, with support added for IPv6 host names and many of the features proposed by the Mirashi specification.
- Eliminated redundant irc:// URL parsing codepaths in favor of a single one.
- Added support for irc:// URLs to the chat views.
- Removed "konversationircprotocolhandler" shell script. The Konversation executable now understands irc:// URLs directly.
- Initiating connections from command line arguments and options now works also when the application is already running.
- Fixed a bug that would cause a connection initiated from command line options not to get past the identity validation stage when the configuration file was unitialized and empty.
- The server list dialog will now always be closed when starting Konversation with command line arguments to initiate a connection, consistent with the configuration-based auto-connect behavior.
- Providing a channel in the creation of a new connection (i.e. via command line arguments, the DCOP interface, the Quick Connect dialog, the bookmark system or irc:// links) now consistently pre-empts the stored auto-join channel list if the target of the connection is a network or the hostname is found to be part of a configured network. Previously, this would only work for Quick Connect and the bookmark system (which caused the infamous Sabayon user flood in #kde due to their "Get Support" desktop link connecting to Freenode, which in an unconfigured Konversation has #kde in its auto-join list).
- Connections now have globally unique IDs.
- The DCOP interface now understands connection IDs in addition to host names.
- The scripting systems now uses globally unique connection IDs rather than server host names to refer to connections, fixing a bug where scripted responses were being handed to all connections sharing a hostname (which was actually intentional in the absence of connection IDs, but undesirable for users).
- Improved iteration behavior over a network's server list on connection losses.
- The "Reconnect" action now works also when Konversation doesn't consider the connection to be in a disconnected state.
- Improved the server status view messages related to reconnection attempts.
- Consistently apply the "Reconnect delay" setting (previously confusingly named "Reconnect timeout"), which wasn't done before.
- Fixed a bug that could cause the connection process to claim that a DNS lookup was successful when it actually wasn't.
- Fixed opening bookmarks with spaces in the target address name (which may be a network name, and networks may have spaces in their name).
- Properly update the state of the "Add/Remove to Watched Nicknames" nickname context menu actions when the connection isn't to a config-backed network, in which case there's no way to store and make use of those list entries.
- Fixed a crash when quitting the application with a resident connection that disconnected due to an SSL error.
- Fixed crashes in the DCOP interface if no connection was present.
- Make the "Reconnect" action available even while ostensibly in the process of connecting.
- Fix possible crash when closing all views and subsequently creating a new connection.
- Fixed crash upon auto-connect at application startup.
- Improved the naming of preferences related to automatic reconnection attempts to be less confusing.
- Made it possible to set the number of automatic reconnection attempts to unlimited.
- Provided better default values to the preferences related to automatic reconnection attempts.
- Fixed crash when opening a Konsole tab and Konsole was not installed.
- Fixed allowing the user to create an infinite loop of showing the SSL connection details dialog upon being presented with the invalid certificate multiple choice dialog at connection time by checking "Do not ask again" and then clicking "Details".
Identities
- Made it possible to set a Quit message independently from the Part message.
- Saving a newly-created identity is no longer allowed without entering a real name.
- Apply switching the identity in the identity dialog as opened from the network dialog to the network's settings.
- Have the Edit/Delete/Up/Down buttons for the nickname list of an Identity correctly change state according to the selection
Away system
- Added per-identity support for automatic away on a configurable amount of user desktop inactivity and/or screensaver activation, along with support for automatic return on activity.
- Fixed the "Global Away" toggle to make sense and update its state properly.
- Turned parameter-less '/away' into a toggle: Sets away state with default message initially, and unsets away state if already away.
- Added an '/aunaway' command to complement '/aaway' (previously, there was only '/aback').
- Broadly rewrote away management related code for improved robustness and less duplication and hacks (e.g. no more abuse of multiServerCommand for global away).
DCC
- Massive DCC refactoring and improved reliability.
- Passive DCC support (Reverse DCC RECV, SEND).
- Replaced the DCC Transfer Details dialog with a retractable transfer details pane directly in the DCC Status tab.
- Added DCC transfer average speed reading to the DCC transfer details panel.
- The DCC Status tab now remembers its column widths across sessions.
- Fixed duplicated quotation marks around file names in DCC transfer status messages.
- Fixed "Open File" DCC dialog remembering the last viewed location incorrectly.
- Added an "Open Folder" button to the DCC transfer details panel.
- Added check for whether the URL is well-formed before initiating a DCC send. Fixes a bug of dragging a nickname link in the chat view onto the query chat view drop target starting a DCC transfer that cannot succeed.
- Ported the DCC code away from relying on server group IDs to refer to connections, made it use connection IDs instead. Fixes potential bugs with multiple concurrent connections to the same network.
- Fixed queued DCC transfer items not picking up on download destination directory changes.
- Fixed bug leading to crash upon initiating DCC Chat when "Focus new tabs" was enabled.
- [New since RC1] New transfer items added to the DCC panel's transfer list are no longer automatically selected, meaning work on other items in the list occuring at the same time no longer gets interrupted.
- [New since RC1] The "Filename:" line in the DCC panel's detailed info pane is now using text squeezing to avoid an increase in minimum window width with long file names.
- [New since RC1] Failed receives now longer show 833TB/s as their transfer speed.
Blowfish support
- Fixed FiSH-style +p prefix to send clear text to channel despite an encryption key being set.
- Text encoding is now being applied to the cleartext, rather than the ciphertext. This fixes using characters outside the ASCII range with blowfish encryption.
- Fixed CTCP (and thus DCC) requests to nicknames for whom an encryption key is set.
- Added support for encrypted topics.
- If an encryption key is set, a lock icon will now be shown next to the input box.
- Added a '/showkey
' command to show the encryption key for the target in a popup dialog.
Auto-replace
- Improved auto-replace behavior with multiple matches in one line (fixes multiple Wikipedia links).
- Fixed bug that could cause auto-replace to replace the wrong group of the matching string.
- Auto-replace is now case-sensitive in regular expression mode.
- Added regular expression editor button to auto-replace preferences.
- Fixed conditional enabling of the RegExpEditor button in the auto-replace preferences page.
Ignore
- Fixed being asked twice whether to close a query upon ignoring the opponent.
- Fixed crash when opting to close a query upon chosing to ignore the opponent from the context menu of his nickname.
Watched Nicknames
- Improved robustness of the Watched Nicknames Online system.
- The "Offline" branches in the "Watched Nicks Online" list will now be omitted when there are no offline nicks for the respective network.
- Fixed display of WHOIS spam prompted by the Watch List's WHOIS activity.
- Connections to non-config-backed targets no longer show in Watched Nicks Online.
- [New since RC1] Actually honor the preference to enable/disable the Watched Nicknames Online system, and apply it at runtime.
- [New since RC1] Make sure the periodic Watched Nicknames Online check actually starts running within the same session after adding the first nickname to the list.
- [New since RC1] Fixed a crash on quit with the Watched Nicks Online tab open and there being an open connection to a network that nicks are being watched for.
Channel List
- IRC markup is now removed from content in the Channel List view.
- Speed improvements in Channel List views.
- Fixed keyboard accelerator collisions in Channel List views.
- Allow higher values than 99 in the min/max users filter spin boxes in Channel List views.
Under the Hood / Protocol
- Rewrote the outbound queue scheduling system to be smart enough to reorder outbound traffic to reduce interactive latency while aggressively throttling the rate to prevent flooding. Use '/queuetuner' to tweak.
- Rearranged when and how auto-who is triggered upon channel join a bit, to avoid excessive flooding on multiple concurrent joins in some cases.
- Auto-Who reliability improvements.
- Fixed auto-join with very many channels (the auto-join command would exceed the maximum buffer length; it is now split into multiple commands as needed).
- Fixed bugs around rejoining channels after reconnects related to the cause of the disconnect, channel passwords and picking the actual list of joined channels over the network's auto-join list.
- Improved behavioral consistency in situations where the auto-join list is preempted by a transitory auto-join channel (bookmarks, etc.).
- Fixed bug that caused the topic state not to be cleared properly prior to rejoining channels during reconnects.
- Fixed onotice payload being cut off after the first word.
- Changed RPL_WHOISOPERATOR handling to internationalize the common case ("is an IRC Operator") and otherwise passthrough the string sent by the server.
- Fixed parsing of alternate invite format on Asuka ircds (QuakeNet).
- Added support for PRIVMSG from the server.
- Support RPL_UMODEIS.
- Announce 'k' channel mode (i.e. channel key) changes in non-raw mode as well.
- The command part of CTCP requests is now always converted to uppercase before sending, as some clients don't like lower- or mixed-case commands as the user may have entered them.
- Display mode for your nick and channels you're not in.
- Fixed per-channel encoding settings for the channels of a network being lost when the network is renamed.
- Fixed crash when receiving actions for channels the client is not attending.
- Made newline handling in the DCOP interface more robust, fixing a potential security problem (CVE-2007-4400).
- A few speed optimizations and memory leak fixes.
- [New since RC1] Fixed a crash on quit during KDE logout or when quitting by DCOP.
Included scripts
- Support for KMPlayer in the 'media' script (based on the window caption, as KMPlayer has no proper appropriate DCOP interface).
- Added KPlayer support to the 'media' script (also caption-based).
- Added support for Audacious to the 'media' script.
- Fixed problems in disk space calculation in the 'sysinfo' script caused by wrapped df(1) output.
- Added KDE 4 support to the 'sysinfo' script.
- Removed some bashisms from the 'sysinfo' script.
- Rewrote 'weather' script for increased reliability in error handling and better readability.
- Removed broken 'qurl' script in favor of new 'tinyurl' one.
- Fixed the 'fortune' script not working properly when variable expansion is turned off in the preferences.
- [New since RC1] Fixed a bug in the 'media' script that caused it to break when querying Audacious with audtool not being available.
Packaging
- [New since RC1] Standards compliancy fixes in the application .desktop file and the nicklist icon theme .desktop files.
Build
- Fixed build with --enable-final.