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.saveToStreameEmail.prototype.loadFromStreamcom o objetivo de permitir a serialização de instâncias de Email em arquivos. - Foi criada a propriedade
Engine.prototype.osNamecom 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.saveToStreamcom o objetivo de gravar o corpo de uma requisição HTTP em um arquivo ouMemoryStream. - Foi criado o método
RequestBody.prototype.asFilecom 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
MultipartFormDataReaderpassa 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
warnIncompleteHelpem 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
EChartspassam a poder ser escritos por meio de instâncias deLabeldesde que a propriedadeautoSanitizeesteja 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
abortSessionOnExitna 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
calculatedo 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 Awesomee a biblioteca javascriptjQTouchdeixaram de ser utilizadas no Web Framework e foram removidas do sistema.