Versão 72
Alterações significativas
Validação estrita de tipo dos campos calculados
Campos calculados passam a verificar se o tipo do valor calculado corresponde ao do campo. Essa
modificação pode afetar principalmente campos do tipo date
, que deixam de aceitar valores
textuais, como “h”, “+1” e “24/04/1990”, passando a exigir que o evento de cálculo retorne uma
instância de Date
ou null
. Os demais tipos de campos também podem ser afetados, caso o tipo do
valor retornado seja inconsistente com a definição do campo.
GeneralSettings passa a retornar chaves numéricas em vez de instâncias de DBKey
O método
GeneralSettings.prototype.get
passa a retornar valores do tipo number
e number[]
para configurações do tipo
DBKey
e DBKey[]
. Esta alteração tem o objetivo de permitir a pesquisa e comparação de
chaves numéricas de forma segura. Mais detalhes no tópico “Evite instâncias persistentes de DBKey”
do manual
Boas práticas.
Melhorias
Administração do sistema
- O processo “Administração do sistema > Monitoramento > Engines” passa a indicar se o Engine está sendo executado como servidor de aplicação ou de borda. Também foi criado o filtro “Tipo de servidor” para filtrar os Engines por essa informação.
- Foram adicionados os filtros de “Assunto” e “Destinatários” no relatório “Administração do sistema > Auditoria > E-mails enviados pelo sistema”.
Engine
- Foram criados os métodos
Email.prototype.saveToStream
eEmail.prototype.loadFromStream
com o objetivo de permitir a serialização de instâncias de Email em arquivos. - Foi criada a propriedade
Engine.prototype.osName
com o objetivo de permitir obter o nome do sistema operacional no qual o Engine está sendo executado. - O sistema passa a expirar a sessão de usuários bloqueados, desativados ou removidos de forma mais imediata.
- Foi criado o método
Request.prototype.saveToStream
com o objetivo de gravar o corpo de uma requisição HTTP em um arquivo ouMemoryStream
. - Foi criado o método
RequestBody.prototype.asFile
com o objetivo de retornar o corpo de uma requisição HTTP como um arquivo temporário em disco, permitindo o processamento de requisições de tamanho elevado sem a necessidade de armazenar todo o corpo da requisição em memória. - A classe
MultipartFormDataReader
passa a suportar requisições HTTP do tipo “chunked”.
Extensão VS Code
- A extensão passa a contar com o comando
Compare File with Another Database
, que abre o diff de um arquivo da VFS com sua versão na base escolhida. Este comando simplifica a abertura do diff sem precisar utilizar o fluxo do Source Control.
Web Framework
- O manual
Boas práticas
passa a recomendar a ativação da configuração
warnIncompleteHelp
em bases de desenvolvimento para auxiliar na identificação de componentes de interface sem ajuda definida. Mais detalhes no tópico “Defina a ajuda de todos os componentes visíveis para o usuário” desse manual. - Gráficos do tipo
ECharts
passam a poder ser escritos por meio de instâncias deLabel
desde que a propriedadeautoSanitize
esteja desativada. - O sistema passa a tentar abortar a execução de processos e relatórios caso ele seja encerrado
antes da conclusão. Esse novo comportamento pode ser desativado por meio da propriedade
abortSessionOnExit
na configuração “/Configuração/Web Framework/Ambiente”.
Defeitos corrigidos
Administração do sistema
- O processo “Administração do sistema > Monitoramento > Engines” poderia não exibir alertas de Engines desatualizados após a atualização do sistema.
- O processo “Administração do sistema > Auditoria > Reversão de alterações” não retornava registros se fosse informado o filtro “Tabela”.
Engine
- A inicialização do Engine poderia falhar se uma interface de rede não tivesse o MAC address cadastrado.
Extensão VS Code
- Ao criar um novo arquivo do tipo “x-class” na classe Raiz poderia ocorrer o erro “Classe inválida”.
Web Framework
- O evento
calculate
do campo estava sendo executado duas vezes seguidas de forma desnecessária.
Outras alterações
Engine
- A leitura de arquivos da Union File System passa a substituir os caracteres UTF-8 não suportados por um HTML Entity equivalente ao caractere não suportado, modificando o comportamento anterior de substituir esses caracteres por “?”.
Web Framework
- A fonte
Font Awesome
e a biblioteca javascriptjQTouch
deixaram de ser utilizadas no Web Framework e foram removidas do sistema.