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