Notas de lançamento
4D 20 R8
Leia O que há de novo no 4D 20 R8, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20 R8.
Destaques
- Implemente seus próprios HTTP request handlers usando a nova classe
4D.IncomingMessage
. - As expressões usadas em form object properties agora se beneficiam da verificação de sintaxe na Property list e no Compiler.
- Você pode associar uma classe a um formulário para ativar a antecipação do tipo de código e a instanciação automática dos dados do formulário ao usar o comando
Form
. - Suporte de sessões autônomas para simplificar a codificação local para aplicações cliente/servidor.
- Depurador 4D: novo design e salvamento automático, recursos do modo de exibição.
- Nova arquitetura de componentes para uma melhor conformidade com as diretrizes de reconhecimento de firma da Apple.
- Agora você pode facilmente criar aplicativos de avaliação na caixa de diálogo Criar aplicativo.
- Dependências: use o gerenciador de dependências para verificar se há novas versões e atualizar os componentes do GitHub.
- Novas classes
TCPConnection
eTCPEvent
para gerenciar conexões de clientes TCP, manipular eventos e aprimorar o controle sobre a transmissão de dados. Adicionado4DTCPLog.txt
para registro detalhado de eventos TCP. - Novas opções em VP EXPORT DOCUMENT e VP IMPORT DOCUMENT para controlar estilos, fórmulas, integridade de dados e proteção por senha.
- 4D Write Pro:
- Os seguintes comandos agora permitem parâmetros, como objetos ou coleções: WP SET ATTRIBUTES, WP Obter atributos, WP REDEFINIR ATTRIBUTES, Tabela WP anexa linha, documento de importação do WP, WP EXPORT DOCUMENT, WP Add picture, e WP Insert picture.
- WP Insert formula, WP Insert document body e WP Insert break, agora são funções que retornam intervalos.
- Novas expressões relacionadas a atributos de documentos: This.sectionIndex, This.sectionName e This.pageIndex.
- Línguagem 4D:
- Comandos modificados:
FORM EDIT
.sign()
and.verify()
functions of the 4D.CryptoKey class support Blob in the message parameter.
- Comandos modificados:
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R8.
Mudanças de comportamento
- Devido à sua nova arquitetura, os componentes criados com o 4D 20 R8 e superior não podem ser instalados em versões anteriores do 4D.
4D 20 R7
Leia O que há de novo no 4D 20 R7, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20 R7.
Destaques
- As colunas e cabeçalhos da list box de tipo tempo agora suportam a opção "blankIfNull".
- Novas propriedades em
.getBoxInfo()
e.getBoxList()
. - Agora você pode adicionar e remover componentes usando a interface do gerenciador de componentes.
- Novo modo direct typing mode no qual você declara todas as variáveis e parâmetros em seu código usando as palavras-chave
var
e#DECLARE
/Function
(somente o modo suportado em novos projetos). A funcionalidade verificação de sintaxe foi aprimorado de acordo. - Suporte a singletons de session e à nova propriedade de classe
.isSessionSingleton
. - Nova palavra-chave de função
onHttpGet
para definir funções singleton ou ORDA que podem ser chamadas por meio de solicitações HTTP REST GET. - Nova classe
4D.OutgoingMessage
para que o servidor REST retorne qualquer conteúdo Web. - Qodly Studio: agora você pode anexar o depurador Qodly a 4D Server.
- New Build Application keys para aplicativos 4D remotos para validar a autoridade de certificação do servidor signatures e/ou domain.
- Capacidade de criar aplicações independentes sem licenças incorporadas.
- Línguagem 4D:
- Novos comandos: Process info, Session info, SET WINDOW DOCUMENT ICON
- Comandos modificados: Process activity, Process number
- 4D Write Pro:
- Novo comando: WP DELETE SECTION
- Comandos modificados: WP DELETE SUBSECTION e WP RESET ATTRIBUTES
- Página Novidades em 4D Write Pro Reference.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R7.
Mudanças de comportamento
- As documentações para 4D Language e 4D Write Pro Language estão agora totalmente disponíveis em developer.4d.com. Saiba mais sobre todos os novos recursos e alterações referentes a essas documentações nesta nota de versão.
- O comando
File
(assim como o4D.File.new()
) é mais rigoroso quando se trata de verificar a sintaxe do caminho fornecido como parâmetro. - A ação de permission describe foi removida das ações disponíveis. Acesso às urls
/rest/$catalog
não é mais controlado. Os privilégios describe da sessão agora são ignorados.
4D 20 R6
Leia O que há de novo no 4D 20 R6, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20 R6.
Destaques
- Operadores de comparação em referências a objetos e referências a coleções.
collection.query()
agora suporta referências a objetos e coleções como valores de consulta. - Quando um componente tiver um declared namespace, suas classes agora são automaticamente compartilhadas entre todos os componentes carregados no projeto host por meio de
cs.<namespace>
. - Gerenciador de componentes: suporte de componentes armazenados no GitHub.
- Nova função
entitySelection.clean()
e$clean
REST API para obter uma nova seleção de entidades com base na seleção de entidades original, mas sem as entidades excluídas. - Nova função
session.getPrivileges()
e$info/privileges
REST API para inspecionar os privilégios da sessão para facilitar a depuração. - Novo arquivo 4DCEFParameters.json para personalizar áreas web embutidas no 4D.
- Nova classe HTTPAgent e nova propriedade
agent
para a classe HTTPRequest. - Novas funções
enableState()
edisableState()
para monitorar os estados da página Qodly a partir do servidor. - Nova
$singleton
API para chamar funções singleton expostas do REST e novos privilégios associados. - Um novo botão de configurações ajuda você a atualizar seu projeto para usar o modo REST de "login forçado" (o método de banco de dados
On REST Authentication
agora está obsoleto). - Uma nova guia de parametros ajuda a definir a geração de avisos globalmente.
- Vários comandos, principalmente do tema "4D Environment", agora são thread-safe (veja a lista completa), bem como alguns seletores dos comandos
SET DATABASE PARAMETER
/Get database parameter
. - Novo componente 4D-QPDF que fornece o comando
PDF Get attachments
para extrair anexos de um documento PDF/A3. - Comandos da linguagem 4D: página Novidades em doc.4d.com.
- 4D Write Pro: Página Novidades em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R6.
Mudanças de comportamento
- Suporte para perseguir a rolagem nos formulários: subformas pai agora rolam automaticamente quando objetos roláveis incorporados (verticalmente ou horizontalmente) atingiram os limites e o usuário continua rolando usando o mouse ou rastreador (overscrolling).
- A API REST
$catalog
agora retorna singletons (se houver).
4D 20 R5
Leia O que há de novo no 4D 20 R5, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20 R5.
Destaques
- Novo Gerenciador de componentes para lidar com componentes por meio de um arquivo
dependencies.json
. - Suporte a estruturas de tratamento de erros
Try...Catch...End try
. - A camada de rede QUIC agora suporta broadcasting, SSO, e IPv6.
- Soporte de selecciones de entidades restringidas.
- Soporte de clases compartidas y de clases singleton. Novas propriedades de classe:
isShared
,isSingleton
,me
. - Suporte à inicializando uma propriedade de classe em sua linha de declaração.
- Novo modo forçar login para solicitações REST com um suporte específico no Qodly Studio para 4D.
- Novo parâmetro REST $format.
- O objeto
Session
agora está disponível em sessões de usuários remotos e sessões de procedimentos armazenados. - Comandos da linguagem 4D: página Novidades em doc.4d.com.
- 4D Write Pro: Página de novidades em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R5.
Mudanças de comportamento
- Os plug-ins 4D Internet Commands e 4D for OCI não estão mais incluídos nos instaladores do 4D. Para obter esses plug-ins, você precisa se conectar ao Portal de descarrega de produtos 4D.
- Alterações feitas no editor de estrutura com relação à aparência gráfica de tabelas e campos (cor, posição, ordem...) agora são salvas em um arquivo separado chamado
catalog_editor.json
armazenado na pastaSources
do projeto.
4D 20 R4
Leia O que há de novo no 4D v20 R4, o post do blog que lista todos os novos recursos e aprimoramentos em 4D v20 R4.
Destaques
- Suporte do formato de criptografia
ECDSA
para os certificados TLS. - As conexões TLS cliente/servidor e servidor SQL agora são configuradas dinamicamente (não são necessários arquivos de certificado).
- Formato HTML direto para exportações de definição de estrutura.
- Novo Code Live Checker que aprimora o controle de código durante a digitação de código, a verificação de sintaxe e as etapas de compilação para evitar erros de execução.
- Os parâmetros de método declarados nos protótipos
#DECLARE
não são mais necessários nos métodos "Compiler_". - Suporte de formatos personalizados de data e hora
- Nova palavra-chave
Try(expression)
para tratar casos de erro simples. - Novo comando
HTTP Parse message
. - Nova opção de compatibilidade Impressão sem bloqueio.
- Nuevo modo de edición en el Explorador de datos.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: Página Novidades em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R4.
Mudanças de comportamento
- Usando uma sintaxe legada para declarar parâmetros (por exemplo,
C_TEXT($1)
ouvar $1 : Text
) está agora obsoleto e gera avisos na digitação de código, verificação de sintaxe e etapas de compilação. - La coherencia de las selecciones ahora se mantiene después de que se hayan eliminado algunos registros y se hayan creado otros (ver esta entrada de blog).
- Na atualização da biblioteca OpenSSL, o nível de segurança SSL/TLS padrão foi alterado de 1 para 2. Chaves RSA, DSA e DH de 1024 bits ou mais e menos de 2048 bits, assim como chaves ECC de 160 bits ou mais e menos de 224 bits, agora não são mais permitidas. Por padrão, a compressão TLS já estava desativada nas versões anteriores do OpenSSL. No nível de segurança 2, ele não pode ser habilitado.
- Para permitir a verificação de senha quando o diretório do usuário 4D usar o algoritmo bcrypt, o valor da "senha" no parâmetro connectionInfo do
Open datastore
agora é enviado de forma clara por padrão. Certifique-se de que seu método de banco de dados "On REST authentication" possa lidar com senhas em formato claro (o terceiro parâmetro é, então, False) e que oOpen datastore
criptografe sua conexão passando a opção "tls" para True em connectionInfo. Em casos específicos, uma nova opção "passwordAlgorithm" também pode ser usada para fins de compatibilidade (consulte o comandoOpen datastore
).
4D 20 R3
Leia O que há de novo no 4D v20 R3, o post do blog que lista todos os novos recursos e aprimoramentos em 4D v20 R3.
Destaques
- Nova função
collection.multiSort
. - Suporte do parâmetro context em
Formula from string
. - Suporte da propriedade
headers
no parâmetro connectionHandler de 4D.WebSocket.new. - Marcador de modificação global para facilitar a implementação de módulos de sincronização de dados. Novas funções:
ds.getGlobalStamp
eds.setGlobalStamp
. - Atribuindo arquivo de referências a atributos de imagem/blob é suportado no ORDA.
- Suporte para inicialização do valor da variável e do tipo de dados na linha de declaração.
- As configurações de arquivos de log agora são salvas com o arquivo de dados atual
- Nova sintaxe para declarar parâmetros variádicos
- 4D View Pro: compatibilidade com importação e de exportação de documentos 4D View Pro ao formato Blob.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: Página Novidades em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R3.
Mudanças de comportamento
- Alguns erros foram capturados pelo seu método de tratamento de erros somente no modo interpretado. Foi feita uma correção para que os seguintes erros agora sejam pegos também no modo compilado: Índice fora do intervalo, Tipo incompatível e Dereferenciando um ponteiro Nulo. Entretanto, para esses erros nos processadores Intel, o procedimento ainda é interrompido como antes, enquanto nos processadores Apple Silicon o procedimento só é interrompido se você chamar o comando
ABORT
. - 4D não inclui mais um interpretador PHP interno. Você precisa configurar e executar seu próprio interpretador PHP para usar os comandos PHP.
4D 20 R2
Leia O que há de novo no 4D v20 R2, o post do blog que lista todos os novos recursos e aprimoramentos em 4D v20 R2.
Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a atualização para a versão 4D 20 R2 HF1 build 100440 ou superior. Para obter mais informações, consulte este Boletim de segurança.
Destaques
- Nova classe WebSocket para criar e gerenciar conexões WebSocket do cliente a partir de 4D.
- Nova configuração de interface para a camada de rede QUIC.
- 4D View Pro: compatibilidade com o formato de arquivo .sjs para a importação e a exportação de documentos.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: Página Novidades em doc.4d.com.
- Interface 4D Write Pro: novo Table Wizard.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R2.
Mudanças de comportamento
- Aviso: O valor inicial dos objetos
offset
de 4D.FileHandle era configurado incorretamente para 1 ao invés de 0. Foi feita uma correção no 4D a partir das versões 20.1 HF1 e 20 R2 e o valor agora é 0.
4D 20.x LTS
Veja Notas de lançamento 4D 20.x LTS.
Tabela da biblioteca
Biblioteca | Versão atual | Atualizado em 4D | Comentário |
---|---|---|---|
BoringSSL | 0aa300b | 20 R6 | Usado para QUIC |
CEF | 131 | 20 R8 | Chromium 6778 |
Hunspell | 7.3.27 | 20 | Usado para verificação ortográfica em formulários 4D e 4D Write Pro |
ICU | 73.2 | 20 | Essa grande atualização força uma reconstrução automática dos índices alfanuméricos, de texto e de objetos. |
libldap | 2.6.7 | 20 R6 | |
libsasl | 2.1.28 | 20 | |
Libuv | 1.48 | 20 R6 | Usado para QUIC |
libZip | 19.5 | 20 | Utilizado pelos componentes zip class, 4D Write Pro, svg e serverNet |
LZMA | 5.4.1 | 20 | |
OpenSSL | 3.3.2 | 20 R7 | O nível de segurança TLS/SSL padrão foi atualizado. Veja mudanças de comportamento para versão 20 R4 |
PDFWriter | 4.3 | 20 | Dependência FreeType na 12.2.1 |
PHP | 8.2.4 | 20 | |
SpreadJS | 17.1.0 | 20 R7 | Veja este post de blog para uma visão geral dos novos recursos |
webKit | WKWebView | 19 | |
Zlib | 14.1.6 | 20 |