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

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

  • The plug-ins 4D Internet Commands and 4D for OCI are no longer included in 4D installers. 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

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

Destaques

Mudanças de comportamento

  • Using a legacy syntax for declaring parameters (e.g. C_TEXT($1) or var $1 : Text) is now deprecated and generates warnings at code typing, syntax checking, and compilation steps.
  • Selections are now kept consistent after some records have been deleted and others records created (see this blog post.
  • 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.

4D 20 R3

Read What’s new in 4D 20 R3, the blog post that lists all new features and enhancements in 4D 20 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

Read What’s new in 4D 20 R2, the blog post that lists all new features and enhancements in 4D 20 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. A fix has been made in 4D as of versions 20.1 HF1 and 20 R2 and the value is now 0.

4D 20.x

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

Minimal client version for 4D Server 20.2 and later

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 index rebuild and client/server versions

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

  • A partir da v20.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. A fix has been made in 4D as of versions 20.1 HF1 and 20 R2 and the value is now 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. A new option property allows you to control this validation.
  • 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.
  • As of 4D 20, 4D for Mobile is no longer installed by default in the 4D environment. 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

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

Destaques

Mudanças de comportamento

4D 19 R7

Read What’s new in 4D 19 R7, the blog post that lists all new features and enhancements in 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,
    • releases from 4D 19 R7 will be numbered 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.
  • Client/Server optimization: New class functions allow you to handle the ORDA cache and the contents of an optimization context. 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:
      • The WA Create URL history menu and WA GET URL HISTORY commands only return the current URL.
      • 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.
  • New REST request to lock/unlock entities.
  • 4D View Pro chapter added with new commands: VP Copy to object, VP MOVE CELLS, VP PASTE FROM OBJECT.
  • New SystemWorker class.
  • 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.

  • For accuracy, the 4D digest constant has been renamed 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. If necessary, you can restore the 4D 19 R2 behavior using the XML SET OPTIONS command. 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. See Behavior changes for release 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