DataFlex 2021 Update Release Notes
DataFlex 2021, 20.0.7.159 contains the following changes from the original release (20.0.6):
Note: This topic updated on 7/18/2022
Security
- Fixed: Under certain circumstances, web properties could experience cross-session contamination.
- Fixed: WebService operation XPath injection vulnerability.
Runtime
- Fixed: GPF on destroy RichEdit object.
- Fixed: ResponseHeader returns nothing (HTTP module).
- Fixed: A division by zero results in a GPF.
- Fixed: cJsonObject JsonToDataType crashes on null to Variant.
- Fixed: The runtime was not properly using the embedded 'MS Sans Serif' font if it is not available on the host computer (it would crash instead).
- Fixed: When using the embedded database, relationships based on numeric columns with mismatching lengths could cause a crash.
- Fixed: UCharArrayToString removes last null byte.
- Fixed: Overstrike removes character from string.
- Fixed: RightPos does not return the correct value.
- Fixed: Pos does not return the correct value.
Web Framework
- Fixed: UrlParameter of cWebHttpHandler crashes on empty parameter.
- Fixed: Menu classes do not clean up on destroy (impacting dynamic objects).
- Fixed: Compiling a cWebAppBasic application generated a compiler error.
- Fixed: Issues in WebBaseForm.js.
- Fixed: WebSet psMask before control is rendered failed.
- Fixed: cWebHttpHandler does not handle transfer-encoding chunked requests properly.
- Fixed: cWebList: LoadDataPage is not allowed by the target object.
Windows Framework
- Fixed: cSelectionSource; when collecting numbers we have an invalid boolean expression causing an infinite loop.
- Fixed: cRichEdit writes urtf in the header of an .rtf file that created incompatibilities with other tools.
- Fixed: ComboForms containing extended characters (including all Unicode characters) can crash.
Connectivity
- Fixed: ParentNullAllowed fails with varchar relationship.
- Fixed: Crash on invalid relationship definition in .int file.
- Fixed: Trim varchar values during conversion to SQL leaves a single space on empty rows.
- Fixed: Moving a datetime with a PM value in it to a datetime (or datetime2) column, the fieldputstring loses the PM value and the stored date is AM.
- Fixed: Find errors on UniqueIdentifiers in MSSQL.
- Fixed: SQLGetArgument does not return values.
- Fixed: Changing the primary index value of row does not save the updated value.
- Fixed: Record locking was not working properly for MySQL, MariaDB, and PostgreSQL.
- Fixed: If the index names defined in the .int file do not match what is available at the server, the 20.x driver would crash instead of declaring the proper error.
- Implemented: To improve performance, when Max_Rows_Fetched is set in a .int file, the PostgreSQL select statement will have a limit clause.
- Fixed: FindByRowID fails after Fill_Field.
Language Translations
- Fixed: Updated Portuguese language translations (some still in English and others improved).
Database Builder
- Fixed: Did not read config.ws as UTF-8.
DataFlex Reports Examples
- Updated the Demo OCX to 8.0.1.
- Various miscellaneous changes to example reports and styles.
Documentation
Updated various topics with clarifications, edits, and additional links, including:
Class Reference
- Updated Add_System_File documentation.
- Fixed error in Child_Count sample code.
- Added link to pbReverseOrdering to Ordering documentation.
- Added documentation for:
- pbNoFillIfHidden
- pbNoUpdateIfHidden
- OnElemClick
- psHtmlBefore
- psHtmlAfter
- psHtmlTemplate
- Fixed sample code in SQLPrepare.
Language Reference
- Added documentation for UCharToString.
- Updated AddressOf, changed type from Address to Pointer, added several See Also links.
- Marked Address command obsolete and added suggestion to replace it with Pointer and a link to Pointer.
- Updated various String Functions topics to add Code Points references where applicable.
- Updated DF_File_Table_Character_Format.
- Corrected text at the bottom of SizeOfWString to use code points instead of characters.
- Added note to WriteLn for writing Unicode files that are not UTF-8.
- Added clarification of struct searches to SearchArray.
- Corrected sample in DF_Index_Segment_Direction.
- Corrected RefTable use in sample in Read_Block.
- Miscellaneous edits.
Language Guide
- Marked Address type obsolete and added suggestion to replace it with Pointer and a link to Pointer.
Development Guide
- Updated Table Character Format.
- Updated Converting Table Formats.
- Updated Database Drivers in DataFlex 2021.
- Updated Workspace Changes.
- Updated Styling Web Applications.
- Updated How to set up and test using PostgreSQL.
What's New
- Updated What's New in DataFlex 2021.
- Updated Working with DataFlex 2021.
- Updated 64-bit in DataFlex.
- Updated Unicode 101.
- Updated Migrating Existing Workspaces to DataFlex 2021.
- Updated Database Drivers in DataFlex 2021.
Deployment Guide
- Updated Controlling Installation with Command Line Arguments.
- Updated Installation and Environment Guide.
- Updated Installing the DataFlex Client Engine.
- Updated Installing Your Web Application.
Studio
- Changed the Studio Start Center to load content via HTTPS.
Examples
- Fixed: Error when trying to access DataFlex published web services in Web Services Client example.
- Fixed: RichEdit example in Specialized Components was missing icons in the toolbar.
Activation
- Evaluation and Personal licenses declare an error if the system clock is set back (previously just exited without any indication of the error condition).
Installers
- Added Workstation Setup to the installers.
- Fixed: Client installer was missing Bin64\Styles.
- Fixed: Client installer should set DBAdminMode to OFF, not DBB.
- Fixed: Installers should launch the 64-bit Register.exe instead of the 32-bit version.
- Fixed: DFPath and SystemDFPath need to match when using Network install.
- Fixed: Register My License button doesn't open Register.exe on Win32 machines.