Compatibility


Licenses

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


HALCON Library

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

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

  • A bugfix for find_text requires an adaption of the HDevelop example ‘ocr_lot_number.hdev’ in order to preserve its functionality. Since no example programs are delivered with HALCON 12.0.4, please adapt ‘ocr_lot_number.hdev’ as follows: replace set_text_model_param (TextModel, ‘stroke_width’, 7) with set_text_model_param (TextModel, ‘stroke_width’, 8).
  • The results and scores of surface-based matching can change for scenes where the average distance between neighboring points is larger than 0.001.
  • For get_circle_pose the order of the output poses may be reversed with respect to the old behavior when the distance of the circle to the camera is smaller than or roughly equal to its radius.

HALCON Applications

Applications (i.e., executables) developed with HALCON 12.0, HALCON 12.0.1, HALCON 12.0.2, or HALCON 12.0.3 can be used with HALCON 12.0.4, i.e., HALCON 12.0.4 is binary compatible with HALCON 12.0, HALCON 12.0.1, HALCON 12.0.2, and HALCON 12.0.3.

All programs (C, C++, .NET, or COM) that have been developed with HALCON 11.0.x must be recompiled. The incompatibility with HALCON 11.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 12.0, HALCON 12.0.1, HALCON 12.0.2, and HALCON 12.0.3, respectively.

Please note that applications using HALCON/.NET (and HDevEngine/.NET) have local copies of the corresponding assemblies (halcondotnet.dll etc.). In order to benefit from the bug fixes in the HALCON/.NET interface, 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.


Image Acquisition Interfaces

If you have developed your own acquisition interfaces with HALCON 12.0, HALCON 12.0.1, HALCON 12.0.2, or HALCON 12.0.3, you can use them with HALCON 12.0.4 without further action.


Digital I/O Interfaces

If you have developed your own digital I/O interfaces with HALCON 12.0, HALCON 12.0.1, HALCON 12.0.2, or HALCON 12.0.3, you can use them with HALCON 12.0.4 without further action.


Extension Packages

Extension packages developed with HALCON 12.0, HALCON 12.0.1, HALCON 12.0.2, or HALCON 12.0.3 can be used with HALCON 12.0.4 without further action. Extension packages developed with HALCON 11.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.


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

MVTec plans to discontinue the HALCON/C++ (legacy) language interface. The timeline for this discontinuation includes the following steps:

  • HALCON 12.0.4:
    • There are warnings when compiling HALCON/C++ (legacy) projects.
  • HALCON 17.12 and higher:
    • The HALCON/C++ (legacy) interface is not available anymore.

Planned Discontinuation of the Support of FLEXid Dongles

For HALCON 13 and higher, FLEXid dongles are no longer supported and will be substituted by CodeMeter dongles. Note that HALCON 12 will furtheron support FLEXid dongles. For HALCON 12.0.3 and higher, also CodeMeter dongles are supported, if a valid HALCON 13 license file is available.