Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 6 Próxima »

AGUARDANDO HOMOLOGAÇÃO

Correções

Incidente: O tratamento de objetos Json "inline", na linha de código, não está respeitando o padrão correto de objetos Json, não sendo possível criar objetos Json vazios, ex: { }, e nem corretamente os arrays de Json [ ], 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 se dá 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:
local jJson := { "chave" : {} }
terá como valor um objeto Json vazio.

Tratamentos para o objeto Json inline:
  - faz a expansão de todos os nós do Json avaliando possíveis expressões, funções, e variáveis AdvPL/TLPP, ou seja, os valores das chaves Json, podem vir de variáveis, funções, expressões AdvPL/TLPP, podendo combinar com os tipos primitivos do Json.
  - quando dentro de objetos Json, faz correção de "{ }", para considerar como um "objeto Json" vazio, e não como um "array de AdvPL" vazio, pois este é o padrão correto de da estrutura Json.
  - também quando dentro de objetos Json, faz tratamento especial para os tipos: true, false e null, para que sejam considerados como elementos Json e não tentem extrair como um identificador/variável em Advpl/TLPP, representando os tipos AdvPL: .T., .F. e Nil, respectivamente.
  - Array AdvPL, com elementos, são tratados como array Json. Ex: "chave":{1, 2, "3"}, será transformado em "chave":[1, 2, "3"], este caso é possível pois as estruturas de Array com conteúdo AdvPL, é diferente de um Objeto Json, então foi mantido este comportamento para dar maior poder ao tratamento do objeto Json.
  - Array Json são tratados naturalmente no Json inline. Ex: "chave":[true, 2, "a"]Removido o tratamento histórico do "clipper", de se trocar [ ] por "" em alguns cenários para fontes TLPP. Ex. ':= []'  ou ', []' ou '+ []', ... isto para permitir que os array Json sejam tratados corretamente quando declarados.Obs. para os casos onde se estivesse usando o "{ }" para determinar um array vazio, a recomendação é trocar por uma variável de array vazio.
Ex:
local jVarJson1 := { "valor_deveria_ser_array" : {} } as json   // Neste caso o valor {} será um Json vazio e não mais um array vazio
para manter o comportamento anterior a sugestão é trocar por:
local aArrayVazio := {}
local jVarJson1 := { "valor_deveria_ser_array" : aArrayVazio } as json // Neste caso será sempre um array em qualquer versão

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.

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

Melhorias

Correções e melhorias relacionadas a segurança.

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.

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.

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.

Novas Implementações

Incidente: Conversões de imagens 24BPP

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









































  • Sem rótulos