BOUML Changelog

What's new in BOUML 7.9

Jan 15, 2021
  • When you opened a project with definitions for MySql you could have the error noaction is not a MySqlRefOption, fixed. (see Erreur : noaction is not a MySqlRefOption).
  • In the editor of an operation for C++ add the check boxes volatile value, const value and const expr value all managed through the keyword ${typeprefix}, and a tab to specify formal parameters.
  • Warning the keyword ${typeprefix} is only present by default in the models created from that version of Bouml. If you expect it in your existing projects you have to add it in the default operation C++ declaration/definition in the generation settings and in the existing C++ operation declaration/definitions. (see C++ function/member templates).
  • C++ Generator 5.4
  • C++ Reverse 5.5
  • C++ Roundtrip 5.5
  • Manage the new features for C++
  • Plug-out upgrade 6.9
  • Add the the operations isCppVolatileValue, set_isCppVolatileValue, isCppConstValue, set_isCppConstValue, isCppConstExprValue, set_isCppConstExprValue, formals, removeFormal, addFormal and replaceFormal on the class UmlBaseOperation.
  • Html documentation Generator 6.5
  • Upgraded by plug-out upgrade.
  • Plug-out empty
  • Upgraded by plug-out upgrade.
  • 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.

New in BOUML 7.8 (Oct 25, 2018)

  • When you import a project as library or update an already imported project as library, the path of the imported project is saved/updated to be proposed at the next updates.
  • (see Improve importing libraries).
  • 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.

New in BOUML 7.7.1 (Jul 28, 2018)

  • When you edit a class instance having at least a sub composite diagram or a part/role instance, the menu of the button class: didn't contain the entry select in browser, fixed.
  • The labels associated to the ports in a class diagram disappeared after an auto layout until you asked for label default position on each port, fixed.
  • In a diagram if you moved a port on an other side of its support then you undo the move with a crtl-z, the labels of the port no longer followed the port during the next moves and if you asked for label default position on that port the labels where duplicated, fixed

New in BOUML 7.7 (Jul 20, 2018)

  • Add default stereotype edition for the object composite diagrams
  • In the browser allow to reorder class composite diagrams in classes, part/role instances and object composite diagrams in class instances, ports in parts/roles and part/role instances, and connectors in parts/roles and part/role instances and port instances
  • Allow to drag a port from browser and drop it in a class composite diagram / object composite diagram, mainly to draw it after you removed it
  • Add remove from diagram in the menu of a port reference in a composite diagram
  • It is not anymore possible to remove port in a class diagram, this was incoherent with the drawing settings hide ports
  • The ports/roles/parts/connectors/composite diagrams are now managed by the plug-outs
  • 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.
  • Plug-out upgrade 6.8:
  • Add the classes UmlBasePort, UmlPort, UmlBasePortRef, UmlPortRef, UmlBaseRolePart, UmlRolePart, UmlBaseRolePartInstance, UmlRolePartInstance, UmlBaseConnector, UmlConnector, UmlBaseClassCompositeDiagram, UmlClassCompositeDiagram, UmlBaseObjectCompositeDiagram, UmlBaseCompositeDiagram, UmlConnectable and UmlPortRefOwner.
  • Html documentation Generator 6.4:
  • Upgraded by plug-out upgrade.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.

New in BOUML 7.6 (Jun 13, 2018)

  • To edit a read-only profile produced a crash, fixed. (see Crash selecting "Edit" on imported libary pkg).
  • To edit messages in a communication diagram while at least one has an explicit message (not associated to an operation) produced a crash, fixed.
  • The name of a subject must be written at the top left corner rather than centered on the top, fixed. (see Use case diagram - where is system boundary?).
  • Add roles/parts, connectors and composite diagrams. A composite diagram can also be cloned into the dedicated compartment of a class or a class instance.
  • The ports/roles/parts/connectors/composite diagrams are not yet managed by the plug-outs and the documentation is not yet updated. (follow BOUML on twitter @_BoUML_)
  • 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.

New in BOUML 7.5 (Apr 16, 2018)

  • Having a relation between the classes A and B and that relation being an association-class where the class is B, when you deleted B a crash occurred, fixed. (see Diagramme de classes : destruction d'une classe ).
  • In the previous release it wasn't possible to edit a directional relation when the end class was read only, fixed. (see Can't modify dependencies to library class or New lock/unlock bugged feature).
  • 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.
  • A class can now have ports. Add the drawing setting hide ports for the classes to hide or show them, by default there are shown:
  • When you edit a port the default list of provided/required classes is set when you changed the type of a port or you use the button default list in the corresponding tab.
  • By default the realized interfaces are the type of the port in case it is an interface and the interfaces it inherits (through generalization or realization), and the used interfaces are the interfaces designated by the type of the port via dependencies stereotyped use.
  • If the port is non conjugated the realized classes are provided and the used classes are required, else it is the reverse.
  • By default the names of the provided/required classes are written on the same line, but it is a text area so you can resize it.
  • Through the tabs Used classes and Realized classes the list of used/realized classes can be modified.
  • Warning, these listes are not updated when you modify the inheritences/dependencies or modify the stereotype of the classes, you have to do that by yourself if needed.
  • Currently the plug-outs cannot access to the ports.

