Versão 65

Melhorias

Desenvolvimento

  • O processo de Atualização do Sistema passa a inibir a remoção de tabelas e colunas caso sejam detectadas falhas gerais que impeçam a leitura do modelo de dados, como erros gerados nas definições das classes “Raiz” e “Dados”.

Engine

  • O sistema passa a permitir a geração e verificação de senhas de uso único por meio das classes HOTP e TOTP.
  • A API ZipFile passa a contar com os métodos de compressão Zstd e B2zip em adição ao Deflate, usado hoje por padrão. Também passa a ser possível informar o nível de compressão a ser utilizado.
  • Passam a ser registrados no arquivo “email.log” o assunto, remetente, destinatários e tamanho de todos os emails enviados pelo sistema.
  • Os gráficos de memória exibidos no Manage foram revistos e unificados. Em vez de serem exibidos vários gráficos em períodos distintos, passa a ser possível filtrar os gráficos apresentados por um intervalo de tempo.

Extensão VS Code

  • A extensão passa a recuperar e exibir o resultado de uma execução de script nos casos em que a resposta do servidor tenha sido enviada no momento de uma falha de conexão.

Defeitos corrigidos

Desenvolvimento

  • O processo “Desenvolvimento > Atualização > Atualizar Sistema” poderia falhar com o erro “Erro ao ajustar as permissões da base destino a partir das versões N” logo após a remoção de um produto do sistema, caso existissem permissões com herança definidas no produto removido.

Engine

  • Falhas na comunicação com o servidor SMTP poderiam ser ignoradas pelo sistema e não eram reportadas para o usuário.
  • O método DataSet.prototype.restoreState não restaurava o valor anterior da propriedade DataSet.prototype.insertWithKey.
  • Ao licenciar um produto em uma base de dados desatualizada poderia ocorrer a violação da licença recém adicionada se a base de dados não tivesse a definição do produto a ser licenciado.

Extensão VS Code

  • Ao tentar alterar nomes de arquivos do produto em bases que não são de desenvolvimento, os usuários eram apresentados a um erro de permissão, mesmo com a opção de “habilitar alterações do produto” ativa.
  • Poderia ocorrer um erro ao tentar fazer o download dos logs do sistema. Este erro acontecia mais comumente com a extensão conectada a um Engine local.

Web Framework

  • Ao pressionar “Enter” em um campo lookup com altura superior a uma linha não ocorria o o preenchimento do campo com o código do registro pesquisado.
  • As propriedades width e height dos filtros das visualizações de fontes de dados eram ignoradas pelo sistema.
  • A atribuição da propriedade SimpleLayout.prototype.groupExpansionLevel com um texto em vez de um número poderia gerar inconsistências na escrita do relatório. O sistema passa a rejeitar valores que não podem ser convertidos em números.

Outras alterações

Admin

  • O tipo de credencial OAuth “App para computadores” do Google passou a rejeitar o fluxo de autorização de dispositivos por meio de códigos, impedindo o uso de credenciais desse tipo para a autenticação de usuários na extensão do VS Code e na IDE embarcada do Engine. Para esse fluxo de autorização foi criado um novo tipo de credencial chamado “TVs e dispositivos de entrada limitados”. Caso o Google seja utilizado como provedor de identidades, será necessário criar uma credencial utilizando esse novo tipo. Essa nova credencial deve ser informada no campos “Id do cliente” e “Segredo do cliente” do grupo “Configurações do cliente para TVs e dispositivos de entrada limitados” no cadastro “Admin > Segurança > Provedores de identidade”. Mais detalhes em https://nginstack.com/pt/docs/admin/identity-providers/#config-google.

Engine

  • O framework Java “CXF”, utilizado na publicação de web services, foi atualizado para a versão 3.5.3, assim como suas dependências. Também foram atualizadas as bibliotecas “FastInfoset” para a versão 2.1.0, a “SAAJ” para a versão 3.0.0 e a “JSON-lib” para a versão 2.4. As implementações desenvolvidas em Java e executadas via as APIs de integração do Engine com o Java, ou aquelas que incluam o subdiretório javalibs do diretório de instalação do Engine no classpath, podem ser afetadas por essa atualização, podendo ser necessárias revisões para se adequarem às novas versões das dependências Java embarcadas pelo Engine. É importante que essas integrações com o Java sejam testadas e homologadas na versão 65 antes da atualização do ambiente de produção com esta versão.
  • A variável global memoryManager foi renomeada para systemMonitor, assim como o nome da classe dessa variável. A variável antiga foi mantida apenas para garantir a compatibilidade com os códigos existentes que fazem uso dela. Apesar da existência da variável global, é preferível o o uso do módulo '@nginstack/engine/lib/monitoring/SystemMonitor.js'.
  • Foram removidas as propriedades objectCount, virtualObjectCount, totalVirtual, availableVirtual, ijeCacheAllocated e pageFaultCount da classe SystemMonitor. As quatro primeiras já eram legadas e sempre retornavam o valor zero ou valores que não eram relevantes em arquiteturas de 64-bits. As duas últimas eram informações muito específicas do runtime Ije e do sistema operacional Windows que também foram eliminadas da página de estatísticas de memória do Manage. A quantidade de falhas de página (pageFaultCount) é melhor obtida diretamente do sistema operacional, onde é apresentada com outras informações que dão contexto para o valor observado. Mais detalhes em https://nginstack.com/pt/docs/engine/manage/#memory.