Notas de lançamento
4D 20 R9
Leia O que há de novo no 4D 20 R9, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20 R9.
Destaques
- Suporte de tokens de sessão manipulado com as novas funções
Session.createOTP()
eSession.restore()
. - O assistente de etiqueta agora usa o editor de fórmula para adicionar ou editar fórmulas na área de design de etiqueta.
- Nova classe
TCPListener
para criar conexões de servidor TCP; novas propriedades em classes relacionadas:address
,listener
eport
em a classeTCPConnection
,ip
eport
em a classeTCPEvent
. - Os comandos e constantes obsoletos agora geram warnings específicos no live checker e no compilador. Você pode saber se um comando está obsoleto usando o comando
Command name
. - Novos comandos WA SET CONTEXT e WA Get context para controlar o conteúdo de $4d em áreas da Web.
- Novo parâmetro de banco de dados
RD
para otimizar, por exemplo, a área de transferência compartilhada ao usar o protocolo remoto desktop com 4D. - Os componentes interpretados agora podem ser editados a partir do projeto host.
- Licencias são agora atualizadas automaticamente na inicialização.
- Nova 4D AIKit component permitindo a interação com APIs de terceiros.
- Os seguintes comandos de callbacks de comando VP agora esperam que todas as funções personalizadas 4D completem seus cálculos: VP IMPORT DOCUMENT, VP IMPORT FORM BLOB, VP IMPORT FROM OBJECT e VP FLUSH COMMANDS.
- Novos recursos 4D Netkit para gerenciar agendas do Google e do Microsoft 365; capacidade de usar o servidor web de hospedagem para autenticação OAuth 2.0.
- A biblioteca *MeCab (usada para classificação/busca na língua japonesa) está obsoleta e seu suporte será removido na próxima versão.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R7.
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 construída para um melhor cumprimento das diretrizes da notarização 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
- Depois de uma modificação do arquivo de log usando
SELECT LOG FILE
ou as configurações do backup, o comandoNew log file
valida a alteração agora sem esperar por um backup. O erro -4447 (backup necessário) não foi mais gerado. - 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 Session singletons e à nova propriedade de classe
.isSessionSingleton
. - Nova palavra-chave da 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 Linguagem 4D e Linguagem 4D Write Pro 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 como4D.File. ew()
) é mais rigorosa quando se trata de verificar a sintaxe do caminho fornecido como um 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 nas referências a objetos e nas referências a coleções.
collection.query()
agora suporta objeto e referências da coleção 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.
- Novo
entitySeletion. lean()
função e$clean
REST API para obter uma nova seleção de entidade baseada na seleção da entidade original, mas sem as entidades excluídas. - Nova função
session.getPrivileges()
e$info/privileges
API REST para inspecionar os privilégios de sessão para uma depuração mais fácil. - 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 estão seguros bem como alguns seletores dos comandos
SET DATABASE PARAMETER
/Obter parâmetro de banco de dados
. - Novo componente 4D-QPDF que fornece o comando
PDF Obter anexos
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
- É possível rolagem acomplada nos formulários: subformulário pai agora rolam automaticamente quando objetos roláveis incorporados (verticalmente ou [horizontalmente](. /FormObjects/properties_Appearance.md#horizontal-scroll-bar)) atingirem os limites e o usuário continuar 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.
- Compatibilidade de seleções da entidade restritas.
- Compatibilidade de clases compartidas e de classes singleton. Novas propriedades de classe:
isShared
,isSingleton
,me
. - Compatibilidade com 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
- Compatibilidade 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étodos declarados nos protótipos
#DECLARE
não são mais necessários nos métodos "Compiler_". - Compatibilidade 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.
- Novo modo de edição no Data Explorer.
- 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
- O uso de uma sintaxe herdada para declarar parâmetros (por exemplo,
C_TEXT($1)
ouvar $1 : Text
) agora está obsoleto e gera avisos nas etapas de digitação de código, verificação de sintaxe e compilação. - As seleções agora são mantidas consistentes após alguns registros terem sido apagados e outros registros criados (veja este post 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 usa o algoritmo bcrypt, o valor da "senha" no parâmetro connectionInfo do comando
Open datastore
agora é enviado de forma clara por padrão. Certifique-se de que seu método de banco de dados "Na autenticação REST" pode manipular senhas em forma clara (terceiro parâmetro é então False) e queAbrir datastore
criptografa 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
. - Compatibilidade do parâmetro context em
Formula from string
. - Support of
headers
property in connectionHandler parameter of 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.
- Compatibilidade para inicializar o valor e tipo de dados da variável 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
- Visualização 4D Pro: compatibilidade para o import e export dos documentos 4D View Pro no 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 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 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 do formato de arquivo .sjs para o import e export dos 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 |