New in BOUML 7.4 (Mar 12, 2018)

  • Add lock on class and artifact. A locked element cannot be modified editing it nor roundtriped, and there is no code generation for it:
  • When you put/unput a lock on a class it is also put/unput on its sub classes and on the associated artifact and all the other classes associated to this artifact and their sub classes. When you put/unput a lock on an artifact it is also put/unput on the associated classes and their sub classes. It is also possible to put/unput locks recursively from a package, a class view and a deployment view. (see lock classe/artifact).
  • Add an option in the global menu Miscellaneous to change the zoom with the wheel in a diagram, by default the wheel acts on the vertical scrollbar:
  • Like it was already the case in the previous releases when the mouse is on a scroolbar of the zoom indication the wheel acts on it. (see zomm sur molette plutôt que déplacement).
  • C++ Generator 5.3:
  • C Generator 1.2
  • Java Generator 5.4
  • Idl Generator 5.2
  • Python Generator 5.2
  • Php Generator 5.4
  • MySQL Generator 1.3
  • C++ Rountrip 5.4
  • Java Catalog 5.4
  • Java Roundtrip 5.4
  • Php Roundtrip 1.2
  • Disable the code generation and roundtrip on the locked classes/artifacts.
  • C++ Reverse 5.4:
  • Java Reverse 5.4
  • Php Reverse 5.4
  • In the previous releases you indicated directory or directories and all the sub files having the right extensions was reversed. Now you can also indicate the files to reverse, and only them will be reversed, these files must be selected in the same directory except for C++ for whose you select separately the header then sources files allowing them to be in two different directories.
  • When you apply the reverse for files on a package specifying a directory for the corresponding language, that directory will be the default one for the file browser. For C++ this concerns the directory for headers and the directory for sources.
  • Contrarily to the reverse directory/directories and the roundtrips, the package is not updated to set the directory indication(s) for the language.
  • Roundtrip body 5.2:
  • In the previous releases the roundtrip body only was applied on the artefact, or on the sub artefact in case you started it on a package or a deployment view, and the operations of all the classes associated to the reached artefacts was updated. Now you can also start it on a class or on a class view. When you apply it on a class having an associated artifact the body of the operations of that class and its sub ones will be updated. When you apply it on a class view the body of the operations of the sub classes and their sub classes will be updated. Now when you apply it on a package the body of the operations of the classes associated to the sub artefact and their sub classes will be updated, more the ones of the classes reach recursively. (see permettre le roundtrip body dans la définition des classes).
  • Plug-out upgrade 6.7:
  • Add the operation isLocked to the classes UmlBaseClass and UmlBaseArtifact.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.
  • 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.

New in BOUML 7.3 (Dec 29, 2017)

  • 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.
  • In the previous versions the menu Add inherited operation filtered the static operations, this is not anymore the case, to distinguish them they are written underlined. (see Inherited functions in PHP).
  • Add trait management:
  • A class stereotyped trait produces a trait rather than a standard class.
  • A generalization to a trait from a class/trait produces a use form at ${member} generation, rather than a standard extend/implement. You can edit the generalization definition typically to add insteadof or as forms.
  • (see PHP Traits).
  • Plug-out upgrade 6.6:
  • Add the operations traitDecl and set_TraitDecl to the class PhpSettings.
  • Html documentation Generator 6.5:
  • Updated by Plug-out upgrade.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.
  • Php Generator 5.3
  • Php Reverse 5.3
  • Php Roundtrip 1.1
  • Manages the trait

New in BOUML 7.2 (Nov 20, 2017)

  • On several kinds of item in the browser some menu entries was missing when the the entry Select in active diagram was not proposed, typically the entries associated to the marks, fixed. (see "move marked into" ne fonctionne plus pour les packages).
  • Add custom drawing settings for the classes in the class diagrams. To save the drawing settings used by the representation of a class in a class diagram do a right mouse clic on it and select the entry save as in the sub menu Custom drawing settings, then name it through the dialog. To apply a custom drawing settings on a class in a class diagram do a right mouse clic on it and select the corresponding entry in the sub menu Custom drawing settings. To apply a custom diagram settings on several classes shown in the same diagram select them then do a right mouse clic on it and select the corresponding entry in the sub menu Custom drawing settings. (see Custom Drawing Settings).
  • 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.
  • C++ Reverse 5.3.2 / C++ Roundtrip 5.3.2:
  • Corrects two bugs (see Not generated in C++ lost after a "Roundtrip" and How to modify parameter passing type)

New in BOUML 7.1.3 (Oct 24, 2017)

  • In Php the artifact definition has the new keyword ${use} to generate the forms use defined through dependencies between classes. For the artifact associated to the class A, a dependency stereotyped use from A to the class B and having a non empty definition in Php produces use B; (B may be prefixed by its package like for any other reference of B in the generated code). For the artifact associated to the class A, a dependency stereotyped use-as XYZ from A to the class B and having a non empty definition in Php produces use B as XYZ; (B may be prefixed by its package like for any other reference of B in the generated code). Warning the keyword ${use} is only present by default in the models created from that version of Bouml. If you expect it in your existing projects you have to add it in the default artifact definition in the generation settings and in the artifact definitions.
  • Php Generator 5.2.1:
  • Generates the forms use.
  • When force namespace prefix generation is not set via the generation settings, the namespace is not generated for the classes having a form use generated from a dependency, furthermore the aliase is used for the classes having a form use-as generated from a dependency.
  • The generator checks that the forms use produced from the dependencies are not already present as textual form in the artifact definitions or already generated through an other dependencies, to not generate them several times.

New in BOUML 7.1.2 (Sep 23, 2017)

  • Php allows an operation to be both static and abstract but this is not allowed by Bouml for which these indicators are exclusive:
  • A new checkbox static&abstract is added in the tab Php of the operation editor, it sets the operation static (allowing to see its name underlined) and replace the keyword ${abstract} by abstract in its Php definition, allowing to generate the expected source code. The opposite changes are done when you unset the checkbox .
  • Warning, to set or unset the checkbox abstract in that case will have no impact in the generated code while the operation definition contains abstract rather than ${abstract}.
  • Php Reverse 5.2.2, Php Roundtrip 1.0.1:
  • Now when an operation is both static and abstract the reverse and roundtrip set it static and in the operation definition the keyword ${abstract} is replaced by abstract

New in BOUML 7.1.1 (Sep 14, 2017)

  • When an element was associated to a diagram (allowing to open the associated diagram when you double click on the element rather than to edit it) and you deleted the diagram then save the project without doing any change in the package where is the element (this implies the element and the associated diagram was not in the same package), a crash occurred later in an other session of Bouml using the project when you double click on the element or when you saved the project while any change was done in the package where the element is. Fixed.
  • Some menu entries were't translated in French, fixed.
  • Bouml can now be used in Dutch, many thanks to Johan van Breda for the translation, for that specify the file nl.lang setting the environment through the global menu miscellaneous then restart Bouml.
  • Bouml can also be used in Spain, many thanks to Federico Bernoldi for the translation, for that specify the file es.lang setting the environment through the global menu miscellaneous then restart Bouml.
  • C++ Reverse 5.3.1:
  • C++ Rountrip 5.3.1
  • The reverse/roundtrip could enter in an infinite loop when the last form in a file wasn't a C++ form but for instance the use of an identifier/macro of the preprocessor. Fixed.
  • Php Reverse 5.2.1:
  • In the previous versions the form use into a class definition wasn't expected, they produced a syntax error and aborted the reverse of the class, now they are supported by extra class members.
  • To set the Php source directory for the packages created during the reverse, try to use path relative to root directory if it is defined in the generation settings.
  • Php Roundtrip 1.0:
  • A Php roundtrip is now available.
  • Like for the other roundtrips to works it needs to know at uml-package level the path of directory where the Php generation is done. Because the directory paths wasn't set by the reverse in the previous releases, if your project was created by one of the old Php reverses you need to indicate at least the corresponding root directory in the generation settings or editing the toplevel uml-package containing the result of the reverse. In case at least a uml-package doesn't specify its directory path for Php a dialog will appears asking you to confirm to reverse all the files under it and its sub directories.

