Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Exibir filhos

Correções

Expandir
title[HTTPPost] Lentidão no consumo de API específica no AdvPLFalha na inicialização do Rest após processo de compilação e desfragmentação de RPO.

Incidente:  o realizar a o consumir determinadas APIs via AdvPL, a resposta de retorno estava demorando muito, entre 4 e 5 minutos.compilação de um fonte e logo em seguida realizar o procedimento de desfragmentação, o serviço de REST não sobe mais e apresenta o erro "FUNCTION TLPP.REST.HANDLEREST NOT FOUND". Além disso, vários outros recursos do ERP passam a apresentar "500 - Erro interno do servidor".

Solução: foi protegido o acesso ao Rpo TLppSolução: foram realizados ajustes no separador de linhas de recebimento do header HTTP para suportar o delimitador '\n'.

Referente ao chamado: DTAPPSRV-72807468

Expandir
titleOcorrência Declaração de queda no Linux com erro "[THROW] tAutoChar::CheckBuffer() ERROR - *** BUFFER OVERRUN ***"JSON no TLpp não suporta Array

Incidente:  a implementação de JSON direto no fonte TLpp não suporta o uso de array. Também não suportava tipos de dados primários JSON (true, false, null). 

Solução: implementado o tratamento de objetos JSON conforme a RFC.

Documentação: Json

Incidente: no Application Server Linux, à medida que o número de handles de arquivos e sockets aumentava, havia o risco de queda do Application Server por deficiência no tratamento de eventos de rede.

Solução: melhorado o tratamento de eventos de rede pelo Application Server no ambiente Linux, evitando as quedas relatadas.

Referente ao chamado: DTAPPSRV-70412765

Expandir
titleQueda no Application Server quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.MPFD (Multipart/Form-data) não está funcionando no Rest

Incidente:  MPFD (Multipart/Form-data) parou de funcionar no Rest, não fazendo mais download de arquivosIncidente: queda no Application Server em Serviço Rest quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Solução: correção realizada dentro do componente Vader para o tratamento correto do path de arquivosretornar o comportamento anterior e com isto permitir a gravação do arquivo em disco e retornar para o usuário o Json contendo as informações.

Referente ao chamado: DTAPPSRV-73067391

Expandir
titleProblema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.Função SFTPUpld2 retorna Login Denied no Application Server

Incidente:  falha no uso de certificados de login ssh2-rsa na função SFTPUpld2.

Solução: correções realizadas no componente para utilização de certificados

Incidente: problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Solução: proteção e checagem na lista de code block.

Referente ao chamado: DTAPPSRV-72747083

Expandir
titleFalha no funcionamento do Broker Agent identificado na versão 20.3.1.9Função SFTPdwl2 com problemas na utilização de certificado para login.

Incidente: problemas na utilização de certificado para login.

Solução: correções na utilização de certificado

Incidente: não estava sendo possível utilizar o Broker Agent na versão 20.3.1.9. As instâncias de Application Server não estavam sendo criadas.

Solução: corrigido o tratamento do arquivo de configuração do Broker Agent que estava causando este comportamento.

Referente ao chamado: DTAPPSRV-73177252

Expandir
titleAccess Violation - HTTP_Cookies_s::parse

Incidente: Access Violation dentro do Vader envolvendo o tratamento de Cookies HTTP

Solução: revisado e corrigido o componente interno.

Referente ao chamado: DTAPPSRV-7348

Interface PO-UI via chave app_environment com ocorrência de erro: [SQLITE] Open Query Error: no such table: dbTemp.tmp_

Incidente: ao utilizar a interface PO-UI em um ambiente com SQLite como database principal (RPODB=SQLITE), a emissão de uma query para abertura da tabela temporária falhava apresentando a mensagem de erro:
"[SQLITE] Open Query Error: no such table: dbTemp.tmp_29892_SC00 on MPSYSOPENQUERY(MPSYSOPENTABLES.PRW) 05/09/2022 10:01:39 line : 712"

Solução: para evitar essa falha, alteramos o tratamento de tabelas temporárias no database DB_TMP e passamos a criar a tabela temporária no próprio DB_SYS

Expandir
titleApplication Server apresenta falha na execução da função HttpSGet utilizando certificado com path absoluto.

