Skip to content

Release 2.2.0

Choose a tag to compare

@tviegut tviegut released this 29 Oct 06:06
· 86 commits to master since this release
41fe3e6

Release 2.2.0 [29-Oct-2026]

cim-compare 2.2.0 adds SVG diagram images that stay sharp at any zoom, draws diagram images only for the diagrams the report shows, and lets you zoom and pan a diagram in the enlarged view. The report can be searched by GUID, printed or saved as PDF from a button in its header, and points out changes that were hidden in an attribute's ⓘ metadata. Eight defects are fixed. Two behaviours change from 2.1.1. First, a difference between a value and an empty value in an EA housekeeping field (such as Phase or GenType) is no longer reported unless --show-empty-values is given. Second, with EA project files and --include-diagrams, the models are exported without images, and EA then draws only the changed diagrams; this needs EA 16.1 build 1629 or later on the machine that generates the report, and older EA versions export the images as before. Visit the README or public site for full details.

Enhancement Issue #139:
--image-type=SVG gives the report SVG diagram images. They stay sharp at any zoom, in the page, the enlarged view and print, and their text stays text. cim-compare does not export images with the XMI as it did in older releases; after the comparison, it has EA draw each diagram the report shows with PutDiagramImageToFile from EA's automation interface (see #141), which writes SVG from EA 16.1 build 1629. That build or later must be installed on the machine that generates the report; whoever opens the report needs only a browser. On an older EA, cim-compare says so and uses JPG, and the report header notes that the diagrams are JPG. A diagram that EA will not draw as SVG is shown as a PNG without highlights, and one it cannot draw at all says "No image" rather than linking to a missing file. The SVG fonts fall back to fonts found on Mac and Linux, so the diagrams look the same on every system.

Enhancement Issue #141:
With EA project files and --include-diagrams, cim-compare used to export an image of every diagram in the compared packages and then delete those the report does not show. For the Grid package of CIM 18v13 → 18v14, that was about 780 images per model, of which 20 diagrams are shown. The models are now exported without images; after the comparison, each project is reopened and EA draws only the diagrams that changed, in any image type except EMF. The highlights are placed from the diagram positions, measured against an SVG of the same diagram. Long image-drawing sessions are also where EA failed for lack of memory, and the shorter sessions avoid that. A diagram EA fails to draw gets one more try in a fresh EA session. Also, a diagram whose layout is unchanged is now reported as changed when a class or association drawn on it changed in a way the diagram shows, for example a class that gained an attribute, with that class outlined. An association whose role names, multiplicities or stereotype changed is listed among the diagram's connectors as labels changed, with what changed.

Enhancement Issue #153:
The enlarged view of a diagram (click a diagram image) can be zoomed and panned. The mouse wheel or a trackpad pinch zooms on the point under the cursor, dragging moves the diagram, and a two-finger pinch works on touch screens. A toolbar offers zoom out, zoom in, Fit and 100%, and the keys +, − and 0 do the same. The highlights follow the diagram at every zoom. SVG diagrams zoom to 800% and stay sharp; JPG, PNG, GIF and BMP diagrams zoom to 200%.

image

Enhancement Issue #133:
The search box also takes a GUID, in any of the forms EA, XMI files and scripts use: {56C8D23C-C73A-4bea-870E-5C920A3F1066}, without braces, in lower case, or as EAID_56C8D23C_C73A_4bea_870E_5C920A3F1066. Eight or more hex digits are enough to match by prefix. A match shows the element's GUID under its name, and associations and generalizations can be found by GUID too. A GUID that matches nothing says "No element with this GUID in this report".

image

Enhancement Issue #131:
A Print / PDF button at the right of the report header opens the browser's print dialog. Hovering over it shows the settings that give a good PDF: Landscape, no headers and footers, background graphics on. The hover and inline buttons have icons that show the difference between the two modes. Packages show a drawn folder instead of the 📁 emoji, which looked different on every system and made Acrobat warn about an embedded font in PDFs.

image

Enhancement Issue #126:
When one model's elements were created outside EA, its housekeeping fields are often empty where the other model has the values EA gives every new element. The report then listed many changes such as Phase 1.0 → (empty) that mean nothing. A difference between a value and an empty value is no longer reported in these cases:

  • Complexity, Phase, Version and GenType (any value);
  • Containment Not Specified or Unspecified;
  • IsLiteral, Derived, Const and Static false.
    A line under the legend says how many such differences were left out. The new --show-empty-values option reports them all, as before.

Enhancement Issue #123:
An attribute row is blue when any of its properties changed, but the row itself shows only its name, type, multiplicity and notes. When the change was elsewhere, such as an enumeration literal given a value, the row looked unchanged. Its ⓘ is now drawn in blue with a dot, followed by metadata changed - hover ⓘ (or see below in inline mode).

Defect Issue #118:
Only the first stereotype of a class, attribute or link was read, so a class with «ShadowExtension, util» showed «ShadowExtension», and an added or removed second stereotype was not reported. The whole list is now read, shown as «ShadowExtension, util», and compared. A change of order or of case alone is tagged order only or case only.

Defect Issue #122:
An attribute's Const was taken from whether it had an initial value, so an enumeration literal that was given a value was also reported as having become Const. Const is now read from EA's changeable.

Defect Issue #128:
A printed report, or one saved as PDF, lost its colours and its header, and its first page was nearly blank. Colours and the header now print as on screen, the package tree starts on page 1, each diagram's panels stay with their images, and Landscape is requested.

Defect Issue #137:
The ⓘ in the legend's text was a font character that each browser drew too small and below the line. It is now drawn, like the ⓘ buttons on the rows.

Defect Issue #143:
On Java 17 and earlier on Windows, the comparison XML was written in Windows-1252 although it declares UTF-8. Characters such as typographic quotes in CIM descriptions were then invalid, and the run printed [Fatal Error] … Invalid byte 1 of 1-byte UTF-8 sequence. The report was correct, but other tools could not read the XML. It is now written in UTF-8 whatever the Java version.

Defect Issue #147:
A package that moved to another parent package was shown as MOVED, but not where from. The comparison now records a package's parent, so its row reads, for example, "MOVED from Part303". A package whose parent was only renamed is not reported as changed.

Defect Issue #148:
With a summary count filter on, such as Packages › 1 moved, the package that matched looked empty when expanded: its "has no changes to the N classes it contains" notes were hidden too. They now show when you expand it.

Defect Issue #151:
In the enlarged view of a diagram wider than the browser window, the highlights were drawn up to 17 px to the left of the elements they mark. The image was sized by the window width, which on Windows includes the scrollbar. It is now sized by its own box.

Documentation: the README, the public site, the user guide and the jar's usage text describe 2.2.0:

  • SVG images and the EA build they need;
  • the drawing of only changed diagrams;
  • zooming in the enlarged view;
  • GUID search;
  • printing;
  • --show-empty-values;
  • running on 32-bit Java with about -Xmx1200m.
    The example report has been regenerated with 2.2.0 and SVG images, and the overview screenshot updated.