O processo “Administração do sistema > Monitoramento > Sessões de aplicativos” passa a
apresentar o endereço IP do cliente e o navegador utilizado no acesso ao sistema.
Engine
O construtor da classe
ScriptRunner
passa a permitir que seja indicado um pool de sessões stateless por meio da opção realm. Essa
nova opção tem o objetivo de permitir o reuso de ambientes JavaScript pelas várias instâncias de
ScriptRunner configuradas para utilizar um mesmo pool.
As abas da IDE do Engine passam a poder ser reordenadas arrastando-as com o mouse.
Foi criada a propriedade
Session.prototype.clientId
com o objetivo de identificar unicamente o navegador ou dispositivo utilizado pelo cliente
no acesso ao Engine. Essa propriedade somente estará definida se o realm da sessão estiver
configurado com a propriedade
RealmConfig.prototype.clientTrackingEnabled
ativa.
Foi criada a configuração
RealmConfig.prototype.sessionTrackingEnabled
com o objetivo de desativar o rastreamento das sessões stateful via cookie. Quando desativada,
a identificação da sessão deve ocorrer de forma manual via cabeçalho da requisição HTTP ou por
meio de um parâmetro na query string.
A constante Number.EPSILON
passa a ser definida via polyfill no runtime JavaScript padrão do Engine, conforme especificação
ECMAScript 2015.
A classe File
foi revista para se adequar ao cenário de uso em múltiplas plataformas. O parâmetro do seu construtor que indica
o modo de abertura do arquivo passa a suportar novas opções, além de algumas alterações de comportamento das opções
existentes. O modo openRead deixa de criar um arquivo novo caso não exista algum no caminho
informado, sem que isso cause um impacto maior nos scripts, pois nenhuma exceção é lançada.
Anteriormente, a classe File realizava bufferização das operações de leitura, mas não fazia para a escrita.
Agora as duas operações são bufferizadas por padrão, o que pode causar algum impacto em scripts que fazem
acesso simultâneo de leitura e escrita a um mesmo arquivo. Foi então criado o modo unbuffered,
que desativa esse buffer de leitura e escrita, sendo recomendado o seu uso em casos onde for realizado
acesso simultâneo ao arquivo por múltiplas aplicações, sem a utilização de algum
mecanismo de sincronização. Os modos de compartilhamento (denyAll, denyWrite e denyNone) foram descontinuados
e são agora ignorados. Os demais modos, assim como os demais métodos da classe continuam se comportando como antes.
Web Framework
A restrição que impedia o uso do sistema em múltiplas abas de um mesmo navegador foi eliminada.
Agora o usuário pode abrir uma aba e iniciar uma nova sessão caso tenha que realizar mais
de uma operação ao mesmo tempo, não sendo mais necessário utilizar um outro navegador ou
servidor.
A pesquisa na grade passa a ser aproximada para valores numéricos, permitindo que o usuário
encontre valores que são muito próximos do pesquisado, mas que não são exatamente iguais. Esta
melhoria permite que o usuário localize dados que foram gravados no DataSet com uma precisão
decimal maior que a configurada no campo.
Defeitos corrigidos
Engine
A classe XMLHttpRequest
não permitia informar o corpo de uma requisição quando utilizado o método “DELETE”.