Saltar para o conteúdo principal
Versão: 20 R5

Notas de Lançamento

4D 20 R5

Read What’s new in 4D 20 R5, the blog post that lists all new features and enhancements in 4D 20 R5.

Destaques

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. To get these plug-ins, you need to connect to the 4D Product Download portal.
  • Changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) are now saved in a separate file named catalog_editor.json stored in the project's Sources folder.

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

Mudanças de comportamento

  • Usando uma sintaxe legada para declarar parâmetros (por exemplo, C_TEXT($1) ou var $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).
  • In the updated OpenSSL library, the default SSL/TLS security level has been changed from 1 to 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.
  • In order to allow password verification when the 4D user directory uses the bcrypt algorithm, the "password" value in the connectionInfo parameter of the Open datastore command is now sent in clear form by default. Make sure your "On REST authentication" database method can handle passwords in clear form (third parameter is then False) and that Open datastore encrypts your connection by passing the "tls" option to True in connectionInfo. In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (see Open datastore command).

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

Mudanças de comportamento

  • Some errors were catchable by your error handling method in interpreted mode only. A fix has been done, so that the following errors will now be caught also in compiled mode: Indice out of range, Type incompatible, and Dereferencing a Null pointer. However, for such errors on Intel processors, the procedure is still interrupted as before, whereas on Apple Silicon processors the procedure is only interrupted if you call the ABORT command.
  • 4D não inclui mais um interpretador PHP interno. You need to set up and run your own PHP interpreter to use PHP commands.

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.

Nota de segurança

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. For more information, refer to this Security bulletin.

Destaques

Mudanças de comportamento

  • Warning: The starting offset value of 4D.FileHandle objects was incorrectly set to 1 instead of 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

Leia O que há de novo no 4D 20, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 20.

Versão mínima do cliente para 4D Server 20.2 e posterior

Por razões internas, a versão de clientes remotos conectando ao 4D Server 20.2 e posterior deve ser pelo menos 4D 20.2.

Nota de segurança

Se suas aplicações 4D utilizam conexões TLS, é recomendado que você faça a atualização para a versão 4D 20.2 LTS build 100956 ou superior. For more information, refer to this Security bulletin.

Aviso de reconstrução do índice

4D 20 inclui uma atualização da biblioteca ICU (veja abaixo) que forçará uma reconstrução automática dos índices do tipo alfa, texto e objeto. Dependendo do tamanho do ficheiro de dados, esta operação pode demorar algum tempo e pode necessitar de ser planeada.

4D 20.1 reconstrução dos índices e versões cliente/servidor

4D 20.1 também inclui uma atualização da biblioteca ICU, que tem as seguintes consequências:

  • Isso forçará uma reconstrução automática dos índices do tipo alfa, texto e objeto.
  • Por causa da consistência de ordenação, é necessário que os clientes remotos 4D e o 4D Server usem a mesma versão: somente o 4D 20.1 remoto pode se conectar ao 4D Server v20.1 e vice-versa.

Destaques