New in BOUML 7.1 (Sep 4, 2017)

  • When you edited a relation or attribute declared static this keyword wasn't produced in the C++ preview, fixed
  • Add extra artifact definitions, there are for the artifacts what the extra class members are for the classes, so they allow the artifacts to generate non class definitions/declarations around the classes.
  • In the tree of elements the extra artifact definitions are children of the artifacts and are always associated to them. The dialog of an artifact allows to change the order of the generation of the extra artifact definitions among the classes, but you cannot unassociate them.
  • (see PHP Roundtrip).
  • Change a little the dialog reverse/roundtrip settings to separate the filtering and extension parts for clarity reasons.
  • 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.
  • Php Reverse 5.2:
  • The reversed classes can now be separated by non class forms thanks to the extra artifact definitions.
  • The uses placed before the first class definition was taken into account but not placed into the artifact definition, now there are present.
  • The unknown interfaces are now stereotyped interface.
  • Of course follows the new API.
  • Plug-out upgrade 6.5:
  • Add classes UmlBaseExtraArtifactDefinition and UmlExtraArtifactDefinition with their members and associated artifact.
  • In the class UmlBaseArtifact the operation associatedClasses is renamed associatedElements and the operation set_AssociatedClasses is renamed set_AssociatedElements, these operations now use a vector of UmlItem rather than of UmlClass to manage both UmlClass and UmlExtraArtifactDefinition rather than only UmlClass.
  • Html documentation Generator 6.4:
  • Updated by Plug-out upgrade. Manages the extra artifact definitions
  • Plug-out empty
  • Upgraded by plug-out upgrade.
  • C++ Generator 5.2
  • C Generator 1.1
  • Java Generator 5.3
  • Idl Generator 5.1
  • Python Generator 5.1
  • Php Generator 5.2
  • MySQL Generator 1.2
  • Manage the extra artifact definitions.
  • Of course follows the new API.
  • C++ Reverse 5.3
  • C++ Rountrip 5.3
  • Java Reverse 5.3
  • Java Catalog 5.3
  • Java Roundtrip 5.3
  • Mysql Reverse 1.2
  • Roundtrip body 5.1
  • Follows the new API, these reverse/roundtrip do not create nor update extra artifact definitions

New in BOUML 7.0 (Jun 6, 2017)

  • BOUML is free again. This release is identical to release 6.12 except that there is not anymore license management, nor license server, nor viewer.
  • Obviously this release is able to read the projects made by previous releases of BOUML.

New in BOUML 6.12 (Mar 13, 2017)

  • When moving a package or other container in a diagram some line breaks placed into the container wasn't moved, there are moved now.
  • Allow to add additional header and source extensions for the C++ reverse/roundtrip through Edit reverse/roundtrip settings.
  • 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.
  • C++ Reverse 5.2:
  • C++ Roundtrip 5.2.
  • Manage additional header and source extensions.
  • Plug-out upgrade 6.4:
  • Add operations headerAdditionalExtensions, set_HeaderAdditionalExtensions, sourceAdditionalExtensions and set_SourceAdditionalExtensions to the class CppSettings

New in BOUML 6.11.4 (Nov 2, 2016)

  • When you saved the content of the trace window through the button Save the result was wrong except if you previously closed it then reopened it, fixed.
  • Corrected some typos in the English version.
  • C++ Reverse 5.1.8
  • C++ Roundtrip 5.1.7
  • Corrected some typos

New in BOUML 6.11.3 (Sep 18, 2016)

  • Html documentation Generator 6.3.1 - The option -tag wasn't taken into account in all cases, fixed. (see HTML Doc generator , new option, accented characters, french).

New in BOUML 6.11.2 (Aug 29, 2016)

  • Since the release 6.11 when you just created a project and create a diagram and add elements these ones do not appears. This problem disapears when you change the format (IsoA4 by default) or save then reload the project. Fixed.

New in BOUML 6.11.1 (Jun 4, 2016)

  • The position of a stereotype/label of a relation/transition/flow could not be updated when you changed the geometry, fixed.
  • Modify the drawing of the grid in diagrams, using cross rather than lines, to be less obtrusive.

New in BOUML 6.11 (May 30, 2016)

  • It is now possible to specify a custom size for the diagrams, between 400 and 40000 for the width and the height.
  • XMI2 Export 5.1 - The encoding (UTF8 or Latin1/ISO-8859-1) was wrongly managed, fixed.
  • Html documentation Generator 6.3 - It is now possible to specify if the export is done in UTF8 or Latin1/ISO-8859-1.
  • After the optional options -flat and -avg you can now use the option -utf8 or -latin1 to specify the encoding, without the option the encoding is asked.
  • The encoding is only managed by the C++ version of the Html generator
  • 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.

New in BOUML 6.10.1 (May 30, 2016)

  • For a user of Bouml under Windows 10 the buttons browse do nothing in case they apply on a directory, it is the case for instance in the tab Directory of the dialog to set the generation settings. I cannot understand why for that user QFileDialog::getExistingDirectory does not work in the default mode using the native dialog (here the one of Windows 10). To bypass that problem and be able to choose to use the Qt dialog rather than the native dialog, a new option is added in the environment, see Directory dialog in the dialog of the environment, called through the entry Set environment of the global menu Miscellaneous. Recall, the environment options are associated to the users, and saved in their .boumlrc file, they are not saved into the project files.
  • In case you set the font size to a high value through the entry Font size of the global menu Miscellaneous, in some tables like for the dialog of the tools settings the cells could be too small to write the characters or icons correctly, fixed.
  • C++ Reverse 5.1.7
  • Java Catalog 5.2.1
  • Java reverse 5.2.1
  • Php Reverse 5.1.1
  • To use the native or Qt dialog to choose the directory, depending on the environment option.

