Date: 10-05-2020 Subject: RELEASE 10.3 Runtime Files These release notes pertain to the following programs or files: EMBEDINI 10.3 05 Oct 2020 10.3.0.500 EMBEDINI64 10.3 05 Oct 2020 10.3.0.500 HEXDUMP 10.3 05 Oct 2020 10.3.0.500 HEXDUMP64 10.3 05 Oct 2020 10.3.0.500 MAKECLI 10.3 05 Oct 2020 10.3.0.500 MAKECON 10.3 05 Oct 2020 10.3.0.500 MAKECONET 10.3 05 Oct 2020 10.3.0.500 MAKEDEF 10.3 05 Oct 2020 10.3.0.500 MAKEMFD 10.3 05 Oct 2020 10.3.0.500 MANAGECE 10.3 05 Oct 2020 10.3.0.500 OBJMATCH 10.3 05 Oct 2020 10.3.0.500 OBJMATCH64 10.3 05 Oct 2020 10.3.0.500 ODBCINST64 10.3 05 Oct 2020 10.3.0.500 PLBCGI 10.3 05 Oct 2020 10.3.0.500 PLBCLICON 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBCLIENT 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBCLINET 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBCON 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBCONET 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBNET 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) PLBSERVE 10.3 05 Oct 2020 10.3.0.500 (Processed Server) PLBSERVET 10.3 05 Oct 2020 10.3.0.500 (Threaded Server) PLBWEBSRV 10.3 05 Oct 2020 10.3.0.500 (Processed Server) PLBWEBSRVT 10.3 05 Oct 2020 10.3.0.500 (Threaded Server) PLBWIN 10.3 05 Oct 2020 10.3.0.500 (ComCtl 6) SUNAAMDX 10.3 05 Oct 2020 10.3.0.500 SUNAAMDX64 10.3 05 Oct 2020 10.3.0.500 SETGUID 10.3 05 Oct 2020 10.3.0.500 SUNINDEX 10.3 05 Oct 2020 10.3.0.500 SUNINDEX64 10.3 05 Oct 2020 10.3.0.500 SUNLS 10.3 05 Oct 2020 10.3.0.500 SUNMOD 10.3 05 Oct 2020 10.3.0.500 SUNMOD64 10.3 05 Oct 2020 10.3.0.500 SUNSORT 10.3 05 Oct 2020 10.3.0.500 SUNSORT64 10.3 05 Oct 2020 10.3.0.500 WININST 10.3 05 Oct 2020 10.3.0.500 PLBNETSUP.DLL 10.3 05 Oct 2020 10.3.0.500 Required for PLBNET PLBWSEC.DLL 10.3 05 Oct 2020 10.3.0.500 Req'd PLBWIN/PLBNET ODSBAC32.DLL 10.3 05 Oct 2020 ODSBAC64.DLL 10.3 05 Oct 2020 SA_DLL32.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWADO.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWADO25.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWADO28.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWMSQL.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWODBC.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWSRV.DLL 10.3 05 Oct 2020 10.3.0.500 SUNWSRV64.DLL 10.3 05 Oct 2020 10.3.0.500 Required for Sundm64 PLBCLI.ZIP 10.3 05 Oct 2020 10.3.0.600 (ComCtl 6) PLBRUN.ZIP 10.3 05 Oct 2020 10.3.0.600 (ComCtl 6) DBGIFACE 10.3 05 Oct 2020 PLBCMP 10.3 05 Oct 2020 PLBDBUG 10.3 05 Oct 2020 ADMEQU.INC 10.3 05 Oct 2020 PLBEQU.INC 10.3 05 Oct 2020 PLBMETH.INC 10.3 05 Oct 2020 *============================================================================== Notes for some NEW Items: - A Linux PL/B 64-bit runtime is being released in 10.3. The installation named 'plbi20_64.103.tar' is available under the 'Linux Intel 64 PL/B' link on the Sunbelt Web Site. The normal end-user PLBI20 authorization can be used to install the Linux PL/B 64-bit runtime. *============================================================================== Notes for WARNINGS: - The PLBWIN5, PLBNET5, PLBCON5, PLBCONET5, PLBCLICON5, PLBCLIENT5, and PLBCLINET5 products are no longer being built and released starting with version 10.3. *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference under the 'DBCLEAR' instruction, add the Note (2.) that reads as follows: 2. If a DBFILE operation causes a DBFAIL TRAP or EXCEPTSET event, the DBCLEAR instruction should be executed to clear the DBFILE query that caused the DBFAIL error. - In the PL/B Language Reference under the 'TRAP' instruction, modify the Note (4.) to read as follows: 4. The DBFAIL event indicates an error occurred while attempting a database access instruction. After this event occurs, the DBCLEAR instruction should be executed to clear the DBFILE query string that caused the DBFAIL event error. - In the PL/B Language Reference under the 'SetItemCheck Method (TREEVIEW)' section, modify the '[*ITEM=]{index}' to be '[*ITEM=]{item}'. Also, replace the 'index' usage in the descriptions to be 'item' as follows: item Required A decimal number or Numeric Variable that indicates the handle of the item to access in the TREEVIEW. Note: 1. {item} is a handle indicating the item within the object to access. - In the PL/B Language Reference under the 'SetItemState Method (TREEVIEW)' section, modify the 'item' description to read as follows: item Required A decimal number or Numeric Variable that indicates the handle of the item to access in the TREEVIEW. - In the PL/B Runtime Reference under the 'C (Chain) Errors' section, change the 'C15 subcode 25' to include a 'c)' description of a possible cause as follows: C15 subcode 25 c) The target of the CALL/CALLS target must be a subroutine declared as a ROUTINE, LROUTINE, FUNCTION, LFUNCTION or PROCEDURE instruction. - In the PL/B Runtime reference manual, add a Note (3.) to the 'PLB_PATH Keyword' description that reads as follows: Note: 3. Back to back delimiter characters encountered in the PLB_PATH string are ignored. - In the PL/B Language Reference manual, change the 'MAILSEND' instruction note (4.) OPTIONS description to include the following: 0x010 ( MAIL_FLAG_SSL ) When this bit is set to 1, the MAILSEND instruction executes to send an email the same as described for the OPENSSL keyword. This bit value CAN NOT be used if MAIL_FLAG_STARTTLS is used. 0x080 ( MAIL_FLAG_STARTTLS ) When this bit is set to 1, the MAILSEND instruction executes to send an email the same as described for the STARTTLS keyword. This bit value CAN NOT be used if MAIL_FLAG_OPENSSL is used. Note: 1. A M23 subcode 48 error occurs if both MAIL_FLAG_SSL and MAIL_FLAG_STARTTLS bit values are used at the same time in the OPTIONS value. 2. If the *OPENSSL or *STARTTLS keyword is used, the OPTIONS bit values MAIL_FLAG_OPENSSL and MAIL_FLAG_STARTTLS are ignored. - In the PL/B Runtime reference manual, add the following description for the 'PLB_LOADLIBSSL_FIRST={ON|OFF}' that reads as follows: PLB_LOADLIBSSL_FIRST Keyword PLB_LOADLIBSSL_FIRST={on|off} The 'PLB_LOADLIBSSL_FIRST={ON|OFF}' keyword is used to specify that the SSL 1.1.x ( libssl-1_1.dll and libcrypt-1_1.dll ) libraries are be loaded first when this keyword is set to 'ON'. By default, if this keyword is NOT used or this keyword is set to 'OFF', the PL/B runtimes first load the SSL 1.0.x ( ssleay32.dll and libeay32.dll ) libraries. Note: 1. If the PL/B runtimes fail to load the first SSL DLL library version, the runtimes continue to try and load the other SSL DLL library version before giving an appropriate error. - In the PL/B Language Reference manual under the 'SQL Instructions' section, change the descriptions to remove any reference to 'PostgreSQL' as follows: Change the Note (2.) description to read as follows: "2. MySQL for Unix and Linux." Change the 3rd paragraph after the Notes to read as follows: "PL/B:Unix users of a MySQL database will not require any additional drivers. The PLB_SQL keyword defines the SQL supporting library used by the runtime. The library must be in the PLB_SYSTEM folder. The 'sunmysql.so' library is supplied by Sunbelt for MySQL." - In the PL/B Runtime reference manual under the PLB_SQL Keyword, remove any reference to 'PostgreSQL'. The first paragraph should read as follows: "This keyword defines the SQL supporting library used by the runtime. The library must be in the PLB_SYSTEM folder. Sunbelt supplies the sunmysql.so library for MySQL." - In the PL/B Web Server manual, add a new keyword named 'PLBWEB_SSL_1_1_USED={on!off}' as follows: This keyword can be used to configure the PL/B Web Server to only load the OpenSSL 1.1.x SSL DLLs. When this keyword is set to 'ON', the 1.1.x SSL shared libraries must exist and be accessible before the PWS server can startup. Note: 1. When using a Windows OS PWS server, it is recommended that the 'libssl-1_1.dll' and 'libcrypto-1_1.dll' SSL DLLs should be located in the same OS directory where the PWS server runtime is located. This insures that the correct version of the SSL DLL libraries are being loaded. 2. When using a Unix/Linux OS PWS server, the appropriate OpenSSL shared 32-bit libraries must be installed. In this case, the PWS server must be able to access/load the SSL shared libraries named 'libssl.so.1.1' and 'libcrypto.so.1.1'. - In the PL/B Runtime Reference manual, modify the 'PLBCMP Command Line Syntax' section to include the following new option description: Option Result WS Causes the compiler to generate program meta data which is stored in the 'program.plbm' output file. The '.plbm' data is used by the SunIDE to enhance the development of PL/B programs. Note: The PLBCMP compiler ignores any WS{=n} options when the compiler is executed by a PL/B Unix/Linux runtime. WS=0 Do not generate any program PL/B meta data. WS=1 Causes the compiler to generate program meta data which is stored in the 'program.plbm' output file. The '.plbm' data is used by the SunIDE to enhance the development of PL/B programs. - In the PL/B Runtime Reference manual, add a new runtime keyword description as follows: PLB_EXTEND_OPENUSEIP={on|off} The 'PLB_EXTEND_OPENUSEIP=on' keyword can be used to extend the operation of the PLB_OPENUSEIP to include the AAMDEX, INDEX, SORT, FINDDIR, and COPYFILE instructions. If the 'PLB_EXTEND_OPENUSEIP' keyword is not used or it is assigned to 'off', the PLB_OPENUSEIP operation is NOT changed and it behaviors the same as expected for runtime versions prior to 10.3. - In the PL/B Runtime Reference manual, change the 'PLB_OPENUSEIP Keyword' to include the following note: Note: 1. The keyword 'PLB_EXTEND_OPENUSEIP={on|off}' can be used to extend the behavior to include the AAMDEX,INDEX, SORT, FINDDIR, and COPYFILE instructions. See the 'PLB_EXTEND_OPENUSED' keyword. - In the PL/B Language Reference manual, change the HTTP instruction instructions as follows: Note (3.): Modified the *FLAGS to include the following description: 0x0100 - $HTTP_FLAG_NO_U66 When this *FLAGS bit mask value is set/used, the HTTP instruction does not generate a U66 error. In this case, the HTTP instruction sets an error value of '23' that indicates a problem has occurred loading SSL libraries. Note (10.): Modify the error code value '23' to read as follows: Code Error 23 Unable to locate/open the 'OpenSSL library required to provide SSL support. By default, this error causes a U66 error to occur when this error value is generated. However, if the $HTTP_FLAG_NO_U66 ( 0x100 ) is set in the *FLAGS bit mask, the U166 is NOT generated and the error value of '23' is returned in S$ERROR$. In either case, the user must install the SSL support libraries to prevent SSL library load/usage error. - In the PL/B Language Reference manual, add a new method section as 'SetCBFlags Method (COMBOBOX)' with the following description: SetCBFlags Method (COMBOBOX) The SetCBFlags method sets and clears state flags that control specialized behaviors for a COMBOBOX object. The method uses the following format: {label} {object}.SetCBFlags [GIVING {return}]: USING [*FLAGS=]{flags}: [*MODE=]{mode} Where: label Optional. A Program Execution Label. object Required. A COMBOBOX object that is previously created. return Optional. A Numeric Variable that has the last CBFLAGS bit mask value before this method is executed. flags Required. A Numeric Variable or decimal value that is a bitmask value from 0x0000 to 0xFFFF. mode Required. A Numeric Variable or decimal value the specifies the kind of operation performed by the SetCBFlags method. Flags Affected: EOS, OVER, ZERO Note the following: 1. If the {mode} value is zero, the state flags defined by the {flags} value are cleared for the COMBOBOX object. If the {mode} value is non-zero, the state flags defined by the {flags} value are set to take affect for the COMBOBOX object. 2. Each bit it the {flags} bitmask value defines a specialized behavior for a COMBOBOX object as defined below: {flags} Value 0x0001 Behavior to cause the list to be dropped/shown when a COMBOBOX gets focus. 0x0002 Behavior where a CLICK/DEFAULT event IS NOT generated on a COMBOBOX selection change. 3. If the value returned is zero, the ZERO (or EQUAL) Condition Flag is set (TRUE). 4. The OVER and EOS Condition Flags are always cleared (FALSE). 5. For improved performance in the Application Server environment, do not specify the optional return value unless needed. - In the PL/B Language Reference, change the 'LoadJson Method (DATA)' section as follows: Change the Note (4) *OPTIONS descriptions as follows: Value Description 0x1 This bit value indicates that the {data} method parameter contains a path and file name which contains the JSON data to be loaded. 0x2 This bit value causes the JSON data file to be opened in read only mode. 0x3 This bit value allows JavaScript style comments in the JSON data being loaded. - In the PL/B Language Reference manual, add the following new method named 'AllowSetForeGround' to the 'WINDOW Methods' section. AllowSetForeGround Method (WINDOW) The AllowSetForeGround method can be used to enable a behavior where any other Windows process can execute 'SetForegroundWindow' to become the active foreground window if a current PL/B runtime window owns the active window. The method uses the following format: [label] {object}.AllowSetForeGround GIVING {return} Where: {label} is an optional Program Execution Label. {object} is a required and a WINDOW object that has been previously declared. {return} is a Numeric variable Flags Affected: EOS, OVER, ZERO Note the following: 1. The ZERO flag is always set true. 2. The EOS and OVER flags are always cleared. 3. The {return} value is always zero. *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 10.2A changes. plbwebbasic.css 10.1B 190424 plbwebbasic.js 10.2B 200707 plbwebboot.html 10.2A 191210 plbwebctls.js 10.1A 190103 plbwebmob.js 10.0A 180402 Support jQuery Mobile plbwebtvcssinfo.html 9.9 161028 plbmobstart.html 10.0A 180402 Support jQuery Mobile plbwebstart.html 10.0A 180402 plbwebstart99a.html 9.9A 170428 - Modified to allow JavaScript 'touch screen' events to be used on mobile devices. This helps resolve issues where PL/B mouse events on some mobile devices did not work. ------------------------------------------------------------------------------- PLBWEBSRV - Added a new PWS runtime keyword named 'PLBWEB_SSL_1_1_USED={on!off}' that can be set to 'ON' so the OpenSSL 1.1.x SSL DLLs are to be loaded and used. When this keyword is set to 'ON', the OpenSSL 1.1.x SSL shared libraries must exist and be accessible when the PWS server is configured to have a SSL listen port. - Modified the SETPROP for a PWS TREEVIEW to refresh/update the client side when a property is changed. - Modified to allow 'mousemove' for MOUSExxx event for a PANEL object. - Corrected a bug/problem in 10.3 where the $Load and $FormInit events were being ignored/skipped when a parent WINDOW was disabled! - Corrected a problem executing a GETPROP on TABLABEL for a PWS TABCONTROL that caused a buffer overflow resulting in a GPF error. - Corrected a problem where an unexpected O105 ( bad object ) error could occur when using a COLLECTION object for these instructions: CHECKITEM, DELETEITEM, INSERTITEM, SETITEM, SETPROP - Corrected a problem where a CREATE PROGRESS instruction would hang indefinitely. - Modified to prevent a GPF when EVENTREG *ARGx= was pointing to an initialized AUTOMATION object. - Corrected a problem where the PLBWEB_USER_CSS was not downloading to an Android PlbWebCli client. - Corrected a problem where the LoadCSVFile method did not load the last record in the file into the LISTVIEW if the record did not have an end of record. - Corrected a problem where the 'SETPROP FORM, ENABLED=0' would stop processing any child PWS objects after encountering one that is a disabled object. This caused some objects to remain enabled unexpectedly. - Corrected a problem where the InsertItem method was not done when the *AFTER keyword value was zero. In this case, the behavior for using '*AFTER=0' is the same as using the '*AFTER=TVI_LAST' which gives the same behavior for PLBWIN. - Corrected a problem where a PWS 'SETPROP WINDOW, WEBWITH="80%"' would give an unexpected result. A symptom of this problem was that the PWS child objects on the WINDOW object gave unexpected results when the *PERCENTCONVERT conversion was being used. ------------------------------------------------------------------------------- PLBWIN, PLBNET - A new zip file name 'c:\sunbelt\plbwin.103\code\openssl.zip' is being added to the 10.3 installations for Plbwin and Plbnet. The 'openssl.zip' contains an OpenSSL 1.0.2u DLL version that can be used as needed in the development of PL/B programs that execute MAILSEND, HTTP, and FTP instructions requiring SSL connections. Note: The 'openssl.zip' file contains SSL DLLs that can be extracted and used as needed for PL/B program development. It is recommended that the extracted SSL DLLs should be placed in the directory where the Plbwin and/or Plbnet runtime(s) are located. This insures that the 'openssl.zip' DLLs are always being loaded and used by the Plbwin/Plbnet runtime(s). - Modified to support new reflection methods that are used to access and process PL/B Meta data that is generated by a 10.3 compiler and used by the 10.3 SUNIDE. - Modified to prevent a GPF when EVENTREG *ARGx= was pointing to an initialized AUTOMATION object. - Added a new method named 'AllowSetForeGround' for a WINDOW object. This method has been implemented in 10.3 to support SunIDE behaviors. ............................................................... . AllowSetForeGround Method for WINDOW Object . The AllowSetForeGround method can be used to enable a behavior where any other Windows process can execute 'SetForegroundWindow' to become the active foreground window if a current PL/B runtime window owns the active window. The method uses the following format: [label] {object}.AllowSetForeGround GIVING {return} Where: {label} is an optional Program Execution Label. {object} is a required and a WINDOW object that has been previously declared. {return} is a Numeric variable Flags Affected: EOS, OVER, ZERO Note the following: 1. The ZERO flag is always set true. 2. The EOS and OVER flags are always cleared. 3. The {return} value is always zero. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLBWEBSRV (Windows) - The PL/B runtimes have been modified to detect and use the OpenSSL 1.1.x ( libssl-1_1.dll and libcrypto-1_1.dll ) libraries. With this change, the PL/B instructions MAILSEND, HTTP, and FTP are affected. When a PL/B instruction requires SSL support, the runtimes load the DLL libraries as follows: 1. By default the PL/B runtimes attempt to load/use the older SSL 1.0.x ( ssleay32.dll and libeay32.dll ) libraries first. Please note that the Windows searches the OS system when attempting find/load these SSL libraries. 2. If an older SSL 1.0.x DLL is not loaded in step (1.), the PL/B runtimes attempt to load/use the SSL 1.1.x ( libssl-1_1.dll and libcrypto-1_1.dll ) second. Please note that the Windows searches the OS system when attempting find/load these SSL libraries. 3. A new PL/B runtime keyword named 'PLB_LOADLIBSSL_FIRST={ON|OFF}' can be included in the '.ini' configuration under the [Environment] section. When this keyword is set to 'ON', the PL/B runtimes attempt to first load the SSL 1.1.x ( libssl-1_1.dll and libcrypto-1_1.dll ) libraries first. This keyword is used to allow the newer SSL 1.1.x DLL library versions to be loaded/used. 4. The Windows OS searches for the SSL DLL libraries using special rules that determines the searching behaviors. To insure that the correct SSL DLL libraries are being loaded by the PL/B runtime, the user can place the DLL files in the same directory where the PL/B runtime is located. 1) The first directory searched is the directory where the PL/B runtime image/exe file is located. - Modified MAILSEND to log the paths for the SSL library DLLs being used. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV - The SQLite version has been updated to the latest version identified as '3.33.0 14 Aug 2020'. - Modified the 'HTTP *FLAGS={dnumnvar}' to include a new bit mask value that is described as follows: 0x0100 - $HTTP_FLAG_NO_U66 When this *FLAGS bit mask value is set/used, the HTTP instruction does not generate a U66 error. In this case, the HTTP instruction sets an error value of '23' that indicates a problem has occurred loading SSL libraries. - Modified MAILSEND OPTIONS parameter to support bit mask definitions to invoke with OPENSSL or STARTTLS operations in place of the *OPENSSL and *STARTTLS keywords. See the documentation descriptions for details. - Corrected a problem where the PLB_PATH scanning was prematurely terminating when back to back delimiter characters were encountered in the PLB_PATH string. With this change, back to back delimiter characters are ignored. - Corrected a problem where the 'LoadJson' method did not properly detect a JSON value which was a nested JSON object. Example of Json Nest Object: { "meta": {"lastUpdated": "2020-08-24T21:20:38.869+00:00"} } Expected DOM Elements for this JSON string: Element meta Element object Element lastUpdated Text 2020-08-24T21:20:38.869+00:00 - Modified the behavior where a F04 error would occur when a VAR array with an uninitialized VAR pointer element was being used in a CALL USING parameter list while calling a FUNCTION\LFUNCTION or LROUTINE\ROUTINE. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBWEBSRV, ALL GUI CLIENTS - Corrected a problem where the LoadCSVFile method did not load the last record in the file into the LISTVIEW if the record did not have an end of record. - Corrected a problem where the MINWIDTH property was not being set by the CREATE WINDOW instruction. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, ALL GUI CLIENTS - Added a 'SetCBFlags' method for a COMBOBOX. Add a new method named 'SetCBFlags' for a COMBOBOX that can be used to change the behaviors of a COMBOBOX object. See the 'Notes for DOCUMENTATION' for more details on this new method. ------------------------------------------------------------------------------- PLBWIN, PLBNET, ALL GUI CLIENTS - Corrected a problem where a SETPROP using a COLLECTION was not setting the BDRCOLOR property for a PROGRESS object in the COLLECTION list. - Corrected a problem where a RichEditText control with the READONLY property set ON could be changed using the Ctrl+V (paste) or Ctrl+X (cut) key codes. - Modified the activation logic for a TOOLBAR to force an update to correct a problem where 'text' was not showing after creation/activation of the TOOLBAR. ------------------------------------------------------------------------------- PLB(UNIX) - The PL/B runtimes have been modified to detect and use the OpenSSL 1.1.x ( libssl.so.1.1 and libcrypto.so.1.1 ) shared libraries. With this change, the PL/B instructions MAILSEND, HTTP, and FTP are affected. When a PL/B instruction requires SSL support, the runtimes load the DLL libraries as follows: 1. By default the PL/B runtimes attempt to load/use the older SSL 1.0.x ( libssl.so and libcrypto.so ) libraries first. 2. If the older SSL 1.0.x shared libraries are not loaded in step (1.), the PL/B runtime attempts to load/use the SSL 1.1.x ( libssl.so.1.1 and libcrypto-1_1.dll ) shared libraries. 3. A new PL/B runtime keyword named 'PLB_LOADLIBSSL_FIRST={ON|OFF}' can be included in the UET or 'plb.ini' configuration. When this keyword is set to 'ON', the PL/B runtime attempts to first load the SSL 1.1.x ( libssl.so.1.1 and libcrypto.so.1.1 ) shared libraries. This keyword is used to allow the newer SSL 1.1.x shared library versions to be loaded/used when the SSL shared libraries are installed and available. ------------------------------------------------------------------------------- PLBCMP - Enhanced the compiler to generate PLB metadata during the compilation that can be stored into 'program.plbm' file. The '.plbm' meta data is is a binary file and should NEVER be edited. The contents is a library of {key:value} linked data this is used by the SunIDE and Suncs21.ocx editor to provide enhanced IDE behaviors/features. Note: 1. The compiler has a new 'WS=1' option that causes the program PLBM meta data to be stored in the 'program.plbm' compiler output file. 2. If the compiler is being executed by a Unix\Linux runtime, the 'WS' option is ignored and there is NO PLBM meta data generated. - Modified the compiler to ignore the ZI pause option when the compiler Window for PLBWIN is minimized. - Modified the compiler to allow a blank source line to be included in the debug '.sdb' output. - Corrected a problem where the compiler could terminate with an I05 error when the 'y' option was used to stop the compilation on the first error. - Corrected a problem where an unexpected compiler error 'Undefined execution label: ' could occur for LFUNCTION or FUNCTION labels that were declared in a PLFORM form. - Corrected a problem where an unexpected compiler error 'Invalid LABEL being called for PARAMETERIZED CALL.' could occur for a CALL to a LFUNCTION that did not have parameters. - Corrected a problem where the compiler might not detect a syntax error for an EXCEPTCLEAR instruction when there was NO operand specified. - Corrected a problem where the compiler might not detect a syntax error for an EXCEPTCLEAR instruction when there was NO operand specified. - Corrected a problem when using the EXTERNAL instruction without an operand to declare a local variable in a (L)FUNCTION. In this case, the problem was that the generated PL/B program PCode for the external name was wrong. This problem would cause unexpected 'C15' errors to occur. - Corrected a problem that could cause the PLBCMP compiler to hang when processing a 'RECORD LIKEPTR' instruction. In this case, the compiler might hang if the source record contained members that were arrays. ------------------------------------------------------------------------------- PLBDBUG - Corrects an issue where the debugger was not displaying the correct PI count while under FILEPI. - Corrected a problem where the debugger would hang when a TO command was executed after a runtime error dialog occurred for a program untrapped error. ------------------------------------------------------------------------------- DBGIFACE - Modified the GUI debugger to execute in standalone mode when it is invoked as a LOADMOD by SUNIDE. This change is made to allow proper execution for the 10.3 release. ------------------------------------------------------------------------------- SUNIDE.PLC - The Sunide has been redesigned and enhanced to support 10.3 PL/B meta data that is generated when a PL/B program is compiled. In addition, Sunide has been rewritten to simplify operations to improve the overall Development Environment for a PL/B Developer. Here is a summary/overview of some new capabilities of the IDE: 1. Enhanced look with new icons. 2. Based upon new REFLECTION object and PL/B meta-data. 3. Old IDE MDI code replaced with simpler operations. 4. Separate results area for messages, build, find 1 and find 2. 5. Status bar displays instruction or method syntax. 6. New multiple peek windows. 7. New built in color themes. 8. Added RECORDs to code folding. 9. Enhanced bookmark support. 10. Enhanced code completion support. 11. Keycode ctrl-H shows code tip. 12. Double clicking instruction or method shows code tip. 13. Project file is now XML based and it has a '.prj' extension. 14. Project treeview is now synchronized with active edit window. 15. Support for new project virtual folders. 16. Support for SQL, HTML, and XPLF files. 17. New archive command. 18. New Project option dialogs. 19. Added 'References' capability to identify all references to an INCLUDE or a PLFORM in the project files. You can invoke the references feature by: a. Right click on an include/plf in the TreeView and select the 'References to filename.inc' menu selection. b. Or click the 'Project' menu item and select the 'References to filename.inc' menu item. 20. Added "Promote to Window" and "Demote to Tab" toolbar buttons to the Messages, Build, Find in Files and References windows. 21. Added additional 'file and folder' validation when loading the project and IDE options. 22. Added feature so peek can be used on external labels if the source file and plbm file is in the PLB_PATH. 23. A compiler Ini file option has been added to the Project and IDE options. 24. The IDE now has a 'format source' capability to restructure existing PL/B code to give a clean well formed format. 25. Added an IDE behavior option to "Group Project Dependencies by Extension". 26. Added an IDE behavior option to "Show Source Map Find Panel". When shown and a program file is selected, the user can type an inclusion name. After two characters are entered, any matching inclusion files will be shown in the list box. Single clicking on an item in the list will select the corresponding file in the treeview. Double-clicking on an item in the list will select the file in the treeview and open the file with either the editor or the form designer. ------------------------------------------------------------------------------- DESIGNER.PLC - Corrected an issue regarding the .net toolbox routine. - Corrected issue of positioning to the object's registered event when double-clicking on the design form. - Corrected an F04 error when using the .net DataGridView property editor. - Corrected a toolbox initialization error. - Corrected an issue when selecting an object using the code or property window combobox. - Disabled windows been when a carriage return is place in a RichEditText. - Modified to set the designer as the foreground window when called by the IDE. - Modified the Treeview node editor to preserve the item's image index, selected image index, and parameter whem moving a node up, down, left, or right. ------------------------------------------------------------------------------- SUNCS21.OCX - The Suncs21.ocx has been rewritten to enhance/fix to improve the editing and performance for the PL/B language. - Modified Suncs21.ocx to eliminate unexpected editing caret positioning problem. - Modified Suncs21.ocx to properly handle language text case fixup. This change prevents possible GPF error. - Corrected a problem where weird display issues could occur after a TAB char action was keyed. The symptom of this problem was that characters could be keyed and nothing was being displayed for the characters. ------------------------------------------------------------------------------- EDITOR.PLC - The editor PL/B program used to interface with Suncs21.ocx has been rewritten to use the enhanced Suncs21.ocx capabilities. - Modified to improve the overall editing performance to give better keying responsiveness. - Corrected a problem where the 'Goto Definition' to find a reference to a label did not work when all blanks existed in the source line before the label. - Modified to improve performance. Also, modified to be PLF source aware. ------------------------------------------------------------------------------- SCHEMAEDITOR.PLC - No changes ------------------------------------------------------------------------------- WATCH.PLC - Fixed a problem when watching PL/B Web Server child tasks where the Status states were not being reported. With this change, the watch utility properly shows the client Status states of 'Running', 'Idle', 'Suspended', 'No Log', 'Log Level 1', and 'Log Level 2'. ------------------------------------------------------------------------------- DBEXPLORER.PLC - Corrected flat file import to exclude columns not selected. -------------------------------------------------------------------------------