Incidente: o mecanismo de reinicialização da camada do App Monitor evidenciou uma falha na HttpSGet quando utilizamos certificado e chave privada armazenados em path absoluto.

Solução: fizemos um ajuste para viabilizar a utilização de certificado e chave privada armazenados em uma pasta diferente do RootPath, evitando a falha em questão.

Referente ao chamado: DTAPPSRV-73836943

Expandir
titleQueda de performance em rotinas de integração Excel[HTTPPost] Lentidão no consumo de API específica no AdvPL

Incidente: ao consumir determinadas APIs via AdvPL, a resposta de retorno estava demorando muito, entre 4 e 5 minutos.

Solução: foram realizados ajustes no separador de linhas de recebimento do header HTTP para suportar o delimitador '\n'

Incidente: após atualização do AppServer foi identificado um problema de serialização na conexões RPC que impactaram na performance das rotinas de Integração Excel.

Solução: foi aplicada uma correção na camada de conexões RPC para evitar este comportamento, devolvendo a performance esperada para a integração.

Referente ao chamado: DTAPPSRV-74287280

Expandir
titleUpload em lote de arquivos utilizando rotinas RestOcorrência de queda no Linux com erro "[THROW] tAutoChar::CheckBuffer() ERROR - *** BUFFER OVERRUN ***"

Incidente: erro no upload de arquivos utilizando rotinas RESTno Application Server Linux, à medida que o número de handles de arquivos e sockets aumentava, havia o risco de queda do Application Server por deficiência no tratamento de eventos de rede.

Solução: correção no melhorado o tratamento de upload de arquivoseventos de rede pelo Application Server no ambiente Linux, evitando as quedas relatadas.

Referente ao chamado: DTAPPSRV-74387041

Expandir
title"Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.Queda no Application Server quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Incidente: queda no Application Server em Serviço Rest quando a chave tlpp_rest_log configurada com valor igual a 1 e o path da pasta do AppServer contém espaços.

Solução: correção realizada dentro do componente Vader para o tratamento correto do path de arquivos

Incidente: "Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Solução: correção no tratamento de arquivos Json.

Referente ao chamado: DTAPPSRV-73347306

Expandir
titleEnvio de PDF por API REST para URL formatada

Incidente: Application Server estava apresentando lentidão ao realizar uma requisição PUT via Rest. A aplicação estava pegando o content-length da requisição de forma incorreta, por isso ficava esperando por um body como resposta, o que dava a impressão de baixo desempenho.

Solução: foram realizados ajustes para que o content-length seja consumido da forma correta.

Referente ao chamado: DTAPPSRV-7294

Problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Incidente: problema na criação de tela usando ADVPL e Code Block, ocasionando queda do Application Server.

Solução: proteção e checagem na lista de code block.

Referente ao chamado: DTAPPSRV-7274

Expandir
titleFalha no funcionamento do Broker Agent identificado na versão 20.3.1.9

Incidente: não estava sendo possível utilizar o Broker Agent na versão 20.3.1.9. As instâncias de Application Server não estavam sendo criadas.

Solução: corrigido o tratamento do arquivo de configuração do Broker Agent que estava causando este comportamento.

Expandir
titleTWsdlManager - erro 401 Unauthorized

Incidente: utilizando a classe TWSDLManager, ao fazer o parse de um WSDL que necessita de autenticação HTTP e que existe um redirect para outra URL, necessitando dos mesmos dados de autenticação, o parse falhava.

Solução: criada a propriedade lHTTPTransferAuth na classe TWSDLManager, que permite transferir os dados de autenticação HTTP em caso de redirect da URL. O valor padrão dessa propriedade é true (.T.).

Referente ao chamado: DTAPPSRV-74647317

Expandir
titleErro na recepção de arquivos do Rest 2.0Access Violation - HTTP_Cookies_s::parse

Incidente: Access Violation dentro do Vader envolvendo o tratamento de Cookies HTTP

Solução: revisado e corrigido o componente interno

Incidente: erro na execução de download de arquivos através das rotinas REST.

Solução: correção no tratamento do MFPD (Multi forma part data).

Referente ao chamado: DTAPPSRV-74557348

Expandir
titleFunções AdvPL relacionadas ao RPO Seguro tratando incorretamente o tipo de RPOApplication Server apresenta falha na execução da função HttpSGet utilizando certificado com path absoluto.

