Versão 21
Melhorias
Engine
- Os comportamentos específicos do runtime JavaScript do Engine passam a ser documentados em
https://nginstack.com/pt/docs/engine/javascript/.
A leitura dessa documentação é recomendada para todos os desenvolvedores da plataforma, pois ela
trata de assuntos que até então não haviam sido adequadamente divulgados, entre eles, o uso e
a compatibilidade com o runtime
V8.
- Foi implementado o construtor do objeto
ArrayBuffer
.
- For implementado no objeto
XMLHttpRequest
as propriedades response e responseType, que possibilitam a leitura do corpo do retorno de uma
requisição como um ArrayBuffer ou como um objeto JSON, além do tipo string. Também agora é
possível informar o corpo de uma requisição, no método send, usando o tipo ArrayBuffer,
além do tipo string já suportado. For implementado a flag decodeContentFromLatin1, informada
no construtor do objeto, que possibilita controlar o comportamento do Engine na decodificação
do conteúdo do retorno de uma requisição. O valor padrão é true, mantendo o comportamento atual
mas no futuro else será alterado para false, sendo recomendado rever os scripts que
dependam dessa característica.
- Foi implementado no método write objeto
Socket
o envio de objetos do tipo ArrayBuffer.
- Ao utilizar o método
QueryAnalyzer.getTxtExecutionPlan()
ocorria o erro
“ResponseObject is not defined”.
Web Framework
Defeitos corrigidos
Admin
- O processo
Admin > Classes Explorer
verificava apenas a permissão de visão do usuário para
a classe Dados > Sistema > Classes
e exibia todas as classes se houvesse permissão.
Agora o processo passa a também verificar a permissão de visão aos dados das
classes, permitindo que esse processo possa ser utilizado por usuários que não sejam
administradores do sistema.
Desenvolvimento
- Ao executar o processo
Desenvolvimento > Base de dados > Atualizar estrutura
ocorria o
erro “Incorrect syntax near the keyword NOT” caso fosse utilizado o banco de dados
Microsoft SQL Server e existisse um campo “CLASSE” ou “iClass” sem a restrição “NOT NULL”
configurada.
Engine
- Em arquiteturas 64 bits, a heurística que define o tamanho padrão do cache do IDO sempre
resultava em um cache de 256 MB em vez de ser uma fração da quantidade total de memória RAM
instalada no servidor.
- O tempo de timeout dos métodos read e readln da classe Socket poderiam não ser respeitados
caso ocorresse uma virada do dia.
REST Framework
- Ao executar a função
persistDataSets
informando DataSets da tabela iVfs ocorria o erro “Não é permitido persistir um DataSet que não
possua o campo iClass ou CLASSE”.
Web Framework
- Links de relatórios com rótulos longos não eram exibidos corretamente quando havia mais de um
link configurado em uma mesma coluna.
- Script de inicialização do Web Framework usava APIs que não eram importadas explicitamente,
dificultando o seu uso em testes unitários.
- Ao mudar a visão para o modo tabela ocorria o destaque de dois registros posicionados caso o
campo em edição no modo formulário não fosse visível no modo tabela.
- O link para o manual “Teclas de atalho do Web Framework” não funcionava na ajuda do Web Framework.
- Ao chamar o método
Grid.prototype.expand
a grade poderia ser reposicionada para o último registro selecionado.
- Ao informar o valor de um campo do tipo combo ocorria um erro quando ele era configurado para
aceitar múltiplos valores, via propriedade
multiple
, e a
pesquisa do valor informado retornava uma única ocorrência.
- Ao navegar em uma grade mestre não ocorria a emissão do evento
afterScroll
da grade detalhe.
Outras alterações
Engine
- A biblioteca OpenSSL utilizada pelo Engine foi atualizada da versão 1.0.2o para a versão 1.0.2q.
Para maiores detalhes sobre as alterações, consultar no site oficial as novidades
dessa versão.
Web Framework
- A tela de login e o ambiente padrão do sistema passam a utilizar as seguintes propriedades de
vendor em vez do nome fixo nginstack:
Última atualização em 21 Mar 2023