.. role:: raw-html(raw)
    :format: html

.. |supported| image:: /_assets/images/green_circle.png
.. |na| image:: /_assets/images/grey_circle.png
.. |unsupported| image:: /_assets/images/red_circle.png
.. |partialsupport| image:: /_assets/images/gray_green_circle.png

###############
HOOPS 3DF 31.10
###############


Overview
========
3DF 31.10 is a security‑focused maintenance release. It delivers critical third‑party library updates required by key partners (including Bentley) and continues our ongoing work to harden HSF handling against malformed or malicious files. This release is intended as the primary quarterly update for customers who need the latest CVE resolutions but are not on an LTS branch.


Technology Update
=================

Platform Changes
----------------

  * Platform Deprecation Announcement: Support for Visual Studio 2019 (toolchain 14.2) and .Net 8 will be discontinued in 3DF 31.40. Continued support for this platform will only be available in 3DF 30-LTS beyond December 2026.
  * Platform Deprecation Announcement: Support for MacOS on Intel architecture will be discontinued starting with 3DF 32.00 and 30.80-LTS due to the end of support in MacOS 27.
  * Internal build and packaging scripts for 3DF 31.x have been updated to ensure consistent versioning across DLL/HDI binaries, continuing the work started in previous 28.xx/29.xx releases. These updates should be transparent for most integrators but may appear as changed DLL/HDI version metadata and updated SBOM output.

Third-Party Library Updates
---------------------------

================== =======================
*Library*          *New Version*
================== =======================
libPNG             v1.6.56
zlib               v1.3.2
================== =======================


Library Compatibility Information
=================================

.. only:: not spatial

	.. csv-table::
		:header: "Library Name", "Version", "Windows", "Linux", "OS X", "Notes"

		"DGN Direct", "4.2", |supported|, |unsupported|, |unsupported|, ""
		"HOOPS Communicator", "2025.4.0", |supported|, |unsupported|, |unsupported|, "HTML HIO only works with Visual Studio v142."
		"HOOPS Exchange", "2026.3.0", |supported|, |supported|, |unsupported|, ""
		"HOOPS Luminate", "2025.3.0", |supported|, |supported|, |supported|, ""
		".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 and 2022 libraries."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2022 samples."
		"Parasolid", "35.1", |supported|, |supported|, |unsupported|, ""
		"Qt", "6.5.3", |supported|, |unsupported|, |unsupported|, ""
		"Qt", "5.12.7", |unsupported|, |supported|, |unsupported|, "Visualize is compatible with Qt 5.4 only on OSX "
		"RealDWG", "2023", |supported|, |unsupported|, |unsupported|, "RealDWG 2023 is only compatible with Visual Studio 2019 (v142 toolchain) "
		"RealDWG", "2025", |supported|, |unsupported|, |unsupported|, "RealDWG 2025 is only compatible with Visual Studio 2022 (v143 toolchain) "
		"SketchUp", "2023", |supported|, |unsupported|, |unsupported|, "64-bit Windows only. Requires Visual Studio 2019 Redistributable."

.. only:: spatial

	.. csv-table::
		:header: "Library Name", "Version", "Windows", "Linux", "OS X", "Notes"

		"DGN Direct", "4.2", |supported|, |unsupported|, |unsupported|, ""
        ".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2019 and 2022 libraries."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, "Required for VS 2022 samples."
		"Qt", "6.5.3", |supported|, |unsupported|, |unsupported|, ""
		"Qt", "5.12.7", |unsupported|, |supported|, |unsupported|, "Visualize is compatible with Qt 5.4 only on OSX "
		"RealDWG", "2023", |supported|, |unsupported|, |unsupported|, "RealDWG 2023 is only compatible with Visual Studio 2019 (v142 toolchain) "
		"RealDWG", "2025", |supported|, |unsupported|, |unsupported|, "RealDWG 2025 is only compatible with Visual Studio 2022 (v143 toolchain) "


Security & CVE Resolution
=========================

This release focuses on dependency upgrades and rendering pipeline adjustments needed to resolve partner‑blocking CVEs and quality regressions:

  * Updated image‑handling dependencies (e.g., libPNG, zlib and related codecs) to versions that address known CVEs raised by Bentley and other partners.

  * Continued replacement / reduction of ImageMagick usage in favor of safer, better‑scoped image handling paths.

  * Ensured anti‑aliasing and rendering quality settings are preserved while applying security hardening, particularly for OpenGL2 / Mesa configurations where partners previously reported degraded visual quality.

These changes are primarily internal but may be visible as improved scan results in security tooling and slightly different behavior for malformed image or HSF content (see below).


HSF Robustness & Data Integrity Improvements
============================================

3DF 31.10 continues the work started in earlier 30.xx/31.xx releases to prevent corrupted or malicious HSF content from causing instability:

  * Strengthened validation when reading HSF streams, especially around user‑data blocks and size fields that previously could cause misalignment during parsing.

  * Ensured that corrupted data is rejected gracefully with a clear failure instead of leading to undefined behavior or access violations.

  * Aligned behavior across eDrawings‑style applications and the HOOPS 3D Part Viewer so that older HSF content either loads consistently or fails with the same error path.

These changes are designed to be non‑breaking for valid content, but applications may now refuse to load HSF files that were previously accepted despite being structurally invalid.


Deprecations
============

* As part of efforts to resolve and reduce the risk of introducing CVEs the use of ImageMagick and related utilities are deprecated and will be removed over the coming two releases.


Fixed Bugs
==========

.. csv-table::
    :header: "Issue", "Description"

    "SDHV-21055", "Fix wrapping of return."
    "SDHE-22554", "Add a default image in case of loading issue to prevent crash."
    "SDHV-21402", "Fix tint management in color management."
    "SDHV-21418", "Create a new tint texture to improve performance."
    "SDHV-21432", "Add custom type for HICS wrapper to ensure type conversion and fix some DX11 closing stuff to remove warning and error on close."
    "SDHV-21443", "Update LibPNG."
    "SDHV-21454", "Improve reset mechanism on RDC reconnection."
    "SDHV-21457", "Force graphical redraw when device changes."