DMDirc Changelog

What's new in DMDirc 0.8.1

Nov 13, 2015
  • Addon browser breaks when unticking verified and unverified
  • Ident plugin loads and unloads incorrectly
  • Nowplaying config only works when the plugin is loaded
  • OSX Launcher doesn't support JRE 1.7
  • Portable mode causes fatal error
  • PMD should disallow profiles with only whitespace in the name
  • Restart prompt lacks buttons
  • Newer-plugin extraction seems to be broken
  • Relative profile directory breaks client
  • Portable mode causes fatal error
  • NPE in IRCDocument if ui.frameBufferSize is an optional int
  • Some fatal errors not reported to sentry
  • Param modes don't use mode aliases
  • Status bar created off the EDT

New in DMDirc 0.6.5 (Dec 28, 2012)

  • Support for having more than one interface loaded – you can now have the main DMDirc client on your desktop as well as a web-based interface active
  • Improved encoding support – lines received from IRC servers are now stored in the correct encoding instead of being re-encoded later
  • Improved interface speed and reliability – we’ve removed support for MDI which improves the speed and reliability of the user interface
  • Rewritten Windows installer – we’ve recreated the Windows installer from scratch, providing an improved user experience and making our code base much easier to maintain in the future
  • New line indicator – if you scroll up in a channel window and someone speaks, we now show an indicator at the bottom of the window so you know you’re missing out

