HALCON Documentation

Release notes for HALCON 24.11.3.0 Progress-Steady

Here you can read the release notes of MVTec HALCON 24.11.3.0 Progress-Steady, as released in July 2026.

Compatibility

Licenses

HALCON 24.11 Progress-Steady licenses are also valid for HALCON 24.11.3.0 Progress-Steady. In contrast, all HALCON 22.11 licenses or licenses of earlier versions must be replaced or upgraded. Please contact your local distributor.

HALCON Library

HALCON 24.11.3.0 Progress-Steady is fully compatible with 24.11.2 except for the changed behavior of some operators owing to bug fixes. Compared to HALCON 22.11, many extensions have been introduced. Thus, the HALCON 24.11 Progress-Steady libraries are not compatible with HALCON 22.11 or earlier versions. In detail, please note the following incompatibilities with respect to HALCON 24.11.2 Progress-Steady:

HALCON Applications

Please re-compile all C, C++, or .NET programs developed with HALCON 22.11. The incompatibility with HALCON 22.11 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.

Image Acquisition Interfaces

In general, HALCON 24.11.3.0 Progress-Steady and HALCON 24.11.2 Progress-Steady image acquisition interfaces are library compatible.

HALCON 24.11.3.0 Progress-Steady includes only a subset of available image acquisition interfaces. For more information, see the reference documentation of the Image Acquisition Interfaces. You can download additional interfaces from our web server.

Digital I/O Interfaces

In general, HALCON 24.11.3.0 Progress-Steady and HALCON 24.11.2 Progress-Steady digital I/O interfaces are library compatible.

HALCON 24.11.3.0 Progress-Steady includes only a subset of available digital I/O interfaces. For more information, see the reference documentation of the I/O Interfaces. You can download additional interfaces from our web server.

Extension Packages

Extension packages developed with HALCON 24.11 Progress-Steady or HALCON 24.11.2 can be used with HALCON 24.11.3.0 Progress-Steady without further action. Extension packages developed with HALCON 22.11 or earlier versions must be re-generated.