Mudanças de comportamento

  • As of 20.3, in order to allow password verification when the 4D user directory uses the bcrypt algorithm, the "password" value in the connectionInfo parameter of the Open datastore command is now sent in clear form by default. Make sure your "On REST authentication" database method can handle passwords in clear form (third parameter is then False) and that Open datastore encrypts your connection by passing the "tls" option to True in connectionInfo. In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (see Open datastore command).
  • A partir da 20.2, o 4D 20 LTS não é mais compatível com o Windows Server 2012 R2.
  • Warning: The starting offset value of 4D.FileHandle objects was incorrectly set to 1 instead of 0. Foi feita uma correção no 4D a partir das versões 20.1 HF1 e 20 R2 e o valor agora é 0.
  • For HTTP RFC compliance, HTTPRequestClass.response.headers property now returns all header names in lowercase. If you want your code to continue working as before, use the new HTTPRequestClass.response.rawHeaders property.
  • TLS certificates are now automatically validated by 4D when sending HTTP requests with 4D.HTTPRequest.new(), and rejected with an error if they are invalid. Uma nova propriedade option permite-lhe controlar esta validação.
  • TLS v1.0 and TLS v1.1 are deprecated, they are no longer supported as Min TLS version on 4D Server. Version 1.3 is now selected by default and is automatically used if _o_TLSv1_0 or _o_TLSv1_1 constants are set with SET DATABASE PARAMETER.
  • For consistency, all buttons, checkboxes, and radio buttons are now rendered with a "3D" type at runtime: respectively Object type 3D button, Object type 3D checkbox, and Object type 3D radio button are returned by OBJECT Get type for these objects.
  • A partir do 4D 20, [4D for Mobile] (https://developer.4d.com/go-mobile/) não é mais instalado por padrão no ambiente 4D. To benefit from the 4D for Mobile development features in 4D, you need to install the 4D Mobile App component in the "Components" folder of your projects. If a converted project uses features from the 4D Mobile App Server component, make sure you also install it in the "Components" folder of the project.

4D 19 R8

Leia O que há de novo no 4D 19 R8, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 19 R8.

Destaques

Mudanças de comportamento

4D 19 R7

Leia O que há de novo no 4D 19 R7, o post do blog que lista todos os novos recursos e aprimoramentos em 4D 19 R7.

Destaques

Mudanças de comportamento

  • Para manter a consistência com as interfaces padrão (por exemplo, exploradores de arquivos do sistema operacional), as regras da caixa de listagem para seleção de linhas/arrastar e soltar foram modificadas. A continuous or discontinuous selection of rows can be dragged by simply clicking on and moving a selected row; the Alt key is not longer necessary (but can still be used like in previous previous). When the Shift or Ctrl/Command key is pressed, a mouse click is taken into account when the click is down. Para obter mais informações sobre arrastar e soltar em list boxes, consulte [esta postagem do blog] (https:/blog.4d.com/list-boxes-say-goodbye-to-alt-key/) e faça download [deste projeto HDI 4D] (https://github.com/4d-depot/HDI_LB_DragAndDrop).
  • A numeração de compilação interna do 4D foi modificada a partir do 4D 19 R7:
    • as versões até 4D 19 R6 (inclusive) são numeradas como 282xxx,
    • os lançamentos do 4D 19 R7 serão numerados como 100xxx.
      Note that a specific 4D version is still uniquely identified by a branch name and a build number. O número de build aumenta cronologicamente.
  • A capacidade de usar o protocolo REST do Wakanda/4D Mobile para chamar um método de projeto foi removida. You can use ORDA data model class functions or /4DACTION urls instead.

4D 19 R6

4D 19 R5

  • The project directory.json file can now be embedded in the server at build time, allowing you to deploy a client/server application with a basic security user and group configuration.
  • You can now deselect useless modules in your built applications.
  • The MeCab library is included by default in all 4D applications on macOS. Em versões anteriores, essa biblioteca, especificamente projetada para gerenciar texto em japonês, estava disponível apenas na versão japonesa do 4D no macOS. If you do not need this library in your final applications, you can now deselect it.
  • Optimización cliente/servidor: nuevas funciones clase permiten manejar la caché ORDA y el contenido de un contexto de optimización. See Preconfiguring contexts and ORDA Cache for more information.

    Essas funções são destinadas a desenvolvedores que precisam personalizar os recursos padrão do ORDA para configurações específicas. Na maioria dos casos, você não precisará usá-los.

  • DataClass class: The new .getCount() function returns the number of entities in a dataclass.
  • The 4DDiagnosticLog.txt file only records high-level information by default (INFO level. You can now select the information level to record (for example DEBUG level information) using the Diagnostic log level selector of the SET DATABASE PARAMETER command or the log configuration file.
  • Calling Use() on a non-shared object or a non-shared collection does nothing (it no longer generates an error). Portanto, agora é inútil testar se o objeto ou coleção passado para Use() é realmente compartilhado.
  • For clarification purposes, two SQL commands have been prefixed: GET DATA SOURCE LIST has been renamed to SQL GET DATA SOURCE LIST, Get current data source has been renamed to SQL Get current data source.
  • 4D View Pro:
  • Áreas Web:
    • New Windows system rendering engine: Web Areas using the Windows system rendering engine are now based upon Microsoft Edge WebView2. Isto afeta as seguintes funcionalidades:
      • Os comandos WA Create URL history menu e WA GET URL HISTORY retornam apenas o URL atual.
      • The Progression variable is no longer updated.
      • Os recursos de arrastar e soltar são gerenciados por uma API do Windows que é classificada como "experimental" pela Microsoft. Consequently, web areas may not work as expected when this API is not installed: Drag and drop may seem allowed even when the WA enable URL drop preference has been set to False. However, the drop action is blocked by default, and you can control the allowed URLs using the On Window Opening Denied event (see below).
    • (Windows only) When the user selects Print... from a web area using the embedded web rendering engine, a new print settings window is now displayed.
    • To reflect their actual effect in web areas (increase or decrease page zoom level), two commands have been renamed: WA SET PAGE TEXT LARGER has been renamed WA ZOOM IN, WA SET PAGE TEXT SMALLER has been renamed WA ZOOM OUT.
    • Enhanced security in web areas that use the embedded web rendering engine or the Windows system rendering engine (based on Microsoft Edge WebView2):
      • As políticas CORS agora se aplicam ao acesso a arquivos em disco em áreas da Web. For example, when opening a .html file with WA OPEN URL, that .html file cannot contain links that point to files outside its folder
      • Dropping external contents in web areas is now always blocked and triggers the On Window Opening Denied event when the WA enable URL drop preference is set to True (when set to False, the WA enable URL drop preference only modifies the drop cursor icon and filters the On Window Opening Denied event). Para permitir uma ação de soltar, você precisa executar um código adicional no método de objeto da área da Web:
WA OPEN URL(*;"WebArea";WA Get last filtered URL(*;"WebArea"))

4D 19 R4

  • Alias attributes are available in ORDA classes.
  • Support for break and continue statements in loops.
  • Support for return statement and return expression to return values.
  • Support for compound assignment operators, short-circuit operators, and ternary operator
  • The Code Editor now includes an dropdown tool and supports markers for better code navigation.
  • New Preferences: Include tokens in project source files and Show clipboards option on the Methods page.
  • Nova solicitação REST para bloquear/desbloquear entidades.
  • 4D View Pro capítulo añadido con nuevos comandos: VP Copy to object, VP MOVE CELLS, [VP PASTE FROM OBJECT](../ViewPro/commands/vp-paste-from-obj
  • Nova classe SystemWorker.
  • The Alias selection constant has been renamed Allow alias files to resolve a conflict resulting from the support of alias attributes in ORDA.
  • For better compliance with ORDA specifications, the Map NULL values to blank values field property is now unchecked by default in databases created with 4D 19 R4 and higher. Você também pode ativar esse comportamento padrão em seus bancos de dados convertidos de versões anteriores selecionando a configuração de compatibilidade Mapear valores NULOS para valores em branco desmarcada por padrão na criação do campo. Agora é recomendável trabalhar com valores nulos, pois eles são totalmente compatíveis com o ORDA.
  • Because of the support of the ternary operator, the colon ":" is no longer allowed in variable, field, constant, function, plugin and project method names. Se o seu banco de dados/projeto contiver identificadores com dois, você deve substituí-los antes de convertê-lo para 4D 19 R4 ou superior, caso contrário podem ocorrer erros no seu código. For example, if you have a variable named a:b, it could be interpreted as ternary operator syntax:
$value:=($size>1000)? a:b // Here 'a:b' is viewed as a ternary operator.

4D 19 R3

// "concate" function of myClass Function concate ($param1 : Text ; $param2 : Text)
ALERT($param1+" "+$param2)
// Calling method
$class:=cs.myClass.new()
$class.concate("Hello";" world") // Displays "Hello world"
$class.concate("Hello") // Displays "Hello "
$class.concate() // Displays " "

For detailed information, please refer to this blog post. Para beneficiar desta simplificação global, é necessário recompilar tanto os métodos chamados como os que são chamados; assim, os componentes devem ser recompilados.

  • Debugging web server sessions is easier on 4D Server.

  • The new 4D NetKit component allows you to connect to third-party APIs such as Microsoft Graph.

  • 4D 19 R3 usa um algoritmo hash mais forte para senhas de usuários 4D: Bcrypt. This new algorithm is automatically used when a password is changed using the Tool Box, the CHANGE PASSWORD command, or the Set user properties command. Depois que a senha for modificada, abrir o banco de dados com uma versão anterior ao 4D 19 R3 causará uma recusa de autenticação para essa conta. Se você usa senhas 4D, é altamente recomendável fazer backup do arquivo .4db (bancos de dados binários) ou do arquivo directory.json (projetos) antes de atualizar para o 4D 19 R3 ou posterior.

  • Para fins de precisão, a constante 4D digest foi renomeada para 4D REST digest.

  • Gerenciamento de fim de linha e BOM para comandos XML: Quando abertos no 4D 19 R3, os projetos ou bancos de dados criados com versões anteriores se comportam de forma diferente em relação aos caracteres de fim de linha padrão e ao gerenciamento de BOM em documentos XML: os caracteres de avanço de linha (LF) são usados em vez de CR (no macOS) e as marcas de ordem de byte (BOM) não são incluídas. Isso permite uma melhor compatibilidade com as ferramentas VCS. Se necessário, você pode restaurar o comportamento 4D 19 R2 usando o comando XML SET OPTIONS. Em projetos ou bancos de dados convertidos de versões anteriores ao 19 R2, essas opções são gerenciadas por duas configurações de compatibilidade.

  • Runtime Explorer shortcut removed in built projects: The Cmd/Ctrl+Shift+F9 shortcut does no longer display the Runtime Explorer window in single-user merged project applications. Esse atalho agora pode ser um atalho de aplicativo do usuário. You can call the Runtime Explorer window using the new OPEN RUNTIME EXPLORER command.

  • Recursos de depuração ampliados com o 4D Server: No modo interpretado, o 4D Server agora pode depurar todos os tipos de processos, incluindo sessões da Web escalonáveis. This is available when the debugger is attached to the server or to a remote client.
    Warning: In interpreted mode, in order to make extented debugging available on the server machine, all server processes are now automatically executed in cooperative mode when the debugger is attached to the server (default setting). Isso pode ter um impacto significativo no desempenho de suas aplicações convertidas quando elas são executadas com o 4D Server 19 R3 e superior. To restore preemptive execution on the server in this case, all you need to do is detach the debugger from the server (and attach it to a remote client if necessary).

  • On Windows, 4D projects and databases created with 4D 19 R3 and higher use the DirectWrite API in forms. Essa API melhora a renderização de texto, especialmente em configurações de DPI alto. O DirectWrite é usado para renderização de texto com texto estático e de entrada, caixas de seleção, botões e botões de rádio. Observe que as caixas de listagem já usam DirectWrite. Uma opção de compatibilidade permite que você ative o DirectWrite em projetos e bancos de dados criados com versões anteriores do 4D.

  • If you use components compiled with 4D 19.0 for Silicon (Apple ARM CPUs) which call the Count parameters command, we recommend to recompile them with 4D 19 R3 to provide compatibility with 4D 19 R3 and future releases. Se um componente não for compilado para o Silicon, não será necessário recompilar.

4D 19 R2

Lançamentos anteriores

Clique para ver as notas de versão das versões anteriores

4D 19

Nota de segurança

If your 4D applications use TLS connections, it is recommended that you upgrade to 4D 19.7 LTS build 288986 or higher. For more information, refer to this Security bulletin.

4D 18 R6

Tabela da biblioteca

BibliotecaVersão atualAtualizado em 4DComentário
ICU73.220.1Essa grande atualização força uma reconstrução automática dos índices alfanuméricos, de texto e de objetos.
CEF12120 R5Chromium 6167
Hunspell7.3.2720Usado para verificação ortográfica em formulários 4D e 4D Write Pro
PDFWriter4.320Dependência FreeType na 12.2.1
SpreadJS16.2.620 R4Motor 4D View Pro
OpenSSL3.2.020 R4O nível de segurança TLS/SSL padrão foi atualizado. Veja mudanças de comportamento para versão 20 R4
libZip19.520Utilizado pelos componentes zip class, 4D Write Pro, svg e serverNet
LZMA5.4.120
Zlib14.1.620
webKitWKWebView19
PHP8.2.420
libldap2.6.420 R3
libsasl2.1.2820