> 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-pt/notas-de-versao/versao-1.2.3.md).

# Versão 1.2.3

### Por que uma nova Versão?

\
Esta versão traz melhorias críticas de estabilidade e segurança para builds de produção (Release). Focamos na compatibilidade total com ferramentas de ofuscação e minificação (R8/ProGuard) e na resiliência da comunicação de dados (JSON/Gson).\
Mapeamento rigoroso de anotações `@Keep` aplicadas a todas as classes de Modelo, DTOs (Data Transfer Objects) e entidades públicas (`MPPViewData`, `UiMessage`, etc.). Isso garante que o aplicativo cliente possa ativar o R8 em seus builds de *release* sem quebrar a comunicação com a nossa SDK.\
Além disso, no setup da Application, a única mudança é que agora o campo `packageName` passa a não aceitar valores nulos.

### Como implementar ?&#x20;

A única alteração necessária no setup da `Application` é que o campo `packageName` não aceita mais valores nulos (`null`). Para preencher este campo, você pode passar a string literal ou capturar o valor dinamicamente utilizando `applicationContext.packageName`

\
Obs: Quando `minifyEnabled true` ser habilitado, o próprio build exigirá mudanças em um arquivo chamado \
\
Ao ativar o `minifyEnabled true`, o R8 (o otimizador e ofuscador de código do Android) vasculha todo o código e pode encontrar referências a classes que não existem no seu projeto. Isso geralmente acontece porque algumas bibliotecas de terceiros fazem referência a outras bibliotecas "opcionais" que não foram incluídas por você.

Como medida de segurança para evitar que o app quebre, o R8 pausa o *build*, alerta sobre essas referências e gera automaticamente um arquivo de texto contendo as regras para ignorar esses alertas. Esse arquivo é salvo no caminho: `C:\caminho_do_seu_projeto\...\release\missing_rules.txt`.

É importante notar que essas regras são totalmente exclusivas para cada projeto, pois dependem diretamente das bibliotecas que estão sendo importadas. Portanto, o arquivo disponibilizado abaixo serve apenas como exemplo, já que cada aplicativo terá suas próprias regras geradas de maneira personalizada.\ <br>

{% embed url="<https://ftcoders.first-tech.com/first-tech-ttp-sdk-pt/utilitarios/arquivo-proguard-rules.pro>" %}


---

# 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-pt/notas-de-versao/versao-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.