Incidente: o mecanismo de reinicialização da camada do App Monitor evidenciou uma falha na HttpSGet quando utilizamos certificado e chave privada armazenados em path absoluto.

Solução: fizemos um ajuste para viabilizar a utilização de certificado e chave privada armazenados em uma pasta diferente do RootPath, evitando a falha em questão

Incidente: funções AdvPL relacionadas ao RPO seguro não estavam respeitando corretamente as definições de tipo de RPO e com isso, falhando nas consultas e acessos.

Solução: ajustes e correções para correto acesso aos RPOS TLPP, Custom e Default.

Referente ao chamado: DTAPPSRV-74457383

Expandir
titleUso do logprofiler no License Server derruba o Application Server após ocorrência de erro "Insufficient buffer on tString:sprintf()"Queda de performance em rotinas de integração Excel

Incidente: após atualização do AppServer foi identificado um problema de serialização na conexões RPC que impactaram na performance das rotinas de Integração Excel.

Solução: foi aplicada uma correção na camada de conexões RPC para evitar este comportamento, devolvendo a performance esperada para a integração

Incidente: insufficient Buffer on tString::sprintf() durante a geração de um logprofiler.

Solução: impor um limite de 256 bytes para definir uma string de "observação" para a Thread / Processo atual.

Referente ao chamado: DTAPPSRV-74447428

Expandir
titleLog do Broker Agent crescendo muito rapidamenteUpload em lote de arquivos utilizando rotinas Rest

Incidente: possibilidade de crescimento indiscriminado do log do Broker Agent quando executado em modo desktop. erro no upload de arquivos utilizando rotinas REST.

Solução: melhorado o correção no tratamento de eventos de teclado (Ctrl-C etc) que estava causando o crescimento indiscriminado do log do Broker Agentupload de arquivos.

Referente ao chamado: DTAPPSRV-74207438

Expandir
titleOcorrência de queda no Application Server com a chave ADVSQLREPLAY habilitada"Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Incidente: "Insufficient Buffer on tString::sprintf()" ao processar um Json inválido, observado em alguns casos específicos com arquivos Json muito grandes.

Solução: correção no tratamento de arquivos Json

Incidente: finalização inesperada do TOTVS Application Server ao utilizar o rastreio de conexões com o DBACCESS ADVSQLREPLAY em uma situação em que a aplicação AdvPL tem duas ou mais conexões ativas e fecha a primeira conexão aberta com TCUNLINK().

Solução: corrigida a busca na lista de conexões ativas.

Referente ao chamado: DTAPPSRV-74097334

Expandir
titleArquivo sso\\etc\\services.conf vazio utilizado pelo SAML causando queda do Application Server

Incidente: o arquivo sso\etc\services.conf em branco utilizado pelo SAML estava causando a queda do Application Server.

Solução: checagem do arquivo services.conf e mensagem de erro no console durante a execução, caso o arquivo esteja em branco.

Referente ao chamado: DTAPPSRV-7402

Envio de PDF por API REST para URL formatada

Incidente: Application Server estava apresentando lentidão ao realizar uma requisição PUT via Rest. A aplicação estava pegando o content-length da requisição de forma incorreta, por isso ficava esperando por um body como resposta, o que dava a impressão de baixo desempenho.

Solução: foram realizados ajustes para que o content-length seja consumido da forma correta.

Referente ao chamado: DTAPPSRV-7294

Expandir
titleTWsdlManager - erro 401 Unauthorized

Incidente: utilizando a classe TWSDLManager, ao fazer o parse de um WSDL que necessita de autenticação HTTP e que existe um redirect para outra URL, necessitando dos mesmos dados de autenticação, o parse falhava.

Solução: criada a propriedade lHTTPTransferAuth na classe TWSDLManager, que permite transferir os dados de autenticação HTTP em caso de redirect da URL. O valor padrão dessa propriedade é true (.T.)

Expandir
titleQuery com estrutura inválida de campos no SQLITE.

Incidente: select * de tabela SQLITE após apagar e recriar a tabela com nova estrutura diferente da anterior, retornava a primeira estrutura da tabela, pois ao apagar a tabela, um cache de resolução de queries não era apagado.

Solução: limpar o cache de estrutura de retorno de Queries relacionado a uma tabela, quando ela for eliminada.

Referente ao chamado: DTAPPSRV-73957464

