<h3>4.15</h3>September 26th 2009<br /><br /> <ul> <li> Allows to import a project as a library. A project imported as a library can't be modified in the importing project, but it can be updated to follow changes done in the imported project.<br /> In case the project imported as library contains others projects imported as library this ones are not considered like that, this means you can't update these sub projects separately but you have to ask for to update the container project you directly imported.<br /> To simplify management you can't update a project imported as library while the project is modified, this means you have to save first your project or to reload it to forget changes you don't want, and at the end of the update the project is saved, so you can't undo an update.<br /> This feature is dedicated to use projects defining librairies, <u>not</u> to work at several on the same project, for that see <a href="doc/index_projectcontrol.html" target="_blank">Project control</a> and <a href="doc/index_projectsynchro.html" target="_blank">Project synchro</a> <br /><br /></li> <li> <b>Project control 1.2.3</b><br /> To manage case of projects imported as library <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.14</h3>September 12th 2009<br /><br /> <ul> <li> When you deleted a package through a <i>plug-out</i> the container package was not marked modified and was not saved without an other reason marking it modified, and an error occured when you reload the project, fixed. <br /><br /></li> <li> Under Windows, after exiting from Bouml using the [X] button in the title bar (rather than through the menu), the main window is closed but it is possible to have the <i>bouml.exe</i> process still alive and looping indefinitely (problem not reproducted signaled by only one user), bypassed. <br /><br /></li> <li> In a class diagram it is now possible to resize the classes drawn with the standard representation (not using an icon) <br /><br /></li> <li> New drawing setting <i>hide get/set operations</i> applying on 'official' get and set operations in class diagrams. By default get and set operations are shown. <br /><br /></li> <li> New C++ generation setting <i>inline force include in header</i>, when it is set the types referenced in the profile of the <i>inline</i> operations produce includes in the header like this was obligatory the case with the previous releases, else the code generator doesn't take care if there are inline operations to compute dependencies. This setting values <i>true</i> by default for the already existing projects to not perturbate them, but <i>false</i> by default when you create a new project. <br /><br /></li> <li> <b>C++ Generator 2.15</b><br /> a space was missing between the two last > in the definition of a template class whose last formal has a default value being a template form (i.e. finishing by a >) and also in the instantiation of a template class where the last actual is a template form but doesn't correspond to the last formal (next formals having default value)<br /> To manage new generation setting <i>inline force include in header</i><br /> To avoid a crash on exit when bouml exits before.<br /> Follow the new API. <br /><br /></li> <li> <b>C++ Reverse 2.12</b><br /> <b>Java Generator 2.19</b><br /> <b>Java Reverse 2.15</b><br /> <b>Java Roundtrip 1.2</b><br /> <b>Java Catalog 2.14</b><br /> <b>Php Generator 1.7</b><br /> <b>Php Reverse 1.5</b><br /> <b>Python Generator 1.3</b><br /> <b>Idl Generator 2.12</b><br /> <b>Roundtrip body 1.10</b><br /> To avoid a crash on exit when bouml exits before, mainly for <i>java catalog</i> because other plug-outs finish automatically.<br /> Follow the new API. <br /><br /></li> <li> <b>Plug-out upgrade 1.15</b><br /> To manage new generation setting <i>inline force include in header</i><br /> To avoid a crash on exit when bouml exits before.<br /> Follow the new API. <br /><br /></li> <li> <b>XMI2 Generator 1.11.1</b><br /> To export transition's description and <i>tagged values</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.13.1</h3>July 8th 2009<br /><br /> <ul> <li> Improvement to diminuish the needed time to load a project, mainly in case of projects containing Php definition obtained by a reverse producing artifacts having a long Php definition <br /><br /></li> <li> <b>C++ Reverse 2.11.1</b><br /> <b>Java Reverse 2.14.1</b><br /> <b>Java Roundtrip 1.1.1</b><br /> <b>Java Catalog 2.13.1</b><br /> <b>Php Reverse 1.4.1</b><br /> speed improvement </li> </ul> <br /><br /> <h3>4.13</h3>July 3th 2009<br /><br /> <ul> <li> Add <i>active</i> on activity, class and state <br /><br /></li> <li> Add type specification of function's parameters and return values (<a href="http://www.python.org/dev/peps/pep-3107/" target="_blank">pep-3107</a>).<br /> When a return type is specified (it is not empty) the keyword <i>${type}</i> produces the return type prefixed by ' -> '<br /> When the type of a parameter is specified (it is not empty) the corresponding <i>${<n>}</i> produces the type prefixed by ': ' if the keyword is part of the parameter list definition (between <i>${(}</i> and <i>${)}</i>)<br /> The code generator doesn't place the types between two string delimiters by itself, to produce a string with delimiters you have to enter these delimiters in the type definition at UML level. <br /> By default when you add a parameter the keyword <i>${<n>}</i> is absent, it is added only if you set the new generation setting <i>operation of Python 3 (pep-3107)</i> (generation settings dialog <i>Python[2]</i>), and you have to change by yourself the default operation definition in the generation settings to add <i>${type}</i> between <i>${)}</i> and ':' <br /><br /></li> <li> <b>Plug-out upgrade 1.14</b><br /> Add operations <i>isActive</i> and <i>set_isActive</i> on <i>UmlBaseActivity, UmlBaseClass</i> and <i>UmlBaseState</i>.<br /> Add operations <i>isPython_3_operation</i> and <i>set_IsPython_3_operation</i> on <i>PythonSettings</i> <br /><br /></li> <li> <b>Python Generator 1.2</b><br /> To manage type specification of function's parameters and return values <br /><br /></li> <li> <b>C++ Generator 2.14</b><br /> <b>C++ Reverse 2.11</b><br /> <b>Java Generator 2.18</b><br /> <b>Java Reverse 2.14</b><br /> <b>Java Roundtrip 1.1</b><br /> <b>Java Catalog 2.13</b><br /> <b>Idl Generator 2.11</b><br /> <b>Php Generator 1.6</b><br /> <b>Php Reverse 1.4</b><br /> <b>Roundtrip body 1.9</b><br /> Follow the new API. <br /><br /></li> <li> <b>Html documentation Generator 2.18</b><br /> To import/export <i>isActive</i>.<br /> To manage type specification of function's parameters and return values Fixe the generation of the description of the elements defined in Java and/or Php and/or Python <br /><br /></li> <li> <b>XMI2 Generator 1.11</b><br /> <b>XMI2 Import 1.7</b><br /> To import/export <i>isActive</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.12.4</h3>June 11th 2009<br /><br /> <ul> <li> <i>Browser search</i> allows now to search for elements depending on their stereotype. <br /><br /></li> <li> The menu <i>miscellaneous</i> has the new toggle <i>completion in dialog</i>, it is set by default to be compatible to the behavior of the previous releases. When it is set and you enter a string in a list of choices (<i>combo box</i>) in a dialog, an auto completion/search is done, note this one is non case sensitive (Qt limitation). If you don't like this auto completion/search, unset the toggle. <br /><br /></li> <li> Internal extension of the <i>Plug-out</i> API for Java Roundtrip. <br /><br /></li> <li> <b>C++ Generator 2.13</b><br /> A dependency stereotyped <i>friend</i> produced a wrong code in case the target class was a template, fixed.<br /> Follow the new API. <br /><br /></li> <li> <b>Plug-out upgrade 1.13</b><br /> A crash occured when you upgraded an old <i>plug-out</i> without Python management, fixed.<br /> Follow the new API. <br /><br /></li> <li> <b>Java Roundtrip 1.0</b><br /> New <i>plug-out</i>, please refer to the <a href="doc/index_javaroundtrip.html">documentation</a>. <br /><br /></li> <li> <b>C++ Reverse 2.10</b><br /> <b>Java Generator 2.17</b><br /> <b>Java Reverse 2.13</b><br /> <b>Java Catalog 2.12</b><br /> <b>Idl Generator 2.10</b><br /> <b>Php Generator 1.5</b><br /> <b>Php Reverse 1.3</b><br /> <b>Python Generator 1.1</b><br /> <b>Roundtrip body 1.8</b><br /> Follow the new API. <br /><br /></li> <li> <b>XMI Generator 1.4.6</b><br /> When a parameter of an operation doesn't have type the token <i>UML:Parameter</i> wasn't closed, fixed. <br /><br /></li> <li> <b>XMI2 Generator 1.10.2</b><br /> The <i>base type</i> of a class stereotyped <i>typedef</i> is now produced in an extension form supposing you ask for them </li> </ul> <br /><br /> <h3>Import Interface</h3>May 5th 2009<br /><br /> New user contribution, please refer to <a href="contrib.html">contributions</a> <br /><br /> <h3>4.12.3</h3>April 29th 2009<br /><br /> <ul> <li> Since 4.12 because of change concerning the z-dimension of lines in diagrams it was difficult to select small elements connected to a line in diagram and to connect required '(' and provided 'O' representations in a component diagram, fixed. <br /><br /></li> <li> You can now close all the opened diagrams through the entry <i>Close all</i> added in the global menu <i>Windows</i> </li> </ul> <br /><br /> <h3>4.12.2</h3>April 18th 2009<br /><br /> <ul> <li> <font color="red">When you duplicated a state Bouml could crash</font>, fixed. <br /><br /></li> <li> When you deleted attribute or operation of a class through a plug-out the drawing of the class wasn't updated in already opened diagrams, (the deleted members was still visible), fixed. <br /><br /></li> <li> <b>Python Generator 1.0.9</b><br /> In the previous releases the first line of a <i>docstring</i> was indented, then the next lines was produced without adding the current indentation. Now all the lines of a <i>docstring</i> are indented to follow <i>pep-0257</i>. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.11</b><br /> Add the operation <i>importProject</i> on <i>UmlBasePackage</i>, returns the <i>UmlPackage</i> corresponding to the imported project or 0/null in case of an error. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>4.12.1</h3>March 28th 2009<br /><br /> <ul> <li> When a class is associated to a relation (for instance in case of a class relation) and you deleted the class, the <i>plug-out</i> API operation <i>UmlRelation::association()</i> wrongly returned the deleted class, fixed. <br /><br /></li> <li> In a diagram when two elements was link by a line (whatever it represented) and one the element contained the other one, the line was not drawn. This was mainly a problem in case of <i>high-level transition</i> from a <i>composite state</i> with a target inside the <i>composite state</i>. Fixed. <br /><br /></li> <li> An auto scroll is now made if necessary when you move in a diagram the mouse with the center or right click down. <br /><br /></li> <li> <b>Python Generator 1.0.8</b><br /> When a class referenced an other one placed in the same python package, the python code generator wrongly produced <i><artifact name>.<class name></i> rather than <i><package name>.<artifact name>.<class name></i>, fixed.<br /> In the special case of the <i>artifact</i> is named <i>__init__</i> this one is now not generated, this means <i><package name>.<class name></i> is produced <br /><br /></li> <li> <b>XMI2 Generator 1.10.1</b><br /> When you defined an association between a class and an actor an unexpected and inconsistent attribute was generated, fixed. </li> </ul> <br /><br /> <h3>4.12</h3>March 15th 2009<br /><br /> <ul> <li> <font color="red">In a communication diagram, when you used the menu to change the geometry of a junction between two instances without supporting yet a message, Bouml crashed</font>, fixed. <br /><br /></li> <li> <font color="red">When you duplicate an activity Bouml may crash</font>, fixed. <br /><br /></li> <li> <font color="red">In an activity diagram, when an activity partition was in horizontal display mode, and you assigned any colour to it, then close the diagram and re-open it, you got an error message and a part of the diagram was lost</font>, fixed. <br /><br /></li> <li> In a state diagram it was possible to resize <i>choices</i> by selecting them with other elements and doing a rezise, same thing for <i>decision</i> and <i>merge</i> in an activity diagram, fixed. <br /><br /></li> <li> The <i>virtual desktop</i> set through the environment dialog was not taken into account when you started Bouml, fixed. <br /><br /></li> <li> Add new US diagram formats : <i>Letter, Legal, Tabloid, Letter landscape, Legal landscape</i> and <i>Ledger</i>. <br /><br /></li> <li> <i>Search</i> and <i>referenced by</i> dialogs are now not modal, also add buttons to mark/unmark found elements. <br /><br /></li> <li> It is now possible to add marked elements in class, use case, component and deployment diagrams though the diagram menu entry <i>add marked elements</i>. <br /><br /></li> <li> It is now possible to ask for to add related elements in diagram for a class, use case, package, component, artifact and deployment node. A related element is an element having a relation with the current element whose can be shown in the current diagram and part of the browser. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.11</h3>February, 15th 2009<br /><br /> <ul> <li> Add <i>specification</i> on activity and state, used to indicate an implemented operation. Add entries in menu of operation to create an implementing activity or state, or to access to them. <br /><br /></li> <li> <b>XMI2 Import 1.6</b><br /> Import <i>specification</i> on activity and state.<br /> The previous releases force the roles of the relation, regions and entry/exit pseudo states to not be anonymous, not done anymore. <br /><br /></li> <li> <b>XMI2 Generator 1.10</b><br /> <b>Html documentation Generator 2.17</b><br /> Export <i>specification</i> on activity and state. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.10</b><br /> Add the operations <i>specification</i> and <i>set_Specification</i> on <i>UmlBaseActivity</i> and <i>UmlBaseState</i>. Add the operation <i>methods</i> on <i>UmlBaseOperation</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.10</h3>February, 7th 2009<br /><br /> <ul> <li> Add <i>accept call, reply, create object, destroy object, test identify, raise exception</i> and <i>reduce</i> activity actions. <br /><br /></li> <li> For Python a default definition of <i>__init__</i> is now specified through the generation settings, this one is used when a class inherits other class(es), the definition asks for mother class(es) initialization through the form <tt>super(<i>classname</i>, self).__init__()</tt> <br /><br /></li> <li> In diagrams, now when you move a fragment the textes in collision follow it. <br /><br /></li> <li> <b>Python Generator 1.0.7</b><br /> when a class inherits other class(es) without defining <i>__init__</i> its auto generated definition now contains <tt>super(<i>classname</i>, self).__init__()</tt> <br /><br /></li> <li> <b>Plug-out upgrade 1.12.9</b><br /> Bypass a bug on QVector assignment in Qt 2.3 (release used for Windows) by modifying <i>UmlBaseComponent::set_AssociatedClasses(), UmlBaseArtifact::set_AssociatedClasses()</i> and <i>UmlBaseParameterSet::set_Pins()</i><br /> Add <i>accept call, reply, create object, destroy object, test identify, raise exception</i> and <i>reduce</i> activity actions management.<br /> To access/modify the new Python generation settings giving the default <i>__init__</i> definition. <br /><br /></li> <li> <b>XMI2 Import 1.5</b><br /> <b>XMI2 Generator 1.9</b><br /> Forms produced / expected for provided and required interface and for realizing classes was not the right ones, fixed. <font color="#C05800">Warning, the import of the forms produced by the previous releases is not managed.</font><br /> Import / export of added activity actions. <br /><br /></li> <li> <b>Html documentation Generator 2.16</b><br /> Generate added activity actions<br/> Produce the initialization of the attributes, relations and operation's parameters at UML level. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. </li> </ul> <br /><br /> <h3>4.9.3</h3>January, 25th 2009<br /><br /> <ul> <li> To confirm the edition of a relation whose target was a read-only class and without properties on the first role produced an error message, the only solution was to cancel the edition, fixed. <br /><br /></li> <li> Extends the <i>referenced by</i> command searching for elements in diagrams. To be find in a diagram an element must be directly represented, this means for instance an operation nor an attribute can't be find in a class diagram. <br /><br /></li> <li> Add management of <i>${type}</i> for Php in operation, attribute and relation dialogs, a priori used in comment for instance php-comment forms. Note <i>${t<n>}</i> was already managed.<br /> To establish through the generation settings a default description for the class, operation, attribute and relation using <i>@return, @var</i> and <i>@access</i> forms helps you to generate php-comments. Of course it is also possible to write a <i>plug-out</i> modifying the description to use these forms including <i>@param</i> depending on the element definition. <br /><br /></li> <li> <b>Php Generator 1.4.6</b><br /> Add management of <i>${type}</i> in operation generation (other cases already managed), a priori used in comment for instance php-comment forms. <br /><br /></li> <li> <b>Php Reverse 1.2.2</b><br /> Parse comments to search for <i>@param, @return, @var</i> and <i>@access</i> forms. <br /><br /></li> <li> <b>Java Generator 2.16.6</b><br /> In the previous releases, for an operation declared abstract of defined in an interface, when the '{' corresponding to the start of the body was reached a ';' was produced and the generation of the operation was done.<br /> Now a ';' is produced and the generation continues after the first '}' placed after <i>${body}</i>. <br /><br /></li> <li> <b>Html documentation Generator 2.15.1</b><br /> The description of an operations or a class stopped when a '{' was reached, and the description of an attribute or a relations stopped when a ';' was reached, fixed. </li> </ul> <br /><br /> <h3>4.9.2</h3>January, 11th 2009<br /><br /> <ul> <li> <font color="red">A crash may occurred when you changed the drawing setting depending on the changes made before</font>, fixed. <br /><br /></li> <li> The <i>Plug-out</i> operation <i>UmlBaseClass::isPythonExternal()</i> returned if the class was external for Php rather then for Python, fixed. <br /><br /></li> <li> Add management of <i>${association}</i> in Python for relations and getters/setters associated to a relation. <br /><br /></li> <li> Fill in white the part containing the name/type of a combined fragment when its color is transparent and its name/type is not empty. <br /><br /></li> <li> <b>Python Generator 1.0.6</b><br /> To manage <i>${association}</i>. </li> </ul> <br /><br /> <h3>4.9.1</h3>January, 5th 2009<br /><br /> <ul> <li> <font color="red">In an activity, when you created an element through an activity diagram placing the element directly on a partition, this element was wrongly nested in the partition in the browser, and it was impossible to reload the project.</font>, fixed.<br /> <font color="blue">When you load a project the elements wrongly nested in a partition are automatically extracted to come back to a consistent project.</font> <br /><br /></li> <li> <b>Java Reverse 2.12.5</b><br /> <b>Java Catalog 2.11.5</b><br /> The last character of a comment may not be placed in the description, fixed. <br /><br /></li> <li> <b>XMI2 Generator 1.8.1</b><br /> To export <i>state</i> entry, do behavior and exit. <br /><br /></li> <li> <b>XMI2 Import 1.4.1</b><br /> To import <i>state</i> entry, do behavior and exit.<br /> Some changes to import file produced by AndroMDA <br /><br /></li> <li> <b>State machine generator 1.4.1</b><br /> A C++ virtual destructor with an empty body is now defined on each class created by the generator. </li> </ul> <br /><br /> <h3>4.9</h3>December, 23th 2008<br /><br /> <ul> <li> <font color="red">The modeler entered in an infinite loop when you tried to change the geometry of an extension (uni directional association from a stereotype-class to a <i>meta class</i>)</font>, fixed. <br /><br /></li> <li> <font color="red">When a class was present in at least two of the provided required and realizing lists of a component and you deleted the class, saved the model then reload it, the model was inconsistent and a crash can occured</font>, fixed. <br /><br /></li> <li> Operation's parameters using accentued characters in their name or type was wrong written in diagrams and some dialogs and menus, fixed. <br /><br /></li> <li> Add <i>activity partitions</i> (<i>swimlanes</i>), please refer to the <a href="doc/index_activitypartition.html">documentation</a>. <br /><br /></li> <li> In state and activity diagrams it is now possible to resize <i>forks</i> and <i>joins</i>. <br /><br /></li> <li> Check a property (<i>tagged value</i>) is present only one time when you valid the edition of an element. <br /><br /></li> <li> Now <i>Add inhnerited operations</i> doesn't propose <i>getter</i> and <i>setter</i> operations of mother classes.<br /> When you move an attribut or relation by <i>drag&drop</i> the associated <i>getter</i> and <i>setter</i> operations are now deleted (the marks allow to move an attribut or relation and its associated <i>getter</i> and <i>setter</i> operations). <br /><br /></li> <li> <b>Java Generator 2.16.5</b><br /> In the previous releases a dependency stereotyped <i>import</i> to a nested class produced an import form concerning the top container class. Now the import form concerns the nested class. <br /><br /></li> <li> <b>Java Reverse 2.12.4</b><br /> <b>Java Catalog 2.11.4</b><br /> When the default definition of an element doesn't use <i>${description}</i>, remove the first/last line in the comment when it is empty or only contains spaces or tabs<br /> The comments placed before the first <i>package</i> or <i>import</i> form in a reversed file are associated to the corresponding <i>artifact</i>. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.8</b><br /> To fixe definition of operations <i>set_AssociatedDiagram</i> to take into account the case where you unassign the association (diagram is null)<br /> To add <i>activity partitions</i> <br /><br /></li> <li> <b>Html documentation Generator 2.15</b><br /> <b>XMI2 Generator 1.8</b><br /> <b>XMI2 Import 1.4</b><br /> To manage <i>activity partitions</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML. <br /><br /></li> <li> Note : Reference manual up to date </li> </ul> <br /><br /> <h3>4.8.4</h3>December, 7th 2008<br /><br /> <ul> <li> <font color="red">To validate the edition of a relation whose first role is read only and without property (<i>tagged value</i>) produced a crash</font>, fixed. <br /><br /></li> <li> It is now possible to associate an icon to the stereotypes defined in a profile by specifying a picture file.<br /> In a diagram the image is used without modification when the scale is 100%, else it is resized. This image is used in the diagrams for classes when the <i>drawing mode</i> is <i>natural</i>, components when you ask for to use an icon, packages (context not written), state actions (behavior not written), activity object nodes, deployment nodes and artifacts. In this case the name of the element is written under the icon. <font color="#C05800">These icons are not exported in SVG</font>.<br /> The picture is also used in the browser when the element is not deleted, the image is resized to have its width and weight less or equal to 16.<br /> For a <i>plug-out</i> the picture path is attached to the property (<i>tagged value</i>) <i>stereotypeIconPath</i> of the class-stereotype. <br /><br /></li> <li> It is possible to define a shortcut to do a <i>browser search</i>. <br /><br /></li> <li> <b>C++ Generator 2.12.9</b><br /> <b>Java Generator 2.16.4</b><br /> <b>Idl Generator 2.9.5</b><br /> <b>Php Generator 1.4.5</b><br /> Change in the generated indents to take into account a class definition whose definition is indented (definition starts by spaces or tabs). <br /><br /></li> <li> <b>C++ Reverse 2.9.3</b><br /> To not produce a syntax error on a forward declaration of a struct, union or enum inside the definition of a class, struct or union. Like it was already made for a class, these forward declarations produce an <i>extra member</i> in the model. <br /><br /></li> <li> <b>XMI2 Generator 1.7.2</b><br /> <b>XMI2 Import 1.3.2</b><br /> To manage stereotype icons. <br /><br /></li> <li> <b>Roundtrip body 1.7.2</b><br /> Indicate the line number where an invalid preserved block starts. <br /><br /></li> <li> <b>Rose project import 2.1.2</b><br /> Fixe a possible crash. </li> </ul> <br /><br /> <h3>4.8.3</h3>November, 16th 2008<br /><br /> <ul> <li> Fixe problems concerning the duplication of <i>getters</i> and <i>setters</i> <br /><br /></li> <li> <b>C++ Generator 2.12.8</b><br /> <b>Java Generator 2.16.3</b><br /> <b>Idl Generator 2.9.4</b><br /> <b>Php Generator 1.4.4</b><br /> Bypass a bug in the <i>Qt</i> operation <i>QCString::remove</i> whose can indirectly produces a crash <br /><br /></li> <li> <b>Global change 1.2</b><br /> To manage Python <br /><br /></li> <li> Note : Reference manual up to date </li> </ul> <br /><br /> <h3>4.8.2</h3>November, 11th 2008<br /><br /> <ul> <li> <b>Html documentation Generator 2.14.2</b><br /> To also produce Python definitions.<br /> Under Windows, for the C++ version, an extra dot may be added at the end of the selected directory's name returned by <i>QFileDialog::getExistingDirector()</i> (problem detected by a user when the directory path starts by //), add a hack to manage that. <br /><br /></li> <li> <b>.pro Generator 2.1.5</b><br /> Add the hask concerning the extra dot like for the Html generator. <br /><br /></li> <li> <b>Deploy 1.1</b><br /> Add Python management.<br /> A class is deployed for a given language only when it is non external and has a non empty definition.<br /> Classes stereotyped <i>stereotype</i> or <i>metaclass</i> are not deployed.<br /> An associated artifact is created for a class only when it is deployed for at least one language. <br /><br /></li> <li> <b>Uml projection 1.1</b><br /> To manage Python <br /><br /></li> <li> <b>Plug-out upgrade 1.12.7</b><br /> To add operations to access / modify Python definitions.<br /> Note : you must define the C++ preprocessor variable <i>WITHPYTHON</i> when your <i>plug-out</i> is implemented in C++ and you defined <i>WITHCPP WITHJAVA WITHPHP</i> and <i>WITHIDL</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>4.8.1</h3>November, 3th 2008<br /><br /> <ul> <li> <font color="red">To modify through a <i>plug-out</i> some generation settings can produce a crash</font>, fixed. You also have to fixe your <i>plug-outs</i> with <i>plug-out upgrade</i>. <br /><br /></li> <li> Add <i>meta classes</i> management. A <i>meta class</i> is a class stereotyped <i>metaclass</i>.<br /> The path of a <i>meta class</i> (by default <i>http://schema.omg.org/spec/UML/2.0/uml.xml</i> or <i>http://schema.omg.org/spec/UML/2.1/uml.xml</i> depending on the XMI generation) is memorized through the property (tagged value) <i>metaclassPath</i>. <br /><br /></li> <li> Modify the way a <i>stereotype</i> extends a <i>meta classe</i>.<br /> In the previous releases you used the stereotype tab of the class editor, and the extending classes was memorized in the property (tagged value) <i>stereotypeExtension</i>.<br /> Now an extension is suported by an uni directional association from the stereotype (class stereotyped <i>stereotype</i>) to a <i>meta class</i> (class stereotyped <i>metaclass</i>). The explicit multiplicity <i>1</i> indicates the extension is required.<br /> <font color="blue">When you load a project the properties <i>stereotypeExtension</i> of the <i>stereotype</i> are converted to extensions, the needed <i>meta classes</i> are created</font>.<br /> <font color="#C05800">You have to modify your <i>plug-outs</i> to use the <i>meta classes</i> and <i>extensions</i> rather than the properties <i>stereotypeExtension</i> on the <i>stereotypes</i></font>. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.6</b><br /> To fixe some setter operations on <i>UmlSettings, CppSettings, JavaSettings, IdlSettings</i> and <i>PhpSettings</i>. <br /><br /></li> <li> <b>XMI2 Generator 1.7.1</b><br /> <b>XMI2 Import 1.3.1</b><br /> <b>Html documentation Generator 2.14.1</b><br /> To manage <i>meta classes</i> and <i>extension</i>. <br /><br /></li> <li> <b>Deploy 1.0.1</b><br /> To not deploy classes stereotyped <i>stereotype</i> nor <i>metaclass</i>. Of course to apply it on a <i>class view</i> part of a <i>profile</i> seems strange. <br /><br /></li> <li> <b>Uml projection 1.0.2</b><br /> To not project classes stereotyped <i>stereotype</i> nor <i>metaclass</i> nor placed under a package stereotyped <i>profile</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>4.8 patch 1</h3>October, 26th 2008<br /><br /> <ul> <li> <font color="red">Since the release 4.6 a crash occured when only one language is selected and you modified the parameters list of an operation defined for an actor placed in a use case or a use case view</font>, fixed. <br /><br /></li> <li> To manage the special form used to initialize an enum item in Java (value given in parameter rather than throw an assignment). <br /><br /></li> <li> On attribute and relation add the property modifiers <i>derived, union</i> (only active when <i>derived</i> is set), <i>ordered</i> and <i>unique</i>. <br /><br /></li> <li> New drawing settings <i>show attribute modifiers</i> and <i>show relation modifiers</i> to how / hide property modifiers in class diagrams. By default property modifiers are not shown. <br /><br /></li> <li> <b>Java Generator 2.16.2 patch 1</b><br /> To manage the special form used to initialize an enum item (already managed by <i>Java Reverse</i> and <i>Java Catalog</i>). <br /><br /></li> <li> <b>Python Generator 1.0.5</b><br /> In the previous release the code generation was done for Python 2.2 (explicit <i>object</i> inheritance) depending on the <i>2.2</i> flag at the generation setting level rather than at the classes level, fixed.<br /> In an operation definition <i>${class}</i> produces the name of the class containing the operation. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.5</b><br /> To add the operations <i>isDerived(), isDerivedUnion(), isOrdered(), isUnique() set_isDerived()</i> (set both if the property is derived and if yes if it is derived union), <i>set_isOrdered()</i> and <i>set_isUnique</i>. on <i>UmlBaseAttribute</i> and <i>UmlBaseRelation</i> <br /><br /></li> <li> <b>Html documentation Generator 2.14</b><br /> Export new property modifiers.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>XMI2 Generator 1.7</b><br /> <b>XMI2 Import 1.3</b><br /> To manage new property modifiers.<br /> To manage stereotypes extending several meta classes.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.7</h3>October, 10th 2008<br /><br /> <ul> <li> The default screen set through the environment dialog is not taken account account when it is invalid (for instance when the left coordinate is greater than the right coordinate). Bouml now warns you in this case, and the environment dialog now doesn't allow wrong values. <br /><br /></li> <li> A state region can now contain states (including initial and final), pseudo states and state actions. <br /><br /></li> <li> Import generation settings now also import C++ include, Java import, Python import and Idl include definitions <br /><br /></li> <li> <b>Plug-out upgrade 1.12.4</b><br /> Modify the type of the first parameter of the operation <i>UmlBaseStateAction::create()</i> to <i>UmlItem</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.6.1</h3>September, 24th 2008<br /><br /> <ul> <li> Fixe a bug in the API with <i>plug-outs</i> occuring when you ask for a sequence diagram definition where an <i>interaction use</i> cover several life lines.<br /> Because of this bug the XMI2 generator can crash in when used with the previous release of the modeler. </li> </ul> <br /><br /> <h3>4.6</h3>September, 22th 2008<br /><br /> <ul> <li> Under Windows, when the user configuration is wrong and designates a non writable <i>home directory</i> contrarilly to the directory given the environment variable <i>USERPROFILE</i>, the environment dialog is show each time you start the modeler, fixed. <br /><br /></li> <li> When <u>only one</u> target language is selected and you edit an operation, a modification of a parameter impacting the default definition of the operation was only done when you finish the cell edition by clicking in an other cell of the parameters table. Now this is also done when you go in an other tab or validate the operation edition (to click on an other cell isn't necessary). <br /><br /></li> <li> A fragment can now reference a diagram, mainly to define <i>interaction use</i> in sequence diagram. Arguments and return value can also be specified through a string (you have to give the full form containing parenthesis and ':' if expected). <br /><br /></li> <li> <b>XMI2 Generator 1.6</b><br /> Export <i>interaction uses</i>, instance destructions, and continuations.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>.pro Generator 2.1.4</b><br /> Add <i>WITHPHP</i> and <i>WITHPYTHON</i> if at least two <i>WITH*</i> are defined. Note : compatible with old <i>plug-outs</i> without Php nor Python. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.3</b><br /> On <i>JavaSettings</i> add operations <i>isForcePackagePrefixGeneration</i> and <i>set_IsForcePackagePrefixGeneration</i>.<br /> On <i>CppSetting</i> add operations <i>builtinIn, builtinOut, builtinInOut</i> and <i>builtinReturn</i> taking a string in argument, if the argument is a type defined in the first tab of the 'generation setting' dialog the returned value is the parameter definition depending on the direction, else a empty string/null. Also add setter operations <i>set_BuiltinIn, set_BuiltinOut, set_BuiltinInOut</i> and <i>set_BuiltinReturn</i> taken in argument the type and the new parameter definition, add the type if it is not yet defined through the first tab of the 'generation setting' dialog. On <i>UmlBaseFragment</i> add operations <i>refer</i> returning the diagram referenced by the fragment or null, <i>arguments</i>, <i>covered</i> returning the list of covered instances (life lines).<br /> On <i>UmlBaseFragmentCompartment</i> add operations <i>startContinuation</i> and <i>endContinuation</i>.<br /> Add two pseudo message kinds in <i>aMessageKind</i> : <i>aDestruction</i> and <i>anInteractionUse</i>. The pseudo message corresponding to an interaction use is produced in the corresponding fragment and for only one of the covered instances. In these two new cases the operation <i>to()</i> returns as <i>from()</i><br /> Note : even the python management is not done in <i>plug-outs</i>, you must define <i>WITHPYTHON</i> when your <i>plug-out</i> is implemented in C++ and you defined <i>WITHCPP WITHJAVA WITHPHP</i> and <i>WITHIDL</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.5.1</h3>September, 8th 2008<br /><br /> <ul> <li> Some files like <i>.boumlrc</i> are created into your <i>home directory</i>, unfortunatelly under Windows some users have a wrong configuration (for instance the value of the environment variable <i>HOMEPATH</i> is empty) and the <i>home directory</i> is not writable. In this case the value of the environment variable <i>USERPROFILE</i> is used to specify the <i>home directory</i>. <br /><br /></li> <li> In the previous releases, to hide <u>all</u> the attributs/operations of a class in a class diagram through <i>individual attribute/operation visibility</i> and setting <i>specify visible member rather than hidden ones</i> didn't have effect, fixed. <br /><br /></li> <li> Fixing in the operation dialog similar to the one made in the Java generator, see below <br /><br /></li> <li> When <u>only one</u> target language is selected, when you modify the operation parameters through the associated dialog, the definition for the target language is now also updated (in the previous versions you had to add/remove/modify parameters by hand in the tab associated to the target language). However I encourage you to continue to check the definition for the target language after modifying the parameters (mainly for C++ where modifiers are produced depending on the parameter types and directions).<br /> If you don't like this feature, just set another language through the menu <i>Languages</i>. <br /><br /></li> <li> <b>Java Generator 2.16.1</b><br /> In the previous releases, when the description or the definition of an operation defined in an interface or an @interface contains a '{', this character was replaced by a ';' and the code generation of the operation was stopped even when this '{' didn't correspond to the beginning of the body. Now this management is done only for the first '{' placed after <i>${)}</i>. <br /><br /></li> <li> <b>XMI2 Generator 1.5.9</b><br /> Fixings concerning sequence and communication diagram export <br /><br /></li> <li> <b>Global change 1.1.1</b><br /> A <i>tab</i> can be specified (out of stereotype) through \t like a return is specified through a \n. <br /><br /></li> <li> <b>Project synchro 1.2.2</b><br /> <b>Project control 1.2.2</b><br /> <b>Java Reverse 2.12.3</b><br /> <b>Java Catalog 2.11.3</b><br /> To use <i>USERPROFILE</i> when the user configuration specify an invalid <i>home directory</i> under Windows. </li> </ul> <br /><br /> <h3>4.5</h3>August, 26th 2008<br /><br /> <ul> <li> <font color="red">Previous releases may crashs when you load a project containing a modeled class instance (part of the browser) having a relation valuing a deleted modeled class instance (deletion was made in a previous session) </font>, fixed. <br /><br /></li> <li> Add Java generation setting <i>force package prefix generation</i>. This setting is set by default for compatibility with previous releases. <br /><br /></li> <li> <b>Java Generator 2.16</b><br /> In the previous releases the name of a referenced class was prefixed by its package when it is not part of the current package even if you asked for <i>import</i> generation through <i>dependencies</i> stereotyped <i>import</i>.<br /> Now a referenced class is not prefixed by its package when the class or its package is imported and <i>force package prefix generation</i> is not set. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.4.3</h3>August, 16th 2008<br /><br /> <ul> <li> <font color="red">Previous releases may crashs when you load a project containing modeled class instances (part of the browser) specifying value for relation(s) </font>, fixed. <br /><br /></li> <li> Add keywords <i>${v<n>}</i> to generate operation parameter default value in Python like for C++ and Php. <br /><br /></li> <li> Modify management of asynchronous call in sequence diagrams using overlapping <i>activity bars</i> : an <i>activity bars</i> is now created on the receiver side like for synchronous calls. <br /><br /></li> <li> Sometimes the width of some duration bars in sequence diagrams became too fine, fixed. <br /><br /></li> <li> <b>Python Generator 1.0.4</b><br /> To manage keywords <i>${v<n>}</i> <br /><br /></li> <li> <b>XMI2 Generator 1.5.8</b><br /> To generate communication diagrams (not managed by XMI import).<br /> To generate sequence diagrams (not managed by XMI import). The result is unspecified in case of non consistent diagrams or diagrams not using overlapping <i>activity bars</i> or when an asynchronous call doesn't create a new overlapping <i>activity bars</i> on the receiver side.<br /> Bug fixed by Plug-out upgrade. <br /><br /></li> <li> <b>Html documentation Generator 2.13.5</b><br /> Spelling (<i>attribut<b>e</b></i>) <br /><br /></li> <li> <b>Plug-out upgrade 1.12.2</b><br /> In C++ the operation <i>UmlBaseFragment::container()</i> of the <i>plug-outs</i> may return a non initialized value, fixe this problem. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Bug fixed by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>4.4.2</h3>July, 14th 2008<br /><br /> <ul> <li> Improve performances of the modeler to diminuish execution time of deletions. <br /><br /></li> <li> <b>XMI2 Generator 1.5.7</b><br /> To generate import and extend forms rather than dependencies between use cases if needed (already managed by XMI import).<br /> To generate extension points.<br /> To generate associations between use cases and actors extracted from use case diagrams (not managed by XMI import). <br /><br /></li> <li> <b>XMI2 Import 1.2.11</b><br /> To import extension points. </li> </ul> <br /><br /> <h3>4.4.1</h3>June, 29th 2008<br /><br /> <ul> <li> Add keywords <i>${v<n>}</i> to generate operation parameter default value in C++ and Php. <br /><br /></li> <li> Improve performances of the modeler to diminuish execution time of some operations. <br /><br /></li> <li> <b>C++ Generator 2.12.7</b><br /> <b>C++ Reverse 2.9.2</b><br /> <b>Php Generator 1.4.3</b><br /> <b>Php Reverse 1.2.1</b><br /> <b>Uml projection 1.0.1</b><br /> <b>Html documentation Generator 2.13.4</b><br /> To manage keywords <i>${v<n>}</i> <br /><br /></li> <li> <b>Use case wizard 1.1.1 (C++ version)</b><br /> Get character set from file <i>.boumlrc</i> rather than from environment variable <i>BOUML_CHARSET</i>. </li> </ul> <br /><br /> <h3>4.4</h3>June, 10th 2008<br /><br /> <ul> <li> To manage case of users strangly killing Bouml execution the first time it asks for environment definition. Yes, some users did that ... sigh. <br /><br /></li> <li> New <i>drawing setting</i> named <i>Show stereotype properties</i> allowing to show or not the <i>tagged values</i> associated to a stereotype. By default they are not shown.<br /> The values are shown in a note attached to the stereotyped element, except for the attributes and operations of classes in a class diagram whose are shown inside the class itself. <br /><br /></li> <li> new macro <i>${nAME}</i> producing <i>artifact</i>'s name converted to lower case. <br /><br /></li> <li> <b>Php Generator 1.4.2</b><br /> <b>Python Generator 1.0.3</b><br /> <b>Idl Generator 2.9.3</b><br /> To manage <i>${nAME}</i> <br /><br /></li> <li> <b>Java Generator 2.15.2</b><br /> To manage <i>${nAME}</i>.<br /> Now the dependencies stereotyped <i>import</i> also apply on the classes declared <i>external</i>. <br /><br /></li> <li> <b>C++ Generator 2.12.6</b><br /> To manage <i>${nAME}</i>.<br /> To not generate extra ',' when actual(s) are missing for parameterized class binding (formal(s) have default value) <br /><br /></li> <li> <b>Java Reverse 2.12.2</b><br /> <b>Java Catalog 2.11.2</b><br /> In the previous releases a form <i>T<...X...></i> produces a relation to the generic <i>T</i> when it is part of the reverse classes or known through a catalog. Now the form produces a relation to <i>X</i> if <i>X</i> is a known class and <i>T</i> is defined through the <i>generation setting</i> as the translation in Java of a relation/attribute stereotype (this is the case by default for <i>List</i> for instance) <br /><br /></li> <li> <b>Roundtrip body 1.7.1</b><br /> Explain why the body of an operation can't be updated. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.3.5</h3>May, 26th 2008<br /><br /> <ul> <li> The class diagram menu entry <i>Add classes of the selected class view</i> now also add the nested classes. <br /><br /></li> <li> Unselect elements in diagram before a copy into the clipboard. <br /><br /></li> <li> <b>C++ Generator 2.12.5</b><br /> fixe bug concerning classes declared external. </li> </ul> <br /><br /> <h3>4.3.4</h3>May, 18th 2008<br /><br /> <ul> <li> Bugs fixing concerning the attribute in class-stereotype. <br /><br /></li> <li> The files <i>.bouml .boumlrc</i> and <i>.bouml_shortcut</i> can't be read when the pathname of your <i>homedir</i> contains non latin1 characters, for instance under Linux when your login name use Cyrillic characters. Fixed. <br /><br /></li> <li> When a class instance is drawn in a diagram, <i>:</i> is now written even if the instance is anonymous.<br /> In an object diagram the instance name and class are now underlined. <br /><br /></li> <li> <b>Java Reverse 2.12.1</b><br /> <b>Java Catalog 2.11.1</b><br /> <b>Project synchro 1.2.1</b><br /> <b>Project control 1.2.1</b><br /> To manage <i>homedir</i> containing non latin1 characters. </li> </ul> <br /><br /> <h3>4.3.3</h3>May, 9th 2008<br /><br /> <ul> <li> To set the default screen through the environment dialog in case of a multiple screens usage wasn't effect, fixed <br /><br /></li> <li> Fixe problem in the help dialog. <br /><br /></li> <li> When a class stereotyped <i>typedef</i> is read-only and you edit it, the base type is empty in the tab UML and the code preview in C++ tab doesn't show the base type too. Fixed <br /><br /></li> <li> The forms <i>@{...}</i> are now substituted in the code generated for the <i>generalizations/realizations</i>. <br /><br /></li> <li> <b>Python Generator 1.0.2</b><br /> Fixe a bug in the computation of the dependencies to generate the <i>import</i> forms.<br /> To substitute forms <i>@{...}</i> in the code generated for the <i>generalizations/realizations</i>. <br /><br /></li> <li> <b>C++ Generator 2.12.4</b><br /> <b>Java Generator 2.15.1</b><br /> <b>Php Generator 1.4.1</b><br /> <b>Idl Generator 2.9.2</b><br /> To substitute forms <i>@{...}</i> in the code generated for the <i>generalizations/realizations</i>. </li> </ul> <br /><br /> <h3>4.3.2</h3>May, 5th 2008<br /><br /> <ul> <li> Modify the attribution of the socket port number used to exchange data between the modeler and the <i>plug-outs</i>. The goal is to solve problems with firewall sometimes blocking the <i>plug-outs</i>. <br /><br /></li> <li> In the previous releases some information was get from environment variables, for instance <i>BOUML_ID</i>. Now these informations are memorized in the file <i>.boumlrc</i> placed into the home directory, and set through a dedicated dialog called through the entry <i>Set environment</i> in the menu <i>Miscellaneous</i>.<br /> This dialog is automatically called in case <i>.boumlrc</i> doesn't exist, and of course the values set through the defined environment variables are proposed.<br /> The shortcuts are now saved in the file <i>.bouml_shortcuts</i> <br /><br /></li> <li> The chapter of the reference manual corresponding to the type of the element selected in the <i>browser</i> is now shown by using the <i>F1</i> key or the help menu (<i>About</i> dialog is now associated to the <i>F2</i> key).<br /> The chapter <i>starting</i> is used if no project is load, if nothing is selected in the <i>browser</i> the chapter <i>browser items</i> is used.<br /> The directory where the documentation is placed can be specified by setting the environment (see above), you can also indicate which navigator will be used to show the HTML pages.<br /> Two <i>setups</i> are now distributed for Windows, one of them install the documentation. <br /><br /></li> <li> When you add an inherited operation the new operation is set not abtract. If it is not empty the Php definition is now forced to contain <i>${body}</i>, to help in case the inherited operation is abstract. <br /><br /></li> <li> In the diagrams add <i>go up/down</i> to change a little the level of an element contrarilly to <i>upper</i> and <i>lower</i>.<br /> Of course you can define shortcuts to these new commands. <br /><br /></li> <li> <b>XMI2 Import 1.2.10</b><br /> Little improvements. <br /><br /></li> <li> <b>Project synchro 1.2</b><br /> <b>Project control 1.2</b><br /> To not use environment variables. You must use the new release of the modeler to create the file <i>.boumlrc</i> before using these tools. </li> </ul> <br /><br /> <h3>4.3.1</h3>April, 27th 2008<br /><br /> <ul> <li> When a <i>plug-out</i> is launch from an other one the trace is not cleared. It is also not cleared before the executions of the <i>check/init plug-out</i> associated to the stereotype. <br /><br /></li> <li> When an element stop to be stereotyped by a stereotype part of a profile, the properties associated to the stereotype are now removed. <br /><br /></li> <li> <b>XMI2 Generator 1.5.6</b><br /> To generate profile imports associated to dependencies stereotyped <i>import</i> between profiles.<br /> Upgraded by Plug-out upgrade. <br /><br /></li> <li> <b>XMI2 Import 1.2.9</b><br /> To manage import of profiles defined in another XMI file.<br /> Other little improvements.<br /> Upgraded by Plug-out upgrade. <br /><br /></li> <li> <b>C++ Generator 2.12.3</b><br /> Except if you explicitly ask for, the code generator tries to produce declarations in the header files and includes in the source files. Unfortunatelly this was also true for the template classes, fixed. <br /><br /></li> <li> <b>Plug-out upgrade 1.12.1</b><br /> Fixe operation <i>isToolRunning</i> defined on <i>UmlBaseItem</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>4.3</h3>April, 20th 2008<br /><br /> <ul> <li> When a diagram is read-only it is now possible to do some operations like to save it in a picture. <br /><br /></li> <li> In the previous releases the header file of a C++ class declared external in C++ was always included in the header file of the other classes whatever it is used (by reference or pointer, or by value). Now it is included in the source file if you explicitly ask for through a dependency, whatever it is used. Note this is the reverse for the classes non declared external.<br /> To not modify the behavior of the already existing dependencies to classes declared external, their definition is forced to <i>#include in header</i>. <br /><br /></li> <li> <b>XMI2 Generator 1.5.5</b><br /> To produce <i>constraints</i> <br /><br /></li> <li> <b>XMI2 Import 1.2.8</b><br /> To import <i>constraints</i> <br /><br /></li> <li> <b>C++ Generator 2.12.2</b><br /> To manage new behavior of dependencies to classes declared external. <br /><br /></li> <li> <b>Plug-out upgrade 1.12</b><br /> In the class <i>UmlBasePackage</i> the operation <i>findNamespace</i> is renamed <i>findCppNamespace</i>, the operation <i>findPackage</i> is renamed <i>findJavaPackage</i> and the operation <i>findModule</i> is renamed <i>findIdlModule</i>, <font color="#C05800"> If you call these operations you have to modify your code to use the new names</font>.<br /> In the class <i>UmlBaseOperation</i> add the operations <i>cppContextualBodyIndent, set_CppContextualBodyIndent, javaContextualBodyIndent, set_JavaContextualBodyIndent, phpContextualBodyIndent</i> and <i>set_PhpContextualBodyIndent</i>.<br /> In the class <i>PhpSettings</i> add the static operations <i>isGenerateJavadocStyleComment</i> and <i>set_IsGenerateJavadocStyleComment</i>.<br /> In the class <i>UmlBaseClass</i> add the static operation <i>findStereotype</i>.<br /> In the class <i>UmlBasePackage</i> add the static operation <i>updateProfiles</i>.<br /> In the class <i>UmlBaseItem</i> add the operation <i>applyStereotype</i>.<br /> In the class <i>UmlBaseFragmentCompartment</i> modify the C++ definition <i>texts()</i> to bypass Microsoft Visual C++ limitation. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> The previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.2.1</h3>April, 5th 2008<br /><br /> <ul> <li> In the previous release the python body of an operation was set when a <i>plug-out</i> asked for to set the Php body. Of course this was also the case for <i>php reverse</i> and <i>roundtrip body</i>. Fixed. <br /><br /></li> <li> In all the previous releases, when Bouml was compiled with a Qt3, when you opened a dialog from an other one, the first dialog was lowered, bypassed. <br /><br /></li> <li> Add <i>profile</i> management, refer to the <a href="doc/index_profile.html">documentation</a>.<br /> The profile imports from an other one are not yet managed.<br /> <font color="#C05800">Warning : only the properties associated to the profile can have a name containing two ':', the others will be removed</font>. <br /><br /></li> <li> When you import a project into an other one, the <i>plug-outs</i>, attribute and relation stereotype correspondences and the class stereotype correspondences between the languages are now also added when they don't yet exist. <br /><br /></li> <li> In the shortcut definition the key <i>Suppr</i> is renamed <i>Delete</i>. In the previous releases some shortcut definitions may be lost when you reload a project, fixed. <br /><br /></li> <li> Modify the header added (then remove) when you set <i>add operation profile on body edition</i> through the menu languages to help external editor (BOUML_EDITOR) to compute the indent. <br /><br /></li> <li> <b>Idl Generator 2.9.1</b><br /> To prefix the class names by their module if necessary.<br /> To not produce the ',' after the name of the last enumeration item <br /><br /></li> <li> <b>Python Generator 1.0.1</b><br /> Artifact's name was missing in some cases in the code generated to reference classes, fixed.<br /> Auto generation of import forms based on generalization, this means a generalization is also implicitly a dependency stereotyped <i>import</i>. <br /><br /></li> <li> <b>XMI2 Import 1.2.7</b><br /> In the previous releases nested components was imported out of the container component, fixed.<br /> To import <i>profiles</i> and <i>stereotypes</i>.<br /> To import <i>manifestations</i>.<br /> To manage files produced by Eclipse (aggregate definition on other relation side) <br /><br /></li> <li> <b>XMI2 Generator 1.5.4</b><br /> To produce <i>profiles</i> and <i>stereotypes</i>.<br /> To produce the associations between <i>artifacts</i> and other <i>artifact</i> or classes through <i>manifestations</i>.<br /> To optionaly generate relation as Eclipse (aggregate definition on other relation side)<br /> To allow to place <i><xmi:Documentation exporter="Bouml" ...></i> in comment else some tools refuse to import produced XMI or have problem after the import(for instance <i>Rational Software Architech</i>) <br /><br /></li> <li> <b>Html documentation Generator 2.13.3</b><br /> To produce <i>Profile/Stereotype</i> rather than <i>Package/Class</i> if needed. </li> </ul> <br /><br /> <h3>4.2</h3>February, 17th 2008<br /><br /> <ul> <li> Since the 4.0 it was not possible to modify the Php definition of an operation through a <i>Plug-out</i> without blocking it (including the Php reverse), fixed. <br /><br /></li> <li> New <i>drawing setting</i> named <i>show attribute initialization</i> allowing to write attribute initialization in a class picture in a class diagram. This setting have sense only when you also ask for to show the full members definition. By default this setting is set to false. <br /><br /></li> <li> Default operation parameter direction is now <i>in</i> rather than <i>inout</i>. <br /><br /></li> <li> <b>XMI2 Import 1.2.6</b><br /> Improve management of primitive types. <br /><br /></li> <li> <b>C++ Reverse 2.9.1</b><br /> To read anonymous namespaces (however they are not reported in the model). <br /><br /></li> <li> <b>Uml projection 1.0</b><br /> New <i>plug-out</i> setting the definitions/declarations with their default value according to the <i>generation settings</i>. Create also the necessary <i>deployment views</i> and <i>artifacts</i>.<br /> Typically used after an XMI import to project the imported model in the desired language.<br /> Refer to the <a href="doc/index_umlproj.html">documentation</a>. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.1</h3>February, 3th 2008<br /><br /> <ul> <li> When several <i>artifacts</i> have the same name and you edit a class, the shown <i>artifact</i> may not the right one, and if you change it the class may not be associated to the desired one, fixed. <br /><br /></li> <li> New <i>drawing setting</i> named <i>show members multiplicity</i> allowing to write attribute multiplicity in a class picture in a class diagram. This setting have sense only when you also ask for to show the full members definition and when the <i>drawing language</i> is UML. By default this setting is set to false. <br /><br /></li> <li> New <i>drawing setting</i> named <i>max members width</i> allowing to limit attribute and operation width to a given number of characters. When the number of characters needed by an attribute or an operation is greater than <i>max members width</i>, the string is cut to <i>max members width</i> characters and "..." is added. Note : the optionally written visibility and stereotype are not taken into in the member width. <br /><br /></li> <li> <b>XMI2 Import 1.2.5</b><br /> Spaces are replaced by '_' in the name of an imported class, attribute or relation.<br /> Fixe bug on operation parameter multiplicity reading. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>4.0</h3>January, 27th 2008<br /><br /> <ul> <li> In the previous releases the position of the <i>use cases</i> in a <i>use case diagram</i> may not be the right one when you re-open the diagram and the zoom is not 100%, or when you change the zoom later, fixed. <br /><br /></li> <li> It was possible to move in the browser an element by <i>drag&drop</i> into a <i>read-only</i> one, fixed. <br /><br /></li> <li> Add management of <b>Python</b><br /> Currently the scope of Python is not as large as it is for C++ and Java, for instance there is no Python definitions in the state machine and activities because this seems useless. <br /><br /></li> <li> In the previous releases a class was always drawn as an actor in a <i>use case diagram</i>, now this is just the default and a class can be drawn as a class (without members), or using boundary, control or entity icon.<br /> <font color="#C05800">The name of use case is not anymore a separated label and the size of an actor now depend on its name, so, the position of the incoming and outgoing arrows and the position of the name will be impacted.</font> <br /><br /></li> <li> <b>Python Generator 1.0</b><br /> New <i>plug-out</i> generating code for Python.<br /> Refer to the <a href="documentation.html">documentation</a>. <br /><br /></li> <li> <b>Roundtrip body 1.7</b><br /> To roundtrip Php bodies.<br /> Follow the new API. <br /><br /></li> <li> <b>C++ Generator 2.12</b><br /> <b>C++ Reverse 2.9</b><br /> <b>Java Generator 2.15</b><br /> <b>Java Reverse 2.12</b><br /> <b>Java Catalog 2.11</b><br /> <b>Php Generator 1.4</b><br /> <b>Php Reverse 1.2</b><br /> <b>Idl Generator 2.9</b><br /> <b>Plug-out upgrade 1.11</b><br /> Follow the new API. <br /><br /></li> <li> <i>Plug-out upgrade</i> and other <i>Plug-outs</i> will be upgraded later to manage Python.<br /> A <i>reverse</i> for Python will be available later. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.5</h3>January, 14th 2008<br /><br /> <ul> <li> When Qt is compiled with g++ option <i>-fno-exception</i> BOUML may crash on exit after an error, or after the execution of a <i>plug-out</i> in batch mode when the option <i>-exit</i> is given. Bypassed. <br /><br /></li> <li> Extra comment was produced in <i>getter</i> and <i>setter</i> when the associated attribute or relation definition contents a comment (this means comment marks are directly placed in the definition), fixed. <br /><br /></li> <li> In the previous releases <i>${value}</i> doesn't produce the '=' in an attribute or relation initialisation. The '=' is now produced except if :<ul> <li> the value starts by '=' (may be after spaces)</li> <li> a '=' is placed before <i>${value}</i> (may be with spaces between them)</li> <li> in C++ if the value starts by '=' (may be after spaces) to take into account a call of a constructor</li> </ul> <br /><br /></li> <li> New <i>generation setting</i> allowing to produce <i>javadoc</i> style comments in Php. <br /><br /></li> <li> <b>Php Generator 1.3</b><br /> To produce <i>javadoc</i> style comments. <br /><br /></li> <li> <b>C++ Generator 2.11.2</b><br /> <b>Java Generator 2.14.2</b><br /> <b>Idl Generator 2.8.3</b><br /> To follow the new behevior of <i>${value}</i> <br /><br /></li> <li> <b>Java Reverse 2.11.1</b><br /> <b>Java Catalog 2.10.3</b><br /> In the previous releases the default visibility for the members of an interface was <i>package</i> like for the 'standard' classes rather than <i>public</i>, fixed. <br /><br /></li> <li> <b>C++ Reverse 2.8.1</b><br /> In previous releases a <i>typedef</i> used a <i>realization</i> rather than a <i>dependency</i> to reference a base class, fixed.<br /> To accept an extra comma after the last item of an <i>enum</i>. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.4.1</h3>December, 31th 2007<br /><br /> <ul> <li> Default <i>getter</i> and <i>setter</i> definition was wrong in Java and C++ when the associated attribute/relation produces an array (because of its multiplicity), fixed.<br /> Furthermore in this case the <i>setter</i> definition in C++ stops to use a <i>memcpy</i>, and now copy the elements one by one. <br /><br /></li> <li> In the relation dialog the new button <i>association</i> allows to create a new class and set the value with it, or in case the value is a class to select it in the browser (like for the button <i>type</i> in the attribute dialog). <br /><br /></li> <li> <b>C++ Generator 2.11.1</b><br /> <b>Java Generator 2.14.1</b><br /> <b>Php Generator 1.2.1</b><br /> <b>Idl Generator 2.8.2</b><br /> When a class or an artifact have an empty definition the message contained the name of the element without its kind, this was disturbing in case the class and the artifact have the same name. Now the message indicates if the problem concerns the class or the artifact. <br /></li> </ul> <br /><br /> <h3>3.4</h3>December, 16th 2007<br /><br /> <ul> <li> <font color="red">Previous releases crash when you start to draw an association part of the model (not an <i>anchor</i> for instance) in a diagram and you use one of the buttons allowing to change the zoom</font>, fixed. <br /><br /></li> <li> It is now possible to ask for to not add the indent dependent on the context when the body of an operation is produced. This feature is mainly added to simplify the work of the reverses and to preserve the original indent of the reversed operations.<br /> By default the indent depend on the context, this means for instance depend on the indent of its class. <br /><br /></li> <li> <b>C++ Reverse 2.8</b><br /> <b>Java Reverse 2.11</b><br /> <b>Php Reverse 1.1</b><br /> <b>Roundtrip body 1.6</b><br /> To ask for to not add the indent dependent on the context when the body of an operation is produced. <br /><br /></li> <li> <b>C++ Generator 2.11</b><br /> <b>Java Generator 2.14</b><br /> <b>Php Generator 1.2</b><br /> To manage body indent not dependent on the context. <br /><br /></li> <li> Remark : Bouml is now also available on <a href="http://sourceforge.net/projects/bouml" target="_blank">source forge</a> <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.3.5</h3>December, 10th 2007<br /><br /> <ul> <li> The stereotype of an attribute was not copied to its <i>getter</i> and <i>setter</i>, fixed. <br /><br /></li> <li> <font color="blue">Now when you create a new project the <i>generation settings</i> in Java use <i>generics</i></font>, for that by default :<ul> <li> the UML stereotypes <i>list, set</i> and <i>map</i> produce <i>List, Set</i> and <i>Map</i> in Java,</li> <li> the attributes and relation definition in Java contains <i>${stereotype}<${type}></i> when the multiplicity is * or a form <i>a..b</i> whatever <i>a</i> and <i>b</i> are.</li> </ul> <br /><br /></li> <li> <b>C++ Reverse 2.7.2</b><br /> Previous releases may crash reaching a premature end of file, fixed.<br /> Fixing in the reverse of an operation having at least one parameter being a pointer to an operation having itself one parameter being an array. <br /><br /></li> <li> <b>Java Reverse 2.10.2</b><br /> <b>Java Catalog 2.10.2</b><br /> Previous releases may crash reaching a premature end of file, fixed. <br /><br /></li> <li> <b>C++ Generator 2.10.1</b><br /> <b>Java Generator 2.13.1</b><br /> <b>Php Generator 1.1.1</b><br /> <b>Idl Generator 2.8.1</b><br /> An extra line break was generated at the end of a non null comment when the form <i>${comment}</i> or <i>${description}</i> is placed at the end of the declaration/definition, fixed. </li> </ul> <br /><br /> <h3>3.3.4</h3>November, 21th 2007<br /><br /> <ul> <li> <font color="red">Previous releases crash on undo when the diagram contains a <i>constraint</i></font>, fixed. <br /><br /></li> <li> A <i>plug-out</i> can now access to <i>semantic</i> informations not present in the model out of the drawing in <i>use case, collaboration</i> and <i>sequence</i> diagrams.<ul> <li> <i>use case diagram</i> : access to <ul> <li> the <i>uses cases</i>, <i>actors</i>, <i>subjects</i> and <i>fragments</i> present in the diagram,</li> <li> the association between <i>actor</i> and <i>uses case</i> indicating if the <i>actor</i> is a primary or secondary <i>actor</i> in the association, </li> <li> the <i>subject</i> and <i>fragment compartment</i> where the <i>uses cases</i> is drawn if this is the case</li> </ul> Note that other data like inheritance between <i>use cases</i> are part of the model.</li> <li> <i>collaboration diagram</i> : access to <ul> <li> the <i>class instances</i> present in the diagram,</li> <li> the messages between instances, ordered on the rank</li> </ul></li> <li> <i>sequence diagram</i> : access to <ul> <li> the <i>class instances</i> and <i>fragments</i> present in the diagram,</li> <li> the messages between instances ordered on the sending time (vertical position in the diagram), </li> <li> the <i>fragment compartment</i> where a message is sent,</li> <li> the <i>fragment compartment</i> where the fragments may be drawn and the <i>text</i> may be placed in the <i>fragments compartment</i> (corresponding to a guard of a <i>fragment alt</i> for instance)</li> </ul></li> </ul><br /></li> <li> <b>Plug-out upgrade 1.10.2</b><br /> To access to the <i>semantic</i> informations from a <i>use case, collaboration</i> and <i>sequence</i> diagrams, through the new operation <i>definition</i> defined on <i>UmlBaseCollaborationDiagram, UmlBaseSequenceDiagram</i> and <i>UmlBaseUseCaseDiagram</i>.<br /> A new <i>package</i> named <i>Diagram</i> is created to place the new classes supporting these informations under the <i>packages API BASE</i> and <i>API USER</i> <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. </li> </ul> <br /><br /> <h3>3.3.3</h3>November, 21th 2007<br /><br /> <ul> <li> <font color="red">Previous releases crash when you add a reflexive message on a life line in a sequence diagram (this means not on a duration bar)</font>, fixed. </li> </ul> <br /><br /> <h3>3.3.2</h3>November, 11th 2007<br /><br /> <ul> <li> Add missing relations when you open a diagram having the <i>drawing settings 'draw all relations'</i> valuing <i>yes</i>. <br /><br /></li> <li> In a <i>component diagram</i> when you move a containing <i>component</i> its nested <i>components</i> which intersect with it are also moved. <br /><br /></li> <li> In a <i>use case diagram</i> when you move a <i>subject</i> or a <i>fragment</i> the contained elements are also moved. <br /><br /></li> <li> If the element selected in the <i>browser</i> appears in the current diagram, the menu of the diagram (called by a right mouse click out of any element in the diagram) proposes to find the browser element in the diagram, this allows to select the representation(s) of the element in the diagram. <br /><br /></li> <li> <b>Html documentation Generator 2.13.2</b><br /> Export properties (<i>tagged values</i>) </li> </ul> <br /><br /> <h3>3.3.1</h3>November, 5th 2007<br /><br /> <ul> <li> <font color="red">Previous release crashes when you transform a sequence diagram containing <i>fragment separator</i> to use flat/overlapping <i>activity bars</i></font>, fixed. </li> </ul> <br /><br /> <h3>3.3</h3>November, 4th 2007<br /><br /> <ul> <li> <font color="red">Previous releases may crash when you ask for replace a class instance in a <i>sequence</i> or <i>collaboration diagram</i> but there is no available class instance</font>, fixed.<br /><br /></li> <li> Default <i>getter</i> and <i>setter</i> definition was wrong in Java when the corresponding attribute is initialized, fixed. <br /><br /></li> <li> <i>dependency</i> and C++ :<ul> <li> When you edit a <i>dependency</i> just after its creation, the C++ definition was shown as <i>#include in source</i> but the <i>#include</i> was produced in the header file (supposing you don't edit the relation or don't valid the edition), fixed. </li> <li> In the previous releases, when you created a <i>dependency</i> the C++ definition produced the <i>#include</i> in the header file, but by default when you edit a relation to be a <i>dependency</i> the C++ definition produces the <i>#include</i> in the source file. Now, a newly created <i>dependency</i> produces the <i>#include</i> in the source file to follow the same rule in all the cases. </li> </ul><br /></li> <li> <i>sequence diagram</i> :<ul> <li> Add explicit reflexive return <img src="images/selfreturnmsg_button.png" alt="" border="0" /> </li> <li> Add overlapping <i>activity bars</i> <img src="images/overbar.png" alt="" border="0" /> </li> <li> By default the newly created <i>sequence diagrams</i> use the overlapping <i>activity bars</i>, but of course the existing diagrams don't use them. </li> <li> A diagram using overlapping <i>activity bars</i> can be transformed to use flat <i>activity bars</i>, and <i>vice versa</i>. The overlapping level introduced by a reflexive message is propaged to the next messages, you may have to add explicit returns before transforming flat <i>activity bars</i> to overlapping ones. Known problem : the <i>fragments 'alt'</i> are not taken into account by the transformation, cutting first the <i>activity bars</i> crossing over the separators may help for. The transformation is not undoable, to save the project before may be a good idea ! </li> <li> in a diagram using overlapping <i>activity bars</i>, the reception of a synchronous message create a new overlapping <i>activity bars</i>, this is not the case for the reception of an asynchronous message (but you can ask for to create an overlapping <i>activity bars</i> through the menu of the message). </li> <li> in a diagram using overlapping <i>activity bars</i>, a reflexive synchronous messages is always at the beginning of an <i>activity bars</i> and a reflexive returns at the end, you can't move them. </li> <li> Like for the previous releases, I prefer to offer a high level of flexibility in the construction of the <i>sequence diagrams</i>, rather than to limit the available modifications or to modify the diagram may be by deleting messages in order to always have a consistent diagram. To quickly modify a diagram, may be to fixe unconsistencies, several facilities are available to change the start or end of a message to the parent <i>activity bars</i> or a new overlapping <i>activity bars</i>, or to collapse an <i>activity bars</i> with its parent <i>activity bar</i>. </li> </ul><br /></li> <li> Add <i>C++/Java/Php roundtrip operation body</i> in the available shortcuts <br /><br /></li> <li> Character and background color for texts in diagrams (button <i>abc</i>) can be changed. By default a text is written in black and doesn't have background (it is transparent).<br /> Warning : in an SVG export the background color applied on all the rectangle sizing the text rather than on the background of the characters. <br /><br /></li> <li> The color of the character for the notes in diagrams can be changed. By default a note is written in black. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.2.1</h3>October, 24th 2007<br /><br /> <ul> <li> <font color="#C05800">Previous version modify the position of the labels in the diagrams in some cases</font>, fixed. <br /><br /></li> <li> When you edited operation body through shortcut or context menu with <i>add operation profile on body edition</i> set, the operation profile was not be showed, fixed. </li> </ul> <br /><br /> <h3>3.2</h3>October, 21th 2007<br /><br /> <ul> <li> The SVG produced for a <i>component diagram</i> contained floating point numbers. Depending on the settings associated to your country, the representation of a float can uses a ',' rather than a '.', not compatible with SVG. Now all the produced numbers are integers. <br /><br /></li> <li> Add <i>xml:space="preserve"</i> in the SVG text forms, at least to indent arguments given on several lines in a <i>sequence diagram</i>. <br /><br /></li> <li> It was not possible to add a <i>state diagram</i> icon and an <i>activity diagram</i> icon in a <i>state diagram</i>, <i>component diagram</i>, <i>sequence diagram</i>, <i>collaboration diagram</i>, <i>object diagram</i>, <i>use case diagram</i>, <i>deployment diagram</i> and <i>activity diagram</i>. Fixed. <br /><br /></li> <li> The interfaces provided and required by a nested subcomponent are automatically provided and required by the direct container component, but this didn't work for more levels, fixed. <br /><br /></li> <li> In a <i>sequence diagram</i>, the arguments given on several lines are shown pseudo centered, fixed. <br /><br /></li> <li> It was not possible for a <i>component</i> to require and provide the same interface, this limitation is removed. <br /><br /></li> <li> Modify the component dialog to set the <i>realizing classes</i> (wrongly labeled <i>realized classes</i> in previous releases) in a dedicated tab rather than to set them with the <i>provided classes</i>. <br /><br /></li> <li> <b>Plug-out upgrade 1.10.1</b><br /> <font color="#C05800">Since Bouml 2.28 the activities are not added, fixed.</font><br /> Rename the operation <i>UmlBaseComponent::realizedClasses</i> to <i>realizingClasses</i>. Warning, doesn't modify the exiting calls of <i>realizedClasses</i>. Rename the parameter <i>realized</i> of the operation <i>UmlBaseComponent::set_AssociatedClasses</i> to <i>realizing</i><br /> Add operation <i>PhpSettings::classUmlStereotype</i>.<br /> Add operations <i>UmlBaseItem::isMarked</i>, <i>UmlBaseItem::set_isMarked</i>, <i>UmlBaseItem::markedItems</i>, <i>UmlBaseItem::referencedBy</i>, <i>UmlBaseState::set_AssociatedDiagram</i>, <i>UmlBasePackage::loadProject</i>, <i>UmlBasePackage::saveProject</i> and <i>UmlBasePackage::isProjectModified</i> if they are not defined. <br /><br /></li> <li> <b>Html documentation Generator 2.13.1</b><br /> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>.pro Generator 2.1.3</b><br /> Add <i>WITHPHP</i> if at least two <i>WITH*</i> are defined. Note : compatible with old <i>plug-outs</i> without Php. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.1</h3>October, 14th 2007<br /><br /> <ul> <li> Since the 3.0 when you load a project <i>Java management and default definition</i> is forced to false if <i>Php management and default definition</i> is not set, fixed. <br /><br /></li> <li> Add <i>force body generation</i> flag on the operations to allow to generate their body even if <i>preserve operation's body</i> is set.<br /> Usefull to generate the implementation of the <i>state machines</i> in all the cases. <br /><br /></li> <li> <b>Java Generator 2.13</b><br /> <b>C++ Generator 2.10</b><br /> Fixe the indent of the first item of an <i>enum</i> itself embeded in an other class.<br /> To manage operations having their body generated even if <i>preserve operation's body</i> is set. <br /><br /></li> <li> <b>Php Generator 1.1</b><br /> To manage operations having their body generated even if <i>preserve operation's body</i> is set. <br /><br /></li> <li> <b>State machine generator 1.4</b><br /> To set <i>force body generation</i> on the produced operations.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>Roundtrip body 1.5</b><br /> To not change the body of the operations having <i>force body generation</i> set. <br /><br /></li> <li> <b>Global change 1.1</b><br /> To manage Php definitions.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>Html documentation Generator 2.13</b><br /> To generate Php definitions.<br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> <b>Plug-out upgrade 1.10</b><br /> To add missing vector allocations in Java definitions.<br /> To add Php management and <i>force body generation</i>.<br /> Note : you must define <i>WITHPHP</i> when your <i>plug-out</i> is implemented in C++ and you defined <i>WITHCPP WITHJAVA</i> and <i>WITHIDL</i>. <br /><br /></li> <li> <i>Plug-out</i> <b>empty</b><br /> Upgraded by <i>plug-out upgrade</i>. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>3.0.2</h3>October, 9th 2007<br /><br /> <ul> <li> <font color="red">Since 2.32.1 Bouml crash when you add a non self transition</font>, fixed.<br /><br /></li> <li> <font color="red">Since 3.0 moving or copying an operation from a class to another class may destruct its body</font>, fixed.<br /><br /></li> <li> <b>Roundtrip body 1.4</b><br /> <b>Plug-out upgrade 1.9</b><br /> Fixe a problem in the new API between the modeler and the <i>plug-outs</i> (doesn't concern the other <i>plug-outs</i> nor the users ones). <br /><br /></li> <li> <b>State machine generator 1.3.3</b><br /> Management of consecutive <i>pseudo states</i> (for instance <i>choices</i>) was wrong, fixed.</li> </ul> <br /><br /> <h3>3.0.1</h3>October, 8th 2007<br /><br /> <ul> <li> <font color="red">Previous releases may crash during a save</font>, fixed. <br /><br /></li> <li> <b>Php Reverse 1.0.1</b><br /> The name of the produced artifact contained the reversed file extension, fixed.<br /> To manage file names containing a dot, ie having more than the dot separating the name and the extension. <br /><br /></li> <li> <b>Java Reverse 2.10.1</b><br /> <b>Java Catalog 2.10.1</b><br /> <b>C++ Reverse 2.7.1</b><br /> <b>Project synchro 1.1.2</b><br /> <b>Project control 1.1.1</b><br /> To manage file names containing a dot, ie having more than the dot separating the name and the extension. </li> </ul> <br /><br /> <h3>3.0</h3>October, 7th 2007<br /><br /> <ul> <li> Add management of <b>PHP 4</b> and <b>5</b><br /> Currently the scope of PHP is not as large as it is for C++ and Java, for instance there is no PHP definitions in the state machine and activities because this seems useless. <br /><br /></li> <li> Now the <i>tabs</i> dedicated to a given language are not shown in the dialogs when you don't ask for its management through the menu <i>Languages</i>. <br /><br /></li> <li> <b>Java Reverse 2.10</b><br /> <b>Java Catalog 2.10</b><br /> Since Bouml 2.31.2 the simple inheritances produce <i>realization</i> stereotyped <i>bind</i>, fixed.<br /> Follow the new API. <br /><br /></li> <li> <b>Php Generator 1.0</b><br /> New <i>plug-out</i> generating code for PHP.<br /> To produce definition without visibility compatible with PHP 4, remove <i>${visibility}</i> in the <i>generation settings</i> and in the definitions made before, or set the visibility to <i>package</i> at the UML level.<br /> Refer to the <a href="documentation.html">documentation</a>. <br /><br /></li> <li> <b>Php Reverse 1.0</b><br /> New <i>plug-out</i> reversing PHP code.<br /> Refer to the <a href="documentation.html">documentation</a>.<br /> To test the reverse I applied it on the sources of <a href="http://www.joomla.org/" target="_blank">Joomla 1.5RC2</a>, this produces almost 600 classes. <br /><br /></li> <li> <b>Roundtrip body 1.3</b><br /> To roundtrip Php bodies.<br /> Follow the new API. <br /><br /></li> <li> <b>Java Generator 2.12</b><br /> <b>C++ Generator 2.9</b><br /> <b>C++ Reverse 2.7</b><br /> <b>Idl Generator 2.8</b><br /> Follow the new API. <br /><br /></li> <li> <i>Plug-out upgrade</i> and the other <i>Plug-outs</i> will be upgraded later to manage Php. <br /><br /></li> <li> Because the format of the BOUML files is changed, the previous releases of BOUML cannot read a project saved with this version. Obviously this release is able to read the projects made by previous releases of BOUML.</li> </ul> <br /><br /> <h3>Previous releases</h3> <a href="historic_old.html">Historic of releases 2.x and 1.x</a>