#######################
HOOPS Exchange 2025.4.0
#######################


.. note::
  | **Upcoming Change to Product Package Names**
  | To improve clarity and consistency, HOOPS will adopt a unified naming scheme across all products. New package names will include product, version, platform, architecture, and compiler details. This change will take effect no earlier than the 2025.7.0 release in mid-September 2025.


Technology Updates
==================

Format Updates
--------------

================== ==================== 
*Format*           *Updated Version*
================== ====================
CATIA V5           2025
3DXML              2025
Inventor           2026
================== ====================

See :doc:`/start/supported-formats` for the list of all supported formats.

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

The following third-party library has been added:

================== =======================
*Library*          *Version*
================== =======================
Zstandard          1.5.7
================== =======================

For more information about package content, see :ref:`package_hierarchy`.


New Features
============

* HOOPS Exchange on iOS now supports reading of Autodesk 3DS, FBX, OBJ and COLLADA files.
* HOOPS Exchange on iOS now supports writing of FBX and OBJ files.

.. rubric:: Modification About Layers

* The :cpp:struct:`A3DAsmLayer` structure is now deprecated and will be removed in future versions. 
  It is replaced by :cpp:struct:`layerA3DAsmLayerEntityData`.
* The :cpp:func:`A3DAsmProductOccurrenceGetLayerList` function is deprecated. 
  Now a layer list can be obtained from any instance of :struct:`A3DAsmProductOccurrenceData` containing layers. 

See :doc:`/guide/layers` for more information.

Experimental USD Writer
-----------------------

The Universal Scene Description (USD) file format, maintained by the `Alliance for OpenUSD <https://aousd.org/>`__, is used by many industries and CAD applications.

As of HOOPS Exchange 2025.4.0, we provide a USD writer as a **new experimental feature**.
This new export format comes with some limitations, particularly regarding supported compilers on GNU/Linux. 
This format is also subject to changes in the scope and signature of the API.

The :doc:`/start/format/usd_writer` page provides all of the necessary information to start exporting to USD.

API Changes
===========

* Added :cpp:member:`~A3DAsmProductOccurrenceData::m_ppLayers` and `~A3DAsmProductOccurrenceData::m_uiLayersSize` members for :cpp:struct:`A3DAsmProductOccurrenceData`.
* Added :cpp:struct:`A3DAsmLayerEntityData` structure.
* Added :cpp:func:`A3DAsmLayerEntityGet` function.
* Added :cpp:func:`A3DAsmModelFileExportToUSDFile` function (experimental only).
* Added :cpp:struct:`A3DRWParamsExportUSDData` structure (experimental only).


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

* :cpp:func:`A3DAsmProductOccurrenceGetLayerList` function is deprecated.
* :cpp:struct:`A3DAsmLayer` structure is deprecated.

Package Changes
===============

Our example codes included with HOOPS Exchange packages now support building with CMake.  
For more information, please see :doc:`/sample_codes`.  

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

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

    "SDHE-22474", "Fixed unexpected behavior when importing an invalid JT file."
    "SDHE-22472", "Fixed unexpected behavior when importing an invalid JT file."
    "SDHE-22463", "Fixed unexpected behavior when importing an invalid CATIA V5 file."
    "SDHE-22422", "Fixed unexpected behavior when importing an invalid JT file."
    "SDHE-22388", "Restored ability to load SolidWorks assembly."
    "SDHE-22363", "Fixed vulnerability by not writing out of bounds of an array when data is inconsistent."
    "SDHE-22337", "Fixed unexpected behavior when sewing a PRC file."
    "SDHE-22180", "Fixed missing imported faces by also keeping shared surfaces owned by Quilts."
    "SDHE-21655", "Fixed the management of temperature units for material properties."
    "SDHE-20699", "Set colors on some boolean operation results where they were missing."
    