New in DMDirc 0.6.3m1 (Jul 2, 2009)

  • Added disconnect item to server menu
  • Add quick snap handles to split panes
  • Merged nickname and alternate nickname fields in profile manager dialog
  • Paste dialog no longer sends trailing empty lines
  • Alias command now ignores extra slashes (so mIRC-style /alias syntax works)
  • Alias command now intelligently tab completes
  • UnsatisfiedLinkErrors are no longer reported to developers
  • /help now works globally not just in servers
  • The send feedback dialog can now include information from the about dialog
  • Layout fixes for the actions editor dialog
  • Unknown URL protocol dialog now includes substitutions
  • Lag display plugin now has popup showing information
  • Addon browser plugin (unreleased) can now install action packs
  • Uninstaller now detects if DMDirc is running on Vista
  • Change RMI port to a non-standard (less common) one, and decrease attempts made
  • Windows nowplaying plugin now has improved support for streaming in iTunes
  • FreeBSD 6 and 7 installer can now download and install a Java runtime environment
  • Fix typographical error in launcher
  • OS X now uses the same launcher as Linux
  • Preferences dialog look and feel revamp
  • Media sources can now show themselves as “stopped”
  • Linux installer no longer copies java binary to DMDirc directory
  • Installer correctly closes progress window on Solaris
  • If multiple actions in a group define the same setting it no longer shows up twice
  • Better handling of lag display plugin's alternate ping setting
  • Formats are now passed correctly when calling SERVER_NUMERIC actions (so output can be silenced)
  • Frame managers are now specified as class names instead of hardcoded
  • Revised nowplaying media sources to have one getState method instead of multiple methods covering all possible states
  • Fixed problem with command validation icon
  • NewServer dialog is no longer resizable
  • Nowplaying plugin's preferences page now includes substitutions
  • Some initial work on smilie support
  • Better support for SOCKS proxies (including authentication)
  • IRC Parser can now send client SSL certificates
  • DMDirc can now load client SSL certificates and pass them to the IRC parser
  • Added action call when a string is stylised
  • Added a custom runner for UI unit tests to prevent false failures
  • The OK button in the actions editor dialog is now disabled when there are illegal conditions
  • Plugins from incompatible versions no longer stop the preferences dialog from opening
  • IRC Parser behaviour when receiving a WHO reply for the local client has been improved
  • Colour picker is now enabled by default
  • Fixed problems when the user has multiple copies of the same plugin
  • Fixed the OK button becoming enabled in the actions editor dialog when illegal settings are present
  • IRC Parser now reports IO exceptions properly
  • The censored words list on Chatspike is now detected properly by the IRC parser
  • The linux installer has been repurposed for use on any unix platform
  • Using a relative path with the -d (directory) option no longer breaks
  • Fixed superfluous errors when receiving errors from IRC Parsers that are no longer in use
  • Improved handling of server state and enforce transition restrictions
  • Exceptions raised in swing worker threads are now logged correctly
  • Anti-aliasing is now enabled by default
  • Added WINDOW_TITLE action component
  • Changed format of missing mode aliases error reports
  • IRC Parser no longer requests list modes e and I on Charybdis without ops
  • Fixed typographical error in uninstaller
  • Fixed typographical error in “duplicate plugin” error message
  • The IRC parser no longer lowercases the user's ident for no explicable reason
  • Fixed exception when trying to talk in channels on disconnected sertvers
  • Fixed exception when specifying action condition trees with excessively large numbers
  • Fixed exception when adding ignore list entries with invalid syntax
  • Support for channel notices
  • The actions editor dialog is now modal with respect to the actions manager dialog
  • Substitutions are now shown in the alias manager dialog
  • Multi-line pastes now take the cursor position into account
  • Fix some concurrency problems when saving identities
  • Improve the way new identities are created
  • The IRC parser now calls onConnectError and onSocketClosed more consistently
  • Fixed exception when creating an alias with no conditions
  • Migrated from SVN to Git
  • Remove SVN $id$ text from lots of files
  • Moved IRC parser package to make room for other protocols in the future
  • The UI now fires actions for function key presses and normal keys with modifiers
  • Include more detailed error information when getNetwork is called inappropriately
  • Only rejoin channels when general.rejoinchannels is true (as opposed to if it existed at all)
  • Fix concurrency problems when creating/closing DCC plugin windows
  • Fixed exception when entering long lines into windows belonging to a disconnected server
  • Disable default behaviour of F8 and F10 keys (moving split panes and opening menus)
  • Scrolling in the colour picker now adjusts the saturation slider
  • Text labels now use the correct system font
  • Fix focus-stealing issue with On Screen Display plugin's dialog
  • Fix general focus-stealing issues
  • Look and feel changes can now be performed without a restart
  • Bundle JUnit 3.8 and 4.1 instead of requiring developers to have it installed locally
  • Upgrade Swing UI to use MiG 3.7
  • Anti-alias setting now prompts for a client restart
  • Add MDI bar
  • The nowplaying plugin now defers loading of MediaSourceManagers so they can provide sources dynamically
  • The client's nickname in actions is now linked correctly
  • Improved behaviour of ctrl+c (copy) when find bar is open
  • Preferences manager now loads its content in the background
  • Text can no longer be sent twice by quick repetitions of the enter key
  • Linux launcher no longer checks /usr/local/jdk1.6.0/jre/bin/java before the PATH
  • Windows media sources now only work on Windows
  • Line length calculations now use bytes not characters (fixes issue sending multi-byte/unicode chars)
  • Core plugins now use plugin.config instead of older plugin.info
  • Plugins can now specify that they provide or require services
  • Rename various plugins to not include “plugin” at the end of their name
  • Add detection for euIRCd
  • The IRC parser no longer includes callback names in error messages (which caused lots of duplicate issues)
  • Plugins no longer have to specify minimum versions
  • The user interfaces are now plugins instead of as part of the client itself
  • Plugins can now declare themselves as “sub plugins” of another plugin
  • Added 'services' option to debug command to show plugin services
  • Added detection for SwitftIRC, and handling of +q and +a lists
  • Loading plugins by any means will now add them to the autoload list
  • Nick changes before 001 messages are no longer incorrectly shown as auth notices
  • The build process now only builds plugins that don't exist or whose source has been modified
  • Fix inconsistent fonts in the about dialog license and informations panels
  • Plugins can now export and consume methods
  • Add oftc to detected ircds
  • Fixed exception when setting away when not connected
  • An error dialog is now shown if no UI can be loaded in a non-headless environment
  • The error manager no longer submits an infinite number of errors if it fails to connect the first few times
  • Empty lines are no longer sent in any pasted content
  • Various commands now require the relevant server to be connected
  • Preferences manager now passes dismiss events onto external categories
  • Added 'serverstate' and 'threads' options to debug command
  • Fixed exception when using SERVER_NICKNAME when nicknames aren't noticed yet
  • Error messages are now more useful when updates fail
  • Added support for validating and displaying SSL certificates
  • Fixed issue with autoloading plugins in subdirectories
  • Fix tab completion problems with plugins in subdirectories
  • Fix bug where parting channels sends two PART commands sometimes
  • Abstract command manager to enable one object to handle multiple commands
  • Preferences dialog now sets nicklist sort options correctly
  • No longer require JUnit 3 for unit tests
  • The position of channel splitpanes is now remembered automatically
  • Added action for client closing
  • Preferences dialog now sets browser launch delay option correctly
  • Commands now handle excess whitespace more appropriately
  • Abstract method errors are no longer reported by the error reporter
  • Added ability to change font in channel windows
  • Fatal error dialog can now manually send errors if auto send is disabled
  • Plugin default settings can now be specified in their config files
  • Added ability to change textpane font size
  • Add Mockito library for unit testing
  • Improved mode handling on WeIRCd
  • Update channel is now configuration based instead of hard coded
  • The 'actions defaults' identity is now called 'addon defaults'
  • Added interface and components to Swing UI to enable statusbar components to show popups
  • Validation of the length of /me commands is now correct (was off by 2 previously)
  • The percentage shown in the updater dialog now has a fixed precision
  • Config files are now always loaded as UTF-8
  • Error reports are now queued properly
  • Broken plugins can no longer prevent the client from starting
  • Added option to prevent tab completers from completing empty strings
  • Fixed concurrency issue related to sending pings in IRC Parser
  • Plugins can now specify their formatter and icon settings in their configs
  • Added method for plugins to specify their own custom default settings
  • Moved tab completion styles to addons
  • The client now auto-extracts necessary plugins (tab completers, UIs, etc)
  • Fix client hanging when updating default settings in some circumstances
  • Added information popup when hovering over error icon in status bar
  • Added information popup when hovering over invite icon in status bar
  • Lag display plugin now remembers ping history and can plot a graph
  • Improve list mode handling on Hyperion
  • Fixed issue with first lines not appearing properly in query windows
  • Improved tab completion of unloadplugin command to only suggest loaded plugins
  • Identities now escape illegal characters sanely
  • Errors downloading updates are no longer considered application errors
  • The frequency of pings is now configurable
  • Plugins are now versioned according to their git commit reference
  • Closing windows now switches focus to the correct window instead of skipping one
  • Formatters can now specify the last argument in a line to be included
  • The “alter the event's formatter” dropdown in the actions editor dialog is now sorted sanely
  • The client now offers to automatically restart after applying updates that require it
  • JRE download on windows no longer uses wget.
  • Windows installer UI no longer requires lazarus
  • Launchers will relaunch the client if it exits with code 42
  • Fixed Windows updater not showing success/failure dialog on windows XP
  • Fix windows uninstaller sometimes now showing dialogs
  • Fix deadlock on shutdown
  • Deleting an error in the error list dialog no longer removes selection
  • AMD Conditions that wrap shouln't be cut off anymore
  • Nicknames in Profile manager are now reorderable
  • Ident server plugin will unload itself if it gets a “permission denied” error when trying to listen
  • Fixed client clear the list of updates inappropriately.
  • Fixed Updater forgetting restart needed status sometimes
  • Fixed aliases dialog not expanding when opening substitutions panel
  • Fixes Restart dialog having no title
  • Better synchronise access to childWindows in WindowManager
  • Profile manager no longer allows profiles with no nicknames
  • Fixes reloading identities causing the nicklist selection to break
  • Enter in expanding settings adds setting rather than closing dialog
  • All dialogs now close with ctrl+enter not enter
  • The DCC plugin now shows transfers as failed if they fail.
  • Fix DCC plugin failing to parse turbo dcc sends properly sometimes.
  • Fix typo in DCC plugin
  • Allow enter to close NSD
  • Fix DCC windows not maximising properly.
  • Relax semaphoring in pingTimerTask to fix deadlocks
  • Remove duplicate ui.stylelinks pref in prefs pane
  • Added Setting to enable background downloading of updates
  • Fixed loading of icons in prefs dialog hanging the UI
  • Fixed showing the wrong application name on OS X
  • Prefs dialog tab list now scrolls vertically if required
  • Fixed windows being maximised on select if automaximise was true
  • Fixed Keyboard not being usable to okay the “do you want to paste multiple lines” dialog box
  • Fixed title flickering when changing window on windows
  • Fixed restart needed dialog being resizable/maximisable
  • Fixed unloading non-persistent plugins requiring restart
  • Fixed Topic changes dont alter application window caption when window is maximised
  • Fixed Logging history window starts a whole-screen above the text
  • Fix Searching being broken
  • Fixed Running with -v causing fatal error
  • Fixed Reconnecting fails sometimes
  • Plugin icons now load under XP in prefs pane
  • Fix some deadlocks when firing setting change listeners.
  • Fix some deadlocks when firing server_connected actions
  • Fix some wording in uninstaller dialog, search query dialog and OSD Settings
  • Alias editor dialog no longer allows spaces in alias names
  • GetServersByNetwork no longer fails with disconnected servers
  • Removed tooltip from invite label.
  • Restoring/maximising title changes don't happen on Windows until switching windows
  • Closing all windows doesn't reset titlebar
  • Auto submitting errors works again
  • General category no longer has double border in prefs dialog
  • server menu items now disable on disconnect
  • Window menu items are now disabled when the last server close
  • Fixes some Parser Callback bugs
  • OSD Plugin and systray plugin now define a common export “showNotification”
  • Descriptions now appear in AMD
  • Include status history in invalid parser errors.
  • Parser doesn't try to send any lines if the socket is not open.

