Durante o ciclo de lançamentos R-release, se atualizam várias bibliotecas e componentes utilizados por 4D, se modificam os comportamientos existentes e se registran os problemas conhecidos. Esta informação, publicada inicialmente através das "Notas de lançamento" de cada versão, é resumida nesta página.
Atenção: 4D v18 R6 inclui uma atualização de biblioteca ICU (veja abaixo) que vai forçar uma reconstrução automática de índices de tipo alfa, texto e objeto. Dependendo do tamanho do arquivo de dados, esta operação pode demorar e pode precisar ser planejada.
Se usar componentes compilados com 4D v19.0 for Silicon (Apple ARM CPUs) que chamam o comando Count parameters, é recomendado recompilá-los com 4D v19.1 (ou v19 R3) para garantir compatibilidade com 4D v19 R3 e outros lançamentos futuros. Se um componente não for compilado para Silicon, não é necessário recompilar.
O compilador 4D foi atualizado em 4D v19, com as consequências abaixo:
Se quiser usar uma versão compilada de um projeto v18 Rx com 4D v19 ou superior, deve recompilar previamente o projeto com 4D v19.
A notação de pontos e os métodos de salvado em Unicode são agora obrigatórios para compilar um banco de dados. Ao tentar compilar o banco de dados com uma dessas opções desativada, é gerado um erro de compilação. As opções correspondentes devem estar ativadas em Página Compatibilidade da Configuração.
Em Windows, cconstruir uma aplicação cliente|servidor que ativa atualizações automaticas para clientes macOS que exige que selecione um arquivo .4darchive gerado previamente do lado macOS.
4D v19 é a primeira versão binária universal de 4D em macOS. Um binário universal não são diferenciados de uma aplicação normal, mas seu arquivo executável contém duas versões, uma versão é executada de fomra nativa em Apple silicon, e a outra é executada de forma nativa nos computadores Mac baseados em Intel.
O atributo SameSite das cookies de sesão web escalares está configurado como padrão como "Strict" a partir de 4D v19 (a configuração mais segura). Em versões anteriores, este atributo não era definido pelo servidor web; portanto, os navegadores utilizavam uma configuração "Lax" como padrão. Ver developer.4d.com para saber mais.
4D v19 e superior inclui modificações nas funcionalidades de criptografia. Como resultado, um arquivo de dados é criptografado com 4D v19 ou superior usando um comando como Encrypt data file ou o MSC não pode ser reaberto usando uma versão anterior (exceto 4D v18.5 que inclui as modificações).
Nota: Encriptação também é ativada pelas operações de compactar e reparo.
Entretanto, ainda é possível reabrir os arquivos de dados usando uma versão anterio de 4D, mas antes vai precisar remover a criptografia em 4D v19.x
Só arquivos de dados criptografados são afetados.Se não usar a criptografia, o arquivo de dados pode ser reaberto como normalmente.
Por consistência, a funcionalidade MailAttachment.path agora retorna a rota do arquivo anexo com uma sintaxe POSIX. Use a funcionalidade MailAttachment.platformPath para obter a rota de arquivo anexo com uma sintaxe da plataforma.
Para uma melhor clareza e para promover a arquitetura baseada em projetos em novos desenvolvimentos, a terminologia geral foi atualizada em 4D e a interface foi simplificada:
O termo genérico "banco de dados" foi substituido por "projeto" em todas as aplicações 4D.
Como padrão, só se propõe a opção Novo > Projeo... no menú Arquivo/botão da barra de ferramentas Novo.
A capacidade de criar bancos binários através do menú Arquivo ou o botão da barra de ferramentas Nova ainda é compatível, mas deve ser habilitado explícitamente nas Preferências utilizando a opção Ativarcriação de bancos de dados binários.
A partir do 4D v18 R5, as funções existentes da classe de modelo de dados ORDA (inseridas no 4D v18 R4) não são mais expostas automaticamente a solicitações REST por padrão. Você deve declarar explicitamente cada função que deseja estar disponível a partir de solicitações REST como exposta. Veja a documentação das classes modelo de dados em developer.4d.com.
A partir de 4D v18 R5, os objetos de seleção de entidades podem ser compartidos entre processos para maior flexibilidade e escalonabilidade. Dependendo de como foram criadas, algumas seleções de entidade podem virar partilháveis em sua aplicação (ver Seleção de Entidade Compatível vs Não-compatível).
Uma seleção de entidades compatíveis não aceita a adição de novas entidades. Como consequência, as chamadas a entitySelection.add( ) poderiam gerar erros em seu código existente. Para restaurar uma execução sem erros, é possível:
Quando executar uma restauração manual de um arquivo de cópia de segurança, todo conteúdo relacionado com o arquivo de dados (arquivos e pasta de configuração) agora são restaurados automaticamente em uma subpasta Dados criada dentro da pasta de destino.
A chave XML Backup / DataBase não está mais disponível no arquivo "backup.4DSettings" (DatabaseName, LastBackupPath, LastBackupLogPath, CurrentBackupSet, LastBackupDate, LastBackupTime). Informação e relatórios sobre a última operação de backup podem ser encontradas no arquivo “backupHistory.json”.
O porto 19815 do servidor agora é utilizado automaticamente por 4D Server quando o depurador remoto estiver ativo (número de porto por padrão). Para mais informação, consulte a seção 4D Server e números de porta.
A partir de 4D v18 R6, eventos On Clicked e On Double Clicked são gerados quando um clique acontecer na célula de input de texto enquanto a célula estiver sendo editada. Esta funcionalidade permite exibir menus pop-ups depois de Contextual click por exemplo. O evento é gerado na coluna e no objeto list box (nessa ordem).
Em versões anteriores, estes eventos só podiam ser gerados para células de input texto quando elas não estivessem em edição.Para evitar efeitos inesperados em interfaces existentes, pode adicionar o teste abaixo em seu código:
//Objeto List box ou método list box column If(FORM Event.code=On Clicked) //ou On Double Clicked If(Not(Is editing text)) //teste adicionado //código anterior End if End if
A partir de 4D v18 R4, as funcionalidades avançadas de list box estãp disponívei para todos os usuários de 4D de forma gratuita (anteriormente precisavam uma licença 4D View Pro). Estas funcionalidades incluem:
Estes comandos foram atualizados em 4D v18 R4. Alguns comportamentos não documentados foram modificados, o que poderia trazer problemas de compatibilidade em aplicações existentes.
Ambos os comandos antes modificavam a variável de sistema OK; agora não definem mais esta variável.
No caso de um formato Base64 inválido, BASE64 DECODE chamado em um único parâmetro de blob estava deixando o blob intocado. Agora ele retorna um blob vazio.
Seguindo as recomendações de Apple, 4D agora entrega 4D Volume Desktop e plug-ins assinados e notariados. Por isso assinar suas aplicações em macOS se converte em obrigatório, do contrário o processo de criação produzirá pacotes com assinaturas quebradas. A opção Assinar aplicação está marcada de maneira pré-determinada no quadro de diálogo Criar aplicação. Os desenvolvedores que não tenham um certificado de distribuição devem utilizar um certificado autofirmado (foi agregado um botão Gerar certificado autofirmado no quadro de diálogo Criar aplicação para facilitar as coisas).
Além disso, já não é possível criar uma aplicação cliente macOS diretamente na plataforma Windows. Deve compilar o arquivo macOS em um Mac e copiá-lo ao pacote final.
Nota: 4D agora verifica se a estrutura dos plug-ins e aplicações de terceiros atende aos últimos requisitos da Apple (atualizados em fevereiro de 2020) durante a etapa de assinatura. Portanto, mesmo um antigo elemento autenticado poderia ser rejeitado por 4D. Isso economizará tempo, pois toda autenticação falharia eventualmente. Neste caso, você pode precisar entrar em contato com o plug-in ou com o fornecedor do aplicativo para uma versão atualizada.
Em aplicações de projeto, quando 4D se conecta a um Servidor 4D na mesma máquina, 4D agora usa seus próprios componentes internos e plug-ins em vez dos do Servidor 4D (os plug-ins do servidor não são "baixados" para a aplicação 4D neste contexto). Note que não é mais recomendado instalar plug-ins ou componentes no nível de aplicação do Servidor 4D ou do Servidor 4D. Para maiores informações, por favor, consulte esta seção.
O plug-in 4D Internet Commands não é mais instalado de forma pré-determinada em 4D a partir de 4D v19. Deve ser selecionado/baixado e instalado na pasta Plugins do banco de dados se ainda o usar. Para saber mais, veja Instalação e requerimentos de software.
Como observado na página Novo site de documentação, a documentação 4D está sendo movida para a plataforma developer.4d.com/docs.. Além do novo conteúdo, o novo website também é progressivamente preenchido com material doc.4d.com atualizado.
Para evitar confusão, começamos a remover as seções do doc.4d.com que já foram atualizadas e migradas para developer.4d.com. As seções eliminadas agora mostram um redirecionamento para o novo site, por exemplo
Ao importar documentos de plug-in 4D Write antigos, Write Pro 4D utiliza agora como padrão o separador do sistema (devolvido por GET SYSTEM FORMAT) como separador de decimais para as tabulações decimais. Pode mudar este parâmetro utilizando o comando WP SET ATTRIBUTES.
A partir de 4D Write Pro v18 R2, métodos e comandos não são mais filtrados em fórmulas - 4D Write Pro agora é compatível com fórmulas como objetos ao invés de strings. Qualquer fórmula criada pode ser inserida e computada, mesmo se elas chamarem métodos que não são "permitidos". As propriedades abaixo de filtro são agora ignoradas para a avaliação de fórmula em 4D Write Pro:
A opção Filtrar comandos e métodos projeto... na página "Security" da caixa de diálogo Configurações de Banco de Dados
Em versões anteriores, o comando ST FREEZE EXPRESSIONS sempre computa expressões antes de executar documentos 4D Write Pro. A partir de 4D v18 R2, apenas computa expressões se ainda não tiverem sido computadas (exceto se o parâmetro * for usado)
A partir de 4D v18 R2, os arquivos da biblioteca Oracle devem ser instaladas em /usr/local/lib (não se admite nenhuma outra localidade). Ver também a página 4D para OCI Parâmetros OCI.