Release notes from 2.11.0 back to 2.2.0

Extend to 2.11.1
October 26, 2023

v2.11.0 is released

New in this release - Simulink

  • Added support for R2023b.

New in this release - Git

  • You can now login to GitHub to view private issues and pull requests.
  • You have always been able to select groups of commits or branches with ctrl+click, now you can also use shift+click.
  • You can also use the arrow keys to navigate commits and branches, including shift selection.
December 31, 2022

v2.10.0 is released

New in this release - Simulink

  • Added support for .sldd files (details).
  • Some blocks with custom mask drawing code had their background and foreground colors set to white. Because DiffPlug can't read all custom mask code, white-on-white is invisible, so the foreground color is now drawn as grey for these cases.
  • When the label of a constant block is too long to fit, DiffPlug tries shrinking the font by 1 or 2 points.

Fixed in this release - Simulink

  • Stateflow blocks whose ports have been reordered are now drawn in the correct position - no more unnecessary wire bends.
  • Various bugs around drag-and-drop on the DiffList have been fixed.
October 31, 2022

v2.9.1 is released

New in this release - macOS

  • Installers for macOS are now signed and notarized to prevent security warnings.
  • Installers for Apple Silicon (M1, M2, etc) are now available for better performance on Apple Silicon machines.
October 3, 2022

v2.9.0 is released

New in this release - Git

  • Initial GitHub support. github support
  • Support is limited to public repositories on GitHub.com. Private repositories and GitHub Enterprise support to follow.

Fixed in this release - Git

  • Fixed a bug when diffing changes in the working copy of submodules.
  • Fixed some bugs related to tracking branches, especially when their branch name doesn't exactly match the remote branch name (e.g. main-upstream).

New in this release - Simulink

  • Added support for R2022b.

New in this release - general usage

  • We have bumped the underlying Java Runtime to Java 17, which means that Windows Vista and 7 are no longer officially supported. No changes in Mac or Linux compatibility.
March 31, 2022

v2.8.0 is released

New in this release - Git

  • Support for git submodules.
  • Detached HEAD mode is no longer converted automatically to detachedHead-deleteme. Submodule screenshot

New in this release - Simulink

  • It is now possible to turn off the library link icon if you want to. Custom masks library link icon screenshot

Fixed in this release - general usage

  • Calling the dp command line utility without an already-running DiffPlug is now more reliable.
January 28, 2022

v2.7.0 is released

New in this release - Simulink

  • Added support for Simscape.
  • Added support for R2022a.
  • Added support for Stateflow entry and exit ports (introduced in R2021b).