New in BOUML 6.10 (Jan 6, 2016)

  • Add the management of the static inner classes in Java:
  • When you load a project made by a older version of Bouml the keyword ${static} is automatically added in the default Java definition of the classes (including interface and enum) into the generation settings and in the Java definition of the existing classes (including interface and enum), but of course it is only usefull for inner ones.
  • Java Generator 5.2, Java Catalog 5.2, Java reverse 5.2, Java roundtrip 5.2:
  • Management of static inner classes.
  • Plug-out upgrade 6.3:
  • Add operations isJavaStatic and set_isJavaStatic to the class UmlBaseClass
  • Html documentation Generator 6.2:
  • Updated by Plug-out upgrade. Manages the Java static classes.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.
  • 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.

New in BOUML 6.9.2 (Dec 15, 2015)

  • The menu of a class stereotyped table in a class diagram was wrong, fixed. (see Context menu in diagrams).

New in BOUML 6.9.1 (Oct 30, 2015)

  • When Php is the alone language set through the list in the global menu Languages and you add a new parameter to an operation entering its name but not its type, the keyword ${v} was inserted two times for the new parameter in the default definition, fixed. This bug was introduced in the release 6.0. (see PHP function)

New in BOUML 6.9 (Oct 19, 2015)

  • Adds two new generation settings for Php:
  • parameters are typed : if set ${t} are added by default in the definition of the parameters of the operations.
  • out/inout parameters are references : if set a & is added in the definition of the parameters having the direction is in or inout (see PHP function)
  • In the already existing project these two settings are set to false by default, when your create a new project they are set to true by default
  • Manages two new features of PHP 7:
  • the value type of an operation can be indicated, to generate that type just add ${type} after ${)} (it is possible to place spaces/tabs/return between these two forms). By default when you create a new project ${type} is present in the default definition of an operation through the generation settings of Php, you have to add it if expected in the already created projects.
  • the group in the forms use, this concerns only the Php reverse
  • Php Generator 5.1
  • Php Reverse 5.1
  • Html documentation Generator 6.1
  • Manage the new features
  • Plug-out upgrade 6.2
  • Add operations isParametersTyped, set_IsParametersTyped, isOutInoutParametersByReference and set_IsOutInoutParametersByReference on class PhpSettings
  • 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.

New in BOUML 6.8.8 (Aug 28, 2015)

  • Idl Generator 5.0.5:
  • When a typedef is based on a textual type this last wasn't translated if needed into the IDL type, for instance ulong was generated rather than unsigned long, fixed. (see second part of IDL typedef generation fails)

New in BOUML 6.8.7 (Aug 24, 2015)

  • Idl Generator 5.0.4:
  • The types nested in an other type wasn't generated, fixed. (see IDL typedef generation fails)
  • The value of the constants attributes wasn't generated, fixed. (see IDL generator doesn't assign a value to a constant declarati)

New in BOUML 6.8.6 (Jun 22, 2015)

  • In some cases like adding in a diagram an element having a stereotype part of a profile without a dedicated icon, the error doesn't exist or is not a know image format occurs. Fixed.

New in BOUML 6.8.5 (May 11, 2015)

  • When you saved a project the indication not null was forget for the columns also in auto increment, fixed.

New in BOUML 6.8.4 (Apr 11, 2015)

  • XMI2 Export 5.0.3:
  • annotatedElement was missing in the generation of comments, fixed.
  • XMI2 Import 5.0.6:
  • To import comments with (or without) annotatedElement.

New in BOUML 6.8.3 (Mar 23, 2015)

  • C Generator 1.0.1:
  • Correct the generation of the dependency.

New in BOUML 6.8.2 (Mar 19, 2015)

  • This release only exists for MacOS X and is only usefull for Yosemite (10.10.2):
  • Under Yosemite (10.10.2) the C function setenv is bugged and cannot allow to modify the environment variable PATH. Because of that when you wanted to execute a plug-out like for instance a code generator nothing happened and you had the error message connexion timeout after few seconds.
  • This release allows to bypass this problem.

New in BOUML 6.8.1 (Mar 19, 2015)

  • In Php the definition of a getter/setter was wrong when the associated attribute/relation is static, fixed.

New in BOUML 6.8 (Feb 23, 2015)

  • The images placed in diagrams through the button image button can now be resized, even if they was added in diagrams by a previous release of Bouml.
  • When an image is resized its ratio height/width and the position of its center are unchanged.
  • When you move the mouse only the horizontal component is taken into account to compute the new size of an image.
  • On a multiple selection, when you ask for the elements to follow only the height of the first selected element, the selected images are unchanged. On a multiple selection, when you ask for to follow only the width of the first selected element, the height of the selected images are modified in case their width are changed.
  • To go back to the initial size of an image, edit it (for instance through a double mouse click on it) and validate.
  • Contains the corrected version of the plug-out 'empty'
  • 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.

New in BOUML 6.7.2 (Feb 9, 2015)

  • With previous releases when you export a diagram through a plug-out (for instance the HTML generator) and this diagram is open and you did some changes, the produced picture doesn't take into account these changes. Furthermore if you don't close the opened diagram after that, you can again open it (for instance through a double click on its representation in the browser) producing a second view of it, then if you close only one of these diagram views, a crash may occur later. Fixed. (see images not present in docuementation HTML)

New in BOUML 6.7.1 (Jan 12, 2015)

  • XMI2 Export 5.0.2:
  • The attribute and relations contraints was wrongly generated in the attribute/relation definitions, fixed.
  • XMI2 Import 5.0.5:
  • To import attribute and relations contraints out of attribute/relation definition. The constraints defined in attribute/relation definitions are still imported to be compatible with precious XMI generator versions.

New in BOUML 6.7 (Dec 8, 2014)

  • In a sequence/communication diagram a message can now be also the constructor/destructor of a directly inherited classe of the instance, and any other operation of the all the inherited classes of the instance independently of the fact they are redefined or not. To distinguish the operations when you edit a message, the class where an operation is indicated in the proposed operations list, except for the operations of the instance. The new drawing setting show class of operations allows to show the name of the class where an operaton is defined in the messages of a sequence/communication diagram. This option has no effect while show operations full definition is not set. When it is shown the name of the class is followed by '.' before the name of the operation when the drawing setting show message context is Java or Python, else it is followed by '::'.
  • 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.

New in BOUML 6.6.3 (Oct 27, 2014)

  • C++ Generator 5.1.7:
  • In an artifact definition ${namespace} now produces the name of the current namespace (an empty string out of a namespace) also in the in the source file (it was already the case in the header file), ${NAMESPACE} does the same but in uppercase.

New in BOUML 6.4.7 (Oct 1, 2013)

  • To empty the body of an operation may not work (whatever the target labguage), fixed.

