Versão 37

Melhorias

Admin

  • O processo “Admin > Segurança > Tokens de autorização” passa a alertar o administrador quando o usuário não tem permissão de utilização de um escopo de autorização selecionado. Ele também passa a indicar o processo de configuração adequado para alterar os escopos de autorização permitidos para o usuário.

Desenvolvimento

  • Foi criado o novo escopo de autorização “api.dev-tools.remoteCodeExecution”, requerido para a execução de scripts e queries de maneira remota utilizando a API DevTools.
  • O processo Desenvolvimento > Revisão de códigos > Revisor de códigos passa a permitir a revisão das alterações realizadas em arquivos da Virtual File System de chave positiva. Para isso, deve ser ativada a nova opção “Incluir chaves positivas”.

Engine

  • Foi disponibilizada uma apresentação das funcionalidades da plataforma em https://nginstack.com/pt/slides/platform/.
  • O método Base64.encode passa a suportar argumentos do tipo Uint8Array.
  • A classe HtmlPrinter passa a ativar automaticamente a opção “Reduzir para caber” no Internet Explorer. Essa configuração é necessária para a impressão de leiautes HTML que possuem uma largura em pixels superior a de uma folha A4.
  • Foi implementada a classe URLSearchParams que auxilia na construção e manipulação de query strings de uma URL.
  • Foram implementadas as funções encodeURI, encodeURIComponent e seus pares, conforme a especificação ECMAScript.
  • A opção realm no construtor ScriptRunner passa a ser opcional quando é informado o sessionId.
  • Os métodos sign e verify, da classe CryptoPKey, passam a receber um parâmetro opcional com o nome do digest a ser usado.
  • Foi criado o método Database.prototype.executeDDL com o objetivo de executar comandos de alteração do esquema da base de dados. O uso do método executeSQL para esse mesmo fim deixará de ser suportado em versões futuras do Engine, portanto é recomendado que o uso do executeSQL seja revisto para utilizar a nova API quando o esquema da base de dados estiver sendo modificado pelo seu uso.
  • Foi criada a classe DatabaseSchema com o objetivo de consultar e alterar o esquema de uma base de dados.
  • A leitura de colunas do tipo “uniqueidentifier” passa a ser suportada no Microsoft SQL Server.
  • Os métodos Array.prototype.flat e Array.prototype.flatMap passam a ser definidos via polyfill no runtime JavaScript padrão do Engine, conforme especificação ECMAScript 2019.

Defeitos corrigidos

Admin

  • Ao alterar a classe corrente no processo Admin > Classes Explorer, as modificações realizadas na grade “Propriedades” eram gravadas sem a execução dos eventos de validação da grade.
  • Ao agendar um novo script no processo Admin > Agendador de Scripts, em alguns casos, o campo de script informado era sobrescrito pelo valor de um outro registro.
  • Ao executar o processo Admin > Cache local > Descartar os caches de dados e de chaves ocorria o erro “executeSql is not a function”.

Engine

  • O atalho “Ctrl + Enter” em chaves de Resource Strings não exibia o conteúdo do recurso na IDE do Engine caso o usuário não tivesse permissão de modificá-lo. Agora o diálogo é aberto com o campo de conteúdo apenas para leitura.
  • Um objeto javascript com referências circulares poderia causar um estouro de pilha no Engine ao executar o método JSON.stringify.
  • A autenticação do usuário em uma conexão entre Engines poderia falhar caso fosse utilizado o nome do computador em vez do endereço IP.
  • Ao abortar a execução de uma sessão JavaScript não era interrompida a execução dos scripts executados via executeScript e ScriptRunner.

Extensão VS Code

  • Hover e link para chave falhavam caso a chave fosse da classe Infraestrutura.
  • Itens exibidos no hover para chave possuíam inconsistências a depender do nome da tabela a que a chave pertencia.
  • O recurso de completion proposal não funcionava corretamente quando eram informados caracteres não-ASCII ou quando havia mais de 500 itens a serem sugeridos.

Web Framework

  • As fontes de dados não permitiam derivar filtros que eram lookups para Classes ou Arquivos.
  • As opções de largura e altura informadas no construtor ECharts poderiam não ser respeitadas.
  • Os botões “Voltar” e “Avançar” de um processo deixavam de funcionar caso fosse utilizado o método Process.prototype.clearButtons.

Outras alterações

Engine

  • A frequência de atualização das informações de monitoramento do sistema foi reduzida com o objetivo de minimizar o custo do monitoramento em bases que possuem centenas de Engines instalados. As informações de monitoramento dos Engines e das sessões de usuário passam a ser atualizadas a cada 2 minutos.
  • Foi alterado o comportamento do método Array.indexOf, que passa a fazer uma comparação estrita dos valores quando o argumento é um Object e sua representação textual é apenas "[object Object]".

Web Framework

  • Foi reduzido o espaço entre as grades detalhes quando elas são exibidas lado-a-lado com o objetivo de reduzir a rolagem horizontal.
  • A biblioteca “ECharts” foi atualizada para a versão 4.8.0.
  • O módulo FakeResponse passa a ser publicado globalmente como ResponseObject na inicialização do Web Framework. Essa alteração visa restaurar o funcionamento de alguns relatórios que faziam o uso da classe ResponseObject. Essa classe era uma API interna do Web Framework que foi removida no passado.