Fixed in this release - Simulink

  • Toggling the split direction while in the undocked state no longer causes an error.
  • Previously, a diff filter such as subviewS/* would fail to apply on an empty subviewS node - it falsely assumed there would be a subviewS/someProperty=foo. This is now fixed, which reduces noise in diff reports, especially related to embedded MATLAB scripts.

New in this release - general usage

  • Keyboard shortcuts for tab navigation.
    • Ctrl+W to close the current tab.
    • Ctrl+Shift+T to reopen a recently closed tab.
    • Ctrl+Tab / Ctrl+Shift+Tab to navigate through tabs (or Ctrl+PgUp/PgDown).
  • Instead of "Accept commits", you now get "Accept 4 commits" (as appropriate).

Fixed in this release - general usage

  • log4j has been entirely removed from DiffPlug.
  • Dragging and dropping changed files in the commit diff viewer is fixed.
  • When uploading a new branch to a remote, the --set-upstream tracking information wasn't being saved to disk. Now fixed.
  • On MacOS only, DiffPlug startup could hang on proxy configuration when no network connections were available. Now fixed.
  • Viewing and diffing folders which filenames containing [...] has been fixed.
October 25, 2021

v2.6.1 is released

New in this release - general usage

  • When you mouseover the head branch, you now get a context-sensitive popup for downloading and uploading against that branch.
  • popup head panel on mouseover popup head panel on mouseover
  • It is now possible to force-push a remote branch backwards (usually not a good idea to do that, DiffPlug will ask for confirmation first).
  • force push backwards
  • git push now includes --set-upstream.

Fixed in this release - general usage

  • Confirm dialogs which are triggered by the sync pane now automatically have keyboard focus.
  • Faster feedback when removing a branch or tag from git tips.
  • "Show help whenever I open a new git history window" was not respected, now it is.
  • Cloning a git repository could sometimes fail starting in 2.6.0, now fixed.
  • Deleting remote branches and downloading branches which have been removed from the remote are now fixed.
  • Attempting to git push and getting rejected because the remote has new commits now proactively prompts to download latest.
  • Retry attempts which needed a --force were broken, now fixed.

New in this release - expert users

  • Whenever you see a red X like below, you can right-click it to open a stacktrace dialog. In previous releases of DiffPlug, this was double-click, but now it is right-click. This change was needed to allow us to use the red X as a regular button in some important places, namely the git operation tracker.
  • red X
October 19, 2021

v2.6.0 is released

New in this release - general usage

  • The git client has been redesigned to improve usability and prepare for new features coming soon.

redesigned git client

Fixed in this release - general usage

  • Folder diff via the dp ext mechanism has been fixed, after it was broken by a performance optimization introduced in DiffPlug 2.5.1.

New in this release - for Simulink users

  • Added support for R2021b.
    • Note: we do not yet support the new Stateflow Entry and Exit mechanisms which were introduced in R2021b. They will be added in the next release.
July 23, 2021

v2.5.1 is released

Fixed in this release - general usage

  • Improved parenthesis and bracket matching in text diffs.
  • Folder diff is much faster.
  • No more "widget is disposed" errors when restoring tabs.

Fixed in this release - for Simulink users

  • Simulink models with plaintext documentation blocks are now displayed correctly.
February 9, 2021

v2.5.0 is released

New in this release - general usage

  • It is now convenient to use user activation (aka floating license) without ever setting a password. So long as you select "user activation" DiffPlug will automatically return and pull licenses from your pool even if you use copy-paste activation.
  • We have improved the license management ergonomics for fleets of air-gapped computers.
  • Improved error logging and debugging info, especially for unresponsive UI.

New in this release - for Simulink users

  • Added support for R2020b and R2021a.
October 23, 2020

v2.4.1 is released

Fixed issues in this release

  • Changing the case of files in a git repository now works seamlessly even on case-insensitive filesystems like Mac OS X and Windows.
  • Fixed various minor Simulink bugs.
May 26, 2020

v2.4.0 is released

New in the release - for Simulink users

Fixed issues in this release

  • If files were checked-in to git and .gitignored (an inconsistent situation which sometimes occurs), then they would be reported as "removed" in the DiffPlug git client. This is now fixed.
March 27, 2020

v2.3.2 is released

Fixed issues in this release

  • If a Simulink model had multiple Goto blocks with the same name, DiffPlug would throw a fatal error. Now fixed.
February 29, 2020

v2.3.1 is released

Fixed issues in this release

  • Improved parsing of Multi-Port Switch blocks.
  • Improved Simulink mask parsing, including expanded documentation.
  • Fixed AttributesFormatString support for .slx models.
  • Fixed a bug which could cause Stateflow states with fixed-point math settings from displaying as EML.
  • Fixed the following errors that some Windows 10 users were seeing on startup:
    • Error code [126] when trying to load jvm.dll: The specified module could not be found.
    • Error: failed to load VM runtime library!
February 21, 2020

v2.3.0 is released

New in the release - general usage

Log all calls to dp

There is now an easy way to inspect all calls to dp, which makes it easier to debug 3rd party tools.

Log all calls to dp

New in the release - for Simulink users

Search Simulink models

It is now possible to search a Simulink model, either by name...

Search a Simulink model by name

...or by specific properties. You can even use full regex if desired.

Search a Simulink model by property

Add support for embedded test harnesses in Simulink Test

DiffPlug now has full support for embedded test harnesses, including diff. It's fine to add, remove, or rename harnesses or the block under test.

Diff Simulink Test harnesses

Auxiliary details

Every item in a Simulink diagram has details, which we show in the bottom left. New in this release, we can now show multiple sets of details for some kinds of item. For example, a subsystem block has a set of details for the block, and another for the subsystem itself:

The details nested within a subsystem

Many of these items used to have their own entries in the model tree (for example configSet.xml), which caused the model tree to get cluttered. Although these items are somewhat hidden for the purposes of viewing, they are always fully expanded in diffs, to make sure that you don't miss any changes.

When viewing When diffing
Viewing an auxiliary object Diffing an auxiliary object

These changes were driven, in part, by the proliferation of auxiliary objects in Simulink Test harnesses and other recent Simulink features.

Diff config for auxiliary objects

This is the first version of DiffPlug which presents changes in the properties of the "system" and "chart" objects in each subsystem and stateflow chart. These objects are mostly backend noise - most meaningful changes to them show up in the blocks and states themselves. For example - Stateflow charts have a property which describes the "action language", but it's very rare that you can change the action language without also changing the states and transitions in your Stateflow chart.

Now that these auxiliary objects are displayed directly, we have added a System section to the diff filter config. When you load an old config, it will default to ignoring the purely-internal properties, but it will still show differences in cosmetic properties like "background color". You can use the normal diff filter config workflow to ignore these as well, if you like, and they are ignored by default in builtin/ignoreCosmetic.

Miscellaneous

  • Added support for Simulink R2020a.
  • Reading the diff of a single long property in a Simulink diff could be difficult / impossible, now fixed.
  • Improved quality of Stateflow diff.
  • Improved display of model workspace MAT-data.
  • Older Simulink files using rare charsets such as ibm-5348_P100-1997 will now load without error.
  • The Simulink detail title could be jumpy, now fixed.
  • Simulink view, diff, and detail are all sorted alphabetically.
January 22, 2020

v2.2.1 is released

Fixed in this release

  • Improved support and debug logging for proxy auto-config (PAC) scripts.
  • Added support for SSL-inspecting firewalls.
  • Fixed license manager gui on Linux.
  • Misc user interface fixes.
November 22, 2019

v2.2.0 is released

New in this release - general usage

Easy mode

A new "Easy mode" was added which allows users to get started more easily.

Easy mode

Diff list extended with tabs for "Recently closed" and "Open now"

Also makes the DiffList easier to open and close.

New Diff list

Closed tabs can be restored

Previously open tabs are now restored on startup, and Ctrl+Shift+T will reopen a recently-closed tab (just like a web browser).

Reopen recently closed

Text diff speed and quality improvement

Speed and quality of text diffs greatly improved, especially for non-western-language Unicode diffs.

Added support for TortoiseSVN

By introducing a new -flavor TortoiseSVN to dp ext. You can read more here.

New in this release - for Simulink users

Multiline properties are now displayed in full

In the viewer

Simulink multiline property view

and in the differ

Simulink multiline property diff

Undock diagrams in the diff to spread across multiple monitors

Simulink diagram docking

This new command is called Undock Undock diagrams across multiple monitors / Undock Dock diagrams back to main window. It is a replacement for Split monitors Spread across multiple monitors.

Wherever you put these undocked diagrams, DiffPlug will remember their position for other Simulink diffs, until you move the main DiffPlug window, at which point you will have to reposition them again.

Ignored filter is shown for additions and removals

You can now view and configure the ignored property filter from the detail diff of additions and removals (previously it was only shown for changes). These filters are also respected when dumping the properties of additions and removals into exported reports.

New Simulink added ignore

Report export now estimates report size

New Simulink report estimate

Improved diff config dialog and defaults.

Better layout, supports copy-paste, undo/redo, drag and drop, and more. The built-in properties ignored as "cosmetic" have added FontWeight and FontAngle for Simulink, and fontSize, drawStyle, midPoint, and labelPosition for Stateflow.

New Simulink report estimate

Fixed in this release

Fixed label parsing for Simulink action ports.

Extend to 2.1.4