New in BOUML 4.22.2 (Jul 14, 2010)

  • When IDL was the alone selected language in the global menu languages and you added parameter(s) through the UML tab when editing an operation, random characters was inserted in the IDL declaration of the operation, fixed. (cf.) 

  • In the previous releases the default definition of a class in Php wrongly contained the keywords ${visibility} producing an invalid form in case the visibility is not package. This keywords isn't any more present when you create a new project, nor managed by code generator and reverse. (cf.) 

  • In the previous releases when you edited a relation the definition for the target languages was implicitly reinitialized to the default definition specified through the generation settings only when you changed the kind of the relation. Now this is the case each time the default definition associated to the new couple kind/multiplicity is not the same as the previous couple. (cf.) 
In the previous releases when you edited an attribute the definition for the target languages was never implicitly reinitialized. Now this is the case each time the default definition associated to the new multiplicity is not the same as the previous. 

  • It is now possible to move a state machine into an other state machine or a sub state of an other state machine. If the moved state machine is stereotyped machine the stereotype becomes submachine. (cf.) 

  • Php Generator 1.10.1
The generalizations / realizations and dependencies wasn't taken into account to compute the needed required_once list, this is the case now (when they have a non empty definition in Php). (cf.) 
Remove management of ${visibility} at class level. (cf.) 

  • Php Reverse 1.8.1
Remove management of ${visibility} at class level. (cf.) 

  • XMI2 Generator 1.14.1
In the previous releases the BOUML project-package produced both a XMI model and a package, now an option allows you to not generate the model level. (cf.)

New in BOUML 4.22.1 (Jun 24, 2010)

  • In release 4.22 the state activities wasn't written in the state diagrams, fixed. (cf.)

New in BOUML 4.22 (Jun 23, 2010)

  • It was not possible to reload a project where the associated diagram of a component is a deployment diagram, fixed. 

  • Each time you edited a dependency between a class and a package, import was again added in the proposed list of stereotypes, fixed. (cf.) 

  • Add Php 5.3 namespace management. (cf.) 
Like for the other language the namespace is specified at package level.
The generation of the namespace declaration in Php is done by an artifact containing ${namespace} in its Php definition, looking at the namespace may be specified in the package containing the deployment view containing the artifact (this is the case for the new projects, you have to add ${namespace} by yourself if you want this feature in your existing projects).
By default the Php code generator try to not generate namespace prefixes, if you want to always generate them set the generation setting option force namespace prefix generation. 

  • Add submachine state reference management. Only states without child except transitions and entry or exit pseudo states can be transformed into state reference or allow to change the referenced state by an other one. The referenced state is set/changed/removed by editing the (future) submachine state reference.
To add a connection point reference to a submachine state reference add an entry or exit point then edit it to specify the reference. 

  • Enter and Exit points can now be placed on the border of their state. 

  • The profiles of the operations proposed in a list now contain the container classes of the referenced nested classes. Previously it was not possible to differentiate for instance the operations void C1::f(C2::C) and void C1::f(C3::C) because they was both written void C1::f(C). (cf.) 

  • The shortcuts associated to the commands Edit and Menu are now active in diagrams. By default the shortcut to show the menu is the key return/enter, so if you select one element in a diagram and hit return/enter the menu associated to this element is shown, and if you select several elements in a diagram and hit return/enter the multiple selection menu is shown.
Add the shortcut command Diagram menu to ask for the menu of a diagram inside a diagram, this command do the same as if you unselect all elements in the diagram by doing a left mouse click out of any element then doing a right mouse click out of any element.
This changes are mainly dedicated to persons working with visioboard and having difficuties to do a double mouse click and to use the mouse right click (left click directly usable). 

  • It was not allowed to have several activity actions or activity nodes or activity objects or activity partitions or class instances or expansion nodes or expansion regions or flows or interruptible activity regions or parameter sets or pins or pseudo states or state actions or state regions or transitions having the same non empty name in the same container, this limitation is removed. (cf.) 

  • In the previous releases in C++ the visibility specifiers was indented with two spaces. Now you are able to set the expected indent through the generation settings. (cf.) 

  • You can now save the content of the trace window in a HTML file. 

  • Through the global menu miscellaneous you can now specify a root directory for the icons associated to the stereotypes or directly put in diagram. (cf.) 

  • Previously the icon associated to the stereotypes was specified through an absolute path or had to be find through the current directory whose depend on the way Bouml is started.
Now you are able to specify a path relative to the root directory for the icons or relative to the project directory. In case the path of an icon is not absolute, the icon are searched first using the root directory for the icons, then for compatibility reason using the current directory, then using the project directory. (cf.) 

  • You can now put icons in diagram independently of the use of stereotypes. (cf.)

New in BOUML 4.20 (Apr 19, 2010)

  • Remark : under Windows the png/svg exports of the diagrams don't work when they are done by a plug-out launched by -execnogui (they work with -exec)
  • Add constraint on activity and activity action.
  • Java Generator 2.20.1
  • Python Generator 1.4.1
  • when a nested class reference was produced the container class(es) name was missing and only the nested class's name was generated, fixed.
  • State machine generator 1.4.2
  • Add the operation doActivity() on the class representing the state machine, when you apply this operation the do activity of the current state is executed if it is not empty.
  • Html documentation Generator 2.19
  • XMI2 Generator 1.13
  • XMI2 Import 1.8
  • To manage constraint on activities and activity actions.
  • Plug-out upgrade 1.16.1
  • Previous release missed to change the call of UmlCom::bye in internal operation UmlBaseItem::read_(), fixed.
  • To manage constraint on activities and activity actions.
  • Plug-outempty
  • Upgraded by plug-out upgrade.
  • 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.

New in BOUML 4.19.3 (Apr 12, 2010)

  • Add the new keyword ${inverse_name} producing the name of the inverse role of a bi directional relation between classes.
  • When you apply a plug-out when Bouml is started with the option -exit, the return value of Bouml is the argument of the operation UmlCom::bye(). This value is 0 when you apply an old plug-out where bye doesn't have a parameter.
  • The return value is -1 if the plug-out execution can't be done or if the plug-out doesn't connect to the modeler in less than 30 seconds.
  • New option -execnogui, use it in place of -exec when you don't want to see the GUI when you apply a plug-out when Bouml is started.
  • In this case the messages normally written in the trace window are produced on stdout.
  • You have to kill the process Bouml by yourself if you use -execnogui without -exit.
  • Python Generator 1.4
  • Extends the auto generated import to the classes referenced by the attributes, associations and operations. Previously only the inherited classes and dependencies stereotyped import or from was taken into account.
  • Returns the number of errors through UmlCom::bye().
  • C++ Generator 2.16
  • C++ Reverse 2.13
  • C++ Roundtrip 1.1
  • Java Generator 2.20
  • Java Catalog 2.15
  • Java Reverse 2.15.1
  • Java Roundtrip 1.3
  • Idl Generator 2.13
  • Php Generator 1.8
  • Php Reverse 1.6
  • Roundtrip body 1.11
  • Returns the number of errors through UmlCom::bye()
  • Plug-out upgrade 1.16
  • To add a parameter of type int to UmlCom::bye, it will be managed as the return value of the plug-out, 0 means no error.
  • You have to add by yourself an argument to the calls of UmlCom::bye
  • Plug-outempty
  • Upgraded by plug-out upgrade.

New in BOUML 4.19.2 (Mar 29, 2010)

  • A crash could occurred when you opened a component diagram referencing through a required or provided relation a class deleted in a previous session, fixed.
  • When you closed Bouml though a shortcut (control-w by default) while an additional window like an artifact source windows was still open, Bouml crashed (without true consequence because if needed the previously load project was already saved), fixed.
  • fr.lang de.lang es.lang updated.

New in BOUML 4.19.1 (Mar 15, 2010)

  • Since release 4.17.1 a crash could occurred when you did some changes on a state present in an opened diagram but never visible because of the diagram dimensions and the position of the scrollbars, fixed.
  • C++ Roundtrip 1.0.4
  • Java Roundtrip 1.2.3
  • To not empty the stereotypes when this is possible.
  • Java Generator 2.19.2
  • To not duplicate imports both defined in artifact definition and through dependencies.

New in BOUML 4.18.2 (Feb 13, 2010)

  • The class instances wasn't filled with the expected color when you asked to not draw the shadow in a sequence or communication diagrams, fixed.
  • C++ Reverse 2.12.4
  • To set the C++ source and header directory for the additional packages created during the reverse because all classes defined in a given directory are not defined in the same namespace or some are defined in a namespace and some others are defined out of a namespace, try to use path relative to root directory if it is defined in the generation settings.
  • C++ Roundtrip 1.0.3
  • The roundtrip was perturbed by the use of namespaces and produced a wrong and inconsistent result.
  • In the previous releases of C++ reverse/roundtrip the C++ directory of source and header files wasn't set for additional packages created to manage several namespaces (see remark concerning thr reverse above), because of that the roundtrip may propose to delete classes defined under these packages. If you used previous releases of C++ reverse/roundtrip to reverse source codes using several namespaces in the same directory, or both classes in a namespace and other classes out of a namespace in the same directory, you need to check the C++ source and header directory specification on packages and if needed to replace the empty directory specifications by the right path.
  • To discard \r when comparing two strings to update or not an element.
  • Java Roundtrip 1.2.2
  • To discard \r when comparing two strings to update or not an element.
  • Uml projection 1.1.2
  • Projection to C++ missed to set C++ header definition on already existing artifacts, fixed.

New in BOUML 4.18.1 (Feb 8, 2010)

  • A crash could occur when you did some changes on relations used by 'modeled' class instances (non pure graphical class instances) or reload a project defining 'modeled' class instances, fixed.
  • In a class diagram when the drawing setting draw all relations was false the only way to show not yet drawn nesting relations was to set draw all relations to true, then to remove undesired shown relations. Now the menu of a nested class proposes to show the nesting relation when it is not yet drawn and the container class is present.
  • XMI2 Import 1.7.2
  • To replace newline by space in relations's name.
  • C++ Reverse 2.12.3
  • C++ Roundtrip 1.0.2
  • The name of the parameters of the operations must be the name specified in the definition when it is not empty, rather than the name given in the declaration (regression introduced when I added roundtrip).
  • The instantiation of a template class inside the declaration or the definition of its operations was reversed as the class itself (without actuals), fixed.
  • fr.lang updated.

New in BOUML 4.18 (Jan 25, 2010)

  • In the previous release changes done in an activity diagram may crashed the memory under Windows because of a bug in Microsoft Visual C++ compiler, this problem potentially also existed in other cases, bypassed.
  • I was forbidden to add a flow from an action to an object whose is control was false, fixed.
  • When you added a shortcut the indications control/shift/alt was removed when you specified the key in case the current line was the last (generally the case), fixed.
  • Add the new shortcut commands Open project, Print and Save as, default shortcuts are control o, control p and control shift s.
  • Also add default shortcut control p printing the active shown diagram.
  • Warning, the default shortcut to generate Php source is now control h rather than control p.
  • XMI2 Generator 1.12.2
  • Improvement to know if a flow is a control or an object flow.
  • C++ Generator 2.15.2
  • C++ Reverse 2.12.2
  • C++ Roundtrip 1.0.1
  • Java Generator 2.19.1
  • Idl Generator 2.12.1
  • Python Generator 1.3.1
  • Project control 1.2.4
  • Project synchro 1.2.3
  • XMI2 Import 1.7.1
  • File Control 1.0.5
  • Uml projection 1.1.1
  • Modified to not be potentially affected by Microsoft Visual C++ compiler bug.
  • fr.lang, de.lang and es.lang updated.
  • 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.

New in BOUML 4.17.1 (Jan 11, 2010)

  • A crash may occured when drawing a class instances non transparent and without drawing the shadows, fixed.
  • Under Windows the default language was wrongly set to Spanish in case you previously used a release older than the 1.15.1 and the environment variables LANG and LCID don't specify English or French, fixed.
  • Add related elements did nothing in a use case or deployment diagram, fixed.
  • When you manually resized an element in a diagram its self relations may be hidden depending on the position of the self relation and the used corner, fixed.
  • In a state diagram, when you added an element and it was automatically moved to be placed in its container, its self relations didn't follow it and their cut points was poorly placed, fixed.
  • When you add a container in a state or activity diagram and its possible container wasn't drawn but its sub elements was drawn, now the added container is automatically resized to contain its sub elements. To try to not poorly move already placed elements to force them to be inside the added container.

