# Release History

The following topic lists the features and resolved issues in previous releases of Cognex Designer.

Note: Cognex Designer is backward compatible, which means that projects created with earlier Designer versions can be opened and edited. Designer does not support loading projects created by a newer version of Designer in an earlier version.

## Cognex Designer 4.0 Release

Cognex Designer 4.0.0 introduces multiple new or changed capabilities since the previous generally available (GA) release (2.7). For a brief summary of key features in this release, play the video.

Click here to launch in a separate window.

- Supports VisionPro 9.3
- Supports Cognex ViDi Suite - Supports Cognex ViDi Suite, which enables Deep Learning programming within Cognex Designer. The ViDi Suite is a separate product and requires an additional license and installation. Please see the Cognex Deep Learning-based Image Analysis page or contact your sales representative for more information about the ViDi Suite optional plug-in for Cognex Designer.
- WebHMI - With WebHMI, access your deployed application through a standard browser, enhancing user productivity. Run your remotely hosted applications, free from the constraints of local sites and domains. Drag and drop a display or viewer object on customizable Web Pages and bind objects to any tag, function, or query. Create your own scripts to add advanced functionality to your WebHMI applications. Deliver your vision application securely with support for Web authentication and set timeout values for your WebHMI log-ins. For more information, see WebHMI: A Functional Overview.
- Improved IDE and New Graphical Editing Shortcuts - Featuring a high-resolution rich-text interface, ability to add multi-line text to labels, and other convenient graphical shortcuts for Working With Task Blocks and Working With Script Blocks.
- Localization - Manage multiple-language translations from a single interface with Project Localization.
- Launch Page - Use the Cognex Designer Launch Page to quickly open new projects, saved projects or sample projects with a few mouse clicks.

Note: See the Release History topics for a summary of major new capabilities that were introduced in the previous releases of Cognex Designer.

## Cognex Designer 2.7 Release

Cognex Designer 2.7 introduced multiple new or changed capabilities since the previous generally available (GA) release of Designer (2.6):

- Supports VisionPro 9.2
- No longer supports x86 (32-bit)

Resolved Issues in Designer 2.7

CR# | Issue
--- | ---
44464 | Serial device not correctly processing byte data

## Cognex Designer 2.6 Release

Cognex Designer 2.6 introduces multiple new or changed capabilities since the previous generally available (GA) release of Designer (2.5):

- Supports VisionPro 9.1
- Supports .NET Framework 4.6

Note: This primarily affects plugin developers.

Resolved Issues in Designer 2.6

CR# | Issue
--- | ---
41629 | Fixed an issue, where a tag exposed in a VisionPro ToolBlock got into an invalid state and caused start up error.
40523 | Fixed an issue with obfuscation that prevented custom Plugins being developed using Visual Studio 2015.

## Cognex Designer 2.5 PR5 Release

Cognex Designer 2.5 PR5 introduces multiple new or changed capabilities since the previous generally available (GA) release of Designer (2.1):

- Update Properties of RS232 and TCP/IP Devices

  The right-click menu for RS232 and TCP/IP Devices has been updated and now includes a Reconnect option, which allows you to reconfigure the properties of a previously connected device.

  In addition, the properties of RS232 devices can be updated programmatically, while at runtime.

- Updated VisionPro Display 3D and New VisionPro Display 3D Status Bar

  The VisionPro Display 3D has been updated with the new control introduced in VisionPro version 9.0, and the VisionPro Display Status Bar 3D element has been added as a new control in Designer 2.5.

- Find/Replace Dialog for the Script Editor

  A Find and Replace dialog has been added to the Script Editor, using the Script Editor Keyboard Shortcuts.

- Minimize the Window of Deployed Applications

  The Windowed Mode parameter has been added to the Deployment Options dialog, which determines whether or not the deployed application window can be minimized.

- Add External Assemblies to Designer Projects

  The ability to add custom or 3rd party DLL/.NET assembly references to your project, which allows you to create tags of any data type, through the External Assemblies tab of the Project Settings dialog, and the Script References dialog (see the Adding References topic for more information).

- Longer Security Operation

  The Designer security mechanism has been modified to last 8 hours when using a Cognex USB Development Dongle.

- New Database Sample

  A new sample project has been added to the Cognex Designer Launcher - Samples tab, showing examples for implementing and using databases in Designer.

- The Cognex Designer User Guide Improvements

  The Cognex Designer User Guide has been overhauled, with a new Table of Contents and numerous new topics, including new How To... topics.

