BOUML Changelog

What's new in BOUML 7.11

Jan 15, 2021
  • The namespace of Php was missing among the allowed context list for the classes and packages, added.
  • ${stereotype} was not managed in the operation dialog, fixed. (see ${stereotype} non géré dans l'éditeur d'opération).
  • Php Generator 5.4.1
  • Php Reverse 5.4.1
  • Php Roundtrip 1.2.1
  • Add the management of <<< tag ... tag.
  • Add the management of the ellipsis in the parameter list of an operation.
  • Add the management of the ? before the type of a parameter or the return type of an operation (Php 8).
  • 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.10 (Sep 18, 2020)

  • The management of the actions about variables was wrong and close to the structural feature actions (see What is the semantics of UML's ReadVariableAction in BoUML?).
  • When you load a project these actions about variables are automaticaly transformed to equivalent structural feature actions.
  • State machine generator 5.0.1Add activity variables, and actions start object behavior, read self, read extent, reclassify object, read is classified object, start classifier behavior and right actions read variable value, clear variable value, add variable value, remove variable value.
  • It is possible to ask for to upgrade all the projects imported as library when starting BOUML using the option exec where the reference to the plug-out is replaced by update_imported_libs. (see Command line interface).

New in BOUML 7.9.1 (Mar 1, 2020)

  • C++ Reverse 5.6
  • C++ Roundtrip 5.6
  • Correction of two problems. (see Update BoUml-projects).

New in BOUML 7.9 (Jul 15, 2019)

  • 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 24, 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 disapeared 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
  • 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.
  • 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.6 (Jun 12, 2018)

  • To edit a read-only profile produced a crash, fixed.
  • 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
  • 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.
  • 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.
  • In the previous release it wasn't possible to edit a directional relation when the end class was read only, fixed.
  • 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.
  • 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.4 (Mar 11, 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.
  • 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.
  • 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.
  • 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 27, 2017)

  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • C++ Reverse 5.3.2
  • C++ Roundtrip 5.3.2
  • Corrects two bugs
  • 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.1.4 (Oct 25, 2017)

  • In Php the definition of a dependency stereotyped use or use-as XYZ between classes is now editable, typically to allow you to add a comment directly and/or through an alias (@{...}).
  • Php Generator 5.2.1
  • In the previous version the path in the generated use and use-as forms could be relative, this was wrong because the path must be absolute, fixed.
  • Manages free forms may be with alias (@{...}) in the definition of a dependency stereotyped use or use-as XYZ between classes.

New in BOUML 7.1.3 (Oct 22, 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 22, 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 wasn'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 (Aug 16, 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.
  • 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.
  • 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
  • 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.

New in BOUML 7.0.1 (Jun 30, 2017)

  • C++ Roundtrip 5.2.1:
  • Under Windows when you launch the C++ roundtrip from a package where the directory is specified (may be through th generation settings) and ended by a , the roundtrip wasn't able to find the source files, fixed.

New in BOUML 7.0 (May 31, 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. (see Line breaks will not be moved when moving packages).
  • Allow to add additional header and source extensions for the C++ reverse/roundtrip through Edit reverse/roundtrip settings. (see Multiple C++ header file extensions).
  • 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
  • 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.11.4 (Nov 1, 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 reopenned 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 5, 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 (see Custom paper size)
  • 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 (Mar 19, 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 5, 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 24, 2015)

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

New in BOUML 6.8.1 (Mar 9, 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.
  • see Resize Image )
  • 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.
  • plug-out 'Empty' - The generated code produced from this plug-out cannot be compiled in C++ nor Java because some definitions are erroned.. The archive empty.tar.gz contains a corrected version of this plug-out.

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.

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 '::'.
  • See Gestion des héritages dans les diagrammes de sequence
  • 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.4 (Oct 27, 2014)

  • This version only exist under Windows. Under Windows 8 the elements in the diagrams may be too small to contain the texts written in them, fixed.

New in BOUML 6.6.3 (Oct 27, 2014)

  • Under Windows the current directory is internaly set to the directory of the executable. This allows you to associate bouml.exe to the extension prj and start Bouml double clicking to a project file without having to use an intermediate bat file. See You don't have a licence message
  • 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.6.2 (Oct 27, 2014)

  • Java Catalog 5.1.1
  • Java reverse 5.1.1
  • Java roundtrip 5.1.1
  • Extends in generic definition wasn't set, e.g. I2 is lost in the form interface I1 ...
  • An unexpected ',' or '}' was present in enumeration's item definitions, fixed

New in BOUML 6.6.1 (Oct 27, 2014)

  • C++ Generator 5.1.6
  • C++ Reverse 5.1.6
  • C++ Roundtrip 5.1.6
  • Keywords override and final aren't present in operation definitions out of the class.
  • C++ Reverse 5.1.6
  • C++ Roundtrip 5.1.6
  • May wrongly place classes in namespace in case a reversed directory contains both classes in namespace and classes out of namespace, fixed.
  • Add management of C++11 initialisations using {}.
  • C++ roundtrip 5.1.6
  • When your roundtrip a class rather than its artifact or a view/package and the artefact manages several classes the roundtrip may wrongly detect an unexpected end of file, fixed.

New in BOUML 6.6 (Oct 27, 2014)

  • A crash could occurred when using C language, fixed.
  • Try to access to the online documentation when the documentation isn't installed or isn't specified in the environment through the global menu Miscellaneous. If the navigator isn't specified try to use firefox, under Windows if firefox isn't installed try to use internet explorer. See Help (F1) should just go to online location
  • You can now change the color of the inheritances shown in the class diagrams through the drawing settings, see Can we modify the colours of lines?
  • 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.5 (Mar 3, 2014)

  • ${extends} was missing in the default definition of an interface in Php, fixed.
  • Some operation like select all, zoom change and auto layout, written in sequence the documentation of each considered element slowing the operation, fixed.
  • Add C generation, see C Generator
  • Add management of Java 8 static and default operations on interfaces.
  • C++ reverse 5.1.5:
  • C++ roundtrip 5.1.5
  • Reverse and Roundtrip may enter in an infinite loop when reading >> (without space between the two >) in nested template definition, fixed.
  • Project control 5.0.2:
  • The Modified by indication may be wrong, fixed
  • XMI2 Import 5.0.3:
  • To import

New in BOUML 6.4.7 (Oct 1, 2013)

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

New in BOUML 6.4.6 (Oct 1, 2013)

  • The definition of the setter/getter wrongly contained the keyword ${thread_local} in case the definition of the associated attribute/relation also contained this keyword, fixed.

New in BOUML 6.4.5 (Oct 1, 2013)

  • A crash could occurred during or after an update imported library, this bug was introduced in the release 5.0 by the portage to Qt4, fixed

New in BOUML 6.4.4 (Oct 1, 2013)

  • In the past releases when you drag&drop a relation in a diagram linking elements drawn several times in the diagram it wasn't possible to decide between which elements the relation have to be drawn. Now if the extremities of the relation to draw are selected (only one time each) the relation is drawn between these elements, else a message appears to ask you to select the expected extremities.
  • C++ generator 5.1.5:
  • Java Generator 5.0.3
  • Idl Generator 5.0.3
  • Php Generator 5.0.3
  • Python Generator 5.0.3
  • MySQL generator 1.1.2
  • The forms @{xxx} was wrongly managed, fixed.
  • XMI2 Import 5.0.2:
  • Allows dots in xmi identifier

New in BOUML 6.4.3 (Oct 1, 2013)

  • C++ reverse 5.1.4:
  • C++ roundtrip 5.1.4
  • Operations could be wrongly declared inline or duplicated in template classes, fixed.
  • C++ generator 5.1.4:
  • In the previous releases the C++ declaration of an extra class member was always produced in the header file in case the class was a template class or a sub class of a template class. This is not the case now and the flag inline is followed without restriction.
  • Java Catalog 5.0.3:
  • Java reverse 5.0.2
  • Java roundtrip 5.0.2
  • The parameters of an operation being a multi dimensional array ([]...[]) was reversed as mono dimensional arrays ([]), fixed. Set also the multiplicity.
  • File Control 6.0:
  • Object and activity diagrams wasn't managed, fixed

New in BOUML 6.4.2 (Oct 1, 2013)

  • C++ reverse 5.1.3:
  • C++ roundtrip 5.1.3
  • Template formal parameters was wrongly reversed in case the type was not class, producing an empty type, fixed.

New in BOUML 6.4.1 (Oct 1, 2013)

  • Since at least Qt 4.8.1 in a text editor managing several lines the position of the cursor is wrong for the large fonts and doesn't correspond to the position where the characters are inserted/removed for instance, bypassed. This concerned Ubuntu Quantal Precise and Oneiric, Debian Wheezy and MacOS X.
  • In an activity/state diagram a right mouse click on the name of a flow/transition containing at leat one space and ten characters proposes you to set an expected maximal width (in number of characters). The name/definition is written on several lines if needed and cut on space(s) to try to respect the expected maximal width.
  • The menu of an instance in a communication diagram has the new sub-menus Add related modeled instance and Add related instance containing the classes referenced by the class of the current instance through a relation (except inheritances) including the inherited relations. Of course if you choose one of these classes a (modeled) instance of this class is added.
  • The menu of an instance in an object diagram has the new sub-menu Add related modeled instance containing the classes referenced by the class of the current instance through a relation (except inheritances) including the inherited relations. Of course if you choose one of these classes a modeled instance of this class is added.
  • C++ generator 5.1.3:
  • Java Generator 5.0.2
  • Idl Generator 5.0.2
  • Php Generator 5.0.2
  • Python Generator 5.0.2
  • MySQL generator 1.1.1
  • Since the use of at least Qt 4.8.1 the code generators wasn't able to generate accentued characters, fixed. This concerned Ubuntu Quantal Precise and Oneiric, Debian Wheezy, Open Suse 12.2 and MacOS X. (See Accentuées et génération de code)

New in BOUML 6.4 (Oct 1, 2013)

  • In the previous releases an operation of a template class was forced to be delared inline in C++, this is not the case now but these operations are inline by default.
  • C++ reverse 5.1.2:
  • C++ roundtrip 5.1.2
  • A && in the definition of an operation's parameter produced a syntax error, fixed. (See Retro ingeniering c++11)
  • Now it is not mandatory for an operation of a template class to be inline. (See templates et définitions)
  • C++ generator 5.1.2:
  • Now it is not mandatory for an operation of a template class to be inline. (See templates et définitions)
  • Html documentation Generator 6.0.1:
  • Add the option -tag_all, it is similar to the option -tag introduced in BOUML 6.2 but applies to any part rather than just the descriptions.
  • When the options -tag and -tag_all aren't used you can explicitly ask for to not protect sequences of characters placing them between and . (see HTML doc generator -- embedded html in desciption)
  • To force all the operations defined in a C++ template class to be inline when they was modeled by a previous release of Bouml it is necessary to change the format number. Because of that 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.3 (Oct 1, 2013)

  • An SVG file produced for a diagram by a plug-out through the operation UmlBaseDiagram::saveIn could have a wrong definition, fixed.
  • In the sub menu add inherited operation of a class's menu the abstract operations was replaced by an empty line, fixed.
  • The new drawing option color gradient allows to use a diagonal, vertical or horizontal gradient to colorize elements in a diagram. By default there is no gradient.
  • It is now possible to ask for to distribute the elements in a diagram to have the same horizontal or vertical distance between them.
  • Through the global menu miscellaneous you can now ask for to have a grid in the diagrams.
  • Add the option a type used by value in an operation profile forces its include in header in the generation settings for C++ (first tab in the editor). By default it is set to true for the old projects and to false when you create a new project. In the past versions of the C++ compilers a type used by value in the profile of an operation had to be known, this it not the case now.
  • C++ generator 5.1.1:
  • In the previous releases in case you used BOUML in French or Spanish a dependency produced the #include in the header file even you asked for to produce it in the source file. Fixed.
  • To manage the new generation setting a type used by value in an operation profile forces its include in header.
  • 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.2 (Oct 1, 2013)

  • A crash occurred when using the left arrow key being on the global menu project or the right arrow key being on the global menu help, fixed.
  • Under Ubuntu, depending on the current desktop theme/appearance the menus of Bouml could not be visible. For instance the default theme/appearance Ambiance produced a very bad result, while there was no problem with Clearlooks. Bypassed.
  • Under MacOS X in the previous releases the license file had to be placed among the executables in the directory bouml.app/Contents/MacOS, because of that each time you replaced your current release of BOUML by a new one you had to place again the license file in the right location. Now under MacOS X the license file is also search in the directory containing bouml.app (this means in the directory /Applications/bouml if you created the directory bouml under /Applications following the advice I give in the video), allowing you to replace your version of BOUML by a new one without having to take care of the license file.
  • The keys F1..F12, arrows, suppr/delete etc didn't work since the release 5.0, fixed. Let's note the arrows can be used to move slowly the selected elements in a diagram, and suppr/delete to remove the selected elements in the current diagram (not from the model).
  • In a use case diagram a right mouse click on the name of a use case containing at leat one space and ten characters proposes you to set an expected maximal width (in number of characters). The name is written on several lines if needed and cut on space(s) to try to respect the expected maximal width. (see Retour charriot dans les diagrammes des cas d'utilisation)
  • MySQL generator 1.1
  • MySQL reverse 1.1
  • Take into account changes into the plug-out API concerning MySQL.
  • Plug-out upgrade 6.0:
  • Mainly add features associated to MySQL and C++11. Only the plug-outs created since the release 5.0 can be updated.
  • Genpro 5.0.1:
  • The first time you apply gpro on an artifact stereotyped executable the footer is set by default to QT += network qt3support and WITHMYSQL is part of the defined symbols.
  • Html documentation Generator 6.0:
  • Upgraded by plug-out upgrade.
  • The references to the classes was wrong, fixed.
  • Take into account features added by C++1, generate MySQL definitions.
  • In the previous versions the descriptions was generated protecting special characters like

New in BOUML 4.22.2 (Nov 12, 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 keyword ${visibility} producing an invalid form in case the visibility is not package. This keyword 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 24, 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.)
  • Php Generator 1.10
  • To manage namespace.
  • Php Reverse 1.8
  • Previous releases didn't expect to read Php block(s) before the block containing classes, fixed.
  • To manage namespace, warning when a file define classes in several namespaces only the classes of the first namespace are reversed.
  • C++ Generator 2.18
  • To produce the expected indent for the visibility specifiers. Follow the new API.
  • C++ Reverse 2.15
  • C++ Roundtrip 1.3
  • The comments placed before the definition of an attribute in a class was lost, fixed. Follow the new API.
  • XMI2 Generator 1.14
  • Some activity flows was wrongly generated as object flow rather than control flow, fixed. (cf.)
  • To manage the submachine state reference
  • XMI2 Import 1.9
  • To manage the submachine state reference To manage virtual desktop (multiple screens configuration).
  • Java Generator 2.22
  • Java Reverse 2.18
  • Java Roundtrip 1.5
  • Idl Generator 2.15
  • Python Generator 1.5
  • Roundtrip body 1.13
  • Follow the new API.
  • Java Catalog 2.17
  • To manage virtual desktop (multiple screens configuration). Follow the new API.
  • Project control 1.2.5
  • Project synchro 1.2.4
  • Uml projection 1.1.3
  • .pro Generator 2.1.6
  • C++ utilities 1.1.2
  • Use case wizard 1.1.2 (C++ version)
  • File Control 1.0.6
  • Global change 1.2.1
  • To manage virtual desktop (multiple screens configuration).
  • Html documentation Generator 2.20
  • To produce a valid XHTML. (cf. and cf.)
  • To manage submachine state reference.
  • Plug-out upgrade 1.18
  • Add operations phpNamespace, set_PhpNamespace and findPhpNamespace on class UmlBasePackage.
  • Add operations isForceNamespacePrefixGeneration and set_IsForceNamespacePrefixGeneration on class PhpSettings.
  • Add operations visibilityIndent and set_VisibilityIndent on class CppSettings.
  • Add operations reference and set_Reference on classes UmlBaseState, UmlBaseEntryPointPseudoState, and UmlBaseExitPointPseudoState.
  • Plug-out empty
  • Upgraded by plug-out upgrade.
  • fr.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.21 (Jun 24, 2010)

  • In the previous releases only the operations whose name started by operator could contain non alphanumeric characters, this restriction is removed. (cf.)
  • require_once forms are now auto generated in Php when the Php definition of an artifact contains ${require_once} (this is the case for the new projects, you have to add it by yourself if you want this feature in your existing projects).
  • The definition of an external class for Php is extended, if a second line is present this one is considered to contain the expected require_once form to produce.
  • New generation settings to choose how the path of the required files are generated : without path, with absolute paths, with relative paths, with path relative to the root directory.
  • Add Reverse/roundtrip settings with a dedicated edition dialog to specify through a regular expression the files and/or directories whose must not be taken into account during a reverse and roundtrip, allowing for instance to not reverse test programs. (cf.)
  • When you edit an attribute or an operation of a parametrized class or nested in parametrized class(es) the name of the formal parameters are now inserted in the list of proposed types. (cf.)
  • When several elements of the same type are selected in a diagram the multiple selection menu allows you to use the drawing settings of the first selected element for the other selected elements. Have associated shortcut command Same drawing settings. (cf.)
  • Extension of the drawing setting show context (cf.) :
  • o In diagrams the context of nested classes now contains the the container class when you ask for to indicate the namespace or java package or python package or module through the drawing setting show context or equivalent. Warning, this affects existing class diagrams
  • o New drawing setting show context in members definition for classes in class diagrams. Only active when you also ask for to show the full members definition. To indicate or not the context of class(es) referenced in the declaration of an attribute or an operation like the context is indicated for the classes depending on show context or show classes and packages context.
  • o In sequence diagrams add new drawing settings show classes context for class instances, and show context in messages for messages (only active when you also ask for to show the full operations definition).
  • o In communication diagrams the drawing settings show packages context is renamed show classes and packages context and now also apply on class instances. To not change the already existing diagrams, when you open an old diagram this setting is set to no on the class intances.
  • New drawing settings show context in messages for messages (only active when you also ask for to show the full operations definition).
  • o In object diagram the drawing settings show packages context is renamed show classes and packages context and now also apply on class instances. To not change the already existing diagrams, when you open an old diagram this setting is set to no on the class intances.
  • Add a button Apply in the drawing settings dialog to apply the new settings without exiting the dialog. Warning, the already applyied settings are not canceled through the button cancel. (cf.)
  • The list of opened non modal dialogs is now given by the dynamic menu Windows after the list of opened diagrams. This allow you to raise one of them, or to close all of them with the diagrams through the menu entry close all.
  • Php Generator 1.9
  • To automatically generate the require_once forms when the Php definition of an artifact contains ${require_once}.
  • C++ Reverse 2.14
  • C++ Roundtrip 1.2
  • Java Catalog 2.16
  • Java Reverse 2.17
  • Java Roundtrip 1.4
  • Php Reverse 1.7
  • To not reverse/roundtrip unexpected directories and/or files specified through regular expressions. (cf.)
  • C++ Generator 2.17
  • Java Generator 2.21
  • Idl Generator 2.14
  • Roundtrip body 1.12
  • Follow the new API.
  • Plug-out upgrade 1.17
  • Add operations requireOnceWithPath, set_RequireOnceWithPath, isRelativePath, set_IsRelativePath, isRootRelativePath and set_IsRootRelativePath on class PhpSettings to acces to the new generation settings relative to the generation of the require_once in Php.
  • Add operations reverseRoundtripDirRegExp, isReverseRoundtripDirRegExpCaseSensitive, set_ReverseRoundtripDirRegExp, reverseRoundtripFileRegExp, isReverseRoundtripFileRegExpCaseSensitive and set_ReverseRoundtripFileRegExp on classes CppSettings, JavaSettings and PhpSettings.
  • Plug-out empty
  • Upgraded by plug-out upgrade.
  • fr.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.20 (Apr 22, 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.
  • 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.
  • 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.17.1 (Jan 10, 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 10, 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-out empty
  • 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).

New in BOUML 4.16.4 (Jan 10, 2010)

  • 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.16.3 (Jan 10, 2010)

  • Facilitates the selection in diagrams of small items having incoming and/or outgoing lines.
  • When you add an element in a state diagram and its state container is already drawn, force the added element to be inside its state container or region. When you add a state the already draw sub elements are moved to be inside the added state, but because the added state is small this poorly place them.
  • You can now decenter lines (relations, transition ...) having a geometry ( , , or ), when you change the geometry the line is first recentered on both extremities.
  • C++ Generator 2.15.1
  • A space was missing between the two last > in an inheritance of a template class when the last actual is also a template class, fixed.

New in BOUML 4.16.2 (Jan 10, 2010)

  • Except few exceptions when you resized element like classes the edge didn't follow the cursor, fixed.
  • It was difficult to select a line drawn between an element to an other element placed inside the first one (for instance between a state machine and a sub state drawn inside its state machine), fixed.
  • In activity diagrams the stereotype of an action is now written, except for opaque actions when you ask for to show their definition through the drawing settings.
  • You can now change the parent of a state, pseudo state and region through drag&drop in the browser while you stay inside the container state machine.
  • de.lang added allowing to use the modeler in German, this work is in progress and some translations are still missing (in this case the English is used). Many thanks to Oliver Rudolph for the translation. So you can currently choose between English, French and German.

New in BOUML 4.16.1 (Jan 10, 2010)

  • The buttons show/edit body of the operation dialog had a wrong/random wording and some translation cases was missing, fixed.
  • In the previous release in a use case diagram a class was represented as an actor even its stereotype was part of a profile and has an associated icon. Now like for in a class diagram the icon associated to the stereotype is used when the drawing setting values natural.
  • It is now possible to show/hide the visibility of the relations between classes depending on the value of the drawing settings show relation visibility. By default the visibility of the relations of not shown.
  • Messages in a sequence diagram can now be stereotyped (by textual stereotype out of profile). Default message stereotypes can be set through the default stereotype dialog.
  • It is now possible to ask for to draw a decomposition indicator icon in a state in a state diagram. By default the icon is not shown. The fact the icon is drawn or not is under your responsability, Bouml doesn't check if this is consistent or not.
  • Plug-out upgrade 1.15.1
  • To manage stereotype on messages in a sequence diagram.
  • XMI2 Generator 1.12
  • To export stereotype of messages through an extension.
  • 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.16 (Jan 10, 2010)

  • The buttons show/edit body of the operation dialog had a wrong/random wording and some translation cases was missing, fixed.
  • In the previous release in a use case diagram a class was represented as an actor even its stereotype was part of a profile and has an associated icon. Now like for in a class diagram the icon associated to the stereotype is used when the drawing setting values natural.
  • It is now possible to show/hide the visibility of the relations between classes depending on the value of the drawing settings show relation visibility. By default the visibility of the relations of not shown.
  • Messages in a sequence diagram can now be stereotyped (by textual stereotype out of profile). Default message stereotypes can be set through the default stereotype dialog.
  • It is now possible to ask for to draw a decomposition indicator icon in a state in a state diagram. By default the icon is not shown. The fact the icon is drawn or not is under your responsability, Bouml doesn't check if this is consistent or not.
  • Plug-out upgrade 1.15.1
  • To manage stereotype on messages in a sequence diagram.
  • XMI2 Generator 1.12
  • To export stereotype of messages through an extension.
  • 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.15.1 (Jan 10, 2010)

  • Internationalization of the modeler's menus and dialogs using a translation files specified through the environment dialog. If you don't specify a translation file the English is used. Note : when you change the language some global menus are unchanged and description of buttons of already opened diagram too, to follow the new language for all exist then restart the modeler. Currently only the translation file fr.lang is available to use French because I only speak French and English

New in BOUML 4.15 (Jan 10, 2010)

  • When you deleted a package through a plug-out 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.
  • 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 bouml.exe process still alive and looping indefinitely (problem not reproducted signaled by only one user), bypassed.
  • In a class diagram it is now possible to resize the classes drawn with the standard representation (not using an icon)
  • New drawing setting hide get/set operations applying on 'official' get and set operations in class diagrams. By default get and set operations are shown.
  • New C++ generation setting inline force include in header, when it is set the types referenced in the profile of the inline 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 true by default for the already existing projects to not perturbate them, but false by default when you create a new project.
  • C++ Generator 2.15
  • 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)
  • To manage new generation setting inline force include in header
  • To avoid a crash on exit when bouml exits before.
  • Follow the new API.
  • C++ Reverse 2.12
  • Java Generator 2.19
  • Java Reverse 2.15
  • Java Roundtrip 1.2
  • Java Catalog 2.14
  • Php Generator 1.7
  • Php Reverse 1.5
  • Python Generator 1.3
  • Idl Generator 2.12
  • Roundtrip body 1.10
  • To avoid a crash on exit when bouml exits before, mainly for java catalog because other plug-outs finish automatically.
  • Follow the new API.
  • Plug-out upgrade 1.15
  • To manage new generation setting inline force include in header
  • To avoid a crash on exit when bouml exits before.
  • Follow the new API.
  • XMI2 Generator 1.11.1
  • To export transition's description and tagged values.
  • 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.14 (Jan 10, 2010)

  • When you deleted a package through a plug-out 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.
  • 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 bouml.exe process still alive and looping indefinitely (problem not reproducted signaled by only one user), bypassed.
  • In a class diagram it is now possible to resize the classes drawn with the standard representation (not using an icon)
  • New drawing setting hide get/set operations applying on 'official' get and set operations in class diagrams. By default get and set operations are shown.
  • New C++ generation setting inline force include in header, when it is set the types referenced in the profile of the inline 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 true by default for the already existing projects to not perturbate them, but false by default when you create a new project.
  • C++ Generator 2.15
  • 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)
  • To manage new generation setting inline force include in header
  • To avoid a crash on exit when bouml exits before.
  • Follow the new API.
  • C++ Reverse 2.12
  • Java Generator 2.19
  • Java Reverse 2.15
  • Java Roundtrip 1.2
  • Java Catalog 2.14
  • Php Generator 1.7
  • Php Reverse 1.5
  • Python Generator 1.3
  • Idl Generator 2.12
  • Roundtrip body 1.10
  • To avoid a crash on exit when bouml exits before, mainly for java catalog because other plug-outs finish automatically.
  • Follow the new API.
  • Plug-out upgrade 1.15
  • To manage new generation setting inline force include in header
  • To avoid a crash on exit when bouml exits before.
  • Follow the new API.
  • XMI2 Generator 1.11.1
  • To export transition's description and tagged values.
  • 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.13 (Jul 4, 2009)

  • Add active on activity, class and state
  • Add type specification of function's parameters and return values (pep-3107).
  • When a return type is specified (it is not empty) the keyword ${type} produces the return type prefixed by ' -> '
  • When the type of a parameter is specified (it is not empty) the corresponding ${} produces the type prefixed by ': ' if the keyword is part of the parameter list definition (between ${(} and ${)})
  • 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.
  • By default when you add a parameter the keyword ${} is absent, it is added only if you set the new generation setting operation of Python 3 (pep-3107) (generation settings dialog Python[2]), and you have to change by yourself the default operation definition in the generation settings to add ${type} between ${)} and ':'
  • Plug-out upgrade 1.14
  • Add operations isActive and set_isActive on UmlBaseActivity, UmlBaseClass and UmlBaseState.
  • Add operations isPython_3_operation and set_IsPython_3_operation on PythonSettings
  • Python Generator 1.2
  • To manage type specification of function's parameters and return values
  • C++ Generator 2.14
  • C++ Reverse 2.11
  • Java Generator 2.18
  • Java Reverse 2.14
  • Java Roundtrip 1.1
  • Java Catalog 2.13
  • Idl Generator 2.11
  • Php Generator 1.6
  • Php Reverse 1.4
  • Roundtrip body 1.9
  • Follow the new API.
  • Html documentation Generator 2.18
  • To import/export isActive.
  • 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
  • XMI2 Generator 1.11
  • XMI2 Import 1.7
  • To import/export isActive.
  • Plug-out empty
  • Upgraded by plug-out upgrade.

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 5, 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 (Mar 20, 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 17, 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 8, 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.

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.

New in BOUML 3.4.1 (Jan 3, 2008)

  • Previous releases crash when you start to draw an association part of the model (not an anchor for instance) in a diagram and you use one of the buttons allowing to change the zoom, fixed.
  • 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.
  • By default the indent depend on the context, this means for instance depend on the indent of its class.
  • C Reverse 2.8
  • Java Reverse 2.11
  • Php Reverse 1.1
  • Roundtrip body 1.6
  • To ask for to not add the indent dependent on the context when the body of an operation is produced.
  • C Generator 2.11
  • Java Generator 2.14
  • Php Generator 1.2
  • To manage body indent not dependent on the context.
  • 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.