> For the complete documentation index, see [llms.txt](https://ftcoders.first-tech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ftcoders.first-tech.com/first-tech-ttp-sdk/release-notes/version-1.2.3.md).

# Version 1.2.3

### Why a new version ?

This version brings critical stability and security improvements for production builds (Release). We focused on full compatibility with obfuscation and minification tools (R8/ProGuard) and data communication resilience (JSON/Gson).

Strict mapping of @Keep annotations applied to all Model classes, DTOs (Data Transfer Objects), and public entities (MPPViewData, UiMessage, etc.). This ensures that the client application can enable R8 in its release builds without breaking communication with our SDK.

In addition, in the Application setup, the only change is that the packageName field now does not accept null values.

### How to implement it?

The only change required in the Application setup is that the packageName field no longer accepts null values. To fill in this field, you can pass the literal string or capture the value dynamically using applicationContext.packageName.

Note: When minifyEnabled true is enabled, the build itself will require changes to a file called

When minifyEnabled true is enabled, R8 (Android's code optimizer and obfuscator) scans all the code and may find references to classes that do not exist in your project. This usually happens because some third-party libraries reference other “optional” libraries that you did not include.

As a safety measure to prevent the app from breaking, R8 pauses the build, alerts you about these references, and automatically generates a text file containing the rules to ignore these alerts. This file is saved in the path: C:\path\_to\_your\_project\\...\release\missing\_rules.txt.

It is important to note that these rules are completely unique to each project, as they depend directly on the libraries being imported. Therefore, the file provided below is only an example, as each application will have its own custom-generated rules.

{% embed url="<https://ftcoders.first-tech.com/utilities/proguard-rules.pro-file>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ftcoders.first-tech.com/first-tech-ttp-sdk/release-notes/version-1.2.3.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
