Compatibility


Licenses

HALCON 13.0 licenses are also valid for HALCON 13.0.4. In contrast, all HALCON 12.0 licenses or licenses of earlier versions must be replaced or upgraded. Please contact your local distributor.


HALCON Library

HALCON 13.0.4 is fully compatible with HALCON 13.0 except for the changed behavior of some operators owing to bug fixes. Compared to HALCON 12.0, many extensions have been introduced. Thus, the HALCON 13.0 libraries are not compatible with HALCON 12.0 or earlier versions.

In detail, please note the following incompatibilities with respect to HALCON 13.0.3:

  • In rare cases, find_shape_model (as well as the scaled and aniso variants) might return different results.

HALCON Applications

Applications (i.e., executables) developed with HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, or HALCON 13.0.3 can be used with HALCON 13.0.4, i.e., HALCON 13.0.4 is binary compatible with HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, and HALCON 13.0.3.

All programs (C, C++, .NET, or COM) that have been developed with HALCON 12.0.x must be recompiled. The incompatibility with HALCON 12.0.x or earlier versions mainly concerns the binaries, with only few changes in the language interfaces. If you encounter problems during recompiling your programs, please check the detailed description of changes below and for HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, and HALCON 13.0.3, respectively.

Please note that applications using HALCON/.NET (and HDevEngine/.NET) have local copies of the corresponding assemblies (halcondotnet.dll etc.). After installing HALCON 13.0.4, these applications would therefore use the old version of the HALCON/.NET interface together with the new version of the HALCON library. In order to benefit from the bug fixes in the HALCON/.NET interface as well, you must either replace the assemblies manually or recompile the projects. If you do not recompile the application, you need to add an application configuration file mapping the application’s expected assembly version to the new version. See the Programmer’s Guide for more information.


Image Acquisition Interfaces

If you have developed your own acquisition interfaces with HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, or HALCON 13.0.3, you can use them with HALCON 13.0.4 without further action.

Discontinuation of the GigEVision Interface

MVTec discontinues the GigEVision interface. Since HALCON 13.0.2, the GigEVision interface is deprecated, but still available. Note that instead of the GigEVision interface, the new GigEVision2 interface should be used. For HALCON 18.11 Steady / HALCON 17.12 Progress or higher HALCON versions, the GigEVision2 interface replaces the deprecated GigEVision interface.


Digital I/O Interfaces

If you have developed your own digital I/O interfaces with HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, or HALCON 13.0.3, you can use them with HALCON 13.0.4 without further action.


Extension Packages

Extension packages developed with HALCON 13.0, HALCON 13.0.1, HALCON 13.0.2, or HALCON 13.0.3 can be used with HALCON 13.0.4 without further action. Extension packages developed with HALCON 12.0.x or earlier versions must be re-generated. Note that the old makefiles for HALCON/C++ must be adapted according to the sample makefile under extension_packages/halconuser.


Further Compatibility Information

  • The Linux installer script install-linux.sh now is run using bash. Any POSIX compatible shell with file globbing support can be used as alternative to bash.

Discontinuation of the HALCON/C++ (legacy) Language Interface

MVTec discontinues the HALCON/C++ (legacy) language interface. Since HALCON 13.0.2, the HALCON/C++ (legacy) interface does not contain any new class. This means, the major part of the new functionality that was introduced with HALCON 13, is not available via the HALCON/C++ (legacy) interface. Since HALCON 12.0.2, there are warnings when compiling HALCON/C++ (legacy) projects. For HALCON 18.11 Steady / HALCON 17.12 Progress or higher HALCON versions, the HALCON/C++ (legacy) interface is no longer available.


Discontinuation of the HALCON/COM Language Interface

MVTec discontinues the HALCON/COM language interface. Since HALCON 13.0.2, the HALCON/COM interface is marked as legacy. For HALCON 18.11 Steady / HALCON 17.12 Progress or higher HALCON versions, the HALCON/COM interface is no longer available.