R2024a
and R2024b
.R2023b
.ctrl+click
, now you can also use shift+click
.shift
selection..sldd
files (details).main-upstream
).detachedHead-deleteme
.
dp
command line utility without an already-running DiffPlug is now more reliable.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.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
).--set-upstream
tracking information wasn't being saved to disk. Now fixed.[...]
has been fixed.git push
now includes --set-upstream
.2.6.0
, now fixed.git push
and getting rejected because the remote has new commits now proactively prompts to download latest.--force
were broken, now fixed.dp ext
mechanism has been fixed, after it was broken by a performance optimization introduced in DiffPlug 2.5.1
.dp simulinkdiffreport
to allow automated report generation..gitignored
(an inconsistent situation which sometimes occurs), then they would be reported as "removed" in the DiffPlug git client. This is now fixed.Goto
blocks with the same name, DiffPlug would throw a fatal error. Now fixed.AttributesFormatString
support for .slx
models.There is now an easy way to inspect all calls to dp, which makes it easier to debug 3rd party tools.
It is now possible to search a Simulink model, either by name...
...or by specific properties. You can even use full regex if desired.
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.
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:
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 |
---|---|
These changes were driven, in part, by the proliferation of auxiliary objects in Simulink Test harnesses and other recent Simulink features.
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
.
ibm-5348_P100-1997
will now load without error.A new "Easy mode" was added which allows users to get started more easily.
Also makes the DiffList easier to open and close.
Previously open tabs are now restored on startup, and Ctrl+Shift+T
will reopen a recently-closed tab (just like a web browser).
Speed and quality of text diffs greatly improved, especially for non-western-language Unicode diffs.
By introducing a new -flavor TortoiseSVN
to dp ext
. You can read more here.
In the viewer
and in the differ
This new command is called Undock diagrams across multiple monitors
/ Dock diagrams back to main window
. It is a replacement for 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.
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.
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.
Fixed label parsing for Simulink action ports.
dpopen
helper script which allows you to do dpopen SOMEFILE
as an alias to dp ext
.This is a bugfix release for new features introduced in 2.1.0.
dp
command line client was limited to only one concurrent connection. There is now no limit to the number simultaneous dp
connections..gitconfig
file, corrected here.NullPointerException: com.aspose.words.DocumentBuilder.zzZ
UnsupportedOperationException com.diffplug.differs.simulink.e.aT.v(SourceFile:154)
This is a hotfix for 2.1.0.
.zip
entries in .slx
files. However, for some older files, these sizes are not set, which causes a NegativeArraySizeException
when opening these models. DiffPlug 2.1.1 keeps the optimizations from 2.1.0, while also opening these older .slx
files..docx
or .pdf
.
.collabdiff
archive from SmartBear Collaborator.dp
integration with git
for the case where content was added or deleted.
dp
commandline to this, especially SourceTree users.Goto WC
button now triggers a scroll in the history table.+
to add it as a remote.apply content
/ apply delta
/ unapply delta
UI.The long wait for DiffPlug 2 is finally over! DiffPlug 2 streamlines the features from DiffPlug 1, and allows us to explore new capabilities that were impossible with DiffPlug 1.
DiffPlug 2 does not need to be installed, you can run it from any folder, and you can run it in parallel with an existing 1.x install without breaking it.
Many of the changes in DiffPlug 2 are about reorganizing DiffPlug 1's features, you can get an overview of them over at migrating from 1.x to 2.x. The list of changes below only covers new features and deprecated features - it doesn't include all the streamlining and simplification that happened between 1 and 2.
This feature has not yet been exposed to users, but it is now also possible for DiffPlug to modify a Simulink model. This will allow full merge in a future release.
There are a few features that we were not able to include in DiffPlug 2.0, but they will definitely return in future versions of DiffPlug.
The last version of MATLAB to support a 32-bit operating system was R2015b. Many of the software systems that DiffPlug is built on top of have announced end-of-life for 32-bit operating systems.
DiffPlug uses many of the same libraries as the Eclipse Java IDE. The latest release of Eclipse has dropped support for Windows XP. The minimum required version is now Windows Vista.
Git's dominance in the version-control industry makes it difficult to justify maintenance and upkeep on our subversion integration.
New in this release:
XML_WITH_IMAGES
output.xml
, there will now be a folder output.xml_images
which contains a series of 1:1 scale png
images.left_img
and right_img
, which will point to the filename of an image which highlights that particular change.left_diagram_img
and right_diagram_img
, which will point to the filename of an image which contains all the changes of that particular subsystem.XML_WITH_IMAGES
mode, a subsystem which is itself identical, but contains changed children, will appear in the XML document as a nested
element, and will have left_diagram_img
and right_diagram_img
properties.license-user=LICENSEFILE
flag to the installer for advanced batch installation.Fixed in this release:
#
character.
New in this release:
dp
command line client can now be symlinked and still perform properly.
ln -s (DIFFPLUG_INSTALL_DIR)/dp /usr/local/bin/dp
on linux.ln -s /Applications/DiffPlug.app/Contents/Eclipse/dp /usr/local/bin/dp
on mac.dp.exe
file can still be copied on its own.Fixed in this release:
New in this release:
Fixed in this release:
New in this release:
Fixed in this release:
Fixed in this release:
C:\LongPa~1\somefile.slx
) when linking Simulink models to MATLAB.Fixed in this release:
ConfigSet
s.SourceType
vaules.Fixed in this release:
Fixed in this release:
New in this release:
Gerrit
checkbox for a remote, all pushes will automatically go to refs/for/<branch>
.Edit metadata
dialog will then include ability to set Change-Id
and Signed-off-by
headers.Fixed in this release:
Find only differences
mode, with a BlockType-specific wildcard filter (such as BlockType=Constant
, Matched Properties=*
), then changed Constant blocks would not show up in diff reports properly. This is now fixed.Fixed in this release:
New in this release:
Fixed in this release:
Fixed in this release:
Fixed in this release:
NOTE: This version is likely to trigger the Microsoft Windows SmartScreen. We just renewed our code signing certificate, and as a result we need to rebuild our SmartScreen trust score. In the meantime, you can bypass SmartScreen by clicking More Info
then click Run Anyway
.
Fixed in this release:
i386
rather than x86
).New in this release:
Fixed in this release:
plot
commands on custom masks, NaN
values should be treated as a break in the line. Starting with 1.7.0, DiffPlug does so. Previously, it did not, which caused a “scribble” artifact on some models.New in this release:
Simulink
Platform
Git
New in this release:
Platform
Simulink
Git
--no-ff
.Show History
to History
.Fixed in this release:
New in this release:
New in this release related to Simulink:
Fixed in this release:
New in this release:
Array
nodes, for which order matters.Fixed in this release:
Missing in this release:
New in this release:
Missing in this release:
New in this release:
dp.exe --Exit
Esc
key.plot()
calls.UserData=DataTag12
), then any changes in that UserData will be filtered as well.Fixed in this release:
Missing in this release:
New in this release:
Fixed in this release:
New in this release:
Improved Simulink diff reports.
Simulink filtering now allows nested paths and wildcards.
Position
.GraphicalInterface/ComputedModelVersion
SimulationSettings/*
SimulationSettings/*
will ignore all children, grandchildren, etc. of SimulationSettings
Sim*/SomeProp
, SimulationSettings/*/Deeper
, and SimulationSettings/Snapshot*
are all invalid.Fixed in this release:
New in this release:
image(get_param(gcb,'userdata'))
disp('Title')
disp(get_param(gcb,'SomeParam'))
fprintf('%s', get_param(gcb, 'SomeParam'))
New in this release:
Bugs fixed in this release:
New in this release:
New in this release:
New in this release:
DiffPlug.exe
is given command line arguments directly.
dp.exe
is the intended command line client.Bugs fixed in this release:
New in this release:
File -> Open file
and File -> Diff files
.
Bugs fixed in this release:
New in this release:
Bugs fixed in this release:
New in this release:
C:/path/
signifies a folder named “path”, while C:/path
signifies a file named path.Bugs fixed in this release:
New in this release:
Bugs fixed in this release:
New in this release:
Bugs fixed in this release:
We’re proud to have finally made the transition from the 0.x series to the 1.x series! Here’s why we’ve earned the 1.0 moniker:
Our very first release was in January 2012. We entered public beta that August, with version 0.4.2. Today, DiffPlug has been in the hands of happy users for more than 18 months. Thanks to the help of our pioneering customers, we’ve seasoned DiffPlug from a knock-kneed foal into a reliable workhorse.
The more visible reason we’ve earned the 1.0 designation is that we’ve finally released documentation whose quality matches that of the software it’s documenting. Now that we have a way to show you how the more intricate parts of DiffPlug work, we are free to add more great capabilities.
The 1.0.0 release is a small change from 0.6.1 that came before, but it marks a critical threshold in our infrastructure, and an inflection point in our ability to improve DiffPlug even further.
DiffPlug's first public release!
New in this release: