.. 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

.. 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

############
HPS 2025.1.0
############

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

Library Compatibility Information
---------------------------------

.. only:: not spatial

	.. csv-table::
		:header: "Library name", "Version", "Windows", "Linux", "OS X", "Android", "iOS", "Notes"
		
		"HOOPS Exchange", "2025.1.0", |supported|, |supported|, |supported|, |supported|, |supported|, "Android simulator support is limited. See this :ref:`explanation <prog_guide/0906_exchange_integration:Important note for Android developers>`."
		"HOOPS Publish", "2025.1.0", |supported|, |supported|, |unsupported|, |unsupported|, |unsupported|, "Requires SSSE3 instruction set support, Linux support is limited to C++"
		"HOOPS Communicator HTML Sprocket", "2024.6.0", |supported|, |unsupported|, |unsupported|, |supported|, |supported|, "HC Sprocket only works with Visual Studio toolset 142."
		"HOOPS Communicator Streaming Sprocket (HCA)", "2024.6.0", |supported|, |unsupported|, |unsupported|, |supported|, |supported|, "HC Sprocket only works with Visual Studio toolset 142."
		".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio v14.2 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio 2019 (toolset 142) and 2022 (toolset 143)."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio 2022 (toolset 143)."
		"Parasolid", "35.1", |supported|, |supported|, |supported|, |unsupported|, |supported|, "For iOS platforms, support is limited to 64-bit platforms for the Parasolid Sprockets (hps_sprk_parasolid and hps_sprk_exchange_parasolid)."
  		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "RealDWG 2019 compatible only with Visual Studio toolset 142"
		"Qt", "5.12.7", |supported|, |supported|, |supported|, |unsupported|, |unsupported|, ""
		"SketchUp", "2023", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "VS2019 Redistributable required, and only x64 Sketchup is supported"
		
.. only:: spatial

	.. csv-table::
		:header: "Library name", "Version", "Windows", "Linux", "OS X", "Android", "iOS", "Notes"
		
		".NET Framework", "4.8", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio v14.2 libraries and samples."
		".NET Standard", "2.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio 2019 (toolset 142) and 2022 (toolset 143)."
		".NET Core", "8.0", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "Required for Visual Studio 2022 (toolset 143)."
		"Parasolid", "35.1", |supported|, |supported|, |supported|, |unsupported|, |supported|, "For iOS platforms, support is limited to 64-bit platforms for the Parasolid Sprockets (hps_sprk_parasolid and hps_sprk_exchange_parasolid)."
  		"RealDWG", "2019", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "RealDWG 2019 compatible only with Visual Studio toolset 142"
		"Qt", "5.12.7", |supported|, |supported|, |supported|, |unsupported|, |unsupported|, ""
		"SketchUp", "2023", |supported|, |unsupported|, |unsupported|, |unsupported|, |unsupported|, "VS2019 Redistributable required, and only x64 Sketchup is supported"
  
Platform Changes
----------------

* Support for Microsoft Windows/Visual Studio 2022 (V17.8 and above with toolset 143) and .Net 8 starts with this release.
* Minimum required version for .Net Framework is now 4.8. Note that .Net Framework support is only available on the Visual Studio 2019 (toolset 142) platform. Consider migrating your application to .Net Core 2.0.
* Support for all Microsoft Windows 10 editions is scheduled to end in October 2025 in coordination with Microsoft's scheduled end of life policy.
* Support for OpenGL on MacOS and iOS platforms is deprecated and will no longer be supported starting with HPS 2026.1.0. Partners will have to migrate to Metal in order to maintain support for Apple devices in the future. 


Functional changes
==================