Further Compatibility Information

  • On January 19 2038 at 03:14:07 UTC, the 32-bit time_t values used by the armv7a-linux version of HALCON will overflow, causing HALCON (and any other software using 32-bit time_t values) to stop working correctly (see https://en.wikipedia.org/wiki/Year_2038_problem for more details). To mitigate this issue, MVTec can provide an armv7a-linux-glibc2_34 variant of HALCON that uses 64-bit time_t values, which will not overflow for billions of years to come. However, this variant requires kernel version 5.6 or later and glibc version 2.34 or later. Apart from 64-bit time_t support and the modified system requirements, the armv7a-linux-glibc2_34 variant of HALCON is functionally identical to the armv7a-linux variant.

Supported Operating Systems

Windows

HALCON 24.11.3.0 Progress-Steady has been compiled for the x64-win64 platform version for Windows 10 (x64 editions), 11, Windows Server 2016, 2019, 2022, 2025 on Intel 64 or AMD 64 with SSE2 (AVX2 dispatch) processors.

Linux

HALCON 24.11.3.0 Progress-Steady has been compiled for the following Linux platform versions:

  • x64-linux platform version for Linux x86_64xspace, GLIBC_2.27, GLIBCXX_3.4.24 on Intel 64 or AMD 64 with SSE2 (AVX2 dispatch) processors
  • armv7a-linux platform version for Linux armv7axspace, Kernel with hidraw support, hard-float ABI, GLIBCXX_3.4.24, GLIBCXX_3.4.24 on Armv7-A with NEON support
  • aarch64-linux platform version for Linux aarch64xspace, Kernel with hidraw support, GLIBC_2.27, GLIBCXX_3.4.24 on Armv8-A with AArch64 support

Please refer to the Installation Guide for detailed system requirements corresponding to the different Application Binary Interfaces.

Detailed Description of Changes in HALCON 24.11.3.0 Progress-Steady

The changes in HALCON 24.11.3.0 Progress-Steady are described with respect to HALCON 24.11.2.

Security-Related Topics

The following issues are relevant in the context of cybersecurity:

  • A Software Bill of Materials (SBOM) in the System Package Data Exchange (SPDX) format has been added next to many binary files with the same name, appended with “.spdx.json”. This includes the MVTec HALCON Image Processing Library and all language interfaces (except HALCON/.NET Core).

  • The OpenVINO and TensorRT AI² interfaces now provide an SBOM in the form of *.spdx.json files.

  • The HALCON/.NET interface now provides an SBOM in the form of *.spdx.json files.

    For .NET Framework, these reside under bin/dotnet20 and bin/dotnet35.
    For .NET Core 3.1 and later, the SBOM is included in the Nuget package under the _manifest directory.

  • For x64-linux, the HALCON deep learning library was marked as requiring an executable stack. This problem has been fixed.

  • Internal security checks identified the security vulnerability CVE-2013-6648 (third-party library Skia). The corresponding function is not used in the production code path. Exploitation in the context of HALCON is therefore not possible and the CVE is not applicable to our product.

  • The third-party library libxml has been updated to version 2.13.9.

  • The third-party library libxslt has been updated to version 1.1.45 to provide a fix for CVE-2025-7424.

  • Internal security checks identified the security vulnerability CVE-2023-6228 (third-party library libtiff). This vulnerability affects the tiffcp utility, which is not distributed as part of HALCON.
    Internal security checks identified the security vulnerability CVE-2023-6277 (third-party library libtiff). This is not considered a security vulnerability by the libtiff maintainers, as there is no proven application crash.
    Internal security checks identified the security vulnerability CVE-2023-52356 (third-party library libtiff). This vulnerability does not apply to HALCON, as the vulnerable APIs are not used in HALCON.
    Exploitation in the context of HALCON is therefore not possible and the CVEs are not applicable for our product.

  • The third-party library cJSON has been updated to version 1.7.19.

  • Internal security checks identified the following security vulnerabilities in the third-party CUDA SDK:
    CVE-2025-33228, CVE-2025-33230, CVE-2025-33229, CVE-2025-33231.
    These vulnerabilities concern the NVIDIA Nsight System for Windows and Linux, which are neither shipped nor used by HALCON. Exploitation in the context of HALCON is therefore not possible and the CVEs are not applicable for our product.

  • The third-party library zlib has been updated to version 1.3.2 to provide a fix for CVE-2026-27171.

  • Internal security checks identified the security vulnerability CVE-2026-28500 (third-party ONNX). The vulnerability concerns the Python function onnx.hub.load(), which is neither shipped nor used by HALCON. Therefore, exploitation in the context of HALCON is not possible, and the CVE is not applicable to our product.

  • The third-party library libpng has been updated to version 1.6.57. This fixes the security vulnerabilities CVE-2025-64505, CVE-2025-64506, CVE-2025-64720, CVE-2025-65018, CVE-2025-66293, CVE-2025-22801, CVE-2026-22695, CVE-2026-25646, CVE-2026-33416, CVE-2026-33636, and CVE-2026-34757.

  • Internal security checks identified the following security vulnerabilities in the third-party CUDA SDK:
    CVE-2024-0110, CVE-2025-23275, CVE-2025-23308, CVE-2025-23339, CVE-2025-23247, CVE-2024-0111, CVE-2025-23338, CVE-2025-23272, CVE-2025-23274, CVE-2025-23273, CVE-2024-0125, CVE-2024-0124, CVE-2024-0109, CVE-2024-0123, CVE-2024-53878, CVE-2024-53879, CVE-2024-53870, CVE-2024-53871, CVE-2024-53872, CVE-2024-53873, CVE-2024-53874, CVE-2024-53875, CVE-2024-53876, CVE-2024-53877, CVE-2025-23271, CVE-2025-23340, CVE-2025-23248, CVE-2025-23255, CVE-2025-23346.
    These vulnerabilities concern components of the CUDA SDK that are neither shipped nor used by HALCON. Exploitation in the context of HALCON is therefore not possible and the CVEs are not applicable for our product.

  • The third-party library libtiff has been updated to version 4.7.2. This fixes the security vulnerabilities CVE-2025-8961, CVE-2025-9165, and CVE-2026-4775.

  • The third-party library thrift has been updated to version 0.23.0. This fixes the security vulnerabilities CVE-2026-41636, CVE-2026-41604, CVE-2025-48431, CVE-2026-41602, CVE-2026-41605, CVE-2026-41603, CVE-2026-41607, CVE-2026-41606, CVE-2026-43870, CVE-2026-43869, CVE-2026-43868.

  • The third-party library libxml2 has been updated to version 2.15.3. This fixes the security vulnerabilities CVE-2026-6732, CVE-2025-6021, CVE-2025-10911, CVE-2025-7425, CVE-2025-6170.

  • The third-party library OpenSSL has been updated to version 3.5.7. This fixes the security vulnerabilities CVE-2026-2673, CVE-2026-28387, CVE-2026-28388, CVE-2026-28389, CVE-2026-28390, CVE-2026-31789, CVE-2026-31790, CVE-2025-15467, CVE-2025-68160, CVE-2025-69418, CVE-2025-69419, CVE-2025-69420, CVE-2025-69421, CVE-2026-22795, CVE-2026-22796, CVE-2026-34182, CVE-2026-45447, CVE-2026-42764, CVE-2026-34183, CVE-2026-34180, CVE-2026-7383, CVE-2026-45445, CVE-2026-9076, CVE-2026-34181, CVE-2026-42766, CVE-2026-42767, CVE-2026-42769, CVE-2026-45446, CVE-2026-42768, and CVE-2026-42770.

HDevelop

New Functionality

Miscellaneous
  • We have discontinued the extended telemetry program. Limited telemetry functionality remains in place, as described in our Privacy Policy, and continues to be processed in accordance with applicable data protection requirements.

Bug Fixes

Code Export
  • The HDevelop code export incorrectly exported the 'rep_elem' expression. This problem has been fixed.

HDevelop Example Programs

Bug Fixes
  • The visualization in the HDevelop example program hdevelop/3D-Matching/Deep-3D-Matching/deep_3d_matching_workflow.hdev did not work correctly for cameras of different sizes, or when only one camera was used. This problem has been fixed.

HALCON Library

New Functionality

Identification
  • The following GS1 Application Identifiers are now supported:

    • 8040 for IMEI, 8041 for IMEI2, 8042 for ESIM, and 8043 for PSIM
    • 717 for NHRN SRN
Miscellaneous
  • A Software Bill of Materials (SBOM) in the System Package Data Exchange (SPDX) format has been added next to many binary files with the same name, appended with “.spdx.json”. This includes the MVTec HALCON Image Processing Library and all language interfaces (except HALCON/.NET Core).

Bug Fixes

3D
Bar Code
  • find_bar_code crashed for CodeType 'GS1 DataBar Expanded Stacked' in very rare cases. This problem has been fixed.

  • find_bar_code could crash in very rare case. This problem has been fixed.

  • find_bar_code returned wrong results for CodeType = 'auto' and CodeType = ['Code 128', 'GS1-128'] in rare cases. This problem has been fixed.

  • find_bar_code could return wrong symbol regions and orientation values if 'min_identical_scanlines' was set to a value greater than one and multiple barcodes with an identical decoded string were covered by a successfully decoded scanline. In this case, the correspondence among the different scanline segments taken into account by the 'min_identical_scanlines' check could be wrong. This problem has been fixed.

  • find_bar_code in rare cases returned the error 3100 ("Wrong segmentation threshold"). This problem has been fixed.

  • find_bar_code in rare cases crashed when trying to decode GS1 DataBar Extended Stacked symbols. This may also have happened in the 'auto' mode of find_bar_code. This problem has been fixed.

  • find_bar_code crashed in rare cases during the quiet zone check. This only occurred with element_size_min below 2.0. This problem has been fixed.

  • find_bar_code sometimes returned errors regarding temporary memory. This problem has been fixed.

  • The training of the Barcode reader did not work with some codes that could be decoded with fixed parameters. This problem has been fixed.

  • For set_bar_code_param and set_bar_code_param_specific, the parameter 'quiet_zone' could not be set to 0. This problem has been fixed.

  • Some GS1 DataBar composites could not be decoded due to incorrect segmentation of the lower outline of the composite. This problem has been fixed.

Calibration
Data Code
  • The Aztec Code reader in rare cases did not decode small symbols close to the image border. This problem has been fixed.

  • In rare cases, the Aztec Code reader returned the error 9205 ('Matrix is singular'). This problem has been fixed.

  • find_data_code_2d could show unexpected behavior if 'strict_quiet_zone' was set to 'yes' via set_data_code_2d_param and the symbol XLD of the candidate touched or crossed the image borders. In rare cases and under the mentioned circumstances, the strict quiet zone check may not have worked correctly. The issue affected all code types supporting 'strict_quiet_zone'. This problem has been fixed.

  • get_data_code_2d_objects returned wrong results for 'module_1_rois' and 'module_0_rois' for some Data Matrix codes with a square shape in rare cases. Additionally, get_data_code_2d_results returned wrong results for 'bin_module_data' for the same cases. These problems have been fixed.

  • get_data_code_2d_objects unexpectedly returned an empty object for the module regions of a Data Matrix code in rare cases. This problem has been fixed.

  • The grid center determination used in the print quality inspection of the Data Matrix ECC 200 code reader had an issue caused by false edges close to the ends of the alternating pattern. This could affect both the robust and the reference decode algorithms. This problem has been fixed.

  • The print quality inspection for Aztec Codes sometimes returned a temporary memory error if the code to grade was very close to the image border. This problem has been fixed.

Deep Learning
  • Reading invalid legacy models with read_dl_model could lead to crashes. This problem has been fixed.

  • set_text_model_param with 'separate_touching_chars' set to 'enhanced' crashed if the HALCON deep learning library could not be loaded. This problem has been fixed.

  • The error handling of set_deep_ocr_param and set_dl_model_param used together with the 'recognition_model' has been aligned. Both operators will throw the same errors if an invalid shape adjustment is recognized. Furthermore, it was possible to change the image height of the recognition model's input layer by bypassing the checks in set_deep_ocr_param via set_dl_model_param together with the parameter 'input_dimensions'. These problems have been fixed.

  • For x64-linux, the HALCON deep learning library was marked as requiring an executable stack. This problem has been fixed.

  • add_dl_pruning_batch wrongly changed the batch normalization statistics for deep learning classification models containing batch normalization layers, which could lead to a worse model performance. This problem has been fixed.

  • set_dl_model_param crashed for parameters expecting a handle if HNULL was passed. This problem has been fixed. Now, a corresponding error is raised.

  • load_dl_model_weights did not properly update the weights of batch normalization layers with ReLU activation when the model runtime was set to 'gpu'. This problem has been fixed.

  • The cross entropy loss layer could crash when using invalid target class indices. This problem has been fixed.

File
  • Corrupted image files in PNM format have not always been detected. This problem has been fixed.

  • Using values exceeding the maximum image size for the read_sequence parameters SourceWidth and SourceHeight caused an error. This problem has been fixed.

  • On Windows, copy_file did not copy access rights and file timestamps of the source file. This problem has been fixed.

  • Under certain conditions, reading corrupted TIFF files caused a crash. This problem has been fixed.

  • When reading PNG files that do not contain a .png file name extension in read_image, errors were not detected properly, potentially resulting in corrupted image data. This problem has been fixed.

Filter
  • gauss_filter returned incorrect results for int4 images on 32-bit systems. This problem has been fixed.

  • gauss_filter handled inner and border region of 'real' images inconsistently. This problem has been fixed.

  • mean_image_shape in rare cases returned slightly incorrect results for byte images due to rounding problems on aarch64 with neon enabled. This problem has been fixed.

  • polar_trans_image_ext produced incorrect results for images of type 'real' if int_zooming was set to 'true' and the 'fused multiply-add' (FMA3) and 'Advanced Vector Extension 2' (AVX2) instruction sets were not enabled on x86 processors. This problem has been fixed.

  • highpass_image only processed the first channel for images of type 'byte'. This problem has been fixed.

  • sobel_amp('sum_sqrt') could crash for uint2 images. This problem has been fixed.

  • edges_sub_pix returned with an internal error when passing an image with specific, reduced domains in rare cases. This problem has been fixed.

Graphics
  • draw_region handled sub-pixel coordinates incorrectly. Whenever the operator was executed on a strongly magnified image, the resulting region depended on which part of the pixel was actually touched: The lower-right quadrant of the image pixel resulted in the expected region pixel, whereas the other parts of the image pixel caused the resulting region to be moved by 1 to the left and/or up. This problem has been fixed.

Identification
  • HALCON could not read GS1 syntax dictionaries with "!" flags. Further, HALCON could not read GS1 syntax dictionaries with Windows CRLF line endings. These problems have been fixed.

Matching
Measure
  • measure_projection could return values differing more than one gray value when compared to its values with another system setting for int_zooming. This problem has been fixed.

  • The metrology model parameter 'scale' and the metrology object parameter 'distance_threshold' were previously not always serialized depending on which other model parameters were set. This problem has been fixed.

  • set_metrology_object_fuzzy_param could crash when given invalid parameter values. This problem has been fixed.

Miscellaneous
  • The HGetCElementHN macro was defined incorrectly. This problem has been fixed.

  • get_grayval_interpolated could crash or return incorrect results when used on very large images in HALCON XL. This problem has been fixed.

Region
  • region_features(Regions : : Features : Value) crashed for multiple features when computed on a region that extends to the limits of the available coordinate range. This problem has been fixed.

Tools
  • Under certain circumstances hinfo could be manipulated into loading two different HALCON shared libraries simultaneously, leading to inconsistent output. This problem has been fixed.

Tuple
  • HALCON implements copy_dict, write_dict, and serialize_handle for dict handles recursively. This can lead to stack overflow if the dict is nested too deeply, so HALCON will now report an error if any of these operators is called with a dict that is nested to a depth of more than 100.

  • tuple_number treated floating point numbers starting with a plus sign as strings, not numbers. This problem has been fixed.

  • tuple_sum and tuple_cumul could return incorrect results for very large integer input values. This problem has been fixed.

    tuple_cumul did not return all values as floating-point values if the input contained at least one floating-point value, as described in the reference documentation. This problem has been fixed.

XLD
  • When using intersection_region_contour_xld in HALCON XL with large coordinates, the returned intersections were not always correct. This problem has been fixed.

HALCON/C

Bug Fixes

  • In some cases, a HALCON/C application could crash when destroying an application thread previously used to execute HALCON operators. A necessary condition was that at least one operator, typically the last one executed in the thread, returned an error result. This problem has been fixed.

HALCON/PYTHON

Bug Fixes

  • The signature of the receive_data operator was wrong in the HALCON language interfaces. As a result, receive_data could not be used from the Python language interface. This problem has been fixed.

Language Interface Example Programs

Bug Fixes

  • The Python qt_gui example did not build because of an outdated reference to version 5.15.2 of PyQt5. This problem has been fixed.

  • A warning was displayed when building the C++/CLI example "interoperate". This problem has been fixed.

Extension Packages

Functionality

  • The CMake build for the Easy Extensions Interface, as well as the build instructions in the corresponding Readme file have been improved to simplify the build experience.

HComp

Bug Fixes

  • hcomp could insert invalid characters into the HALCON help files under certain circumstances. This problem has been fixed.

Image Acquisition Interfaces

The latest information about new interface revisions and newly supported image acquisition devices can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual image acquisition interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.

Digital I/O Interfaces

The latest information about new interface revisions and newly supported digital I/O interfaces can be found on MVTec's web server. Please refer to the release notes within the documentation of the individual digital I/O interfaces for information about improvements, bugfixes, or whether a new revision of the corresponding device driver is required.

Documentation

Programmer's Manuals

  • The documentation did not mention that Variable Inspect does not support remote debugging. This problem has been fixed.

Reference Manual

  • The reference manual entry of the operators find_aniso_shape_models, find_scaled_shape_models, find_shape_models and find_generic_shape_model did not mention the special behaviour of the parameter MinScore or 'min_score', respectively, on the highest pyramid level in a multi-model case. The documentation has been adapted accordingly.

  • The reference manual entry of get_data_code_2d_param falsely stated that only for DotCode symbols the module size restrictions are not checked even if 'strict_model' is set to 'yes'. However, this is the case for all symbol types.
    The reference manual entry of set_data_code_2d_param falsely stated that the parameter 'abort' is ignored when running in training mode.
    These problems have been fixed.

  • The default values for 'detection_optimize_for_inference' and 'recognition_optimize_for_inference' have been removed from the documentation of get_deep_ocr_param, since the actual value depends on the used underlying model.

  • The reference manual entry of get_dl_model_param did not mention the parameter 'inference_outputs'. This problem has been fixed.

  • The reference manual entry of get_generic_shape_model_param did not state that multi-value GenParamValues cannot be returned together with further values and therefore need to be queried in a distinct get_generic_shape_model_param call. The documentation has been adapted accordingly.

  • For some operators, the output of get_operator_info contained invalid UTF-8 characters and incorrect output of quotation marks. This problem has been fixed. The following operators were affected by invalid UTF-8 output:
    triangulate_object_model_3d, reconstruct_surface_stereo, set_stereo_model_param, get_dl_model_param, get_deep_ocr_param

  • The reference manual entry for set_spy mentioned the option “error” although the option was effectless. This problem has been fixed. The outdated entry has been removed.

  • The reference manual entry of the signature for the callback used with the 'do_low_error' set_system parameter was incorrect. This problem has been fixed.

Licensing

  • When run on a system under very high load, HALCON could erroneously detect system-time manipulation. This problem has been fixed.

  • For aarch64-linux, the CID licensing has been extended to also accept NVME SSD serial numbers.

  • hinfo now reports the full version number of HALCON, including the hotfix version.

Third-Party Libraries

  • HALCON now uses version 8.30a of the CodeMeter Runtime.

  • The third-party library libxml has been updated to version 2.13.9.

  • The third-party library libxslt has been updated to version 1.1.45 to provide a fix for CVE-2025-7424.

  • The third-party library cJSON has been updated to version 1.7.19.

  • The third-party library libcurl has been updated to version 8.19.0.

  • The third-party library zlib has been updated to version 1.3.2 to provide a fix for CVE-2026-27171.

  • The third-party library mimalloc has been updated to version 2.2.7.

  • The third-party library libtiff has been updated to version 4.7.2. This fixes the security vulnerabilities CVE-2025-8961, CVE-2025-9165, and CVE-2026-4775.

  • The third-party library thrift has been updated to version 0.23.0. This fixes the security vulnerabilities CVE-2026-41636, CVE-2026-41604, CVE-2025-48431, CVE-2026-41602, CVE-2026-41605, CVE-2026-41603, CVE-2026-41607, CVE-2026-41606, CVE-2026-43870, CVE-2026-43869, CVE-2026-43868.

  • The third-party library libxml2 has been updated to version 2.15.3. This fixes the security vulnerabilities CVE-2026-6732, CVE-2025-6021, CVE-2025-10911, CVE-2025-7425, CVE-2025-6170.

  • The third-party library OpenSSL has been updated to version 3.5.7. This fixes the security vulnerabilities CVE-2026-2673, CVE-2026-28387, CVE-2026-28388, CVE-2026-28389, CVE-2026-28390, CVE-2026-31789, CVE-2026-31790, CVE-2025-15467, CVE-2025-68160, CVE-2025-69418, CVE-2025-69419, CVE-2025-69420, CVE-2025-69421, CVE-2026-22795, CVE-2026-22796, CVE-2026-34182, CVE-2026-45447, CVE-2026-42764, CVE-2026-34183, CVE-2026-34180, CVE-2026-7383, CVE-2026-45445, CVE-2026-9076, CVE-2026-34181, CVE-2026-42766, CVE-2026-42767, CVE-2026-42769, CVE-2026-45446, CVE-2026-42768, and CVE-2026-42770.

Follow this link to read about the changes of previous HALCON versions.

MVTec Software