# HOOPS Publish 2024.7.0

## API Changes

### Deprecation: Removal of `HOOPS_LICENSE`

As of this release, the automatic inclusion of the hoops_license.h header file from HOOPS Publish headers is deprecated. This change will take effect in the upcoming release, HOOPS Publish 2024.8.0.

The hoops_license.h file contains the macro definition `HOOPS_LICENSE` used to pass the license key when initializing HOOPS Publish via the function `A3DLicPutUnifiedLicense()`. This change removes the automatic definition of `HOOPS_LICENSE` when including HOOPS Publish header files.

As a reminder, license initialization is currently handled as follows:

    A3DStatus result = A3DLicPutUnifiedLicense(HOOPS_LICENSE);

While no code changes are required until the 2024.8.0 release, it is possible to prepare for this change by migrating now. The following migration guide is valid starting with the 2024.7.0 release.

To initialize HOOPS Publish correctly, you now have three options:

1. Explicitly Include hoops_license.h

You can still explicitly include hoops_license.h in your source code:

    #include <hoops_license.h>

    // ...

    A3DStatus result = A3DLicPutUnifiedLicense(HOOPS_LICENSE);

2. Manually Define `HOOPS_LICENSE`

Alternatively, you can manually define the `HOOPS_LICENSE` macro in your source code before calling `A3DLicPutUnifiedLicense()`:

    #define HOOPS_LICENSE "Enter the license key"

    // ...

    A3DStatus result = A3DLicPutUnifiedLicense(HOOPS_LICENSE);

This approach eliminates the need to include hoops_license.h entirely.

3. Pass the License Key Directly

Finally, you can pass the license key directly as a string when calling `A3DLicPutUnifiedLicense()`:

    A3DStatus result = A3DLicPutUnifiedLicense("Enter the license key");

This method eliminates the need for both the macro definition and the inclusion of hoops_license.h.

For more information, please refer to our Initializing HOOPS Exchange guide and our /tutorials/environment-setup tutorial.

## Documentation Update

### HOOPSY

We are excited to introduce HOOPSY our new Documentation AI assistant, now available for HOOPS Exchange and Publish users. This tool leverages advanced AI capabilities to help you find relevant information quickly and efficiently, providing on-demand, multilingual support for your documentation needs.

Key Features

- Natural Language Processing (NLP): The assistant understands your queries in everyday language, delivering precise and contextually relevant answers.
- Comprehensive Documentation Search: Searches across the HOOPS Exchange and Publish documentation to retrieve the most relevant pages, ensuring you get accurate information for your queries.
- Reference Links: Offers direct links to the original documentation, enabling deeper exploration and providing full context to enhance understanding.
- Conversation Sharing: Easily share your AI assistant conversations with others for collaborative troubleshooting and knowledge sharing.
- Multilingual Support: Supports multiple languages to cater to a global user base, allowing you to interact with the assistant in your preferred language.
- Continuous Learning: The AI assistant continuously improves its responses based on user interactions, ensuring it becomes more helpful over time.

## API Deprecation

As a reminder these functions and structures are deprecated and will be removed in future versions of HOOPS Publish, at the latest in HOOPS Publish 2025:

- `A3DPDF3DArtworkCreate()`
- `A3DPDFAnimMotionCreate()`
- `A3DPDFDefineSlideTable2()`
- `A3DPDFDefineSlideTable()`
- `A3DPDFDefineViewCarousel()`
- `A3DPDFDocumentAddImageAsIcon()`
- `A3DPDFDocumentAppendNewPage()`
- `A3DPDFDocumentAppendPageFromPDFFile()`
- `A3DPDFDocumentCreateUniquePage2()`
- `A3DPDFDocumentCreateUniquePage()`
- `A3DPDFDocumentGetUniquePage()`
- `A3DPDFDocumentSave()`
- `A3DPDFDocumentSetDocumentPermissions()`
- `A3DPDFDocumentSetPassword()`
- `A3DPDFImageCreate()`
- `A3DPDFInitializePDFLib()`
- `A3DPDFPageInsertImage()`
- `A3DPDFSlideTableLinkTo3DNodes()`
- `A3DPDF3DArtworkData`
- `A3DPDFAnimMotionData`
- `A3DPDFImageData`
- `A3DPDFPageData`

## Fixed Bugs

Issue | Description
--- | ---
SDHP-2857 | Fixed issue while converting PDF with attachment to monolithic HTML
SDHP-2780 | Updated Zlib dependency to 1.3.1

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...