New in BOUML 4.17 (Jan 4, 2010)

  • A crash occured when you load an inconsistent model where two operations share the same internal identifier, fixed.
  • The optional parameters wasn't given to the init/check plug-outs associated to the stereotypes part of profiles, fixed.
  • The boxes representing the class instances was not produced in SVG when you didn't ask for to draw the shadows and they aren't transparent, fixed.
  • Add the new shortcut commands Optimal scale, Optimal window size, Zoom +, Zoom - and Zoom 100% for diagrams.
  • Also add control mouse wheel up/down management to increase / decrease the zoom.
  • In a diagram to move the mouse with the mid click pressed moves the viewport accordingly.
  • In a diagram add shift mouse wheel up/down management to scroll left/right (mouse wheel up/down already did scroll up/down).
  • Add the new shortcut commands Close and Quit to close the project or quit, default shortcuts are control w and control q.
  • When several resizable elements are selected in a diagram the multiple selection menu allows you to resize them to have the same width and/or height of the first selected element. Have associated shortcut commands (Same width, Same height and Same size)
  • It is now possible to have a class diagram under a use case or a use case view, this allows to define Iconix robustness diagram throw class diagram.
  • XMI2 Generator 1.12.1
  • The post condition of an activity actions was not exported, and the pre conditions wasn't exported when the post condition was empty, fixed.
  • C++ Roundtrip 1.0
  • New plug-out, please refer to the documentation.
  • C++ Reverse 2.12.1
  • For compatibility with the roundtrip now the #file property is get from the project package rather than in the package where you start a reverse.
  • To set the C++ source and header directory for the packages created during the reverse, try to use path relative to root directory if it is defined in the generation settings.
  • Java Roundtrip 1.2.1
  • Fixe bugs.
  • To set the Java directory for the packages created during the reverse even without associated Java package, try to use path relative to root directory if it is defined.
  • Java Reverse 2.15.1
  • Java Catalog 2.14.1
  • To set the Java directory for the packages created during the reverse even without associated Java package, try to use path relative to root directory if it is defined.
  • Plug-out upgrade 1.15.2
  • To allow to create a class diagram under a use case or use case view
  • Plug-outempty
  • Upgraded by plug-out upgrade.
  • es.lang added allowing to use the modeler in Spain, this work is in progress and some translations are still missing (in this case the English is used). Many thanks to Paulo Cesar Coronado for the translation. So you can currently choose between English, French German and Spain.
  • Recall : if you are volunteer to add the translation for a new language prevent me. The work consists to translate more than 2000 short sentences with a tool I developed for that (of course you don't have to change the sources of Bouml).
  • 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.

New in BOUML 4.16.4 (Dec 17, 2009)

  • Facilitates the adding in a diagram of a incoming/outgoing line (transition, flow ...) to/from a small item already having lines.
  • When you moved a decentered line having a geometry ( , , or ), the attached labels (name, stereotype ...) could be moved more than expected, fixed.

New in BOUML 4.13.1 (Jul 13, 2009)

  • 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
  • C++ Reverse 2.11.1
  • Java Reverse 2.14.1
  • Java Roundtrip 1.1.1
  • Java Catalog 2.13.1
  • Php Reverse 1.4.1
  • speed improvement

New in BOUML 4.12.4 (Jun 11, 2009)

  • Browser search allows now to search for elements depending on their stereotype.
  • The menu miscellaneous has the new toggle completion in dialog, 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 (combo box) 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.
  • Internal extension of the Plug-out API for Java Roundtrip.
  • C++ Generator 2.13
  • A dependency stereotyped friend produced a wrong code in case the target class was a template, fixed.
  • Follow the new API.
  • Plug-out upgrade 1.13
  • A crash occured when you upgraded an old plug-out without Python management, fixed.
  • Follow the new API.
  • Java Roundtrip 1.0
  • New plug-out, please refer to the documentation
  • C++ Reverse 2.10
  • Java Generator 2.17
  • Java Reverse 2.13
  • Java Catalog 2.12
  • Idl Generator 2.10
  • Php Generator 1.5
  • Php Reverse 1.3
  • Python Generator 1.1
  • Roundtrip body 1.8
  • Follow the new API.
  • XMI Generator 1.4.6
  • When a parameter of an operation doesn't have type the token UML:Parameter wasn't closed, fixed.
  • XMI2 Generator 1.10.2
  • The base type of a class stereotyped typedef is now produced in an extension form supposing you ask for them

New in BOUML 4.12.3 (May 11, 2009)

  • 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.
  • You can now close all the opened diagrams through the entry Close all added in the global menu Windows.

New in BOUML 4.12.1 (Mar 30, 2009)

  • When a class is associated to a relation (for instance in case of a class relation) and you deleted the class, the plug-out API operation UmlRelation::association() wrongly returned the deleted class, fixed.
  • 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 high-level transition from a composite state with a target inside the composite state. Fixed.
  • An auto scroll is now made if necessary when you move in a diagram the mouse with the center or right click down.
  • Python Generator 1.0.8:
  • When a class referenced an other one placed in the same python package, the python code generator wrongly produced . rather than .., fixed.
  • In the special case of the artifact is named __init__ this one is now not generated, this means . is produced
  • XMI2 Generator 1.10.1:
  • When you defined an association between a class and an actor an unexpected and inconsistent attribute was generated, fixed.

New in BOUML 4.12 (Mar 17, 2009)

  • 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, fixed.
  • When you duplicate an activity Bouml may crash, fixed.
  • 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, fixed.
  • In a state diagram it was possible to resize choices by selecting them with other elements and doing a rezise, same thing for decision and merge in an activity diagram, fixed.
  • The virtual desktop set through the environment dialog was not taken into account when you started Bouml, fixed.
  • Add new US diagram formats : Letter, Legal, Tabloid, Letter landscape, Legal landscape and Ledger.
  • Search and referenced by dialogs are now not modal, also add buttons to mark/unmark found elements.
  • It is now possible to add marked elements in class, use case, component and deployment diagrams though the diagram menu entry add marked elements.
  • 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.
  • 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.

New in BOUML 4.11 (Feb 16, 2009)

  • Add specification 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.
  • XMI2 Import 1.6:
  • Import specification on activity and state.
  • The previous releases force the roles of the relation, regions and entry/exit pseudo states to not be anonymous, not done anymore.
  • XMI2 Generator 1.10:
  • Html documentation Generator 2.17
  • Export specification on activity and state.
  • Plug-out upgrade 1.12.10:
  • Add the operations specification and set_Specification on UmlBaseActivity and UmlBaseState. Add the operation methods on UmlBaseOperation.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.
  • 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.

New in BOUML 4.10 (Feb 9, 2009)

  • Add accept call, reply, create object, destroy object, test identify, raise exception and reduce activity actions.
  • For Python a default definition of __init__ 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 super(classname, self).__init__()
  • In diagrams, now when you move a fragment the textes in collision follow it.
  • 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.
  • Python Generator 1.0.7:
  • when a class inherits other class(es) without defining __init__ its auto generated definition now contains super(classname, self).__init__()
  • Plug-out upgrade 1.12.9:
  • Bypass a bug on QVector assignment in Qt 2.3 (release used for Windows) by modifying UmlBaseComponent::set_AssociatedClasses(), UmlBaseArtifact::set_AssociatedClasses() and UmlBaseParameterSet::set_Pins()
  • Add accept call, reply, create object, destroy object, test identify, raise exception and reduce activity actions management.
  • To access/modify the new Python generation settings giving the default __init__ definition.
  • XMI2 Import 1.5:
  • XMI2 Generator 1.9
  • Forms produced / expected for provided and required interface and for realizing classes was not the right ones, fixed. Warning, the import of the forms produced by the previous releases is not managed.
  • Import / export of added activity actions.
  • Html documentation Generator 2.16:
  • Generate added activity actions
  • Produce the initialization of the attributes, relations and operation's parameters at UML level.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.

New in BOUML 4.9.3 (Jan 26, 2009)

  • 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.
  • Extends the referenced by 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.
  • Add management of ${type} for Php in operation, attribute and relation dialogs, a priori used in comment for instance php-comment forms. Note ${t} was already managed.
  • To establish through the generation settings a default description for the class, operation, attribute and relation using @return, @var and @access forms helps you to generate php-comments. Of course it is also possible to write a plug-out modifying the description to use these forms including @param depending on the element definition.
  • Php Generator 1.4.6:
  • Add management of ${type} in operation generation (other cases already managed), a priori used in comment for instance php-comment forms.
  • Php Reverse 1.2.2:
  • Parse comments to search for @param, @return, @var and @access forms.
  • Java Generator 2.16.6:
  • 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.
  • Now a ';' is produced and the generation continues after the first '}' placed after ${body}.
  • Html documentation Generator 2.15.1:
  • 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.

New in BOUML 4.9.2 (Jan 12, 2009)

  • A crash may occurred when you changed the drawing setting depending on the changes made before, fixed.
  • The Plug-out operation UmlBaseClass::isPythonExternal() returned if the class was external for Php rather then for Python, fixed.
  • Add management of ${association} in Python for relations and getters/setters associated to a relation.
  • 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.

New in BOUML 4.9.1 (Jan 6, 2009)

  • 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., fixed.
  • When you load a project the elements wrongly nested in a partition are automatically extracted to come back to a consistent project.

New in BOUML 4.9 (Dec 28, 2008)

  • 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 meta class), fixed.
  • 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, fixed.
  • Operation's parameters using accentued characters in their name or type was wrong written in diagrams and some dialogs and menus, fixed.
  • Add activity partitions (swimlanes), please refer to the documentation.
  • In state and activity diagrams it is now possible to resize forks and joins.
  • Check a property (tagged value) is present only one time when you valid the edition of an element.
  • Now Add inhnerited operations doesn't propose getter and setter operations of mother classes.
  • When you move an attribut or relation by drag&drop the associated getter and setter operations are now deleted (the marks allow to move an attribut or relation and its associated getter and setter operations).

