**Clarion 11.13175 Sept 4, 2018** ------------------------------------------------------------------------ CHANGE: ABC: Reports and Process:added legacy embed points for doing record validation CHANGE: Browse Grid Class: add support for File Loaded Browses without pagination. Using the method SetUseFileLoad(true). Default behavior is FALSE CHANGE: ClaRunExt: Client connections support TLS10,11,12 (SSL3 is no longer supported) CHANGE: ClaRunExt: Now the checking for a valid SSL certificate can be forced using HttpVerb values (add 100 to the value when using HTTPS), use this option for testing when the SSL certificate is not able o be validated (as in testing on localhost for development) CHANGE: ClaRunExt: added group type to read the HTTPWebRequest json response when there is an error. Just declare a local group based on HttpWebRequestResponseError and use JSON.FromJson(response,yourGroup) to get the parsed error values CHANGE: Default the QBE List Height to 12 CHANGE: Defaults.CLW: change the base default font from "Microsoft Sans Serif" to "Segoe UI" CHANGE: H5: Added some new security settings to the AppBrokerManager (Log RejectedIPs, Use Strict Transport Security (HSTS) and Support Weak Ciphers) CHANGE: H5: Disabled Toolbar Buttons now show as disabled on the Page instead of being hidden CHANGE: IDE: un-pinned Docked Tabs are shown in a different color when you hover over them with the mouse and its content get activated CHANGE: JSON Class: renamed the methods to set a field as a SystemString or a Queue, from AddSubQueue and AddSysStr to SetIsSubQueue and AddSysStr CHANGE: Json class: EscapeString method: now uses the SystemString class methods Escape and UnEscape CHANGE: MemDriver template: updated version to show the new change compatible with C10 and above CHANGE: MemDriver template: use same MemFile code generation for ABC and Clarion CHANGE: Report Writer: TXD Report Converter now shows more concise error information (line and column of the TXR error) on invalid external function names CHANGE: Selecting an Icon for a control from the Property Pad shows the "select file ..." option first, before the list of built-in icons CHANGE: Solution Explorer now uses a more modern tree with new icons and new look CHANGE: Solution Explorer uses the updated tree view UI CHANGE: Source template: added 'General' Tab to the templates to allow derived templates to use the same base SHEET. CHANGE: SystemString: new method to create a string reference that is auto disposed. Useful to create auxiliary references that are returned from a procedure CHANGE: SystemStringClass: Base64 functions have a new parameter to support the quoting "" of the internal string CHANGE: The Image selection dialog to select an Icon for a control (i.e. a button) shows a first option that includes both .PNG and .ICO together CHANGE: The communication template encoding now is set on the Local template instead of the global. CHANGE: The wallpaper selection dialog defaults to PNG instead of BMP CHANGE: Tools->Options uses the updated tree view UI FEATURE: %THISDIR% redirection macro did not work when the compiler was looking for files FEATURE: ABC: added a new Embed; thiswindow.takeaccepted, it's located to execute after all accepted events are processed FEATURE: Added "Filled" and "Source" buttons to the Procedure Properties tab FEATURE: Added New template symbols: %ProjectOutputPath and %ProjectDebugBuild FEATURE: Added a button to insert the _ABCDllMode_ and _ABCLinkMode_ to the project in the Defines Dialog Editor FEATURE: Added example on how to create QR Codes - C++ library*** ***add QRGENERATOR.DLL/LIB to install*** FEATURE: Added new icons to the images folder to be used to show/hide password fields FEATURE: Added support for UNICODE strings on the backend to ODBC, SQLAnywhere, PSQL, and MSSQL drivers. ' using PROP:NAME' UnicodeFile{PROP:Name, 2} = 'strFld | UNICODE' and ' using Driver String' driverString = driverString & '/UNICODE=TRUE' FEATURE: AppBroker: The EE Version supports 5 instances of the server, custom ciphers, HealthTest and auto-restart when the instance fail to pass the Health Check. Support to install/uninstall/start/stop/etc. each individual instance and show the status of each individual instance. NOTE: The PE version does not support custom ciphers and only support one AppBroker service instance. FEATURE: AppGen now supports ? as a return type for a procedure/function FEATURE: AppGen: added new template symbols %ControlLink that returns the controls #LINK value FEATURE: DCT Editor: implemented new 'Validation Choices' dialog to add/edit/visualize, pairs of data, instead of entering a string pair separated by a pipe char (|) FEATURE: Dictionary Editor: When the DCT is open in Read-only the Tab text can display user defined text, the default text is "+" but it can be changed, for example "*(ReadOnly)" Set the text from Tools->Options->Load entry field is "Read Only Files text" FEATURE: EE: New Project and Solution option to display a Message asking if you want to kill the running process (if the option to kill the process is set to ON) FEATURE: IDE 'Attach to Debugger': added 'Process start time' column and the ability to sort by clicking on the column headers FEATURE: IP Driver: Updated to use TLS1.2 as the secure layer instead of SSL3 FEATURE: IP Driver: the secure layer can process a full chain of SSL certificates FEATURE: IP Driver: the secure layer uses only secure ciphers FEATURE: IconViewer: added the option to export the Icon to a PNG, or to an SVG file FEATURE: Implement wider Template Dialogs (~2x wider) in Template prompts FEATURE: Implemented a new function in CWUTIL to get the Mime Type based on the file extension GetMimeType(STRING fileExtension),STRING. It accepts the full file name with the extension, just the file name, or just the extension, with or without the "." FEATURE: JSON Class: Added method to get the Clarion Structure Schema from the JSON string FEATURE: JSON Class: Added methods to evaluate the JSON string from a slice of the string (start index and end index) for GROUPs and QUEUEs FEATURE: JSON Class: Added new methods to send the result directly to a file from a GROUP or a QUEUE. ToJSONFile(QUEUE/GROUP) FEATURE: JSON Class: added support to allow a JSON object to contain a BLOB and a physical file contents FEATURE: JSON Class: new SetNamesCase method to set the all field names (that do not have an external name) to UPPER, or lower case FEATURE: New template Symbol %ProjectOutputPath and %ProjectDebugBuild FEATURE: Oracle driver: You can now turn off the generation of "NULLS FIRST" and "NULLS LAST" in the Oracle driver using PROP:NullsInKeys FEATURE: Solution Exporer: Added some new options for the selected APP file; 'Open App', 'Open DCT', 'Generate App' (available from the context menu and new toolbar buttons) FEATURE: Solution pad: implemented a new toolbar button; 'Add existing project' FEATURE: StringRefFactoryClass, to create and keep track of new string references that are auto disposed FEATURE: SystemString Class: optimized methods Escape and UnEscape, and added new SetSubstring method FEATURE: SystemStringClass: Added new function to externalize the internal reference of the string. The dispose of the reference needs to be handled by the developer FEATURE: SystemStringClass: Added new function to return the internal reference of the string. The internal reference is handled by the SysString FEATURE: TabOrderAssistant: implemented right-click context menu for quick access to the template 'Actions' and the selected items 'Embeds' (for the Window and controls) FEATURE: Template Selection Dialog: implemented 'Contract All' and 'Expand All' buttons FEATURE: The Applications Pad displays the modified date/timestamp of all Apps in the Solution FEATURE: The IDE shows the full path of the open Solution or Project in the Main window title. This is useful for when you 2 or more versions of the same App open in multiple IDE instances. Tools->Options->Appearance set the 'Show full path on title' on or off FEATURE: The Solution Explorer right-click context Menu has a new option to 'Generate all' applications in the Solution, and another to 'Generate' the application from the selected Project FEATURE: WINDOW Structure parser: Added support for two new control properties, #RESIZE(LONG) and #META(STRING), these properties can be added to the controls but are just used on the AppGen window structure and make no sense on the runtime WINDOW control, similar to #LINK or #FIELDS, etc, any property with # is only used at design time with AppGen. FEATURE: You can now add the -au switch to ClarionCl to get txa export and generate commands to automatically upgrade app and dct files to the current version. Without this switch ClarionCl will fail when trying to upgrade the app and you will have to manually press the OK button to upgrade .dct files. FEATURE: H5: Added Web ID text to show the ID on multiple places where it could be needed. FEATURE: H5: Added support for specifying a background image to the 'branding' to set the web app background in one place for all procedures FEATURE: H5: Allow to manage the controls on the client side for Hide/Unhide Enable/Disable. When the setting "Support Client Side Controls Manipulation?" is on, the client side will not refresh to enable,disable,hide,unhide controls FEATURE: H5: Allow to use Clarion code in the global extension templates using the ! at the beginning of the line. Global JS/Html/Styles. IF the line start with ! it will be interpreted as Clarion code allowing to write Global Javascript/Html/Css with Clarion conditions. FEATURE: H5: AppBroker added support for HSTS - HTTP Strict Transport Security (only applicable when using HTTPS) FEATURE: H5: AppBroker: Added option to log the IP numbers for connections that were rejected (usually because the handshake fails (old clients or old security settings in the clients)) FEATURE: H5: AppBroker: Added support for User Defined Ciphers List (When 'Custom' is selected in the AppBroker Manager settings) FEATURE: H5: AppBroker: New options: UseLogfileBadIP(default = true), LogFileBadIP(default=RejectedIPs.LOG created in the AppBroker directory), and SupportWeakCipher(default = false). NOTE: When the SupportWeakCipher = false the following ciphers are supported, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, FEATURE: H5: Option to add local assets links for each procedure FIX: Quick Access checkbox was not properly displayed in the Template Prompts dialog FIX: The ODBC based drivers would sometimes not reenable auto-commit after a COMMIT (if there were multiple connections open to the same database) FIX: The ODBC driver sometimes set the size from calls to PROP:AppendBuffer to a number larger than the passed value FIX: ABC ErrorClass: ErrorToJson was not escaping the message value FIX: ABC RELTREE: was duplicating the symbol declaration. FIX: Anchor Resize was not setting the width to fixed when a control was not resized FIX: Application Pad: an exception could be thrown on a search for a non-existing substring FIX: Browse Grid Template for H5 was not copying the List settings into the Grid group control to be used by the skeleton (like navigation on/off) FIX: ClaRunExt: When sending emails, if the user does not have rights to show an error message it was throwing an exception. FIX: Clarion Chain Resize could try to use an incorrect control as an Anchor FIX: Creating an app from txa would not set the destination file correctly unless it was the same as the app name FIX: Creating an app from txa would not set the destination file correctly unless it was the same as the app name FIX: Editor: sometimes the search result did select an already opened file, and instead opened a second instance FIX: H5: WEB Report extension was not accepting the use of a variable for the PDF name FIX: H5: Global assets were not being added locally FIX: JSON from Group was missing the first open bracket FIX: JSON Class was not escaping the Tab character (CHR(9)) when the tab was inside a string field FIX: MemDriver template: If the option to 'Generate Files in Modules' was used in the DataDll the EXTERNAL('') attribute was not added to the MEM FILE declared in the main module. FIX: Options Panels: When a folder was selected the Folder Selecion Dialog was not starting on the fields previous value FIX: QuickWinTranslator was not storing the single line TEXT control TEXT property. FIX: Report Writer: TXD Report Converter was not supporting a MEMO's NAME attribute FIX: Report Writer: TXD Report Converter was incorrectly processing nested GROUPs in FILEs declarations FIX: Report Writer: TXD Report Converter was incorrectly reading VIEW structures FIX: Sometimes drag&drop from the Data and Tables Pad would show the drop cursor and allow the drop of data on an invalid area FIX: Source Procedure: the Relate Open files was not executed with the parameter set to TRUE, so was not correctly opening the related files FIX: The Procedure's parameters list could be lost on reading TXA files produced by old versions of Clarion FIX: The HTTPWebRequest function was not returning a valid redirectUrl when the response was any form of a redirect FIX: The IDE would throw an exception if a template included a lib file to link, and there was no matching cwproj file FIX: Using the communication template with "Central European (Windows)" encoding was not setting the correct encoding (windows-1250) FIX: Window Designer: Dragging the mouse for selection of controls above a Tab was not working for controls that were were placed on the Window itself but postioned on top of the Tab FIX: FileDropClass will not sync when more than 1 field are assigned NOTE: If the developer wants to keep in sync more than the first field the SELF.InitSyncPair must be set to the number of fields to keep in sync FIX: JSON: DIMed items inside a GROUP were not assigned correctly based on the item type FIX: The AppGen global embeds were showing a duplicate separator in the toolbar FIX: Quick Access checkbox was not properly displayed in the Template Prompts dialog Note: This list has been sorted to group like changes so will not match the original readme.