QM™ (QP Modeler) Release History ================================ For the latest QM release, see http://www.state-machine.com/downloads/index.php#QM Installation ------------ CAUTIOIN: If you have any previous version of QM installed on your system, please *uninstall* it before installing the new version. The ZIP file for Mac OS X contains the qm.dmg disk image and the examples/ directory. You need to unzip the file into a temporary location and double click on the qm.dmg file. This will mount and open the disk image. To install the QM tool, you simply drag the qm.app image into the Applications folder (typically visible in the Dock). If you wish, you might also create the alias of the qm.app and place it on your Desktop. The examples/ directory contains the example projects. You should move this directory from the temporary location to the directory where you do software development. To build and execute the examples on Mac OS X, you need to install QP 4.2.01 or higher. To uninstall QM, simply delete the qm.app file and the examples. **** NOTE: The QM application contains both the QM GUI and the QMC model compiler command-line utility. You can invoke the QMC utility from the terminal by typing: /Applications/qm.app/Contents/MacOS/qmc **** Release 2.1.02, date: 28-Dec-2011 ---------------------------------- * Fixed the problem with the keyboard focus being removed from the Property Editor when the mouse pointer is moved over a diagram. Now editing text properties can continue regardless of the position of the mouse pointer. * Modified the behavior of the main window to eliminate the annoying context switches when the user moves the keyboard focus to another desktop application. Now the Bird's Eye View, the Toolbox, and the Property Editor would not be deactivated when the user clicks outside the QM application. * Added menu command and toolbar button for copying model links to the Clipboard. This is useful for quickly finding the corresponding model elements in the generated code (through the standard text find feature available in virtually all code editors and IDEs). * Changed the code generation to generate consistently the @()-style model links to match the copy-link feature. * Fixed the bug with model name not appearing in the Model Explorer when a new model is first created. * Fixed the unexpected switching of the Current Model Item when the user double-clicked text or code in the Property Editor. * Improved model checking to disallow creating circular dependencies of choice segments, which was possible when the begin of the parent choice segment was moved to the free-end of a child choice segment. * Changed displaying text in the diagrams to show only complete lines rather than cutting the text horizontally and showing only top slice of the last line. * Added the standard file extension ".ino" for the Arduino sketches, to recognize this file type and apply the correct (C++) syntax highlighting. The extension ".ino" has been added in the latest release of the Arduino IDE (Arduino 1.0). Release 2.1.01, date: 04-Nov-2011 ---------------------------------- * This release allows specifying comma-separated trigger lists for transitions as opposed to just single triggers. The code generator converts the trigger list into fall-through case statements. * Updated all examples for compatibility with QP 4.3.00. * Fixed a bug which caused crash when a model file failed to opened (due to version incompatiblity or a missing imported package) and the user would double-click on the Log message to inspect the failure cause. * Fixed a bug causing assertion on Mac OS X in module nodeglyph, line 289. Release 2.1.00, date: 20-Oct-2011 ---------------------------------- * This release provides support for breaking up model files into separate package files, which can be imported (included) in any number of models. This feature allows teams to work on different parts of a large model by breaking it up into independently managed and version-controlled packages. * Fixed the inconsistency between reading and writing the file items, which for empty files lead to "WARNING F802> ...parsing the model template file failed". Specifically, this warning occured for the model templates provided in the QM distribution. * Fixed the bug in resizing the diagram canvas, which could lead to breaking an assertion on Mac OS X (when the mouse coursor would momentarily leave and re-enter the diagram area). * Fixed the inconsistentcy in enabling and disabling of copy/cut/ paste/delete actions, which could lead to breaking an assertion in explorerview, line 321. Release 2.0.00, date: 21-Sep-2011 ---------------------------------- * This release provides support for Cut/Copy/Paste of model items within one model and accross different models opened in separate instances of QM. * The model file format has chaned compared to QM 1.x (to reuse the model serialization for Cut/Copy/Paste). This means that the models created with QM 1.x are incompatible with QM 2.x. *** NOTE: the /bin/ directory contains the utility qmconv-1-2 for converting models created with QM 1.x to QM 2.x. *** * Added panning of the current viewport to the Bird's Eye View. * Added Cut/Copy/Paste/Delete actions to the popup menus inside the Model Explorer. * Fixed several bugs and inconsistencies. Release 1.1.08, date: 11-Aug-2011 ---------------------------------- * This release is the first one available for all three platforms: Windows, Linux, and Mac OS X. * The directory structure of the QM installation has been modified to accomodate Mac OS X and to make it common for all platforms. * Changed the behavior of the "Generate Code" command to save the model to disk before generating code. * Changed the keys for panning and zooming of diagrams with the mouse to make it consistent with popular programs such as GIMP or Google Maps (bug #3381122). Now SHIFT activates panning and horizontal scrolling with the mouse wheel. When SHIFT is depressed, rotating the mouse wheel towards the back of the mouse will scroll horizontally right (i.e., the horizontal scroll bar will move right). This is exactly as in GIMP. CTRL activates selecting and zooming with the mouse wheel. When CTRL is depressed, rotating the mouse wheel towards the back of the mouse will zoom out. * Fixed the problem with C-style comments at the end of a file (bug #3355437). * Fixed the problem with print crashing QM on Linux (bug #3325130). * Added drag-and-drop of model elements inside the Model Explorer. Now you can drag packages, classes, attributes, operations, and paramters as well as directories and files (feature request #3116849). The drag-and drop feature verifies the types of the elements and allows only the meaningful operations. For example, dragging a class operation to another class, but not allowing dragging a state to a directory. * Added drag-and-drop of model elements from the Model Explorer to files. This allows quick generation of code directives without manually typing the element paths. * Added drag-and-drop of model files from the File Explorer (File Finder on the Mac) to the QM manin window, to open the model file. * Added "Close Model" command to the File menu. Release 1.1.07, date: 28-Jun-2011 ---------------------------------- * Fixed the bug causing a crash for the sequence: open an existing model, create new model, checking class properties. * Modified code generation to include generating Doxygen comments from the documentation for classes, class attributes, class operations, free attributes, and free operations. * Fixed bug related to incorrect updating of free attribute documentation from the property sheet. * Added collapse/expand button for documentation box in the operation property sheet. This is to allow more space for the code box. * Added toggle buttons to the View toolbar to allow easy toggling the view of the docking windows (Explorer, Property Editor, Bird's Eye View, and the Log). * Improved/corrected the locked/unloced button behavior and added the locked/unlocked status to the status bar. * Improved/corrected the Grid view button behavior and added grid status to the status bar. * Updated ARM Cortex examples for EK-LM3S811 to use the latest IAR EWARM 6.20. Release 1.1.06, date: 27-Apr-2011 ---------------------------------- * This release adds the "locked" moded for exploring or reviewing the model without the risk of inadvertently modifiying the model. * Fixed the EMF (Enhanced Windows Metafile) generation issue with the bounding box. When shapes in a diagram are selected only the selected shapes are rendered to EMF and the bounding box is adjusted so that it contains only the selected shapes. Previously, the EMF bounding box was always the size of the diagram canvas, regardless if only a tiny fragment of the diagram was selected and rendered to EMF. * Fixed the bug with keyboard focus, in which occasionally a diagram would ignore the Ctrl or Shift keys (for going into Selecting and Panning modes, respectively). * Added the Show/Hide Grid menu option and toolbar button. Release 1.1.05, date: 22-Apr-2011 ---------------------------------- * This release changes the permissions of the generated files to READ-ONLY, to prevent users from editing these files. This is to reinforce the policy that all changes need to be really made to the QM MODELS, not the generated files. * Fixed the bug in creating new models, which led to code generation errors: "ERROR F031 state machine not allowed in this class" * Fixed the EMF (Enhanced Windows Metafile) generation bug, in which all single ampersands ('&') were dropped and double ampersands ('&&') were replaced with a single ampersand. * Fixed the problem with closing a minimized window, which would lead to problems in opening the window again. * Fiexed the problem of not adding newly created models to the list of most-recently used models. * Improved error message reporting from XML parsing of the model file. * Added Help button to the "New Model" dialog box. * Added .pde file stereotype for Arduino sketches Release 1.1.04, date: 18-Mar-2011 ---------------------------------- * This release adds the QMC (QP Model Compiler) command line utility for automated builds. * Several minor improvements and bug fixes related to abrupt interrupting the QM session by popus (such as system update notifications). Release 1.1.03, date: 02-Mar-2011 ---------------------------------- * This release includes examples of QM models and projects for Windows, Linux, and ARM Cortex. * The default location of the help and model templates have been modified. Release 1.1.02a, date: 29-Jan-2011 ---------------------------------- * This release has been recompiled on CentOS 5.5 for compatibility with RedHat 5.x enterprise Linux. This version also works on the latest Ubuntu, Fedora, openSUSE, and hopefully other Lunix distributions. * In the process of porting QM to CentOS the Qt library has been recompiled for better yet efficiency and smaller size, so the QM executable is 15% smaller than the previous one. Release 1.1.02, date: 05-Jan-2011 --------------------------------- * This is the first release for Linux. * The QM tool behaves on Linux exactly as on Windows, except that the EMF (Enhanced Windows Metafile) generation does not yet work on Linux. This feature will be addressed in the later releases.