New in BOUML 4.8.4 (Dec 8, 2008)

  • It is now possible to associate an icon to the stereotypes defined in a profile by specifying a picture file.
  • 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 drawing mode is natural, 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. These icons are not exported in SVG.
  • 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.
  • For a plug-out the picture path is attached to the property (tagged value) stereotypeIconPath of the class-stereotype.
  • It is possible to define a shortcut to do a browser search.

New in BOUML 4.8.3 (Nov 20, 2008)

  • Fix problems concerning the duplication of getters and setters
  • Bypass a bug in the Qt operation QCString::remove whose can indirectly produces a crash

New in BOUML 4.8.2 (Nov 12, 2008)

  • Html documentation Generator 2.14.2:
  • To also produce Python definitions.
  • Under Windows, for the C++ version, an extra dot may be added at the end of the selected directory's name returned by QFileDialog::getExistingDirector() (problem detected by a user when the directory path starts by //), add a hack to manage that.
  • .pro Generator 2.1.5:
  • Add the hask concerning the extra dot like for the Html generator.
  • Deploy 1.1:
  • Add Python management.
  • A class is deployed for a given language only when it is non external and has a non empty definition.
  • Classes stereotyped stereotype or metaclass are not deployed.
  • An associated artifact is created for a class only when it is deployed for at least one language.
  • Uml projection 1.1:
  • To manage Python
  • Plug-out upgrade 1.12.7:
  • To add operations to access / modify Python definitions.
  • Note : you must define the C++ preprocessor variable WITHPYTHON when your plug-out is implemented in C++ and you defined WITHCPP WITHJAVA WITHPHP and WITHIDL.
  • Plug-out empty:
  • Upgraded by plug-out upgrade.

New in BOUML 4.8.1 (Nov 4, 2008)

  • To modify through a plug-out some generation settings can produce a crash, fixed. You also have to fixe your plug-outs with plug-out upgrade.
  • Add meta classes management. A meta class is a class stereotyped metaclass.
  • Modify the way a stereotype extends a meta classe.

New in BOUML 4.8p1 (Oct 27, 2008)

  • 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, fixed.
  • To manage the special form used to initialize an enum item in Java (value given in parameter rather than throw an assignment).
  • On attribute and relation add the property modifiers derived, union (only active when derived is set), ordered and unique.
  • New drawing settings show attribute modifiers and show relation modifiers to how / hide property modifiers in class diagrams. By default property modifiers are not shown.

New in BOUML 4.7 (Oct 11, 2008)

  • 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.
  • A state region can now contain states (including initial and final), pseudo states and state actions.
  • Import generation settings now also import C++ include, Java import, Python import and Idl include definitions
  • Plug-out upgrade 1.12.4: Modify the type of the first parameter of the operation UmlBaseStateAction::create() to UmlItem.
  • Plug-out empty: Upgraded by plug-out upgrade.
  • 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.

New in BOUML 4.5 (Aug 28, 2008)

  • 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) , fixed.
  • Add Java generation setting force package prefix generation. This setting is set by default for compatibility with previous releases.
  • 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 import generation through dependencies stereotyped import.
  • Now a referenced class is not prefixed by its package when the class or its package is imported and force package prefix generation is not set.
  • 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.