Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

DMDirc 0.6

@greboid greboid released this · 5836 commits to master since this release

Command changes

  • New command: /alias - allows on-the-fly creation and removal of aliases
  • New command: /names - requests a list of names on the current channel
  • New command: /umode - changes your user modes
  • New command: /oper - authenticates you as an operator
  • Improved intelligent tab completion to be more flexible. The following commands now have improved completion: /query, /channelsettings, /setnickcolour, /notice, /echo, /reloadactions, /ignore, /back, /unloadplugin, /kick, /help, /notify, /openwindow, /msg, /loadplugin, /ban, /mode, /reloadidentities, /timer, /osd, /urllist, /names, /alias, /clear, /saveconfig, /nick, /reloadplugin and /ctcp
  • Added deferrable tab completion to the following commands: /redirect, /timer, /active, /alias, /allservers, /ifplugin and /allchannels
  • Commands can now specify whether their arguments are valid or not while the user is entering them. The following commands now validate input: /me
  • Channel commands can now indicate that they can be called when not in the channel. The following commands may now be used with 'external' channel arguments: /mode, /names and /topic
  • Commands can now specify whether or not their arguments will cause a line wrap. Implemented for: /msg and /query
  • Changed output format/usage of the /help command
  • The /cycle command may now take an optional part message
  • /server and /newserver now validate their ports

Plugins

  • Added DCC plugin
  • Added user level plugin
  • Added Windows nowplaying sources plugin
  • The system tray plugin now has a preferences page
  • The audio plugin now uses an alternate method of playing audio
  • A nicer error is thrown if DMDirc tries to load a plugin that no longer exists
  • The lag-display plugin can now use an alternate method of calculating lag, which bypasses any bouncers/proxies which return PING requests themselves
  • Plugins can now specify various requirements that are checked before the plugin is loaded
  • Plugins are now loaded when the preferences dialog is opened, so that disabled plugins can display their configuration still
  • The VLC media source no longer errors if filenames don't contain full stops
  • You can now configure the output format and command of the nowplaying plugin
  • The OSD plugin now strips control codes
  • The OSD plugin now has configurable behaviour for opening multiple windows
  • The lag display plugin is no longer called laddisplay
  • Added –close option to the /osd command provided by the OSD plugin
  • Plugins may now specify that they only work with a certain DMDirc user interface
  • The plugin manager now removes deleted plugins appropriately
  • The Identd plugin is now more compatible with the RFC
  • Plugin manager no longer tries to instantiate every class in a plugin
  • Persistent plugins now work properly
  • The logging plugin can now archive files by date
  • The logging plugin now closes files if the corresponding target has been idle for an hour
  • Plugin dependencies now work as expected for plugins in the autoload list
  • Added a way to specify plugin IDs in the DMDirc config files to enable automatic migration of old versions
  • The Amarok media source now says it's not running if Amarok is stopped
  • The logging plugin now bulk adds text where appropriate for better performance
  • Improved plugin loading error messages

Actions

  • Added SERVER_PINGSENT action type
  • Added ACTION_DELETED action type
  • Added CLIENT_PREFS_OPENED and CLIENT_PREFS_CLOSED action types
  • Added CLIENT_NAME and CLIENT_HOST action components
  • Added STRING_STRIPPED action component (to strip a String of its control chars)
  • Added a 'umodes' action pack, to add op/deop type commands to the nicklist popup menu
  • Action packs can now contain meta-data such as the author's name and a description
  • Action packs can now specify configurable settings (and their default values)
  • Actions now allow comparison between global settings
  • Actions are now saved when the client exits
  • Action groups that do not contain any actions are now loaded and displayed correctly
  • Action groups can now be specified as non-delible
  • Renaming action groups now works correctly
  • Fixed some issues caused by actions that trigger recursively

Themes

  • Themes may now set preferences under the 'colour' domain
  • Multiple themes can now be loaded at once
  • Themes may now be unloaded properly
  • Theme identities may now use $theme to refer to their theme's (extension-less) file name