New in DMDirc 0.4 (Jun 11, 2007)

  • Added support for actions and plugins
  • Rewrote textpane to improve speed and usability
  • Added search capability to all windows
  • Added update checker
  • Added first run wizard
  • Added /dcop and /nowplaying commands
  • Added ignore list and /ignore command
  • Added mode aliases for snircd
  • Channel CTCPs are now displayed (and DMDirc responds appropriately)
  • Added option to disable friendly server mode names
  • Channel notifications are now longer hard-coded to red, and can be set using the new /notify command.
  • Added preferences framework for plugin authors
  • Added /set command
  • Added logging plugin
  • Added system tray plugin
  • Added way to clear the error menu
  • Added /allchannels and /allservers commands (for, e.g., "amsgs")
  • Added /echo command
  • Added visual away indicator (shown next to the input field)
  • Added colour picker component (in prefs and optionally when using colour code)
  • Added auto reconnect options
  • Status bar components can now be dynamically added (by plugins)
  • Added option to hide queries when initially opened so they don't steal focus
  • Added lag display plugin
  • Added plugin manager UI
  • Reorganised preferences to make use of subcategories
  • Nicknames can now be coloured individually (and separately for both the nicklist and text area)
  • Added /setnickcolour command
  • The nicklist can now display a different background colour on alternate names
  • The treeview, input fields and nicklists can now have separate fore and background colours
  • Added /msg and /query commands
  • Added popup menu when right clicking on users in the nicklist
  • Most dialogs remember their state when re-opened (e.g. preferences dialog reopens to the category you were last looking at)
  • Added time plugin (provides a /timer command and time-related actions)
  • DMDirc now automatically pings the IRC server and can be configured to reconnect if the server doesn't respond promptly
  • Added /disconnect and /reconnect commands
  • Added /mode command
  • The client can now track away state of users in channels (with options to automatically send WHO requests to get this info)
  • The username set to the server can now be configured, and defaults to the local account name, rather than "ircparser"
  • Added handling for "nick in use" messages, added alternate nickname options to profiles
  • Added nick colour plugin
  • Added config option to hide mode prefixes in the text area
  • Added a new class of commands ("global")
  • Added /newserver and /server commands
  • Added /reloadplugin command
  • Added browser launcher delay options, to prevent double clicking opening multiple copies of a page
  • Commands can now be silenced (/.command by default)
  • Added window status plugin
  • Added option to auto-rejoin open channels
  • Added option to automatically style hyperlinks
  • Raw windows are now hidden by default
  • Added OSD (on screen display) plugin
  • Config file is no longer saved in an XML format (but DMDirc can still load them)
  • Added handling for user mode changes
  • Channel settings window now opens centered on the client
  • Nicknames are removed from the tab completer when the user quits
  • The client no longer sends 2-3 part messages when leaving a channel
  • Profile manager layout and text ("blurb") issues have been resolved
  • Parser error when receiving a CTCP reply from an eggdrop bot has been fixed
  • Fixed issue with displaying errors
  • Fixed exception when a connection is closed before a 001 line was received
  • /help now sorts commands alphabetically, regardless of the order they were loaded
  • Fixed logic bug affecting long actions in queries being erroneously sent and an erroneous error message being displayed locally
  • The error menu no longer displays a small square if there are no errors
  • Fixed error related to status bar timer
  • Fixed error in paste line count checking
  • Fixed bug whereby queries failed to work properly due to nickname case
  • Fixed exception when closing the channel settings window without changing modes
  • Fixed bug where channel events weren't displayed after rejoining a channel
  • Fixed tab completers not being updated when commands were added/removed
  • Connection errors are now handled sanely instead of being routed through DMDirc's error handler
  • The client no longer throws a fatal error if it can't open a query for some reason
  • Fixed exception when opening queries
  • Fixed typo in plugin load failure message
  • Fixed some display issues with the treeview under GTK
  • Nicklists are now cleared when the client is disconnected
  • Fixed new identities not being added to config managers (e.g. new channel settings not being registered until a channel was cycled)
  • Fixed issues when reconnecting to a server
  • Fixed exception when raw window is closed
  • Fixed profiles list in new server dialog not being updated
  • Fixed exception on certain mouse events
  • Dialogs can no longer be opened multiple times at once, where appropriate
  • Fixed potential memory leak when disconnecting from a server
  • Fixed nicklists being sized incorrectly in certain circumstances
  • Fixed exception when disconnecting in certain circumstances
  • Commands are now case-insensitive
  • Fixed nicklist not being updated on nickname change
  • Fixed pasting removing text from the input field
  • Error messages given by the browser launcher are now more descriptive
  • Fixed error when receiving blank messages
  • Invalid formats no longer cause an unhandled exception
  • The new server dialog now defaults to opening a new window
  • Fixed queries losing their callbacks ( thus not displaying new messages) when reconnecting
  • "0" is now treated as a valid channel name (for /join 0)
  • Fixed issue with the parser losing state when parting all channels (/join 0)
  • Fixed error when scrolling the treeview when it contains a single time
  • Fixed error list displaying every error with the most recent icon
  • Fixed issue with error reporter not reporting errors (d'oh)
  • Fixed clicking on URLs at the end of the topic including the '. in the URL
  • The "copy" menu item is no longer displayed if there is no text selected
  • Fixed exception when the client tries to send a message before it's connected
  • Fixed exception when closing server connections
  • Servers no longer try to reconnect if they're in the process of being closed