Improvements and enhancements
- The agent now starts only in your app's default process, so apps that declare extra processes with
android:processno longer report empty sessions from them. (#648)
Bug fixes
- Fixed ANRs and other app exits reported on the next launch missing the
backgroundattribute when they happened while the app was in the background; the attribute is nowtrueorfalsebased on the app's state when the process exited. (#653) - Fixed events recorded while the app was in the foreground being reported with
background = truewhen they were sent in a batch harvested after the app moved to the background. With Background Reporting enabled, every event now carriesbackground = trueorbackground = falsefor the app's state at the moment it was recorded. Foreground events previously had nobackgroundattribute. (#655) - Fixed a
StackOverflowErrorcrash on page load in apps whoseWebViewsubclass overridessetWebViewClientto store the client and forward to it from its own internal client; the agent no longer installs its WebView client wrapper on such WebViews. (#660) - Fixed an ANR at app startup where the agent read its saved events from disk on the main thread; they are now loaded in the background. (#661)
Support statement
We recommend updating the agent at least every three months. Find specific policies and dates for Android agent support in the Mobile Monitoring Agents EOL Policy.
Bug fixes
Resolved an issue where persisted events were reloaded and re-sent on every launch when
EventPersistencewas disabled.Corrected the event buffer behavior so the agent now follows the min/max range for event buffer time.
Fixed
connectionTypebeing reported as "unknown" when the cellular subtype couldn't be resolved.
Support statement
We recommend updating the agent at least every three months. Find specific policies and dates for Android agent support in the Mobile Monitoring Agents EOL Policy.
Melhorias e aprimoramentos
Suporte ao AGP 9.4: adicionado suporte para o plug-in Android Gradle (AGP) 9.4.x ao plug-in do New Relic Gradle.
Otimização de cabeçalho de distributed tracing: distributed tracing simplificado ao remover o cabeçalho de solicitação proprietário newrelic e basear-se exclusivamente nos cabeçalhos padrão W3C traceparent e tracestate.
Detecção do agente do browser em WebView: adicionadas métricas de suportabilidade para detectar e rastrear se as WebViews ativas estão utilizando o agente do browser do New Relic.
Orientação sobre a otimização do tamanho do SDK: adicionada documentação que aborda as regras de tree-shaking do ProGuard/R8 para ajudar os desenvolvedores a remover o código não utilizado do agente para recursos desativados.
Correções de bugs
Correção de falha no Session Replay: corrigida uma condição de corrida multithreading ao inicializar Curtains no Session Replay que causava uma NullPointerException na thread principal.
Rastreamento do tamanho da carga HTTP2: resolvido um problema em que o tamanho da carga da solicitação de rede (bytesReceived) relatava incorretamente 0 bytes para fluxos HTTP/2 e Ktor sem cabeçalho.
Resolução de vazamento de recursos: resolvida uma observação de análise estática (CWE-404) ao fechar adequadamente as instâncias de BufferedWriter no SessionReplayFileManager.
Declaração de apoio
Recomendamos atualizar o agente pelo menos a cada três meses. Encontre políticas e datas específicas para suporte ao agente Android na Política de EOL de monitoramento de agente móvel.
Correções de bugs
- Corrigido o host correto da API de source map regional/padrão para o React Native Source Map Upload
Declaração de apoio
Recomendamos atualizar o agente pelo menos a cada três meses. Encontre políticas e datas específicas para suporte ao agente Android na Política de EOL de monitoramento de agente móvel.
Correções de bugs
- Corrigida a URL do endpoint para upload do source map do React Native.
Declaração de apoio
Recomendamos atualizar o agente pelo menos a cada três meses. Encontre políticas e datas específicas para suporte ao agente Android na Política de EOL de monitoramento de agente móvel.
Novos recursos e melhorias
- Adicionado armazenamento offline para o Session Replay: as cargas de replay que não podem ser enviadas imediatamente — devido à falta de conexão de rede, fechamento forçado do aplicativo, saída do processo ou encerramento por pouca memória — agora são persistidas no disco e entregues na próxima coleta bem-sucedida, em vez de serem perdidas.
- Adicionado suporte subjacente para relatórios de erros híbridos de aplicativos React Native, a ser ativado junto com um próximo lançamento do agente React Native. Erros de JavaScript não tratados serão capturados como eventos do agente, correlacionados com o Session Replay e receberão a tag com a versão do aplicativo para uma simbolização precisa.
- Adicionado suporte subjacente para upload automático de source maps de JavaScript do React Native durante a compilação do Gradle, a ser ativado junto com um próximo lançamento do agente React Native.
- Adicionado o upload de arquivo de mapeamento do ProGuard/DexGuard por destino de compilação, para que os aplicativos com vários destinos de empacotamento do DexGuard obtenham a desofuscação de falhas correspondida corretamente para cada destino.
- Adicionado um armazenamento de atributo com escopo de sessão para que os eventos de Application Exit Info (AEI) carreguem os atributos de sessão da sessão que realmente falhou, em vez da sessão criada após o lançamento.
- A persistência de evento agora está ativada por padrão, para que os eventos em buffer e os dados de análise sobrevivam ao encerramento do aplicativo e sejam recuperados no próximo lançamento.
- Adicionado suporte para o plug-in do Android Gradle (AGP) 9.x, elevando o limite suportado para 9.3.0.
Correções de bugs
- Corrigido o tempo de inicialização a frio para medir o tempo até a exibição inicial (TTID) desde o lançamento até o primeiro quadro renderizado, em vez da retomada da Activity.
- Corrigido um problema de recuperação de falhas em que um arquivo de backup obsoleto poderia impedir que o armazenamento de falhas se recuperasse após uma falha anterior.
- Corrigidas as exceções tratadas para serem persistidas fora da thread de chamada, evitando possíveis lentidões quando o armazenamento de exceções é gravado.
- Corrigida a invalidação do cache de compilação do Gradle causada pela incorporação do ID de compilação por compilação e valores de métrica diretamente no código-fonte compilado — estes agora são gerados como recursos do Android, reduzindo recompilações desnecessárias e o tempo de reconstrução, com os recursos protegidos contra remoção quando shrinkResources está ativado.
Declaração de apoio
Recomendamos atualizar o agente pelo menos a cada três meses. Encontre políticas e datas específicas para suporte ao agente Android na Política de EOL de monitoramento de agente móvel.