Versão 26
Melhorias
Admin
Engine
- Foi criado o método
VirtualFileSystem.prototype.getFileSize
com o
objetivo de obter o tamanho de um arquivo da Virtual File System sem que seja necessário ler o
seu conteúdo.
- Foi criado o método
VirtualFileSystem.prototype.getFilePath
com o
objetivo de obter o caminho de um arquivo da Virtual File System.
- Foi criado o método
VirtualFileSystem.prototype.formatFilePath
com o
objetivo de obter o caminho de um arquivo da Virtual File System, antes da sua criação ou
modificação.
- O construtor
new Date()
e a função Date.parse()
passam a suportar datas no formato ISO 8601
conforme especificação ECMAScript, tornando obsoletas a função ngin.date.parseISO8601Date
e o módulo
parseISO8601Date.
- Arquivos ou diretórios com nomes acentuados criados na Virtual File System não eram acessíveis
via HTTP.
- A atribuição de campos por meio de propriedades de um
DataSet
foi otimizada. Em casos
sintéticos de testes, o ganho de desempenho observado foi de aproximadamente 9%.
- O campo “NOME” da tabela de Classes estava configurado como invisível por padrão, impedindo
o uso de processos que não configuravam a visão desse campo de forma explícita. A mudança de
visibilidade foi um efeito colateral de uma melhoria introduzida na versão 19. Foi restaurada a
configuração da versão anterior a essa, garantindo a estabilidade dos processos que dependam
desse comportamento.
- O método
DataSet.prototype.sum
falhava com o erro “Assertion failure” se todos os campos de agrupamento do primeiro registro
do DataSet fossem zero, nulo, falso ou um texto vazio.
- A função
formatElapsedTime
arredondava as unidades de tempo sem tratar os eventuais erros introduzidos pelas operações de
ponto flutuante, gerando resultados como '30 segs 1000 ms'
em vez '31 segs'
.
Web Framework
- Foram criadas classes herdeiras de
HttpError
específicas para os códigos de estado HTTP mais recorrentes, com o objetivo de simplificar seu uso.
- Foram criados modos de geração automática de atalho dos botões, definidos pelas constantes
em
AutoShortcutKeyMode
. A funcionalidade é configurável via x-class, customizando o
atributo autoShortcutKeyMode
da classe Configuração/Web Framework/Ambiente
(-1898144676).
Defeitos corrigidos
Desenvolvimento
- O processo
Desenvolvimento > Atualização > Atualizar VFS
removia os acentos do campo iUrl
dos arquivos atualizados.
- Os processos
Atualizar Sistema
e Atualizar Tabelas
, no menu Desenvolvimento > Atualização
,
não atualizavam corretamente o campo iUrl
dos arquivos de chave positiva na base destino,
filhos das classes atualizadas.
- O processo
Desenvolvimento > Revisão de códigos > Revisor de códigos
não funcionava corretamente
se fosse utilizado o WinMerge 2.15 ou superior.
- A atualização do sistema poderia falhar com o erro “A chave XXXX foi alterada por outro usuário
enquanto você estava editando” caso duas ou mais atualizações estivessem sendo executadas a partir
da mesma base de origem.
Engine
- A IDE do Engine removia os acentos do caminho do arquivo, gravado no campo
iUrl
, comportamento
distinto da classe VirtualFileSystem
, que preserva os acentos.
- O método
KeysUtilities.prototype.getUrl
retornava uma URL sem acentos, comportamento diferente do esperado para o campo iUrl
da tabela
iVfs
.
- O cabeçalho Http Date das respostas do servidor informava a data/hora local como sendo GMT.
- A propriedade
Response.prototype.expires
retornava a data/hora de expiração GMT como local.
- A informação de data/hora do servidor Http em mensagens de erro apresentava a data/hora local como
sendo GMT.
- Ao abrir conexão com o banco de dados Oracle, o Engine logava o charset utilizado exibindo
caracteres inválidos.
- O construtor
Number(value)
estava suportando strings com números inteiros literais descritos em
sintaxe não definida pelo padrão ECMAScript.
- O reinício do Engine falhava se ele estivesse instalado numa pasta cujo nome possuía caracteres
acentuados.
Web Framework
- A definição de um caractere de atalho de um botão utilizando ‘&’ como marcador no nome ou rótulo
não funcionava ao ser usado no nome. A funcionalidade também apresentava inconsistências ao tentar
designar atalhos automaticamente.
- Caracteres especiais do XML (<, >, “, ‘, &), quando usados no nome de uma interação, ocasionavam
falha de sincronismo. Estes caracteres passam a ser removidos automaticamente do nome.
- Os erros de atualização ocorridos na fase de reinicialização automática do Engine não estavam
sendo inseridos no log em uma ordem coerente em relação aos outros eventos da atualização.
Outras alterações
Engine
- A Virtual File System passa a permitir arquivos com nome de até 255 caracteres e caminhos de até
4000 caracteres. Esses limites passam a ser publicados nas propriedades
MAX_VFS_NAME_LENGTH
e
MAX_VFS_PATH_LENGTH
do módulo
@nginstack/engine/lib/database/Limits.
- A função
toSqlString
passa a limitar em dez o número de casas decimais após o ponto na conversão de valores numéricos de
ponto flutuante para string. Os comandos SQL usados na atualização do banco de dados, excetuando o
Oracle, passam a formatar os valores numéricos de ponto flutuante dessa forma.
- O método
Request.prototype.getHeaders
passa a retornar os nomes dos campos de cabeçalho em caixa baixa.
- O método
XMLHttpRequest.prototype.getAllResponseHeaders
passa a retornar os nomes dos campos de cabeçalho em caixa baixa.
- O roteador HTTP passa a codificar todas as respostas textuais em UTF-8. Antes ele codificava
apenas as respostas do tipo “application/json” e para os demais tipos ele adicionava o indicativo
“charset=iso-8859-1” no header “content-type”. Controladores HTTP que necessitem enviar
dados na codificação iso-8859-1 devem passar a indicar o charset de forma explícita
via método
`RouteResult.prototype.withCharset.
- O Engine passa a utilizar automaticamente o charset WE8MSWIN1252 no Client do Oracle, tornando
desnecessária a utilização da variável de ambiente NLS_LANG.
- A versão mínima do cliente do Oracle suportada pelo Engine passa a ser a versão 11g.
Desenvolvimento
- O botão ‘Corrigir URL da iVfs’ do processo “Desenvolvimento > Base de dados > Atualizar estrutura”
foi migrado para um processo próprio em
“Desenvolvimento > Virtual File System > Corrigir URL dos arquivos”.
Última atualização em 08 Apr 2024