### CHANGES - v0.42, 24-DEC-2013

fix: general bug fixes
imp: improved functionality
new: newly added functionality
wip: (incomplete) work in progress
doc: documentation changes
inf: informational only

v0.42, 24-DEC-2013:

- fix: changes to global emulator options weren't correctly merged with the current game/machine-specific ones when the corresponding save-button was pressed and 'overwrite' was selected on the subsequent dialog
- fix: don't add 'ghost sets' to internal master list when creating category- or version-views
- fix: don't allow initial ROMAlyzer setup while reload is active
- fix: do final update of the progress bar before sorting the game/machine list after a reload
- fix: emulator configuration widgets now honor the current style's highlight coloring for check-box (bool) type delegates
- fix: corrected sRGB profile headers of all included PNGs
- fix: software-list: favorite software wasn't shown initially when software-state filtering was active
- fix: ROM check: the ROM status indication for the currently selected game/machine wasn't always correctly updated on-the-fly for 'not found' sets and sets w/o ROMs
- fix: software-list: corrected combined state- and compatibility-filtering
- fix: MESS device configurator: don't show slots that have no user-selectable options
- imp: MAME/MESS/UME emulator templates updated to 0.152
- imp: main GUI: renamed command line argument -qmc2_config_path to -config_path (the old argument name is still supported, though)
- imp: updated MESS category.ini contributed by ASH to his latest version as of 20-DEC-2013
- imp: greatly improved the game/machine search feature to be interruptable while the actual search is performed, indicating its progress; added reg-exp like features for the pattern syntax (the special characters $, (, ), *, +, ., ?, [, ], ^, {, |, } and \ must be escaped - by adding \ in front of them - when they are meant literally)
- imp: X11 embedder: removed xwininfo requirement (done via Xlib directly now)
- imp: QMC2 Arcade: countless improvements to the darkone theme
- imp: speed up loading of cached game/machine lists and cached XML data
- imp: added the run-time Qt version to the window titles of all variants / applications
- imp: setup dialog: shuffled / replaced some button-bar icons
- imp: modernized the YouTube video player and ported it to Qt 5 / QtMultimedia
- imp: replaced splash screens with new ones based on current logos
- imp: ROMAlyzer: indicate optional missing ROMs as such in the report (greyed-out icon) and when logging the CRC miss
- new: added support for the use of environment variables in settings strings
- new: ROMAlyzer: added data file import (imports all game names contained in a data file as the list of sets to be analyzed)
- inf: the new required minimum Qt version is 4.8.0, support for older versions of Qt has been dropped

v0.41, 05-NOV-2013:

- fix: QMC2 Arcade: disabled GTK style related work-around for Mac OS X
- fix: foreign emulator support: the selection of a foreign emulator in the system's configuration wasn't correctly honored on emu-launch
- imp: template-map check: switched the order in which differing default values are logged (the expected value is shown first now, the second value is the one from the currently active template)
- imp: QMC2 Arcade / ToxicWaste theme: updated cabinet overlay image made by Jacques Châtelet (JacKc), added auto-stopping of animation and wave effect when emulators are running
- imp: new logo images for all QMC2 variants, also by Jacques Châtelet (JacKc)
- imp: improved key-sequence and joystick-function scanners
- new: QMC2 Arcade: added support for key-sequence mapping
- new: QMC2 Arcade: added support for digital joysticks (mapping their functions to key-sequences)
- new: Qt CHDMAN GUI: added a script-engine based on QtScript (ECMAScript/JavaScript)
- doc: completed all man-pages

v0.40, 18-SEP-2013:

- fix: demo- & arcade-mode setup dialogs: corrected driver status filter order
- fix: corrected item selection in favorites and play-history when restoring the game/machine selection
- fix: corrected device and BIOS set filtering for category- and version-views
- fix: QMC2 Arcade: worked around a weird issue on some GTK environments (which may implicitly set a buggy default style causing start-up crashes) by explicitly setting a safe built-in Qt style
- fix: QMC2 Arcade: corrected the path that's used when loading images from a ZIP
- fix: software-list: don't trigger an unwanted search during the loading phase
- fix: reopen/remap the currently selected joystick (if any) after scanning the available sticks
- imp: ROMAlyzer: improved logging when CHDs can't be found
- imp: variant launcher on Linux/UNIX: added fallback to the current working directory for launching QMC2 variant binaries
- imp: implemented a generalized solution for 'MinimizeOnVariantLaunch' and 'MinimizeOnEmuLaunch' which also saves/restores the current window states of all top-level widgets
- imp: QMC2 Arcade: added a '-language' command line option (using the main GUI's setting as the default, which is now customizable from within arcade themes as well)
- imp: QMC2 Arcade / ToxicWaste theme: the flip direction (cabinet <=> game-card) now adapts to where the user clicks on the 'flippable' item (left/right half of vertical center area vs. top/bottom area), the back-end default options are customizable from within the theme, the quit confirmation is optional now and the image-class shown in the cabinet can be selected on the game-card
- imp: suppress the initial ROM state filtering when no states or BIOS / device sets have been disabled (this speeds up loading in many cases), also do not run the actual filter when an individual set's ROM state is checked and doesn't change
- imp: slightly improved the loading performance for cached XML data and all dat-info sources
- imp: added support for Qt 5.1, however, the recommended Qt version remains 4.8 (when Qt 5 is used, the build rules will automatically disable embedder functionality on X11 platforms as well as all Phonon features on all platforms -- new implementations using QtMultimedia as replacement for Phonon and a rewrite of the embedder code will most likely be done at a later stage
- imp: MAME/MESS/UME emulator templates updated to 0.150
- imp: ROMAlyzer: changed file-status indication slightly, using capital letters for good and lower letters for bad states
- imp: added mamedb.com and progettoemma.net as additional MAWS sources and made progettoemma.net the new default URL
- imp: MESS device configurator: renamed available device configurations to stored device configurations and simplified some tool-tips accordingly
- imp: emulator control panel: exchanged LED on/off icons with fancier ones and added a third LED column
- imp: more SDL joystick related logging
- new: added display of software-state info as 'combined statistics' to the software-list widget (similar to the stats-label used for the game/machine list)
- new: QMC2 Arcade / ToxicWaste theme: added support for displaying emulator- and game-infos on the game-card and for manual vs. automatic cabinet scaling/positioning
- new: added 'tagged only' and 'favorites only' filter options to the arcade- and demo-mode setup dialogs
- new: added optional support for additional image formats for all kinds of artwork
- doc: added (preliminary) man-pages for all binaries
- inf: globally renamed the 'XML game/machine list cache' to just 'XML data cache'

v0.39, 11-JUN-2013:

- fix: software-list export: traverse the export map correctly
- fix: avoid crash when play was triggered on premature game/machine list data
- fix: minor: launch foreign emulators/IDs even if the current game/machine is a device set
- fix: don't remove/hide the system-notes detail page when the game-/machine-list is reloaded
- fix: slot-devices: default slot-options with non-default BIOS selections weren't passed to the emulator
- fix: Windows 8 specific corrections (especially related to the file-chooser and the welcome-dialog)
- fix: MESS device configurator: the UI setup wasn't correctly stored/restored under certain circumstances
- fix: MESS device configurator: double-clicking stored configurations could lead to a crash
- fix: MESS device configurator: adjust tab-orders after dynamically changing device-mappings and slot-options
- fix: MESS device configurator: correctly clear all device-maps and reset the slot-configuration to the default one when the 'new configuration' button is clicked
- fix: X11 embedder: call XUnmapWindow() & XMapRaised() after releasing an emulator to avoid that its window may be hidden, corrected a centering issue upon resizing of the embed-container
- fix: software-lists: floating software-snapshots should never be shown when their contents are the ghost-image
- fix: software-lists: corrected a rare UI synchronization issue when switching systems while a software-list is currently being created
- fix: software-lists: don't disable the complete widget when one or more expected software-lists weren't found
- fix: avoid a rare crash that could be caused by subsequently applying settings very quickly
- fix: QMC2 Arcade / ToxicWaste theme: corrected positioning of the imager-viewer (back-side)
- fix: options / joystick: automatically select the 'Map' function when the user clicks 'Apply' or 'OK' so joystick function mappings actually get activated (joystick functions won't be mapped when in 'Calibrate' or 'Test' mode)
- fix: honor the emulator's working directory (if specified) when verifying ROMs
- fix: avoid crash of the front-end when 'mame/mess/ume -listxml' crashes
- fix: minor: don't issue an actual search when no game/machine list data has been loaded yet
- fix: key-sequence scanner: avoid X Error: BadWindow invalid window parameter warning when grabbing the keyboard -- on X11, the window must the 'mapped' (shown) first
- fix: corrected joystick support on Mac OS X by implementing real calibration / axis value normalization -- see also bug tracker ID #39
- imp: added tool-buttons to select/deselect all categories in the demo- and arcade-mode setup dialogs
- imp: software-list export: added the 'supported' column to the software-list export feature
- imp: software-lists: added a 'clear selection' item to the software-list's context-menu
- imp: updated MESS category.ini contributed by ASH to his latest version as of 28-MAY-2013
- imp: software-lists: save/restore an individual position of the vertical splitter for use with the software-detail widget
- imp: added support for multiple ZIPs per image type, specified as a semicolon-separated list of ZIP file paths
- imp: ROMAlyzer: when a set is analyzed, also check for any device-references and offer a context-menu item to analyze them separately
- imp: MAME/MESS/UME emulator templates updated to 0.149
- imp: HTML editor: added a shorter editor object reference named 'qmc2NEO' as an alternative to 'qmc2NotesEditorObject'
- imp: system- and software-notes templates: template macro additions ($EMULATOR_TYPE$, $SOFTWARE_STATUS$, $SOFTWARE_STATUS_UT$ and $SOURCE_FILE$)
- imp: updated & renamed the alternative system-/software-notes templates contributed by José Marcio Rezende Franco
- imp: MESS device configurator: minor UI improvements using fewer frames and some new icons
- imp: all MAME targets: added support for detection of HBMAME
- imp: minor speed ups on the initial loading of the game/machine list views
- imp: made XML cache loading/creation an interruptable process
- imp: X11 and Windows only: the scaling mode for snapshots taken through the embedder can now be selected
- imp: using Qt's built-in (= non-native) standard file-dialogs wherever possible (you can optionally switch back to using native dialogs, however, we don't recommend it due to possible issues on some platforms or desktop systems)
- imp: added a 'reset' action to all header context-menus (will make all contained columns visible and stretch them equally)
- imp: added support for samples to all MESS targets as well (MESS supports samples since sometime after 0.148u3), however, this doesn't include the sample-checker yet
- imp: available 'bios' and 'ramsize' options are now displayed with their descriptions (bios) or as human readable values (ramsize), including an indication for the default option and natural sorting
- imp: enabled free sorting for shortcut- and joystick-maps
- imp: log a warning to the front-end log when QMC2 finds multiple uses of the same set name during game-/machine-list cache creation
- imp: integrated zlib updated to version 1.2.8 (see zlib's change-log for details)
- new: system- and software-notes templates: added two new slots for use with zipped images: 'qmc2NEO.isZippedImage()' will determine if an image is from a ZIP, 'qmc2NEO.getImageData()' will return the base64-encoded image data which you can use in <img> tags (caution: may be slow and will inflate the HTML enormously -- only use this with the WYSIWYG editor!)
- new: HTML editor: added an option to show/hide the HTML tab
- new: system- and software-notes templates: added support for querying the XML (from -listxml) using XQuery through the new slots 'qmc2NEO.queryXml()' (will execute an XQuery on the complete XML data, warning: may be slow), 'qmc2NEO.queryLocalXml()' (same as before, restricted to a single game/machine and thus much faster) and 'qmc2NEO.getXmlResult()' (will return the list of result strings as an array)
- new: search-patterns used to match games/machines or software-list entries can now be negated on-the-fly through a setup-menu attached to the search-box's find button
- new: promoted 'Qt CHDMAN GUI' (see tools/qchdman) to non-WIP status as it meanwhile supports all 'chdman' commands
- new: allow merging the file-chooser mapping with the currently set device-mappings
- new: added a built-in palette-editor to easily set up UI colors (without the use of a Qt style-sheet or 'qtconfig' which isn't available on all platforms)
- new: added a slot-info cache for faster initial loading of data from '-listslots'
- new: added selectable zoom-factors for the software-list's floating snapshot-viewer and the embedder's snapshot-list/-viewer
- new: X11 and Windows only: snapshots taken through the embedder can now directly replace an image of any type; the image will be stored to the first (primary) folder and a backup file will be created there first (note that this is only available for images stored in folders, not for zipped images)
- new: added support for state-checking, -caching & -filtering of software-lists
- new: added a source file column to all game-/machine-list views
- new: added an option to allow for automatic emulator termination when a new one is launched (i.e. run one emulator instance at a time)
- new: added new QMC2 Arcade theme 'darkone' including additional functionality by Pete Beardmore
- new: QMC2 Arcade's default values for the command line switches -theme, -console and -graphicssystem now follow any customizations made in the main GUI's arcade mode setup dialog
- wip: adding support for freely definable additional artwork classes (system- or software-images)
- doc: the QMC2 FAQ has been moved to the wiki

v0.38, 11-JAN-2013:

- fix: corrected progress-bar updates when loading catver.ini or category.ini
- fix: corrected remapping of key-sequences using the Command key on Mac OS X
- fix: the key-sequence scanner now also scans num-pad keys
- fix: system-notes: template loading didn't work correctly initially
- fix: corrected full-screen switching when the menu-bar is hidden
- fix: Windows: corrected HLSL multi-part float handling
- fix: fall back to the default style when a previously set style wasn't found
- imp: system-notes: template macro additions ($PARENT_ID$, $ROM_STATUS$ and $ROM_STATUS_UT$)
- imp: updated MESS/UME variant logos / splash-screens and all app-icons -- thanks to Jacques Châtelet (JacKc)
- imp: demo-mode: added an option to launch emulators sequentially rather than randomly
- imp: Win32 MinGW build: changed the default for 'MKSPEC' to 'win32-g++-4.6' -- this assumes Qt 4.8, so whoever still uses Qt 4.7 has to pass 'MKSPEC=win32-g++' on the make command (i.e. 'make configure MKSPEC=win32-g++')
- imp: image-checker: potentially obsolete items contained in image- or icon-directories include files and folders now
- imp: control-panel images are now available to all MESS variants as well (i. e. for use with AntoPISA's new MESS controllers)
- imp: YouTube video player: added support for YouTube's new requirement to add session signatures to stream URLs
- imp: removed no longer required file-removal tool settings
- imp: MAME/MESS/UME emulator templates updated to 0.148
- imp: Mac OS X: replaced key-sequence 'Ctrl+O' with 'Ctrl+,' (commonly used short-cut for open preferences dialog); 'Ctrl+O' can now be used for its actual use case on Mac OS X (open/activate item)
- imp: software-lists: added a 'supported' column (possible values: yes/no/partially)
- imp: HTML editor: the menu-bar can be hidden now, and the editor's contents can be made read-only (i.e. to avoid unintended changes)
- imp: system- and software-notes: template loading allows asynchronous URL retrieval now (i.e. remote image URLs), indicating the current progress while loading
- imp: HTML editor: replaced the standard QWebView with the MiniWebBrowser's tweaked internal web-view to support JavaScript actions that open new windows
- imp: software-notes: template macro additions ($SOFTWARE_SUPPORTED$, $SOFTWARE_SUPPORTED_UT$, $SOFTWARE_INFO$, $SOFTWARE_INFO_STATUS$)
- imp: the documentation browser's zoom-setting is now restored as well
- imp: added ability to store an option's short-name in the emulator configuration template (i. e. <option default="roms" name="rompath" shortname="rp" type="directory">)
- imp: using a proxy-style when Qt 5 is detected to avoid single-click item activations (that's not really suitable for us)
- new: ROMAlyzer: the set rewriter and checksum wizard now also load repro-data from regular files (when they are stored in expected folders and have the correct file names / CRCs), the set rewriter can also reproduce sets in individual sub-directories (see 'reproduction type' in ROMAlyzer settings)
- new: demo-mode: added filtering by category, driver-status and set-names when selecting eligible sets for the demo
- new: image-checker: bad image files (subset of the missing ones) can now be filtered and removed by means of the GUI (so searching for bad image files in the log and manually removing them is no longer required)
- new: made a complete rewrite of the sample-checker which wasn't working correctly for ages -- see also bug tracker ID #31
- new: MiniWebBrowser: added a search widget to find arbitrary text in web-pages
- new: MiniWebBrowser: added support for persistent cookies (stored in / retrieved from an SQLite database)
- new: added PDF.js -- a JavaScript / HTML5 PDF rendering library
- new: added support for HTML5 'localStorage' to the MiniWebBrowser and notes-templates (this allows templates to store and retrieve local settings)
- new: system- and software-notes templates: exposing the notes-editor object to JavaScript allowing templates to call editor slots directly (!) -- right now, there are four slots you can use: 'qmc2NotesEditorObject.loadCurrentTemplate()' will reload the template itself (for example to react on changed settings), 'qmc2NotesEditorObject.getIconData()' will return the base64-encoded icon data which you can use in <img> tags, 'qmc2NotesEditorObject.getColor()' will open a color-dialog and returns a named color, and finally 'qmc2NotesEditorObject.getImage()' will open a file-dialog to select an image file (see data/gmn/template.html for an example)
- new: MESS device configurator: allow in-place renaming of stored device configurations (see context menu)
- new: added support for a 'software info DB' using MAME history.dat's new (MAME & MESS) software infos, available in all variants -- thanks to Alexis Bousiges for his efforts and kind cooperation on this matter
- new: added ability to reset, revert and/or store individual emulator options by adding a column with respective action tool-buttons that are enabled/disabled according to the option's current ini-state
- new: file-chooser: folders can now be included in the file-list and are opened/followed when double-clicked or Enter/Return is pressed on them (there's also a new context-menu item for this); the folder-mode itself can be switched through a new menu-button in the widget's tool-bar (folders are hidden by default, select 'Show folders' to display them or 'Show folders first' to show them on top of the file-list, before any regular files)
- new: added a new QML based implementation of the long-awaited 'arcade mode' as a stand-alone application (QMC2 Arcade, see arcade/ folder)
- new: added support for Qt 5.0, however, the recommended Qt version remains 4.8 (when Qt 5 is used, the build rules will automatically disable embedder functionality on X11 platforms as well as all Phonon features on all platforms -- this is due to dropped Qt modules, add-on modules may cover this later perhaps)
- new: added alternative system- and software-notes templates contributed by José Marcio Rezende Franco
- new: added MESS category.ini contributed by ASH
- inf: the SVN repository has been moved to a new location -- use one of these URLs now: svn://svn.code.sf.net/p/qmc2/code/trunk or http://svn.code.sf.net/p/qmc2/code/trunk

v0.37, 17-SEP-2012:

- fix: changes made to multi-value floats as used in HLSL options weren't updated correctly
- fix: demo-mode: don't select device-sets
- fix: non-Windows: avoid a rare crash when exiting QMC2 while a running emulator is producing output on the notifier FIFO
- fix: don't allow tagging/untagging of parent-items in category- and version-views
- fix: file-browsers in emulator configuration dialogs used the wrong standard file-dialog so non-existing file names weren't accepted
- fix: ZIP-archived image files weren't correctly opened initially
- fix: full-screen switching on Ubuntu 12.04 (Unity desktop) didn't work correctly -- see bug tracker ID #26
- fix: don't pass empty arguments when launching foreign emulators
- fix: non-Windows: the optional memory indicator wasn't updated because the corresponding timer didn't fire
- fix: MESS device configurator: when a configuration made with the file-chooser was saved, the current slot setup wasn't stored together with it -- rendering the stored item useless when slot customizations were required
- fix: corrected ROM status determination for sets containing only CHDs (but no ROMs)
- fix: the current emulator selection made on the game/machine-specific configuration tab wasn't saved upon reload
- fix: minor: corrected progress-text updates when certain operations are running 'in parallel' (i.e. loading the software-list while a full ROM audit is active)
- fix: avoid crash when no game/machine is selected and a 'play' action is triggered
- fix: MiniWebBrowser: corrected document history handling with regard to the availability of back- and forward-actions
- fix: set locale- and c-string-encoding to UTF-8 globally and handle XML data specifically on Windows to cleanly support international character sets
- fix: emulator wasn't launched under certain circumstances when the game/machine was filtered out due to its ROM status
- fix: use UTF-8 character encoding when reading game-/machine- and/or emulator-info DB dat-sources
- imp: adjusted the ghost-image used for videos (wrong text removed)
- imp: depending on the installed codecs, an unused YouTube widget may still cause load on the system, so it's now already destroyed when it's no longer required
- imp: updated redistributed Qt translations from Qt 4.8.3
- imp: unified the image processing to remove code duplication for different image types
- imp: check for the existence of the emulator's executable file before trying to actually run a null process (which may cause issues on Mac OS X)
- imp: Mac OS X build: added build option XCODE3 which (if set to 1) will disable the special handling when Qt 4.8+ is detected
- imp: MAME/MESS/UME emulator templates updated to 0.147 (added new core options ui_mouse and ui_active, removed option hide_cursor)
- imp: added an option to allow for setting QMC2's working directory to be the same as the executable's path (for special use cases, not commonly used)
- imp: replaced all QMC2 variant logos and splash-screens with improved versions from JacKc
- imp: Qt messages that are sent before the GUI is ready are now printed to the console (stdout) instead of eating them
- imp: emulator configuration widgets: all drop-down lists for 'bios' / 'ramsize' selections or options with pre-defined choices are now sorted, possible duplicates are removed and the number of visible items has been increased to 20
- imp: the file-chooser's folder selector is now also sorted / sortable
- imp: foreign emulator IDs can now contain arguments with white-space characters when they are enclosed in double-quotes
- imp: changed the file-chooser's sorting (by file name) to be case-insensitive
- imp: updated template format to v0.2.6 which adds support to ignore complete sections (globally or per target OS)
- imp: Mac OS X build: don't compile runonce as it's not used on Mac OS X (and has an X11 requirement)
- imp: integrated zlib updated to version 1.2.7 (see zlib's change-log for details)
- imp: Win32 MinGW build: added OS auto-detection for Windows so specification of MINGW=1 is no longer required (however, if MINGW is set, its value will be used regardless)
- imp: when a non-default (= foreign) emulator is selected for the current game/machine, the device-mapper and software-list tabs are disabled now
- imp: sets with empty names are now ignored, logging corresponding warnings when the game/machine list cache is recreated (this is a driver bug which also '-validate' will warn about)
- imp: Win32 VC++ build: added x64 support to the project generation script
- imp: added an advanced line-edit containing an icon to symbolize its function (used in certain search widgets)
- imp: changed the default short-cuts for adding games/machines to the favorites list (now Ctrl+J and Ctrl+Shift+J) to free the Ctrl+F short-cut for another/better use (i.e. for finding arbitrary text)
- imp: changed the default short-cut for 'About QMC2' (now Ctrl+B) to free the Ctrl+A short-cut which is commonly used for 'select all'
- imp: file-chooser: opened ZIP contents are sorted as well
- imp: completely revised the image cache internals, now also storing the file path the cached image was loaded from, which can be retrieved via the image's context-menu (the file path is not available in case of zipped images, though)
- imp: much better GUI response while recreating the XML cache and checking all ROMs (full audit)
- imp: animate searching for game/machine XML data when the user expands an item in the primary (full-detail) view
- imp: the menu-bar on Mac OS X is no longer 'native' because this misbehaves with multiple menu-bars that we have now
- imp: emulator configuration widgets are now initially hidden and shown after all options were loaded, which speeds up this process a little bit (you won't see a visual difference, though)
- imp: added OS detection for Windows 8 and Mac OS X 10.8 to the about dialog when Qt 4.8.3 or higher is used
- new: added support for David Haywood's (Haze) Universal Machine Emulator (MAME/MESS unification project) in the form of an additional variant called 'qmc2-ume' or 'qmc2-sdlume' -- see bug tracker ID #22
- new: the YouTube video-player now supports local movie files as well
- new: added support for tool-bar customization
- new: allow the specification of semicolon-separated lists of folders for ALL image types
- new: added support for system- and manufacturer-logo images (i. e. AntoPISA's new MESS marquees)
- new: added support for the new MESS category.ini from ASH (UME targets merge the info with data from catver.ini, if applicable)
- new: added a check for the ROM path setting (a warning message will pop up when the ROM path hasn't been set or isn't available) -- see bug tracker ID #28
- new: made a complete rewrite of the image-checker dialog, which now allows checks of ALL image types in a multi-threaded way -- this also fixes a long-standing bug on Windows, BTW (see bug tracker ID #5)
- new: MESS device configurator: added support for nested slots, including real slot recursion
- new: software-lists: available mount-devices are dynamically updated whenever the device/slot setup changes
- new: added 3 new actions to tag / untag / invert tags of all visible sets (according to the current ROM state filter)
- new: game/machine detail tabs can now also be reordered directly in the GUI by dragging them with the mouse
- new: added a tool action to open a new empty browser window on demand
- new: <info> elements contained in a number of software-list entries are now displayed as well (requires very recent MAME/MESS/UME versions after 0.146u5, otherwise <info> elements are not contained in the -listsoftware output)
- new: items in all game/machine list views can now be tagged/untagged while the 'cursor' is moved, using the new (customizable) short-cuts Shift+Up and Shift+Down (works much like in 'Total Commander' when tagging/untagging files or folders)
- new: the file-chooser now offers an additional context-menu item to open regular files (not ZIP content yet!) externally by launching the default application that's associated with the file's MIME type (or extension)
- new: added a 'personal rich-text notes' detail for games/machines (same as the software-notes feature, but for systems this time)
- new: added command line option '-cc' which clears (removes) all emulator caches prior to starting up
- new: HTML editor: added document preview in built-in browser as well as 'new-from-template' and 'revert-from-saved-file' functionality
- new: MESS device configurator: added support for selecting the BIOS used in slot-devices (if applicable)
- new: software-lists: optional automatic adjustment of the emulator's -snapname parameter for easier creation of software-snapshots
- doc: use a common image directory instead of sym-links
- inf: the configuration template for MAMEUIFX32 has been dropped (unmaintained)
- inf: long project name changed to M.A.M.E./M.E.S.S./U.M.E. Catalog / Launcher II

v0.36, 21-MAY-2012:

- fix: ROMAlyzer: don't stop searching for CHDs at the first ROM path (when there are multiple ROM paths)
- fix: allow embedding of (MAME/MESS-like) foreign emulators again -- changes made in 0.35 prevented this completely
- fix: changed the default short-cut for the check template map action to 'Ctrl+Shift+C' -- the previous default of 'Ctrl+C' was awkward since it's usually used as short-cut for copy to clipboard
- fix: avoid crashes in the game list parser and the ROMAlyzer's checksum wizard due to unexpected nameless entries (first appeared in MESS 0.145u1+)
- fix: build: corrected a new set of compile-time bugs related to builds with PHONON=0
- fix: ROMAlyzer: after updating CHDs to the latest format, update the CHD header information from the replaced file before comparing the SHA1 checksums
- fix: minor: corrected a few texts with regard to the current variant's emulator type (MAME vs. MESS)
- fix: file-chooser: expand/collapse ZIP-contents on any type of 'activation' (i.e. not only on mouse double-clicks but also when enter or return are pressed, includes navigation via cursor-keys)
- fix: re-enable 'locked' widgets when the emulator can't be started for reading the game/machine data
- fix: MESS device configurator: corrected display of file-editor's data when there's only one available device instance (by synchronizing delegate/model updates)
- fix: don't start a verification process when the ROM state cache can't be opened for writing
- fix: file-chooser: the machine-dependent software-folder was not correctly pre-selected when existing device configurations were loaded in parallel
- fix: MESS device configurator: avoid a rare crash when systems are hovered very quickly (asynchronous updates may otherwise work on meanwhile invalid data)
- fix: clear favorites and play-history upon reload and make sure the last selected game/machine is correctly re-selected (if applicable)
- fix: ROMAlyzer: when repairing a set and the wanted CRC or name (header-)entry already exists in the target ZIP, recreate the complete ZIP file in order to replace the 'bad' file
- fix: ROMAlyzer: don't rewrite sets that are analyzed on behalf of the checksum-wizard (even if 'rewrite while analyzing' has been activated)
- fix: corrected some additional MESS-specific phrases and removed WIP-only stuff from key- & joystick-mappers
- fix: adjusted the behavior of the two main search combo-boxes and tied them more closely
- fix: software-lists: support multiple allowed device-interface types
- fix: MiniWebBrowser: don't raise main-widget / lower browser window(s) when selecting the path to save a downloadable resource
- fix: corrected character conversion when compressing HTML data stored in in-memory and on-disk web-caches (using QString::toLocal8Bit() instead of QString::toLatin1() now)
- imp: ROMAlyzer: LRU-caching XML data positions in order to speed up merge-processing
- imp: updated the MAME variant's logo with an improved version from JacKc
- imp: MESS device configurator: log a warning when '-listslots' crashes
- imp: MAME/MESS emulator templates updated to 0.146 (fixed duplication of option 'natural' in MESS templates)
- imp: interpret the new 'has no roms' status as 'good' (a.k.a. correct)
- imp: foreign emulator support: added $DESCRIPTION$ as an optional argument placeholder for the set's description
- imp: ROMAlyzer: interpret emu- and file-states of sets that have no ROMs as 'good' also in case of MAME (new since 0.145u2)
- imp: ROM status check: circumvent the corner case of sets without ROMs also in case of MAME (new since 0.145u2, see 'ide_baseboard' and 'hdd' devices)
- imp: ROMAlyzer: log possible driver XML bugs where a merge-name is given without a parent set to take it from (other than this, these cases are ignored and treated as 'good' merge-states)
- imp: when registering foreign emulators, the existence of the $ID$ placeholder on the supplied command line is now indicated through a green/yellow colored label (when $ID$ is missing, the configuration will most likely not work)
- imp: allow the specification of the emulator's working directory already in the welcome dialog
- imp: updated redistributed Qt translations from Qt 4.8.1
- imp: honor 'players' value for device sets where applicable (i.e. some input devices)
- imp: MESS device configurator: sort slot-options alphanumerically, add a separator between 'not used' and available options, allow disabling of default slot-options and indicate them as such
- imp: main widget: revised all auto-connected menu actions to use QAction::triggered(bool) (instead of a meanwhile deprecated signal)
- imp: slightly better responsiveness while loading cached XML data
- imp: Mac OS X build: avoid using xcodebuild for Qt 4.8+
- imp: replaced the 'MESS wiki driver look-up' with a ProjectMESS-based search since most data in the MESS wiki was lost, and ProjectMESS is the new de-facto '#1 web-resource for all things MESS' :)
- imp: the MiniWebBrowser's zoom-factor can now also be specified through a (mouse) wheel-event when the Ctrl-key is pressed at the same time (like most standalone browsers)
- new: ROMAlyzer: added support for CHD v5 (new since MAME/MESS 0.145u1) -- built-in analysis will work for CHD v3, v4 and v5; however, note that all 'CHD manager' functionality requires chdman from MAME/MESS 0.145u1+ now
- new: ROMAlyzer: added a function to store the current log contents to a file
- new: added tear-off capability to all menus within menu-bars
- new: added freely customizable lists of game/machine IDs (and descriptions) that can be attached to foreign emulators and be presented / launched through the menu
- new: both the MAWS (off-line) and the ProjectMESS driver look-up features save/restore their zoom-factors now
- new: experimental support for Qt 5, which is in alpha-stage right now (there will be no embedder support on X11 platforms in the first place, since they dropped some X11-specific classes like the QX11EmbedContainer -- an add-on for Qt 5 to revive this functionality is planned, but will probably not be available before Qt 5.1)
- new: YouTube video-player: you can now also 'paste' a YouTube video URL into the video-player itself, which will then start playing the respective video without attaching it to the play list
- new: about dialog: added output of run-time Qt library paths to the system-information page
- new: integrated zlib 1.2.6 to remove the extra requirement
- new: the MiniWebBrowser now supports and allows pop-up window requests when the build option BROWSER_JAVASCRIPT is enabled (which is the default)
- new: build option BROWSER_EXTRAS is now enabled by default which also activates the use of QtWebKit's Web Inspector in the MiniWebBrowser for everyone
- new: added a Spanish translation -- thanks to Daniel Barrado
- wip: adding a set rename tool to the ROMAlyzer which uses the -listxml outputs from both the old and the current emulator to gather the changes automagically
- wip: adding a Romanian translation (mostly done) -- thanks to Mihai Boisteanu
- wip: adding an Italian translation -- thanks to Stefano Cereda
- wip: adding a stand-alone CHDMAN GUI (see tools/qchdman/)
- wip: adding a Greek translation -- thanks to Kostas Albanidis
- wip: adding a Swedish translation -- thanks to Daniel Nylander

v0.35, 06-FEB-2012:

- fix: minor: hide the software-list favorites column 'device configuration' for MAME targets as it's a MESS-only feature
- fix: minor: corrected the main progress-bar's visual behavior when ROM status checking and software-list caching are running in parallel
- fix: MAME targets: the software-list widget wasn't cleared upon reload
- fix: the last active detail-tab's header wasn't always shown initially
- fix: software-snapshots were positioned incorrectly under certain circumstances
- fix: corrected a few minor log-scrolling issues
- fix: individual ROM checks didn't work correctly when the ROM status was 'not found' since output is written to stderr in this case and not to stdout as otherwise
- fix: YouTube video-player: avoid crashes on exit by waiting for all application threads to finish before returning to the OS
- fix: YouTube video-player: attached videos could get lost when changing the current game/machine very quickly
- fix: ROMAlyzer: correctly 'remove' the progress-bar item-widget before deleting it (worked w/o until Qt 4.7.x, crashed since Qt 4.8.0)
- fix: corrected restoration of main-widget's layout when the front-end was showing a maximized embedded emulator during clean up on the previous run
- fix: corrected Windows 64-bit builds with DEBUG=2 (see bug tracker ID #21)
- fix: file-chooser: the underlying item model now produces correct minimum widths for icon-less columns (size and modification date)
- fix: embedder on X11: corrected initial input focus after launching a new embedded emulator
- imp: ROM status exporter: additional output-format choice ('all formats') to export the ROM states to all three formats at once
- imp: when a software-list can't be found (though it's expected to exist), leave the software-list widget disabled and don't try to parse the invalid XML (a warning will still be logged since this is actually an emulator bug, but probably also a wanted/known situation as told by etabeta78)
- imp: MAME/MESS emulator templates updated to 0.145
- imp: faster display of software-snapshots by using tool-tip like window attributes for the viewer widget (this also fixes bad-window errors on X11)
- imp: slightly bigger icons in all game/machine list views
- imp: updated template format to v0.2.5 which adds support for an optional 'part' attribute that can be used in file-type options to specify the extracted part of the file's path (currently only "basename" is supported, used by the effect-option)
- imp: loading of software-lists can be interrupted now and is indicated accordingly for larger lists (i.e. cpc_cass/cpc_flop)
- imp: Mac OS X build: moved macx/Info.plist.in to arch/Darwin/Info.plist.in where it belongs
- imp: build: added a 'configure' make target to create platform dependent project file(s) and stop (i.e. to open it in XCode and build from there on Mac OS X, or to run MinGW make in job-server mode on Windows)
- imp: MiniWebBrowser: browser-plugins are now enabled per default (see make option BROWSER_PLUGINS)
- imp: build: removed make option PRETTY as it's no longer usable in the supported Qt versions
- imp: Mac OS X build: provide application icons (.icns) to be associated with the apps
- imp: created new logo images (thanks to JacKc)
- imp: ROMAlyzer: checksum-wizard: when the user changes the checksum-type and the current checksum is available in the 'other' type as well, display it in the line-edit (not available when the checksum is edited manually)
- new: the ROM state filtering mechanism can now be enabled/disabled on-the-fly (the default is 'enabled', just as before)
- new: added support for multi-device software-list entries as well as automatic vs. manual mount-device selection (includes the ability to mix parts from different software-list entries)
- new: added an alternative game/machine search entry box to the tool-bar
- new: added a CSV and ASCII export tool for software-lists
- new: added import/export functionality for software-list favorites
- new: changed the MESS device configurator so it offers available device-instances based on the slot-options specified, thus allowing to mount them as well (through the legacy device-mapper and the file-chooser)
- new: added ZIP support for software-snapshots
- new: X11 and Windows only: game/machine icons are now also shown on the tab headers of embedded emulators
- new: all images have an additional context-menu item ('refresh') now to clear and reload their cached pendants
- new: integrated the HTML editor from Qt Labs / graphics-dojo for all kinds of (upcoming) rich-text editing purposes
- new: added content-zoom to the MiniWebBrowser
- new: top-level windows can now optionally be minimized upon emulation launch and automatically restored when the (last) emulator instance has ended
- new: YouTube video-player: added a semi-transparent overlay widget to display status information at the bottom of the player's viewport
- new: software-lists: added software-compatibility filtering
- new: added a 'MESS wiki' detail to look up available driver information
- new: added an option to suppress all messages sent through QDebug and related convenience functions
- new: added an optional startup splash-screen utilizing the new logos
- new: added support for emulator-embedding on Windows (!) -- note, however, that embedding of emulators running in Direct 3D mode ('-video d3d') has two known issues: full-screen switching will lead to a crash (of the emulator) and screen-shots aren't taken correctly from within the GUI (just a black image)
- new: X11 and Windows only: added an option to select the default launch-mode used when starting emulation by activating (i.e. double-clicking) an entry in any list
- new: X11 and Windows only: replaced the style-controlled embedder-release icons (usually a red 'X' which some users wrongly interpreted as 'exit emulator') with a more suitable / less irritating and style-independent icon by setting explicit style-sheets on the tab-bars of all embedders
- new: added two options to allow for hiding of BIOS and/or device sets in all master-lists (see Front end -> Game/Machine list in the main setup dialog) -- both will trigger an automatic reload when changed
- new: added a dock-able/floating software-detail widget with a separate snapshot-browser, a ProjectMESS software-lookup feature, and an HTML editor/viewer for personal rich-text software-notes
- inf: the new required minimum Qt version is 4.7.0, support for older versions of Qt has been dropped

v0.34, 15-NOV-2011:

- fix: MAME targets: don't auto-resize the last column in the game/machine list views when toggling the use of catver.ini (it annoys more than it helps)
- fix: build: corrected compile-time bugs related to builds with PHONON=0
- fix: adjust icon sizes when showing the audio-effect dialog initially
- fix: removed flicker on changing game-/machine-list views
- fix: corrected a few MESS-specific phrases
- fix: corrected delegate-sizing issues when there's only one device instance in the MESS device setup
- fix: Mac OS X: set ROMAlyzer's parent widget in order to avoid context-menu displacement
- fix: ROMAlyzer: the ROM set's context-menu should be available also when the set rewriter hasn't been enabled
- fix: MAME targets: category- and version-views were not created initially when switched to via the view-selector combo-box
- fix: MAME targets: demo-mode: avoid floating-point exception when no games were selected by the filter
- imp: updated minizip to version 1.01h
- imp: YouTube video player: decode (percent-)encoded error messages before logging them
- imp: setup dialog: conflated all formerly split emulator- and game-info DB settings
- imp: MAME/MESS emulator templates updated to 0.144
- imp: ROMAlyzer: better 'no dump' indication
- imp: enabled audio-effect widgets for MinGW builds (they work fine when the official Qt DLLs are being used, otherwise set the new AUDIOEFFECTDIALOGS make option to 0 in order to disable them)
- imp: X11 only: minor embedder optimizations regarding widget resizing
- imp: YouTube video player: added support for YouTube's new way of presenting video stream URLs
- imp: general overhaul of the main-widget's layout parameters to allow for a somewhat more 'compact' design
- imp: the working directory of the external ROM tool can be specified now
- imp: build: added EMU as an alias for the EMULATOR make option
- imp: locale-aware statistics in the ROM status exporter and the GUI's ROM status bar
- imp: updated redistributed Qt translations from Qt 4.7.4
- new: added a 'driver status' column to all game/machine lists (or views)
- new: Windows only: the other variant's exe file can now be specified explicitly (the default is to search for it only in the directory where the calling variant was started from) -- this works also when you rename the exe files; you can additionally specify the command line arguments passed to the other variant (note that this is an independent setting and would also be used when the variant exe is not overwritten!)
- new: support for MAME's/MESS's new device-referencing (new since 0.143u2+ SVN)
- new: Mac OS X only: the tool-bar can now optionally be unified with the title-bar
- new: MESS targets: support for machine-specific device slots / slot options, integrated with the MESS device configurator
- new: the MESS variants now use their own logo, and all variants use new unified applications icons -- thanks to Anna Wu
- new: added a new tool-function to allow for forced removal of ALL emulator related caches at once
- new: added support for the new 'messinfo.dat' file from AntoPISA (see http://www.progettosnaps.net/messinfo/)
- new: completed the support for software-lists in MAME and MESS (ZIP-support for software-snaps will be added later)
- new: customizable columns in all game-/machine-list and software-list views
- new: MESS targets: a new 'file chooser' dialog has been added to the MESS device configurator as an easy-to-use alternative to the manual setup
- new: MESS targets: device type icons are now displayed to better symbolize MESS device instances
- new: ROMAlyzer: you can specify an additional source ROM path for the set rewriter in order to allow for merging updates
- new: added support for item-tagging and a number of related operations that can now also be performed for tagged games/machines
- new: for ZIP-archived icons (actually the only practical way to store them) support for ICO format has been added -- this means that for instance MAMU's icon can now be used directly, w/o conversion to PNGs!
- new: icons are now also supported for all MESS targets
- wip: adding a Java (Eclipse/SWT) based editor/translator for emulator templates (see tools/qmc2_options_editor_java) -- thanks to Marcelo Bossoni
- inf: note that the versioning pattern has changed: we now just count the releases and follow the simple scheme '0.XX', where XX is the release number
- inf: note that the minimum required MESS revision now is SVN r12599 (or MESS 0.143u3)

Ancient change-log entries prior to QMC2 v0.34 are no longer maintained in the SVN tree since v0.39!

The archived change-log can be downloaded from here in case you're interested.