Expandir
titleSymtab em uso após compilação.Erro na recepção de arquivos do Rest 2.0

Incidente: erro na execução de download de arquivos através das rotinas REST.

Solução: correção no tratamento do MFPD (Multi forma part data

Incidente: ao forçar uma compilação com a chave BUILDKILLUSERS e Servidor Rest ativos, o serviço Rest era corretamente interrompido. Porém, ao tentar conectar novamente ao serviço Rest (exemplo: Webmonitor e TLPP Monitor) ocorria o erro "SYMTAB in use for addSourceInfo...".

Solução: foram realizadas correções pontuais no Servidor de Aplicação (Application Server).

Referente ao chamado: DTAPPSRV-73757455

Expandir
titleErro de CORS usando fetch.Funções AdvPL relacionadas ao RPO Seguro tratando incorretamente o tipo de RPO

Incidente: funções AdvPL relacionadas ao RPO seguro não estavam respeitando corretamente as definições de tipo de RPO e com isso, falhando nas consultas e acessos.

Solução: ajustes e correções para correto acesso aos RPOS TLPP, Custom e Default

Ocorrência: requisições em REST com "origin: null" estavam falhando por causa do tratamento de CORS.

Solução: corrigido o tratamento de CORS para aceitar requisições com "origin: null".

Referente ao chamado: DTAPPSRV-73607445

Expandir
titleOcorrência de access violation no AppServer em execução de Job.Uso do logprofiler no License Server derruba o Application Server após ocorrência de erro "Insufficient buffer on tString:sprintf()"

Incidente: insufficient Buffer on tString::sprintf() durante a geração de um logprofiler.

Solução: impor um limite de 256 bytes para definir uma string de "observação" para a Thread / Processo atual

Ocorrência: access Violation no Application Server causado pela soma entre variáveis definida como Char (tipagem forte) e string.

Correção: proteção para não permitir operação de soma, apresentando mensagem de erro durante a execução.

Referente ao chamado: DTAPPSRV-73557444

Expandir
titleWebApp - Problema na montagem de mensagens maiores que 100k no websocket.Log do Broker Agent crescendo muito rapidamente

Incidente: possibilidade de crescimento indiscriminado do log do Broker Agent quando executado em modo desktop.

Solução: melhorado o tratamento de eventos de teclado (Ctrl-C etc) que estava causando o crescimento indiscriminado do log do Broker Agent

Ocorrência: problemas no funcionamento do WebApp causados pelo tratamento de Websockets em um componente do Appserver.

Correção: corrigido o tratamento de Websockets para permitir o funcionamento correto do WebApp com protocolo Websocket.

Referente ao chamado: DTAPPSRV-72057420

Expandir
titleOcorrência de access violation durante assinatura de fontes via AppServer Command Line.queda no Application Server com a chave ADVSQLREPLAY habilitada

Incidente: finalização inesperada do TOTVS Application Server ao utilizar o rastreio de conexões com o DBACCESS ADVSQLREPLAY em uma situação em que a aplicação AdvPL tem duas ou mais conexões ativas e fecha a primeira conexão aberta com TCUNLINK().

Solução: corrigida a busca na lista de conexões ativas

Ocorrência: access Violation durante assinatura de fonte via AppServer Command Line.

Correção: inicialização e configuração dos parâmetros SSL.

Referente ao chamado: DTAPPSRV-74317409

Expandir
titleOcorrência de queda ao chamar função HSMObjListArquivo sso\\etc\\services.conf vazio utilizado pelo SAML causando queda do Application Server

Incidente: o arquivo sso\etc\services.conf em branco utilizado pelo SAML estava causando a queda do Application Server.

Solução: checagem do arquivo services.conf e mensagem de erro no console durante a execução, caso o arquivo esteja em branco.

Ocorrência: ao chamar a função HSMObjList com o parâmetro cPass (segundo parâmetro) igual a string vazia e com o dispositivo HSM inicializado, ocorria queda no Application Server.

Correção: foi feito um tratamento para evitar a queda quando o parâmetro cPass estiver vazio.

Referente ao chamado: DTAPPSRV-75107402

Ocorrência : Perdas significativas de desempenho em ambientes que utilizam GRID de processamento AdvPL, Jobs de WebServices, e integrações via RPC, como por exemplo Front Loja e Retaguarda, ao atualizar o Application Server para builds superiores a 20.3.1.5. 

Correção : Corrigida a rotina de verificação de carga de RPO, que causava uma retenção e serialização entre processos. 

Referente aos chamados: DTAPPSRV-7413 e DTAPPSRV-7392. 

Expandir
titleTela branca no WebApp

Ocorrência: Erro na apresentação de tela PO-UI quando da utilização do Broker.

Correção : Inclusão do parâmetro de path no cookie utilizado pelo broker.

Referente ao chamado: DTAPPSRV-7533

Expandir
titleLentidão em RPC, WebSErvices e GRID AdvPL
Query com estrutura inválida de campos no SQLITE.

Incidente: select * de tabela SQLITE após apagar e recriar a tabela com nova estrutura diferente da anterior, retornava a primeira estrutura da tabela, pois ao apagar a tabela, um cache de resolução de queries não era apagado.

Solução: limpar o cache de estrutura de retorno de Queries relacionado a uma tabela, quando ela for eliminada.

Referente ao chamado: DTAPPSRV-7395

Expandir
titleSymtab em uso após compilação.

Incidente: ao forçar uma compilação com a chave BUILDKILLUSERS e Servidor Rest ativos, o serviço Rest era corretamente interrompido. Porém, ao tentar conectar novamente ao serviço Rest (exemplo: Webmonitor e TLPP Monitor) ocorria o erro "SYMTAB in use for addSourceInfo...".

Solução: foram realizadas correções pontuais no Servidor de Aplicação (Application Server).

Referente ao chamado: DTAPPSRV-7375

Expandir
titleErro de CORS usando fetch.

Ocorrência: requisições em REST com "origin: null" estavam falhando por causa do tratamento de CORS.

Solução: corrigido o tratamento de CORS para aceitar requisições com "origin: null"

Expandir
titleTratamento da criação de índices com campos maior que 10 caracteres

Incidente: Falha de criação de índices em tabelas de uso interno do Framework AdvPL, usando RDD TOPCONN com DBAccess e/ou SQLITE, quando o campo possui nome com mais de 10 caracteres.

Solução:  Criação de índice suportada adequadamente após ajuste na lista de campos do índice no AppServer.

Referente ao chamado: DTAPPSRV-72457360

Expandir
titleError in encode FindBase64Val returning -1: Serviço fica indisponívelOcorrência de access violation no AppServer em execução de Job.

Ocorrência: access Violation no Application Server causado pela soma entre variáveis definida como Char (tipagem forte) e string.

Correção: proteção para não permitir operação de soma, apresentando mensagem de erro durante a execução.

Referente

Incidente: Ao apresentar Error in encode FindBase64Val returning -1, em algumas ocasiões o serviço ficava indisponível.

Solução:  Correção no tratamento da mensagem.

Referente ao chamado: DTAPPSRV-72537355

Expandir
titleTratamento de objetos json "inline"

Incidente: O tratamento de objetos Json "inline" não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios (ex: { }), arrays de Json [ ] não são criados corretamente e também não permitem que os tipos True, False e Null sejam tratados como tipos Json. 

Solução: O tratamento dos objetos Json foi corrigido para que ele passasse a ser tratado conforme a formatação Json. A principal alteração ocorre com array AdvPL que é representado por "{ }", todavia no padrão Json, isto representa um objeto Json vazio, ou seja, em um código que tenha por exemplo "local jJson := { "chave" : {} }", terá como valor um objeto Json vazio.

Referente ao chamado: DTAPPSRV-7210

WebApp - Problema na montagem de mensagens maiores que 100k no websocket.

Ocorrência: problemas no funcionamento do WebApp causados pelo tratamento de Websockets em um componente do Appserver.

Correção: corrigido o tratamento de Websockets para permitir o funcionamento correto do WebApp com protocolo Websocket.

Referente ao chamado: DTAPPSRV-7205

Expandir
titleOcorrência de access violation durante assinatura de fontes via AppServer Command Line.

Ocorrência: access Violation durante assinatura de fonte via AppServer Command Line.

Correção: inicialização e configuração dos parâmetros SSL.

Referente ao chamado: DTAPPSRV-7431

Expandir
titleOcorrência de queda ao chamar função HSMObjList

Ocorrência: ao chamar a função HSMObjList com o parâmetro cPass (segundo parâmetro) igual a string vazia e com o dispositivo HSM inicializado, ocorria queda no Application Server.

Correção: foi feito um tratamento para evitar a queda quando o parâmetro cPass estiver vazio.

Referente ao chamado: DTAPPSRV-7510

Expandir
titleTela branca no WebApp

Ocorrência: Erro na apresentação de tela PO-UI quando da utilização do Broker.

Correção : Inclusão do parâmetro de path no cookie utilizado pelo broker.

Expandir
titleProblemas com conexão RPC quando Broker está com SSL ativo

Incidente: Falha ao conectar via classe tRPC em um appserver de balanceamento desktop broker com SSL ativo
Solução: O quarto parâmetro do método Connect não estava sendo levado em consideração para ativar o SSL, a partir da próxma versão esse parâmetro passa a ser considerado

Referente ao chamado: DTAPPSRV-7311

...

7533

Expandir
titleSegurança e vulnerabilidades

Atualização de bibliotecas de terceiros e melhorias relacionadas a segurança.

Expandir
titleConsumo de memória - Controle de cache de memória no Linux

Incidente: Comportamento do Sistema Operacional Linux afetava liberação de memória do mecanismo de alocação e controle do Appserver

Solução: Implementado recurso que possibilita o controle do cache de memória realizado pelo sistema operacional Linux, permitindo assim, a liberação de memória quando não utilizada.

...

titleImplementar no Monitor Embedded remoção de serviço desativado pelo Broker Agent

...

titleImplementar planos de desligamento no Broker Agent.

...

Lentidão em RPC, WebSErvices e GRID AdvPL

Ocorrência : Perdas significativas de desempenho em ambientes que utilizam GRID de processamento AdvPL, Jobs de WebServices, e integrações via RPC, como por exemplo Front Loja e Retaguarda, ao atualizar o Application Server para builds superiores a 20.3.1.5. 

Correção : Corrigida a rotina de verificação de carga de RPO, que causava uma retenção e serialização entre processos. 

Referente aos chamados: DTAPPSRV-7413 e DTAPPSRV-7392. 


Expandir
titleTratamento da criação de índices com campos maior que 10 caracteres

Incidente: Falha de criação de índices em tabelas de uso interno do Framework AdvPL, usando RDD TOPCONN com DBAccess e/ou SQLITE, quando o campo possui nome com mais de 10 caracteres.

Solução:  Criação de índice suportada adequadamente após ajuste na lista de campos do índice no AppServer.

Referente ao chamado: DTAPPSRV-7245

Expandir
titleError in encode FindBase64Val returning -1: Serviço fica indisponível

Incidente: Ao apresentar Error in encode FindBase64Val returning -1, em algumas ocasiões o serviço ficava indisponível.

Solução:  Correção no tratamento da mensagem.

Referente ao chamado: DTAPPSRV-7253

Expandir
titleTratamento de objetos json "inline"

Incidente: O tratamento de objetos Json "inline" não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios (ex: { }), arrays de Json [ ] não são criados corretamente e também não permitem que os tipos True, False e Null sejam tratados como tipos Json. 

Solução: O tratamento dos objetos Json foi corrigido para que ele passasse a ser tratado conforme a formatação Json. A principal alteração ocorre com array AdvPL que é representado por "{ }", todavia no padrão Json, isto representa um objeto Json vazio, ou seja, em um código que tenha por exemplo "local jJson := { "chave" : {} }", terá como valor um objeto Json vazio.

Referente ao chamado: DTAPPSRV-7210

Expandir
titleProblemas com conexão RPC quando Broker está com SSL ativo

Incidente: Falha ao conectar via classe tRPC em um appserver de balanceamento desktop broker com SSL ativo

Solução: O quarto parâmetro do método Connect não estava sendo levado em consideração para ativar o SSL, a partir da próxma versão esse parâmetro passa a ser considerado

Referente ao chamado: DTAPPSRV-7311

Melhorias

Expandir
titleSegurança e vulnerabilidades

Atualização de bibliotecas de terceiros e melhorias relacionadas a segurança.

Expandir
titleConsumo de memória - Controle de cache de memória no Linux

Incidente: Comportamento do Sistema Operacional Linux afetava liberação de memória do mecanismo de alocação e controle do Appserver

Solução: Implementado recurso que possibilita o controle do cache de memória realizado pelo sistema operacional Linux, permitindo assim, a liberação de memória quando não utilizada.

Expandir
titleImplementar no Monitor Embedded remoção de serviço desativado pelo Broker Agent

Incidente: Em um cenário com Broker Agent e Monitor Embedded no Broker Smartclient, quando o Broker Agent finalizava um serviço este não estava sendo retirado das tabelas de monitoração do Monitor Embedded.

Solução: Implementação de remoção nas tabelas de monitoramento do Monitor Embedded dos serviços que forem finalizados pelo Broker Agent.

Expandir
titleImplementar planos de desligamento no Broker Agent.

Incidente: Cliente necessita desativar o sistema associado a um Broker Agent, e para isso o Broker não deve direcionar novas conexões a esse sistema.

Solução: Implementado scheduling de funcionamento para o Broker Agent. O Broker só direciona novas conexões para os sistemas instanciados pelo Broker Agent nos intervalos de tempos especificados na configuração (ini) do broker Agent.

Expandir
titleServiço WebMonitor subir automaticamente no start do Application Server

Solicitação: serviço WebMonitor subir automaticamente no start do Application Server e também a opção para desligar se necessário com a seção [WEMONITOR] e chave Enable=0 no appserver.ini

Solução: implementado o start automático e a opção para desligar, caso seja necessário.

Referente ao chamado: DTAPPSRV-7376

Expandir
titleDescontinuação da antiga chave de compilação Linux

Solicitação: descontinuar a chave de compilação de compilação Linux baseada no algoritmo AES que foi criada para manter compatibilidade com a antiga chave de compilação.

Solução: remoção do suporte a antiga chave de compilação Linux e a partir de agora, deverá ser utilizado o TOKEN de compilação.

Documentação: AppServer Command Line - Compilação por linha de comando

Referente ao chamado: DTAPPSRV-7264

Expandir
titleMaior detalhamento sobre erros em caso de falha de criação de tabela usando TCAlter com RPODB=SQLITE e rdd TOPCONN.

Solicitação: em caso de falha de criação de tabela de destino usando TCAlter com RPODB=SQLITE e rdd TOPCONN, a mensagem informativa no log de console não trazia nenhum detalhe adicional da causa da falha, apenas o texto "Error - TC_Alter - (-19) TCAlter Error - Failed to create target table".

Solução: a partir do Application Server versão 20.3.2.0, as informações adicionais indicando a causa da falha serão mostradas após essa informação no log de console.

Referente ao chamado: DTAPPSRV-7497

Expandir
titleQueda de desempenho da função STRTRAN gerando lentidão na busca de retorno entre TAF-WS e TSS.

Solicitação: lentidão progressiva no uso da função Strtran() em strings com conteúdos maiores de 1 MB.

Solução: A função STRTRAN foi otimizada, para não haver queda de desempenho com o aumento da string a ser pesquisada e alterada.

Informações Adicionais: A lentidão é observada quando maior a string informada, quanto mais ocorrências forem substituídas, e quando o tamanho do conteúdo a ser alterado é maior ou menor do que o conteúdo a pesquisar.

Referente ao chamado: DTAPPSRV-7314

Novas Implementações

Expandir
titleConversões de imagens 24BPP

Solicitação: conversões de imagens 24BPP

Solução: suporte a imagens BMP de até 24BPP na função bmptoJPEG.

Referente ao chamado: DTAPPSRV-7136

Expandir
titleClasse SFTP (Secure File Transfer Protocol)

Solicitação: Classe SFTP (Secure File Transfer Protocol)

Solução: implementação de classe para transferência de arquivos de forma segura, via protocolo SFTP. Disponível na linguagem TLpp

Documentação: tSFTPClient

Referente ao chamado: DTAPPSRV-7349

...

titleServiço WebMonitor subir automaticamente no start do Application Server

...

Referente ao chamado: DTAPPSRV-7376

...

titleDescontinuação da antiga chave de compilação Linux

...

Documentação: AppServer Command Line - Compilação por linha de comando

Referente ao chamado: DTAPPSRV-7264

Novas Implementações

Expandir
titleConversões de imagens 24BPP

Solicitação: Conversões de imagens 24BPP
Solução: Suporte a imagens BMP de até 24BPP na função bmptoJPEG.Referente ao chamado: DTAPPSRV-7136