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).
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 eventobeforeChange
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 propriedadetext
a fim de evitar ataques do tipo Cross Site Scripting (XSS). Esse novo comportamento pode ser desativado por meio da propriedadeLabel.prototype.autoSanitize
.
Defeitos corrigidos
Engine
- O método
FileStorage.prototype.findLinkedFiles
poderia falhar com o erro “Cannot read property ‘equals’ of null” caso a chave informada não tivesse arquivos vinculados.
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
ewriteLink
da classeSimpleLayout
não escapavam por padrão as tags HTML nos relatórios em árvore, iniciados melo métodonewTreeRecord
. Eles agora passam a escapar as tags, comportamento que pode ser desativado pela opçãorenderContentAsHtml
.
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
ouaddResourceContent
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.