Versão 36

Novidades

Busca textual na UFS e em Resource Strings

A extensão do VS Code passa a contar com a busca textual também para arquivos da UFS e Resource Strings. A busca agora também é capaz de filtrar arquivos utilizando glob patterns.

Search example

Mais detalhes em https://nginstack.com/pt/docs/vscode/file-system-search/.

Melhorias

Admin

  • O processo Admin > Agendador de scripts passa a exibir o tamanho dos dados contidos nas tarefas agendadas. Essa informação passa a estar disponível no campo “Dados serializados”, exibido apenas no modo formulário.

Engine

  • O guia de estilo adotado pela plataforma passa a ser documentado em https://nginstack.com/pt/docs/style-guide.
  • A IDE do Engine passa a permitir abrir uma classe no VS Code por meio da opção “Open in VS Code”, exibida ao clicar com o botão direito na classe.
  • Os arquivos abertos no VS Code a partir da IDE do Engine passam a ser posicionados na mesma localização do cursor do editor do Engine.
  • A classe Base64 teve sua API modificada e passa a suportar a variação base64url. Mais detalhes disponíveis na sua documentação de referência.
  • Foi implementada a propriedade engine.env que permite ler a definição das variáveis de ambiente do processo no sistema operacional.
  • O Engine passa a suportar a leitura de colunas do tipo LONG no Oracle.
  • O método Task.prototype.setParameters passa a retornar o tamanho total em bytes dos parâmetros serializados na tarefa.
  • A classe ScriptRunner passa a permitir o uso de realms de sessões Stateful. O construtor passa a receber as novas opções sessionId e waitTimeout para indicar a sessão Stateful a ser restaurada e o tempo máximo de espera em milissegundos.
  • Foi criado o método ScriptRunner.prototype.evaluate com o objetivo de executar uma expressão no ambiente JavaScript utilizado pela instância do ScriptRunner, permitindo assim a manipulação ou inspeção desse ambiente.
  • Foi criado o método SessionManager.prototype.abortSession com o objetivo de solicitar a interrupção da execução de uma sessão a partir do seu identificador.
  • Foram criadas as propriedades Session.prototype.trackingId e ScriptRunner.prototype.trackingId com o mesmo propósito da propriedade Database.prototype.trackingId, mas com abrangência global na sessão.
  • Foi criada a classe TextEncoder, disponibilizando uma API padrão para conversão de strings para a codificação utf-8.

Web Framework

  • Foi otimizada a exibição de campos lookups que contém chaves que não existem no cache local.

Defeitos corrigidos

Engine

Web Framework

  • Os recursos das sessões encerradas pelos usuários poderiam ser preservados indevidamente durante o tempo máximo de inatividade da sessão configurado, por padrão 15 minutos.
  • Modificações realizadas em um processo não visível na interface, como alterar a interação corrente, poderiam não ser exibidas para o usuário imediatamente quando a aba do processo era restaurada. Essas modificações eram exibidas apenas na primeira interação do usuário com o processo.

Outras alterações

Engine

  • O Engine deixa de configurar os parâmetros de sessão ANSI_NULL, ANSI_WARNINGS, QUOTED_IDENTIFIER e CONCAT_NULL_YIELDS_NULL com OFF e passa a ativar a opção ANSI_DEFAULTS nas conexões com o banco de dados Microsoft SQL Server. Os parâmetros desativados são obsoletos e tornam o funcionamento do Microsoft SQL Server distinto dos demais SGBDs suportados pelo Engine, principalmente no tratamento dos valores nulos. A desativação deles também passa a possibilitar a criação de índices com filtros. Após a atualização para o Engine 36 ou superior, as bases de dados existentes precisam ser recriadas utilizando os processos “Criar cópia” e “Restaurar cópia” disponíveis no menu “Desenvolvimento > Base de dados > Migração” para que todas essas alterações entrem em vigor.
  • Colunas passam a ser criadas no Microsoft SQL Server com a opção SPARSE ativa. Essa modificação tem o objetivo de reduzir o custo de armazenagem dos valores nulos.
  • A propriedade Field.prototype.dbConstraints foi eliminada e os eventuais valores informados nela serão ignorados na criação de tabelas e colunas na base de dados.
  • O motor Javascript V8 foi atualizado para a versão 7.8.
  • O método Connection.prototype.scheduledSendEmail passa a limitar o tamanho da mensagem gravada no scheduler em 25MB. Esse limite pode ser ampliado pelo novo parâmetro maxSize desse método.
  • As tarefas do scheduler criadas para envio de e-mails passam a incluir o assunto no nome da tarefa.
  • Os campos “VERSAO”, “VERSAOFT” e “VERSAOBD” da tabela “ULTCHAVE” passam a ser do tipo BIGINT. A conversão das bases existentes será realizada automaticamente durante a atualização do sistema.
  • Foi eliminada a classe ngin.db.DatabaseVersion, pois o seu uso se tornou desnecessário com a alteração do tipo da coluna “VERSAOBD” da tabela “ULTCHAVE” para BIGINT.

Web Framework

  • O construtor da classe ECharts deixa de receber o parâmetro theme. Essa configuração passa a ser uma propriedade do parâmetro options.