- Resolved Issues in Designer 2.5 PR4

  CR# | Issue
  --- | ---
  41339 | Fixed an issue when loading an older project whose PropertyDefinition is set to null. Now, when loading a project with a ConfigurableBlock that has a PropertyDefinitions property set to null, it will be converted to an empty array.
  41311 | Fixed an issue present in Designer 2.5 PR1, PR2 and PR3 that affected custom plugins, in which a published property in an abstract class would not be detected.
  39276 | Fixed an issue when loading projects in Designer 2.5 that were created in Designer 2.0, which resulted in Designer 2.5 closing unexpectedly.
  38936 | Fixed an issue with the Format PLC Output Data block throwing a "Specified cast is not valid" error, when migrating a project from Designer 2.0 to 2.5.
  39283 | Fixed an issue when a Cog3DPlane value was saved as a persistent tag. The value is now saved and restored correctly.
  39528 | Fixed an issue with Data Change scripts which could cause a "The data change script is no longer connected to a tag." error message.
  38292 | Fixed an issue when loading large projects; the Designer application could take additional time to startup while the project was loaded.
  36625 | Fixed an issue with an Out of Memory - Value of an input and output pin in a Sub Sequence block was saved in a project file.
  36505 | Fixed an issue where an Unhandled Exception was encountered when logging in via Remote Desktop to a Vision Controller while a Designer project was running.
  36510 | Fixed an issue with a possible deadlock on long running image inspection tasks.
  36507 | Fixed an issue with a Parallel region Task 'InvokeAsync' error.
  35185 | Fixed an issue with deployed applications, which showed script compile errors at startup: "Could not write to output file 'C:\%TMP%\z13st3bc.dll', The process cannot access the file because it is being used by another process."
  35503 | Fixed an issue with a project freezing when a Sequence was run, and a VisionPro Tool Block is open.
  35568 | Fixed an issue where changing the SelectedItem property in one SelectionBox would change the SelectedItem property in an unrelated SelectionBox.
  35723 | Fixed an issue where Designer would crash when using a CogPMAlignTool on the Vision Controller.
  36168 | Fixed an issue where the Tag Browser would open slowly if there were more than 1000 tags.
  36165 | Fixed an issue where disconnecting a camera would cause any links to the associated Camera block to be broken.

## Cognex Designer 2.1 PR1 Release

- Updated Project File Format

  The file format of Designer projects has been modified, and when projects developed in previous versions of Designer are opened and loaded in Designer 2.1, they will automatically be converted to the new format.

- Sub Sequence Blocks now Allow Input/Output Pins

  The Sub Sequence block has been updated and modified, and now contains internal and external input and output pins to help configure a Sequence.

- Updated Data Type Selector

  The Data Type Selector has been updated and modified, and now also contains the ability to create data type arrays and/or generic data types with the Complex Type Selector.

- Create Arrays

  The ability to create single-dimensional and multi-dimensional arrays of data has been added, through both the Complex Type Selector and in the Expression Builder. This allows Designer to pass groups of related data around a project. For example, transferring arrays of integers, doubles or CogBlobResults from one Sequence block to another.

- Updated Template File Format

  The file extension for the template files has been updated, from .cdt to .cdtx. Please see the Templates topic for more information about the file format change.

- Updated Recipe File Format

  The file format for Recipes has been modified.

- Updated Keyboard Shortcuts

  The following keyboard shortcuts have been introduced:

  - CTRL+S: Saves a project.
  - F1: Opens the Cognex Designer User Guide.
  - F2: Used to rename a node in the Application Explorer treeview.
  - F5: Used to start and stop Test Mode.
  - F6: Executes the current Sequence, or compiles the current script (depending on which editor is active, e.g. the Sequence Editor or the Script Editor).

- Resolved Issues in Designer 2.1

  CR# | Issue
  --- | ---
  | Added the ability to create arrays of data using the Complex Type Selector, and basic functions to handle arrays in the Expression Builder.
  33190 | Added keyboard shortcuts to Designer for saving a project (CTRL+S), opening the Cognex Designer User Guide (F1), renaming a node in the Application Explorer treeview (F2), starting and stopping Test Mode (F5) and executing the current Sequence or compiling the current script (F6).
  34614 | Added "String.FormatNumber(value, decimals)" for formatting a double value data type in the Expression Builder.
  34432 | Added the RunAsync(...) function to the Task functions, which allows a Task to be run asynchronously from a script, using the following format: $Tasks.Task.RunAsync(..);
  34416 | Added the ability to publish the recent query results from a database query, through a tag, using a script.
  34410 | Added the ProductVersionString tag, which retrieves the project version information so it can be used programmatically or displayed on the HMI.
  32640 | Fixed an issue where a memory leak was possible during development when a mouse hovered over a pin storing an image.
  32709 | Fixed an issue where a 2D Image Display would be resized when going into Test Mode.
  32814 | Fixed an issue where custom splash screens were not displayed.
  34389 | Fixed an issue where two Script blocks, pointing to the same script, changes in one block were seen by the other block.
  34395 | Fixed an issue where the Tag Manager would not detect a circular tag reference.
  34407 | Fixed an issue where importing tags using CSV files caused an error in some cases due to a missing default value. Tags that were exported with null values will not be able to be imported in Designer 2.1 and later.
  34458 | Fixed an issue where having two tags written to by different Tasks, and binding their sum to a Label, could cause Designer to not respond.
  34470 | Fixed an issue where a TCP/IP Client device would not reconnect after the server shuts down and reopened the connection.
  34809 | Fixed an issue where VisionPro Tool Blocks that share the same input image tag may have crashed when executed in parallel.
  34901 | Fixed an issue where the Expression Builder bitwise operators do not work.