* The number of update statistics that can be displayed by ``SetResourceMonitor()`` has been increased to 80.
* Only visible markers will be selected by visual selection. Previously, all markers in a group were selected regardless of their individual visibility.
* Transformable PMI text is more reliably detected and included in PDF export preview.
* ``FitWorld()`` was made more thread-safe to avoid clashes with other concurrent operations.
* Text is no longer clipped when using transparent backgrounds.
* Model is now selectable after playing an animation.
* The *TableToPDF* module is now dropped. Please contact our "Support" Team (https://partner.support.techsoft3d.com/servicedesk/customer/portals) if you have questions regarding this capability.


.. only:: not spatial

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

    A number of functions from our HOOPS Exchange and HOOPS Publish integrations have been deprecated. They have been preprended with ``deprecated_``.

    These Publish functions have been prepended by deprecated_ and will be removed in version 2026.1.0:

    * ``HPS::Publish::DocumentKit::SetPasswords(char const* in_user_password, char const* in_owner_password)`` renamed to ``HPS::Publish::DocumentKit::deprecated_SetPasswords(char const* in_user_password, char const* in_owner_password)``
    * ``HPS::Publish::DocumentKit::SetPermissions(size_t in_count, Permission::Type const in_permissions[])`` renamed to ``HPS::Publish::DocumentKit::deprecated_SetPermissions(size_t in_count, Permission::Type const in_permissions[])``
    * ``HPS::Publish::DocumentKit::SetPermissions(PermissionTypeArray const& in_permissions)`` renamed to ``HPS::Publish::DocumentKit::SetPermissions(PermissionTypeArray const& in_permissions)``
    * ``HPS::Publish::DocumentKit::UnsetPasswords()`` renamed to ``HPS::Publish::DocumentKit::deprecated_UnsetPasswords()``
    * ``HPS::Publish::DocumentKit::UnsetPermissions()`` renamed to ``HPS::Publish::DocumentKit::deprecated_UnsetPermissions()``
    * ``HPS::Publish::DocumentKit::ShowPasswords(UTF8& out_user_password, UTF8& out_owner_password) const`` renamed to ``HPS::Publish::DocumentKit::deprecated_ShowPasswords(UTF8& out_user_password, UTF8& out_owner_password) const``
    * ``HPS::Publish::DocumentKit::ShowPermissions(PermissionTypeArray& out_permissions) const`` renamed to ``HPS::Publish::DocumentKit::deprecated_ShowPermissions(PermissionTypeArray& out_permissions) const``

    * ``HPS::Publish::DocumentKey::SetPasswords(char const* in_user_password, char const* in_owner_password)`` renamed to ``HPS::Publish::DocumentKey::deprecated_SetPasswords(char const* in_user_password, char const* in_owner_password)``
    * ``HPS::Publish::DocumentKey::SetPermissions(size_t in_count, Permission::Type const in_permissions[])`` renamed to ``HPS::Publish::DocumentKey::deprecated_SetPermissions(size_t in_count, Permission::Type const in_permissions[])``
    * ``HPS::Publish::DocumentKey::SetPermissions(PermissionTypeArray const& in_permissions)`` renamed to ``HPS::Publish::DocumentKey::deprecated_SetPermissions(PermissionTypeArray const& in_permissions)``


    Replace these deprecated Publish functions by:

    * ``HPS::Publish::DocumentKit::SetPasswordSecurity(char const* in_user_password, char const* in_owner_password, size_t in_permissions_count,  HPS::Publish::Permission::Type const in_permissions[])`` 
    * ``HPS::Publish::DocumentKit::SetPasswordSecurity(char const* in_user_password, char const* in_owner_password, PermissionTypeArray const& in_permissions)`` 
    * ``HPS::Publish::DocumentKit::UnsetPasswordSecurity()``    
    * ``HPS::Publish::DocumentKit::ShowPasswordSecurity(UTF8& out_user_password, UTF8& out_owner_password, PermissionTypeArray& out_permissions) const`` 

    * ``HPS::Publish::DocumentKey::SetPasswordSecurity(char const* in_user_password, char const* in_owner_password, size_t in_permissions_count,  HPS::Publish::Permission::Type const in_permissions[])`` 
    * ``HPS::Publish::DocumentKey::SetPasswordSecurity(char const* in_user_password, char const* in_owner_password, PermissionTypeArray const& in_permissions)`` 

    These Exchange functions have been prepended by deprecated_ and will be removed in version 2026.1.0:

    * ``HPS::Exchange::ImportOptionsKit::SetMultiProcessCount(unsigned int in_count)`` renamed to ``HPS::Exchange::ImportOptionsKit::deprecated_SetMultiProcessCount(unsigned int in_count)``
    * ``HPS::Exchange::ImportOptionsKit::UnsetMultiProcessCount()`` renamed to ``HPS::Exchange::ImportOptionsKit::deprecated_UnsetMultiProcessCount()``
    * ``HPS::Exchange::ImportOptionsKit::ShowMultiProcessCount(unsigned int& out_count)`` renamed to ``HPS::Exchange::ImportOptionsKit::deprecated_ShowMultiProcessCount(unsigned int& out_count)``

    This Exchange enumeration value has been prepended by deprecated_ and will be removed in version 2026.1.0:
    
    * ``HPS::Exchange::STEP::Format::AP242`` renamed to ``HPS::Exchange::STEP::Format::deprecated_AP242``.
    It can be replaced by ``HPS::Exchange::STEP::Format::AP242_Ed1``.


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

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

    "SDHV-20962", "Cannot select a model after playing animation"
    "SDHV-20939", "ShowNetBounding returns significantly different results between 2024.3.0 and 2024.7.0"
    "SDHV-20918", "Error creating OOC files using the Point Cloud API "
    "SDHV-20912", "Image.File.Export crops text when transparent background is turned on"
    "SDHV-20906", "HPS performance issue"
    "SDHV-20903", "HOOPS V25 is faster than V29.30."
    "SDHV-20803", "Crash when statistics are displayed"
    "SDHV-19630", "3DXML PMI data is not getting rendered correctly on the canvas "
    "SDHV-19493", "HC_Compute_Selection_By_Area regression"
