Versão 50

Novidades

Sugestões de tipos para APIs da plataforma

As APIs da plataforma incluídas via require passam a contar com os recursos do IntelliSense em arquivos virtuais (VFS e Scratchpads).

IntelliSense

Mais detalhes em https://nginstack.com/pt/docs/vscode/intellisense/.

Melhorias

Engine

  • A IDE embarcada do Engine e a extensão do Engine para o VS Code passam a permitir que os usuários se autentiquem utilizando provedores de identidade externos por meio do protocolo OpenID Connect. Para mais informações consulte o manual Provedores de identidade.
  • Foi criada a propriedade Field.prototype.autoSanitize com o objetivo de permitir desativar a sanitização padrão que é realizada pelo sistema a fim de prevenir ataques do tipo Cross Site Scripting (XSS). Ao desativar essa propriedade, o desenvolvedor deve ter cuidado de realizar essa sanitização no evento beforeChange do campo ou ao ler o seu conteúdo.
  • Foi criado o manual Prevenção de injeção de códigos com o objetivo de documentar as APIs e estratégias do sistema para prevenir ataques de injeção.

Web Framework

  • A interface de ajuda do usuário foi otimizada, evitando que os textos de ajuda sejam enviados para o cliente sem necessidade. Em interfaces com muitos campos, essa melhoria pode gerar uma redução de aproximadamente 20% dos dados transmitidos durante a construção da tela.
  • A classe Label passa a sanitizar o conteúdo da propriedade text a fim de evitar ataques do tipo Cross Site Scripting (XSS). Esse novo comportamento pode ser desativado por meio da propriedade Label.prototype.autoSanitize.

Defeitos corrigidos

Engine

Extensão VS Code

  • Ao habilitar a alteração de produto, o usuário passava a receber erro de permissão ao tentar editar arquivos Custom.

Web Framework

  • Os métodos writeColumn e writeLink da classe SimpleLayout não escapavam por padrão as tags HTML nos relatórios em árvore, iniciados melo método newTreeRecord. Eles agora passam a escapar as tags, comportamento que pode ser desativado pela opção renderContentAsHtml.

Outras alterações

Engine

  • O aplicativo auxiliar wkhtmltopdf, utilizado pela classe HtmlToPdf para a geração de arquivos PDF, foi atualizado para a versão 0.12.6. Com essa atualização passa a ser exigido o uso dos métodos addResource ou addResourceContent para sinalizar que a página HTML faz referência a um ou mais arquivos secundários, como imagens.

Extensão VS Code

  • Por padrão, as regras curly, one-var e brace-style do ESLint passam a estar ativas na edição de scripts da Virtual File System.
  • O pacote engine-node passa a requerer a versão LTS 14 do Node ou superior.

Web Framework

  • Algumas funcionalidades do Web Framework, como o bloqueio de sessão e o fomulário de autenticação, passam a ser inibidas quando o usuário se autentica no sistema utilizando um provedor de identidade externo que não permite a coleta das credenciais do usuário, como o Google. Essas alterações se devem à impossibilidade de redirecionar o usuário para uma página externa de autenticação, sem encerrar a sessão corrente do usuário. Por esse mesmo motivo, o uso da API Process.prototype.authenticateUser deixa de ser recomendado e no seu lugar devem ser avaliadas alternativas de autenticação, como a gravação de operações com pendência de aprovação, possibilitando que os usuários aprovem essas operações logando no sistema com as suas credenciais, inclusive de forma não presencial.