## Cognex Designer 2.0 Release

- Tasks, Sequences and Blocks

  The following enhancements have been implemented. For more information on them, see the Sequence Blocks topic.

  - New Sequence Blocks have been created to make byte array handling easier. These can be used when using the UserData from the FFP on the Cognex Communications Card:
    - Format PLC Input Buffer
    - Format PLC Output Buffer
  - New Sequence Blocks have been created for composing and decomposing arrays, and for retrieving an element of an array, to make the handling of general arrays easier:
    - Compose Collection
    - Decompose Collection
    - Get by Index
  - New String Encoder and Decoder (to/from byte array) Sequence Blocks:

    - Decode Byte Stream Data

    - Encode Byte Stream Data
  - The Notify PLC has been improved to allow setting up the input values directly on the Configuration UI and add a graphical interface to setup complex input values.
  - New Sequence Blocks have been created to “manually” schedule and cancel a (scheduled) PrecisionIO event:
    - Cancel Event
    - Schedule Event

- Communications

  New Sequence Blocks have been created to make possible using COM port and TCP/IP communication without scripting:

  - Decode Byte Stream Data

  - Encode Byte Stream Data
  - Receive Data
  - Send Data

  Support for SLMP Protocol, similar to existing EIP and PROFINET support, has been added. For more information, see the SLMP PLC Setup topic.

  Added a UI to be able to configure Precision IO events (causes and responses) for the Cognex Communications Card. For more information, see the Precision IO Configuration Editor topic.

- Templates

  It is now possible to import and export components from a project into a user library and that can be easily re-used in another project. For more information, see the Templates topic.

- Expression Builder

  The Expression Builder has been revamped. It is recommended to run a project verification that should identify any expressions that are no longer compatible.

  Known differences since v1.0:

  - Equality comparison between an object and a string used to perform string comparison (e.g. converting the object to string first), allowing expressions like: $myBoolTag="True". This is no longer allowed.
  - Numeric values were compared as integers, e.g. 3.14 = 3 evaluated to true. This has been fixed.
  - The old expression builder was culture-dependent (for example, decimal separators). The new one uses culture-agnostic parser.

  For more information, see the Expression Builder topic.

- Updated Plugins and Projects

  It is now possible to automatically update a project to a newer version of a plugin it depends on. For more information, see the Updating a Designer Project To a Newer Version Of The Plugin It Uses topic.

- Designer Launcher Enhancements

  The Designer Launcher has been enhanced with two tabs, Samples and Utilities. For more information on them, see the The Cognex Designer Launcher topic.

- Opto and Differential Trigger Signals

  Switching between trigger signals no longer requires scripting. See the Switching Between Opto- and Differential Trigger Signals topic.

- Resolved Issues in Designer 2.0

  Issue | Description
  --- | ---
  Designer gives an error about the SQLite database | Third-party applications may install (against SQLite guidelines) the System.Data.Sqlite.dll into the Global Assembly Cache (GAC). This could cause Designer to show the "Visual C++ Runtime Error" message.
  Memory error while saving | This occurred while working with unusually big images and objects.
  Changing the name of a Tag assigned to a Pin is not updated in Sequence Editor | When a Tag assigned to a Pin was renamed, the displayed Tag name in Sequence Editor was not updated/renamed.
  HMI builder hangs when using an ungroup command | The HMI builder hanged when two or more HMI elements were grouped, and an additional element (type already existent in the group as well) was created and then the grouped elements were ungrouped.
  DS1100: The laser does not shut down when the user exits from Designer | It was possible to enable the laser in Acquisition Wizard and then exit Designer with the laser on.
  Project file is corrupt and asks for a password when loading | The saving process had to be enhanced to prevent accidental effects on the project file.
  Unhandled exception when closing Designer and a connected device is being renamed | When Designer was closed while a connected device was being renamed the application threw an unhandled exception.
  Replacing and renaming tags stop working after saving and reopening the project | Replacing and renaming tags in scripts did not work after saving and reloading the project until the scripts were recompiled.
  The Save As functionality does not transfer necessary files | When Save As was used to save an existing project under another name/path, only the .cdp file was copied/renamed to the new location. This function has been enhanced to copy all files and subdirectories from the original project path as well.

## Cognex Designer 1.0 PR1 Release

The Cognex Designer 1.0 Patch Release 1 did not contain any new features compared to version 1.0, only enhancements to existing features and resolved issues.