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 propriedadeDataSet.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
eheight
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 noclasspath
, 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 parasystemMonitor
, 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
epageFaultCount
da classeSystemMonitor
. 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.