UI changes

  • Redesigned the actions manager dialog
  • Redesigned the actions editor dialog
  • Added update configuration panel to the prefs dialog
  • The port field in the new server dialog no longer has a comma
  • The invite list now appears if you left click on the icon, as well as right click
  • The channel and server settings dialogs can now be accessed via the “Settings” menu
  • Rewrote how popup menus work; items are now specified in the DMDirc config
  • Added a control code (char 018) to negate the effect of other control codes, thus allowing formatters to strip formatting
  • Errors that occur during client startup are now displayed in the error dialog as expected
  • The release name and update channel are now listed in the about dialog
  • The plugin dialog has been merged into the preferences dialog
  • Plugin preferences dialogs have now been merged into the main preferences dialog
  • Tidied up the list modes tab of the channel settings dialog
  • The preferences dialog can now contain multiple categories with the same name
  • You can now enter control codes (bold, underline, etc) in the topic editor and the paste dialog
  • The ignore list UI can now switch between “simple” and “advanced” expressions
  • Formatters now use config managers correctly, which allows per-server/channel/etc formats
  • The blurb in the profile editor dialog is now correct
  • The background to the search bar now resets properly when toggling case sensitivity
  • The error manager dialog now exposes the 'Client is too old' message that may be returned by the reporter
  • The profile manager dialog now correctly accepts characters such as ` and _
  • The search bar now clears its contents after being reopened
  • The “Auto submit errors” checkbox in the preferences dialog now uses the correct option name
  • The preferences dialog now supports 'inline subcategories', which allow for more compact layouts in various places
  • The preferences dialog will no longer reset multiple-choice settings to their default if the current value isn't one of the preset options
  • Fixed several issues where the title of the main window wasn't kept in sync with the title of the contents
  • Appropriate context menus are now shown when right clicking on nicknames in channel windows
  • A line wrap indicator is now displayed next to the text box if a line is too long to send in one go
  • An error icon is now displayed next to the text box if a command deems that the input is invalid
  • The treeview now shows a context menu when right clicking on its nodes
  • The invite icon is now better aligned so it appears less blurry
  • The textpane now selects text correctly if you drag the cursor above the first line, or out of the top/bottom of the textpane area
  • You can no longer click the updating icon if the status is 'checking'
  • Added a 'duration editor' dialog for prefrences settings that specify a duration in milliseconds
  • The input field no longer scrolls its history when pressing up/down if a popup menu is open
  • Treeview 'drag selection' may now be disabled with the treeview.dragSelection setting
  • Various tweaks and improvements to improve the look and feel of DMDirc under OS X
  • Wizards now use guillemets for the next/previous links instead of two angle brackets
  • Highlighting text in the textpane now only works with the left mouse button (button 1)
  • The mouse cursor now changes appropriate if the textpane scrolls beneath it
  • Icons can now be specified as URLs, which allows for them to be loaded directly from themes, plugins or the internet.
  • Fix index out of bounds error when searching windows in some cases
  • The dummy user interface now supports queries
  • The URL protocol dialog no longer expands horizontally
  • Channels now correctly update their title when a topic is changed
  • The updater dialog now shows the percentage progress of each download
  • Pressing ctrl+enter in the paste dialog or topic field of the channel settings dialog now submits the entered text
  • Fix exception when closing the server settings dialog in some cases
  • Added 'accept all invites' option to the invite popup
  • The default frame buffer size is now 25,000. This should mitigate memory exhaustion issues caused by having an infinite (or extremely large) default setting
  • Pressing enter in the search bar no longer submits text in the input field
  • The Window menu's “toggleState” button now defaults to “Maximise”
  • Minimise and Close items in the window menu now work
  • The minimise and close menu items are now disabled if there are no active windows
  • The separator in the window menu is now dynamically show/hidden as appropriate
  • Improved font usage in license panel in about dialog
  • The main window's icon now updates if the corresponding config setting is updated
  • The global window is now positioned correctly in the windows menu
  • The 'send' button in the error manager is now correctly disabled when it needs to be
  • The profile manager now uses appropriate defaults
  • The new server dialog no longer allows invalid addresses or ports
  • Fixed the global window not being maximised properly
  • Fixed the alias manager dialog not properly clearing the response field
  • Profile manager now names new profiles “New profile[ n]”, where n is a number
  • The profile manager now ensures that names are unique
  • Rewrote the algorithm used to search for text in windows
  • The error manager dialog no longer causes shutdown hangs on Windows
  • SVN Builds now show revision in title when ui.showversion is set.
  • Ctrl+c now works in all windows, not just input windows
  • Ctrl+[shift+]tab now works if the treeview has focus
  • Fixed a problem with ctrl+tab not cycling past some windows (e.g. DCC Windows)
  • The “checking for updates” icon is now yellow to match other update icons
  • Added new icon for “restart required” update state
  • Fixed an issue where DMDirc would consume 100% CPU after cancelling certain dialogs
  • The status bar now supports showing icons along with text
  • Fixed the treeview becoming desynchronised when opening multiple windows in a short space of time
  • The parameter modes in the channel settings dialog will no longer accept spaces
  • Unticking the 'key' parameter in the channel settings dialog will now always use the right key to unset
  • The textpane now supports bulk adding of text
  • The about dialog now features “The intelligent IRC client” branding
  • The server and channel settings dialog can no longer be larger than the screen
  • Improved caching of elements in the treeview
  • Improved the loading time of the preferences dialog

Installer, updater and launcher changes

  • Added OS X installer
  • The Linux installer now runs under BSD-like OSes if java/java6 is pre-installed
  • The Linux installer now runs on OpenSolaris
  • Plugins can now be updated by DMDirc's automatic updater
  • Update components can now indicate whether or not the client needs to be restarted for them to take effect
  • Update components now have more user-friendly names
  • Added a hidden setting (updater.autoupdate) which causes the updater to auto-install all updates
  • The update checker no longer checks for updates twice every invocation
  • Available updates now remember which component they're for. This prevents the updater dialog showing 'Unknown' if it is closed and reopened when it contains an update requiring a restart
  • The migration wizard no longer erroneously tries to reload plugins and actions
  • The first run and migration wizards now run before the main client is started, rather than after
  • The Linux and Windows installers can now download a copy of the Java Runtime Environment if needed
  • The Linux and Windows installers now aborts if DMDirc is already running
  • The Linux and Windows uninstallers now offers to remove the DMDirc profile directory if it can be located
  • The Windows installer now says 'Start menu shortcut' instead of just 'Menu shortcut'
  • The Linux installer now creates more meaningfully-named temporary files
  • The Linux installer now defaults global installs to /opt/dmdirc
  • The Linux installer now makes DMDirc.sh globally executable for global installs
  • The installer now has a taskbar entry under Vista
  • The installer now uses the correct font
  • The installer now uses the DMDirc icon properly
  • The installer no longer contains two .jar files for no good reason
  • The Linux/BSD/Solaris installer now checks for pidof in a variety of places if it's not in the path
  • The Linux/BSD/Solaris installer will now fall back to using md5 if md5sum isn't available, and fetch/curl if wget is missing
  • Fix exception when extracting Windows Launcher updates

Mode aliases

The following mode alias changes were made after the release of DMDirc 0.5.5, but are available to 0.5.5 users via DMDirc's automatic updater

  • Added extra usermode aliases for Asuka
  • Added usermode aliases for Bahamut
  • Added usermode aliases for Hyperion
  • Added usermode aliases for Hyrbid
  • Added usermode aliases for Ratbox
  • Added mode aliases for Bahumut
  • Added mode aliases for Bitlbee
  • Added mode aliases for Nefarious IRCd
  • Added extra mode aliases for IRCu
  • Added extra mode aliases for Hybrid on OFTC
  • Server compatibility and IRC Parser changes
  • DMDirc no longer requests the mode H list on Starchat
  • DMDirc no longer requests the mode e/I lists on Hybrid, unless it has ops
  • DMDirc now responds to CTCPs sent as AUTH notices by some IRCds
  • Fixed the formatter for numeric 501 on Hybrid
  • Added support for detecting Bitlbee servers
  • Improved the speed of the IRC Parser's line tokeniser by about 40%
  • Fixed the IRC parser going into an infinite join/part loop in rare circumstances
  • Exceptions caught by the IRC parser now include the last line that was received, to help with debugging
  • The IRC parser no longer throws an exception when it receives a names reply for a channel the user is not in
  • The parser now handles joins for channels it thought it was already on better
  • The parser no longer includes the last line received in the title of any errors that occur (just in the extended details)
  • The IRC Parser now automatically prefixes channels with the relevant symbol ('#' in most cases) if one is not specified
  • IRC parser now sends queued channel modes as soon as the max number is reached, rather than waiting for the next one
  • IRC Parser no longer tries to connect to illegal ports
  • The IRC Parser now correctly unsets old channel keys before setting new ones
  • The IRC Parser now correctly parses additional 001 lines received (e.g. from a bouncer)

Intelligent Linking

  • Now excludes trailing question and exclamation marks
  • Now allows '+' in schemes (e.g. svn+ssh://...)
  • No longer links URLs starting with 'www.' if they're immediately prefixed by a / (e.g. /var/web/www.foo.com/bar)
  • No longer incorrectly moves the start position of a link when dealing with quotes in some circumstances
  • No longer links schemes on their own (without a host or path)
  • Now stops linking if an URL breaks out of enclosing quotes
  • No longer allows quotation marks in URLs
  • Now correctly strips trailing brackets if there has been another link before the closing one

Other changes

  • Fixed inefficient and pointless type conversions when adding items to the command history
  • Only one invite is now recorded per channel
  • Outstanding invites are now all cleared when disconnecting from a server
  • Better handling of a potential null pointer in queries
  • The 'missing mode aliases' error report now contains the computed network name
  • Reorganised the way window closing works, to fix many issues in the previous implementation
  • Tab completers are now updated as expected when the target of a query changes nickname
  • Channel config managers are now migrated properly when rejoining the channel
  • Moved a lot of logic relating to the updater and preferences dialog into the core, so other UIs can take advantage of it
  • Fixed exception when opening the server settings dialog in some cases
  • Queries are now compared using nicknames not hostnames, so it is no longer possible to have two queries with the same person
  • User errors (i.e., errors caused by bad input/settings/etc, not an error in DMDirc) can now contain extended descriptions or exceptions
  • Attempting to join a channel while the server is disconnected will now add the channel to the auto-join list, instead of throwing an error
  • Fix null pointer exception when rearranging table headers
  • “Optional colour” settings (those with a checkbox and a colour picker) now preserve their colours when disabled
  • You can no longer open queries with channels or other targets that don't make sense
  • Commands are now removed properly when they're unregistered (prevents duplicate commands appearing when reloading plugins)
  • The client now actually quits as expected when encountering a fatal error
  • DMDirc now no longer raises errors if the casemapping a server uses changes
  • The error reporter now includes the full stacktrace of any nested exceptions, where appropriate
  • DMDirc now differentiates between usermodes being discovered for the first time and being changed later
  • Timestamps can now be formatted as a duration using %u
  • Fixed multiple timers (ping, update checker, etc) not scheduling properly if the system clock changed
  • Exposed preferences for more notification types (/map output, CTCP replies, etc)
  • Fix concurrency problem when people quit in some circumstances
  • The parser for irc:// addresses now ignores trailing “isnick”, “needkey” and “needpass” strings
  • The irc:// URL parser now decodes encoded URI elements correctly
  • Preference settings that are deemed invalid are no longer saved
  • The URL Handler now gives a more useful error message when used on an unsupported desktop environment
  • Fixed exception when closing a channel window belonging to a disconnected server
  • Fixed rare exception with recording configuration statistics
  • The downloader now times out after 10 seconds
  • general.reconnectDelay is now specified in milliseconds not seconds
  • Removed 'Got message from channel I am not on' parser error
  • Receiving a connect error from the IRC Parser will no longer cause an assertion failure if a server is closing
  • DMDirc now errors out if trailing characters are appended to a short arg on the command line (e.g. -pFOO)
  • The irc:// URL parser now correctly parses the query and fragment parts of URIs
  • Command history now excludes duplicate commands, which makes the lastcommand: notification target much more reliable in some cases
  • The “idle time” field in whois output and “reconnect delay” time in server messages are now formatted as durations, not seconds
  • DMDirc builds now contain their SVN revision number instead of a release date
  • The error manager now refuses to report errors caused by a broken install or incompatible plugins
  • “Nick change would overwrite existing client” errors no longer include superfluous information
  • The downloader now supports progress callbacks
  • Fix concurrency problem in the error manager
  • Fix problem with DMDirc's RMI interface stopping working
  • RMI interface will now try up to 10 ports when creating or finding a server
  • You can now customise IRC colours using colour.{0-15} settings
  • Fix exception when reloading an identity containing invalid settings (without a '.')
  • You can no longer join channels while Servers are closing
  • The -d/–directory command line option now ensures that the specified directory has a trailing slash
  • Config files now have special characters (#, =, \, \n, etc) escaped appropriately
  • Identities are now stored in DMDirc's ConfigFile format
  • If general.logerrors is set to false (its default value), errors are no longer logged to disk
  • Remove command/silence char settings from prefs dialog, as changing them will normally result in huge amounts of pain
  • Improved handling of situation where a channel client is kicked before we receive a NAMES reply for the channel
  • Configuration managers now support removal of identities
  • Configuration managers are now migrated rather than replaced where appropriate. This means settings are updated when reconnecting to an address that uses round-robin DNS and ending up on a different server, for example.
  • The nicklist alternate background colour setting is now under the ui domain not nicklist
  • Improved project files so unit tests should run out-of-the-box when using Netbeans
  • ConfigFiles now preserve trailing spaces
  • Plugins may now access the UI's status bar without causing the whole UI to be instansiated
  • Identities/ConfigFiles no longer try to write to non-writable files
  • Error reports submitted after-the-fact now work as expected
  • Profiles now use the user name provided by the OS by default
  • DMDirc now throws a fatal error if default settings can't be loaded, instead of attempting to continue and dieing horribly later on
  • Updated MigLayout to v3.5
  • Servers now clear their away state when disconnecting
  • The URL Handler now replaces $port with an empty string instead of -1 if the port isn't known
  • The styliser now correctly resets monospaced text when it reads a STOP (ctrl+o) code

Downloads

Something went wrong with that request. Please try again.