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
- New Component manager to handle components through a
dependencies.json
file. - Suporte a estruturas de tratamento de erros
Try...Catch...End try
. - QUIC network layer now supports broadcasting, SSO, and 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.
- Nuevo parámetro REST $format.
Session
object is now available in remote user sessions and stored procedures session.- Comandos da linguagem 4D: página Novidades em doc.4d.com.
- 4D Write Pro: What's new page on 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. 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'sSources
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
- Support of
ECDSA
encryption format for TLS certificates. - Client/server and SQL server TLS connections are now configured dynamically (no certificate files are required).
- Direct HTML format for structure definition exports.
- New Code Live Checker that enhances code control during code typing, syntax checking, and compilation steps to prevent execution errors.
- Method parameters declared in
#DECLARE
prototypes are no longer necessary in "Compiler_" methods. - Suporte de formatos personalizados de data e hora
- New
Try(expression)
keyword to handle simple error cases. - Novo comando
HTTP Parse message
. - New Non-blocking printing compatibility option.
- 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] (https://doc.4d.com/4Dv20R4/4D/20-R4/What-s-new.901-6683440.en.html) 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).
- 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 thatOpen 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 (seeOpen 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
- Nova função
collection.multiSort
. - Support of context parameter in
Formula from string
. - Support of
headers
property in connectionHandler parameter of 4D.WebSocket.new. - Global modification stamp to help implementing data synchronization modules. Novas funções:
ds.getGlobalStamp
eds.setGlobalStamp
. - Assigning file references to picture/blob attributes is supported in ORDA.
- Support for initializing the variable's value and data type in the declaration line.
- Log file settings are now saved with the current data file
- New syntax for declaring variadic parameters
- 4D View Pro: soporte de la importación y de la exportación de documentos 4D View Pro al formato Blob.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: [Página Novidades] (https://doc.4d.com/4Dv20R3/4D/20-R3/What-s-new.901-6475174.en.html) em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R3.
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.
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
- New WebSocket class to create and manage client WebSocket connections from 4D.
- New QUIC network layer interface setting.
- 4D View Pro: soporte del formato de archivo .sjs para la importación y la exportación de documentos.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: [Página Novidades] (https://doc.4d.com/4Dv20R2/4D/20-R2/What-s-new.901-6390313.en.html) em doc.4d.com.
- 4D Write Pro Interface: New Table Wizard.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 20 R2.
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.
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.
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 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
- 4D 20.2 é certificado em macOS Sonoma (macOS 14).
- (4D 20.1) New
plugins
property in the options parameter for theCompile project
command. - 4D Server automatically integrates multiple journals: Automatic restore.
- IMAP Transporter Class:
.getBoxInfo()
returns id,.selectBox()
returns id, flags and permanentFlags,.addFlags()
and.removeFlags()
support custom keywords. - New WebSocketServer and WebSocketConnection classes to create and manage WebSocket connections from 4D.
- Support of
property
keyword in user class definitions. - Novas funções para bloquear/desbloquear o datastore:
.flushAndLock()
,.locked()
,.unlock()
. - Nova função
.at()
na classe de seleção de entidades. - Novas funções na classe Collection:
.at()
,.first()
,.flat()
,.flatMap()
,.includes()
,.last()
,.reduceRight()
. - Code editor: enhanced Find and replace features.
- New searchable "property" Language element in the Find in design... dialog box.
- To simplify code, some comparison operators can now be used with Undefined values without generating errors.
- Support of headerOnly parameter in
POP3Transporter.getMail()
. - Support of
count values
option inentitySelection.distinct()
andcollection.distinct()
functions. - Nova função
entitySelection.distinctPaths()
. - ORDA requests logs are now available on the server, new parameter for
.startRequestLog()
function. - New tools for code execution in CLI: tool4d and 4D Server in utility mode.
- Data Explorer: new button and display in a 4D window.
- New properties for buttons, check boxes and radio buttons: Image hugs title and Horizontal Alignment.
- Support of
WinIcon
infile.setAppInfo()
function. - New
validateTLSCertificate
option for4D.HTTPRequest.new()
allowing you to control the automatic certificate validation. - Comandos da linguagem 4D: página Novidades em doc.4d.com.
- 4D Write Pro: [Página Novidades] (https://doc.4d.com/4Dv20/4D/20/What-s-new.901-6229455.en.html) em doc.4d.com.
- Listas de bugs corrigidos: 4D 20 - 4D 20.1 - 4D 20.2 - 4D 20.3 - 4D 20.4.
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 thatOpen 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 (seeOpen 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 newHTTPRequestClass.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 withSET 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
, andObject type 3D radio button
are returned byOBJECT 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
- Error management methods can be installed for global and component execution contexts.
- Listboxes with collection or entity selection datasources now support Automatic Row Height column property.
- ORDA: Support of the roles.json file to define privileges assigned to the session with
setPrivileges()
. - Support of SDI mode in test application mode on Windows.
- :::
- soporte de temas en tablas: nuevos comandos VP SET TABLE THEME y VP Get table theme, soporte de opciones de tema en VP CREATE TABLE
- nuevo comando VP Get table dirty rows
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: [Página Novidades] (https://doc.4d.com/4Dv19R8/4D/19-R8/What-s-new.901-6130471.en.html) em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 19 R8.
Mudanças de comportamento
- 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 newHTTPRequestClass.response.rawHeaders
property. - When a bevel button with linked pop-up menu is assigned a standard action, the standard action is no longer generated if a pop-up menu option is selected.
- In Web areas using blink (CEF), dialogs displayed from external scripts are now blocking if not called from a
setTimeout()
JS function. This is due to the current CEF updates, in which dialogs displayed by functions such asalert()
orprint()
are no longer handled by the OS but by the Web area. VejaWA Evaluate JavaScript
eWA EXECUTE JAVASCRIPT
.
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
- Related data and computed/alias attributes can be displayed in the Data Explorer.
- New FileHandle class and new
.open()
function in theFile
class. - Entity selection Class:
.add()
supports an entitySelection parameter,.minus()
supports a keepOrder parameter. - Suporte às opções automaticRedirections e decodeData em
4D.HTTPRequest.new()
. - Novo arquivo histórico 4DHTTPClientLog.txt.
- 4D View Pro: new table commands VP Find table, VP Get table column attributes, VP Get table column index, VP Get tables, VP INSERT TABLE COLUMNS, VP INSERT TABLE ROWS, VP REMOVE TABLE COLUMNS, VP REMOVE TABLE ROWS, VP RESIZE TABLE, VP SET TABLE COLUMN ATTRIBUTES.
- Component namespaces are now displayed in the Explorer.
- Text area and Input form objects now support the corner radius property.
- Comandos da linguagem 4D: Novidades de página em doc.4d.com.
- 4D Write Pro: [Página Novidades] (https://doc.4d.com/4Dv19R7/4D/19-R7/What-s-new.901-6011873.en.html) em doc.4d.com.
- Lista de erros corrigida: lista de todos os bugs corrigidos em 4D 19 R7.
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
- Nova classe HTTPRequest.
- Funções da coleção que agora podem chamar o código como parâmetro formula:
.every()
,.filter()
,.find()
,.findIndex()
,.map()
,.orderByMethod()
,.reduce()
,.some()
,.sort()
- Listbox cells support horizontal and vertical padding.
- 4D View Pro: nuevos comandos VP CREATE TABLE y VP REMOVE TABLE para manejar tablas en las hojas.
- Ability to see related, computed, and alias attributes in the Web Data Explorer.
- Para nos ajudar a tornar nossos produtos cada vez melhores, agora coletamos automaticamente dados sobre estatísticas de uso em aplicativos 4D Server em execução. Este fato não terá qualquer impacto no desempenho. See the new page explaining why and how 4D collects data.
- Componentes compilados para Silicon: Nas plataformas macOS Silicon (CPUs ARM da Apple), os componentes devem ser recompilados com o 4D 19 R6 ou superior para serem usados com esta versão.
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 theSET 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 toSQL GET DATA SOURCE LIST
,Get current data source
has been renamed toSQL Get current data source
. - 4D View Pro:
- The new VP SET DATA CONTEXT, VP Get data context, VP SET BINDING PATH, VP Get binding path commands allow you to create data contexts and bind their contents to sheet cells.
- VP EXPORT DOCUMENT y VP Export to object aceptan ahora la nueva opción
includeBindingSource
que exporta el contenido de un contexto de datos como valores de celda. - (Apenas Windows) As áreas 4D View Pro utilizam agora uma nova janela de parâmetros de impressão.
- Á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
eWA 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 theOn Window Opening Denied
event (see below).
- Os comandos
- (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 renamedWA ZOOM IN
,WA SET PAGE TEXT SMALLER
has been renamedWA 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 theWA enable URL drop
preference is set to True (when set to False, theWA enable URL drop
preference only modifies the drop cursor icon and filters theOn 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:
- 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
- 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:
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 renamedAllow 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
- Computed properties are available in classes.
- Computed attributes are available in ORDA classes. They are similar to computed properties but also support query and orderBy functions.
- New ORDA dataclass attributes:
exposed
andreadOnly
. - ZIP archives now supports LZMA and xz compression algorithms.
- A new build option makes it easier to include Silicon Mac clients in Server applications on Windows.
- Extended support of dark mode on macOS.
- Support of OAuth2 token object in
IMAP New transporter
,POP3 New transporter
, andSMTP New transporter
. - Users can now load a log configuration file using a button in the server administration window.
- Handling optional parameters is more flexible in the 4D language when accessing parameters declared but not passed. Por exemplo, o código seguinte já não provoca um erro:
// "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 theSet 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 para4D 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
- A default .gitignore file can be created with new projects
- New Blob class API to handle new
4D.Blob
objects no-bom
support and new default end-of-line characters in.setText()
Lançamentos anteriores
Clique para ver as notas de versão das versões anteriores
4D 19
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.
- IMAPTransporter Class: novas funções
.createBox()
,.deleteBox()
,.renameBox()
,.subscribe()
e.unsubscribe()
. - Classe File: novas funções
setAppInfo()
egetAppInfo()
. - New 4DEACH transformation tag.
- Web Server: new SameSite session cookie setting.
- Dark and light color scheme support for forms and style sheets
- New default dark and light themes in Code Editor preferences.
- Native compilation for Silicon processors.
- Variable calculation property is now supported by entity selection list box columns.
- New, comprehensive CLI page.
4D 18 R6
- Classe Entity Selection: as funções
.average()
,.max()
e.min()
agora retornam undefined se a seleção da entidade estiver vazia. - IMAP Mail, POP3 Mail e SMTP Mail: a propriedade
authenticationMode
ativa o OAuth 2.0 - IMAP Mail: novas funções
.expunge()
e.append()
- Novo componente de servidor Web WebAdmin
- Nova interface DataExplorer
- New web user sessions and their API.
Tabela da biblioteca
Biblioteca | Versão atual | Atualizado em 4D | Comentário |
---|---|---|---|
ICU | 73.2 | 20.1 | Essa grande atualização força uma reconstrução automática dos índices alfanuméricos, de texto e de objetos. |
CEF | 121 | 20 R5 | Chromium 6167 |
Hunspell | 7.3.27 | 20 | Usado para verificação ortográfica em formulários 4D e 4D Write Pro |
PDFWriter | 4.3 | 20 | Dependência FreeType na 12.2.1 |
SpreadJS | 16.2.6 | 20 R4 | Motor 4D View Pro |
OpenSSL | 3.2.0 | 20 R4 | O nível de segurança TLS/SSL padrão foi atualizado. Veja mudanças de comportamento para versão 20 R4 |
libZip | 19.5 | 20 | Utilizado pelos componentes zip class, 4D Write Pro, svg e serverNet |
LZMA | 5.4.1 | 20 | |
Zlib | 14.1.6 | 20 | |
webKit | WKWebView | 19 | |
PHP | 8.2.4 | 20 | |
libldap | 2.6.4 | 20 R3 | |
libsasl | 2.1.28 | 20 |