Versão 69

Melhorias

Desenvolvimento

  • Foi criado o processo “Desenvolvimento > Revisão de códigos > Verificar importação de dependências” com o objetivo de analisar os arquivos importados nos códigos fontes a fim de encontrar caminhos ou chaves de arquivos que não existem mais na base de dados. Mais detalhes no manual Verificar importação de dependências.
  • O processo “Desenvolvimento > Revisão de códigos > Revisor de códigos” passa a permitir a abertura dos arquivos em revisão no VS Code por meio de um link no campo “Arquivo”. Mais detalhes no manual Revisor de códigos.

Engine

  • A classe XMLHttpRequest passa a contar com o método overrideMimeType para especificar um MIME type a ser usado no lugar do fornecido pelo servidor ao interpretar os dados da resposta.
  • A classe XMLHttpRequest passa a utilizar o encoding declarado no próprio XML da resposta para codificar seu conteúdo caso não haja charset e a propriedaderesponseType não esteja definida. Deste modo, passa a ser desnecessário o uso do Encoder nesses casos.
  • Foi criada a propriedade LobStorage.prototype.logChanges com o objetivo de desativar a geração de log transacional durante a criação ou alteração de lobs. A desativação do log transacional não permite o desfazimento das alterações realizadas e prejudica a auditoria do sistema em inspeções de segurança. Modificações sem geração de log também não são aplicadas nas bases de dados destino dos processos de replicação de dados. Portanto, essa propriedade deve ser utilizada apenas em situações específicas, onde os lobs gerados são temporários e serão descartados após um curto tempo de vida.

Web Framework

  • O sistema passa a avisar o usuário quando o descarte e recarga das abas inativas provocar a perda da sessão do usuário. Essa é uma funcionalidade habilitada por padrão nas versões recentes dos navegadores Chrome e Edge, e ela não é compatível com as sessões de longa duração do sistema. A mensagem apresentada para o usuário sugere que essa funcionalidade seja desligada ou que seja adicionada uma exceção para o endereço do sistema.
  • Foi criada a propriedade AnchorCollection.prototype.alwaysShowMenu com o objetivo de forçar que o menu com os links de uma coluna de um relatório ou de um campo de uma grade seja exibido, por mais que haja apenas um link a ser apresentado para o usuário.

Defeitos corrigidos

Engine

  • Por conta de uma regressão ocorrida na versão 68, a classe XMLHttpRequest apresentava erro ao definir manualmente o cabeçalho “Authorization”.
  • A compactação de arquivos utilizando a classe ZipFile poderia em alguns casos resultar em perda de segmentos do arquivo.

Web Framework

  • Ao desbloquear a tela do sistema, a interface do sistema não era exibida corretamente caso um alerta fosse exibido imediatamente antes do bloqueio.
  • O login do sistema falhava se existisse uma rede cadastrada sem um endereço IP associado no processo “Admin > Servidores > Redes”.
  • A seleção de vários registros em um lookup múltiplo poderia falhar com o erro “Invalid key argument”.
  • As tags HTML utilizadas para estilizar o conteúdo de um campo eram apresentadas no tooltip exibido pelo navegador ao passar o mouse sobre o campo.
  • O bloqueio automático da tela do sistema poderia provocar a expiração da sessão do usuário caso ele ocorresse durante a execução de uma atividade demorada.
  • A grade não permitia desativar a exportação de dados via propriedade Grid.prototype.canExport caso não fosse informada a propriedade classKey.

Outras alterações

Engine

  • O parâmetro decodeContentFromLatin1 foi eliminado do construtor da classe XMLHttpRequest e a propriedade responseText passa a codificar para UTF-8 o conteúdo da resposta dos principais tipos de mídias textuais. Para forçar outra codificação, recomenda-se a utilização do método overrideMimeType passando um MIME type com o charset desejado.

Web Framework

  • O Google Chrome deixou de suportar o Windows 7 e 8.1 a partir da versão 110 lançada em fevereiro de 2023. Por esse motivo, o uso do sistema nesse navegador passa a requerer o Windows 10 ou superior, mesmo que o Engine não esteja instalado localmente. Mais detalhes em https://support.google.com/chrome/a/answer/7100626?hl=pt-BR.