DMDircthe intelligent IRC client
DMDirc 0.5.5 changelog
Major feature additions
- DMDirc now maintains a list of previous topics used in a channel, and previous topics can be selected from the channel settings dialog
- Added a dialog to send feedback to the developers
- Added a user modes tab to the server settings dialog
- Added new URL handler, which allows non-http URLs to be opened with relevant applications
- The channel settings dialog will now show extended information about list modes (who set them and when) if configured
- Added launchers
- Added uninstallers
- Support for invites (and a nice UI)
- DMDirc can now download and install new versions of itself
User Interface
- DMDirc should now use the correct system font in most components
- URLs are now linked more intelligently
- Using ctrl+tab now cycles through windows in the same order as the treeview
- Shift+ctrl+tab now cycles backwards through windows in the same order as the treeview
- The profile manager has been rewritten to be more intuitive and now properly validates input
- Added a counter to the list modes panel in the Channel Settings dialog
- The error icon in the status bar is now only shown when there are errors
- Servers no longer reopen their raw window every connect, regardless of the showraw setting
- Servers and channels now switch their icons when inactive (disconnected/not in the channel)
- Tidied up the "update available" icon so that it's centered properly
- Redid the layout of many components, to improve looks and usability
- The 'channel modes' tab of the channel settings dialog is now grouped properly and text fields have the same width
- The alias manager is now resizable
- The error manager is now resizable
- Page up/down keys now work in windows without input fields
- Fixed some layout issues with the search bar
- Away indicators can now be enabled/disabled on a per-window basis.
- Away indicators will now be removed properly if the config setting is changed while they're displayed
- Many UI tweaks to make DMDirc look better under GTK
- Raw windows now close correctly even if the server they're associated with doesn't have an IRC parser for some reason
- The about dialog now has an 'information' tab
- Fixed an exception in the IconManager
- Fixed a rare exception in the tree view
- Fixed an exception caused by the perform panel
- Raw windows are now removed from the window manager, and custom windows are now removed from the main window
- Improved the look of DMDirc wizards
- Fixed issue where clicking channel names wouldn't rejoin channels that were parted
- Fixed profile list in New Server Dialog not updating properly
- The profile manager now really deletes profiles
- The profile manager can now be closed when no profile is selected
- The profile manager now requires you to have at least one profile
- Fixed strange issue where buttons in the Channel Settings Dialog would zoom off to the right and make the dialog unusable when using the Windows L&F
- Fixed "show colours in..." settings not working in the preferences dialog
- The nicklist now redraws itself straight away when its colour settings are changed
- The away indicator now appears properly when DMDirc does't know the client's away message
- Fixed logic error causing incorrect error icon to be displayed in the status bar
Commands, Notifications and Formatters
- /debug configstats is now sorted by the number of accesses
- The notifications system now supports several new targets:
- "channel:" - directs the message to the named channel
- "window:" - directs the message to the named custom window
- "fork:" - allows messages to be sent to more than one target
- "formatter:" - allows the format of the message to be changed
- Added a variety of formatters and notification settings:
- Wallusers, Wallops and desync notices
- MAP responses
- ERROR messages
- Numeric 320 (is identified to services)
- Numeric 404 (unable to send to channel)
- Numeric 405 (you have joined too many channels)
- Numeric 438 (nick change too fast)
- Numeric 482 (you need to be an op to do that)
- LUSERS messages
- Numeric 401 (no such nickname) is now output to the last window that is likely to have caused the error
- Added /openwindow command
- The /echo command can now echo to a custom window
- The formatter system now uses identity files, allowing greater flexibility
- Added a default alias for /quote (aliased to /raw)
- Added /map command
- The /set command now has an --append switch
- Fixed the command parser throwing an error when invoked from certain windows
- Simplified the command parser so that commands no longer have arities (meaning /foo will execute the same command regardless of the number of parameters it has)
- The /newserver and /server command now use :+port to denote SSL connections, rather than a --ssl switch
- Fixed obscure bug in the formatter that occurs when two formats are identical but are called with different numbers of arguments
- Added /debug notify
- /set can now play with server-specific config settings using the --server switch
- Fixed bug whereby letters after F were incorrectly parsed as hexadecimal
Actions
- Action conditions now support chained components
- Actions now support "condition trees" to specify how their conditions are evaluated
- Implemented much tidier file format for actions
- Added server_disconnected action type
- Double clicking in an empty space in the actions manager no longer causes an error
- The 'additional triggers' list is now enabled properly when creating a new action
- Changed naming scheme for aliases so that multiple aliases with the same number of arguments (but different comparisons) can exist simultaneously.
- Fixed exception when deleting aliases
Plugins
- Completely overhauled the plugin system to allow greater flexibility, enable automatic updates in the future, and make it much easier for users to install and delete plugins
- The nick colour plugin now accepts "*" as a network, and applies the setting to all networks
- The configure plugins menu is now correctly disabled if there are no configurable plugins
- The lag display plugin now displays "Not connected" when the server isn't connected, and removes cached text on disconnection (fixing a potential minor memory leak)
- Add basic VLC media source
- Timeplugin onUnload won't npe if the timer broke.
- Added URL Catcher plugin
- Started dcc plugin (DCC chat send/receive, DCC Send receive)
- Show something not nothing if the window is an unknown type (Window status plugin)
- The plugin manager now checks if files exist before trying to load them, and raises a nicer error if they don't
- Fixed exception when enabling plugins in some circumstances
- The /loadplugin command now tries harder to load plugins, instead of failing in most circumstances
- Fix rare stack overflow when enabling certain plugins
Installer, Updater and First Run/Migration Wizards
- The First Run Wizard now asks the user if they wish to allow DMDirc to check for updates and report errors to the developers
- The installers can now register DMDirc as the handler for irc:// URLs
- Fixed a file handle leak when DMDirc downloads files
- Made several changes to the update checker to ensure that the UI is updated properly, and that update checks are scheduled for the right times.
- An icon is now displayed in the status bar when the update checker is checking for updates
- The update system can now automatically update mode aliases, default settings, and the client itself.
- The installer no longer shows the UAC information dialog if the user isn't using UAC.
- Linux scripts no longer expect the user to be running them from a console; KDialog/Zenity are used if available to show messages graphically.
- The installer now has a taskbar entry
- The installer now shows the version number of the installer on the welcome screen and in the titlebar
- The Linux installer now attempts to create the folder needed for its shortcuts, rather than failing if it didn't exist
- The language used by the installer has been improved
- The installer no longer uses inappropriate fixed-width text under Windows
- The installer now correctly disables the previous button when installing
- The Windows and Linux launchers can now update themselves
- The Linux launcher now passes params with spaces in them correctly to the client
- The updater no longer goes into a CPU-intensive loop if it's disabled
- The update checker no longer permanently (accidentally) disables itself if it is set to not update for one check
- The installer now uses the native look and feel correctly
- Worked around Windows Vista "feature" which incorrectly alerted the user that DMDirc had failed to reinstall
Configuration and Identities
- Identities may now be stored in subdirectories under the main 'identities' dir
- Identities now support basic ordering
- Global identity should no longer store useless settings
- The dmdirc.config file now saves even if it's loaded with erroneous data
- Cached a number of configuration settings to reduce CPU usage
- The preferences dialog now sets the value of notifications.whois correctly
- Fixed exception in ConfigManager when adding multiple lines that use lastcommand: formatters
Error Handling
- Fixed exception in ErrorManager when errors are raised or accessed at the same time
- ErrorManager no longer reports errors where DMDircEventQueue is the first DMDirc-related line in the trace (these errors are due to JVM issues, not DMDirc)
- DMDirc now only raises one error for missing mode aliases, rather than one per mode
- The logger should now (re)create the error directory if it doesn't exist
- The error manager now only submits one error every 20 seconds, to prevent massive floods of submissions when a large number of errors are generated
- Duplicate errors in the error queue are no longer sent.
- Errors are now reported to STDERR if there's no UI to handle them
- Fixed issue where the error icon didn't display properly for some errors
Misc
- Added inspircd mode aliases
- Massive refactoring of server and channel event handling, reducing the number of potential bugs, and adding new action types for some events
- Network names are now guessed from the server's hostname if the server doesn't provide one itself
- Fix bug where user modes were handled incorrectly if the server had more than 31 modes
- Fix bug where connection events were fired too soon for servers that sent an unexpected NOTICE after the 002 numeric
- Added some initial mode aliases for user modes
- DMDirc now uses weak references appropriately, which should prevent various memory leaks
- Fixed bug where giving a channel client a mode they already had caused them to appear as though they had a higher mode
- Fixed the IRC parser calculating an invalid ping time if the user manually sent a PING
- The topic editor no longer defaults to limiting to 250 characters if the server doesn't specify a length
- The IRC parser now handles requesting list modes better
- Channel.sendLine and Query.sendLine now split on LFs properly
- Updated themes to use identities for formatters
- Added startchat ircd to ircd detection.
- Added usermode alias checks to Server
- Queries no longer send text/actions if the server isn't connected
- Cycle now cycles not just parts
- The IRC parser now correctly parses more complex maximum list mode limits
- The IRC parser no longer throws an exception when trying to convert non-ASCII characters between upper and lower case.
- The IRC parser now converts between ~ and ^ properly for RFC1459 and RFC1459-strict encodings, as appropriate
- An error will no longer be raised if a connection attempt is made while the client is closing
- Fixed exception when setting away in certain circumstances
Documentation
In this section
Other sections
- No other sections available
If you're having problems with DMDirc, please feel free to
join us on IRC.