Changes to KCML 6.20 since September 2002.

Date Build Fix
2002-09-10 8253 ENH: Added LOCAL DEFRECORD to define records with local variable scope. That is, when executed, local variables for all the fields and the constant size are created. Also a local '_init_recname() function is defined. For all record types, a function '_enum_recname() is also defined to allow a programmer to retrieve all the fieldnames from a field, and their pack values.
2002-09-11 8254 REF6067: Help(F1) lookup on statement did not work in workbench if the token began with a $
2002-09-12 8255 ENH: Setting STR($OPTIONS RUN, 61, 1) to 0xFF sets the current language to UTF-8 for the $PACK( and $UNPACK( UTF-nn conversions.
2002-09-12 8256 REF6075: Not correctly parsing the command line in a .kcc connection file.
    REF6072: Fixed a workbench crash when deleting a line number, while you have selected text.
2002-09-16 8259 REF6074: Fixed a workbench crash when pasting multiple lines of code in, immediatly after a CLEAR P command has been executed.
2002-09-19 8262 REF6076: Fixed crash using the continue command in workbench, when it directly followed a syntax error entered into the console.
2002-09-20 8263 REF6089: Fixed workbench pasting, inserted lines may not be correctly saved with the rest of the program.
2002-09-23 8266 REF6091: Fixed a bug caused by the fix for REF6076. The workbench could crash if a syntax error occued in a DEFEVENT.
2002-09-30 8273 REF6102: If opening the catalog file failed for a database being viewed via the workbench. An ASSERT would be generated. This has now been fixed.
2002-10-08 8281 ENH: Added a %S format to $PRINTF which will not strip trailing spaces from inserted strings.
2002-10-14 8287 ENH: Support Xerces 2.1, specifically its multiple inheritance for the Document object.
    ENH: Allow comparison of objects in IF (OBJECT a = b) even if the objects came from different sources.
2002-10-15 8288 REF6129: Could get a spurious error status of 52 when reading the last row of a table using KI_READ_RAW.
    REF6115: Require BYREF for record initializer functions sources.
    REF6119: HEX fields now initialized to ALL(00) rather than ALL(20) sources.
    REF6128: ERR$(30) was returning a spurious value taken from the last result of the function. sources.
    REF6130: Could get spurious text in workbench save dialog.
    REF6131: Workbench could crash if trying to evaluate a number greater than 120 characters.
2002-10-16 8289 REF6133: Using XLA=Y with more than one $DEVICE to invoke $PRINTER could crash
    REF6132: BREAK could error when use din a FOR OBJECT iteration immediately after a method call that returned a string value.
    REF6118: Setting the picture property of a duplicated menu item had no effect.
2002-10-18 8291 REF6137: Problems reading the catalogue when multiple KCMLs where creating temporary tables simultaneously.
2002-10-21 8294 ENH: KI_START_BETWEEN and KI_START_FIRST return a status of KE_ENDOFRANGE iff the max_rows condition has been met.
    REF6136: Fix problems with looking up in libraries BYREF callback functions and fields used in FLD AT(POS()) expressions
2002-10-22 8295 ENH: Support DOM3 serialization with Xerces 2.1
2002-10-24 8297 ENH: The environment variables $LOGNAME, $LOGIN, $KCMLDIR, $SYSTEMID and $TERMFILE are now read only. Any attempt to reset these variables with the ENV() function will be ignored.
2002-10-25 8298 ENH: Maximum KDB handles increased to 1024 ENH: Requirement for -y (use malloc) flag with dynamic objects (eg Xerces) has been relaxed on some platforms, viz. Linux and AIX.
2002-10-30 8303 REF6147: Grid cursor key navigation could hang moving through a cursor disabled cell with joins across multiple lines.
    ENH: Allow the minimum word length in a word search index to be 2.
2002-10-31 8304 REF6150: A KEYIN in a program with SELECT PRINT set to a file could send a HEX(02012B0F) sequence to the file and possibly hang.
2002-11-05 8309 REF6149: Copying from the workbench to the clipboard could sometimes linebreak to leave a space at the beginning of the line that could be lost during a subsequent paste.
    REF6146: Persistant toolbar menuitems not firing events in Unicode version of kclient
    REF6154: Attempting to set an edit group's visible property to false could hang the form. Although the form no longer hangs the programmer should not assume that because setting this property has no effect that this will always be the case.
2002-11-06 8310 REF6158: Error an attempt to pass a numeric field to a string argument and vice versa in a DEFSUB call.
2002-11-07 8311 REF6162: Workbench crashed occasionally single-stepping through code whilst attempting to display current variables.
    ENH: Now defer allocation of memory for scalar strings in LOCAL DIM until they are first used. Permit zero size dimensions for LOCAL DIM scalar strings. Allow REDIM SYM(*x)$ in REDIM LET.
2002-11-08 8312 REF6165: The daylight saving time bias component of the GMT offset field in $MACHINE bytes 43 and 44 was not reliable for some Unix versions and has been replaced by a better algorithm.
2002-11-11 8315 REF6164: Don't generate a validate event if a read-only dbedit is set to AlwaysValidate.
    REF6167: CONVERT TIME was confused and might give an X71 error if string to be converted was followed by numeric characters.
2002-11-13 8317 ENH: KDB 7.3 tables can have 16 segments per key
    ENH: Better memory compacting on $SPACE.
2002-11-14 8318 REF6172: New conatenation operator for REDIM and DEFSUB now treats blank strings as having a length of one to be compatible with previous behaviour in LET.
    REF6173: KI_READ_NEXT with a path of zero could get confused by a KI_READ or KI_READ_HOLD on a different path or even the same path but in a different direction.
2002-11-19 8323 REF6163: Expanding Modules in workbench Module browser could cause server crash.
2002-11-21 8325 REF6183: We now ckeck that KLOGKEY is 4 characters. Introduced kwho utility which lists all the foreground users running KCML. This is useful where the connection manager is used as users don't appear in the operating system's who display. Default install directory is now /usr/local/kcml.
2002-11-27 8331 REF6201: Fixed a prolem when using the Duplicate() method on a grid, where the WholeDataAware property was not being duplicated.
2002-11-29 8333 ENH: Dropped DUMP environment variable. Added new DUMPCORE environment variable.
    ENH: Better handling of large numeric SOAP arguments.
    REF6207: Workbench record browser has been fixed to display records correctly.
    REF6205: Possible to lose focus from a dbedit whose validate handler returns false by using the Ctrl-PgUp/Down hotkey to change tab pages.
2002-12-03 8338 REF6160: The workbench could crash during resizing, when using dual monitors.
    REF6211: KI_ERROR_TEXT could crash when displaying a connection's error status.
2002-12-09 8343 REF6212: When enabling a menu all the toolbar buttons relating to it would be enabled, even if their corresponding menu items were disabled.
2002-12-12 8346 REF6214: Some disabled items were being displayed with the wrong color labels.
    After a LOAD RUN, a crash could occur in a program using DEF RECORD and modules.
    ENH: Allow FLD(a$.b$.c) instead of FLD(FLD(a$.b$.c))
    REF6215: Fixed copy in workbench. Copy was inserting to many newlines, in wrapped, collapsed statements.
2002-12-13 8347 REF6161: Fixed workbench crashes while browsing records. This was cause by unresolve code, be more verbose with the user, prompting a resolve if necessary.
2002-12-16 8350 REF6218: Allow Citrix WTS clients to be properly identified so that multiple logins do not take separate user licences.
2002-12-18 8352 REF6043,5910: Fixed a bug when entering an invalid or duplicate control name into the kform32 popup edit window, which could cause a crash or a looped message box.
    REF5933: Partially fixed. When editing tab pages in kform32, the "Close" button now reads "OK" and the "Cancel" button is disabled.
    REF6178: Top-level dialog controls (e.g. dbedits) can now have the same name as menu items.
    ENH: Added a new "Data Bindings" page to the kform32 object browser (Tools|Object Browser) that will display a list of all DataBind controls, allowing them to be edited and their usage displayed.
    ENH: When dragging and dropping a numeric column onto a form, kform32 will now automatically set the alignment property to "Right". Note that this option can be disabled via "Edit|Options|Miscellaneous".
2003-01-06 9006 ENH: Dropped DBCS support in favour of UTF8 in type 7 word search routines.
    REF6219: Fixed Autosave in workbench. The timeout wasn't been recorded correctly.
2003-01-07 9007 ENH: Fixed problem with SOAP server arguments of zero length.
2003-01-08 9008 ENH: Tooltip truncated text on static text controls, dbedit labels and groupbox titles.
    REF6233: Pasting a single new line into a blank program would crash the workbench.
    REF6232: Trap Variables menu option in workbench could cause crash if in module.
2003-01-09 9009 REF6242: Fixed a redraw problem when changing images on a transparent button.
    REF6243: DIM a$="test" would leave undimmed flag set on a$.
2003-01-10 9010 ENH6111: If a grid column's colsize property is set to largest and it is joined to cells on its right the text will flow into the joined cells before increasing the column width.
    ENH: If you take the SYM() of a DEFSUB label which is defined in a library then that label will be added to the common chain thus preserving the validity of the SYM value across a LOAD.
    ENH: It is no longer necessary to use the GOSUB keyword if invoking a subroutine through 'SYM(*). Existing statements will be recreated without the GOSUB which may cause backward compatibility issues with source taken back to previous version of KCML. However there is no change to the binary code generated and this will still be compatible.
    ENH: If a program was compiled with COMPAT32 set such that we use the old rules for passing strings back from functions, then an error will be signalled if the program is executed in an environment without COMPAT32 set.
    REF6196: Fix for a tooltipping problem where the tooltip could not evaluate the function and the workbench cursor happened to be on a DEFSUB ant the time. The debugger then failed to allow stepping onto the next line.
    REF6235: Taking the SYM of a LOCAL DEFRECORD enumerating function would fail if the parent function was in a library.
2003-01-14 9014 ENH: Added a CreateDataBind() method.
    REF6247: Fixed a problem with occurs in data-aware controls using the _x7$ type extension where only a single line rather than the entire entity was being used in data-awareness.
2003-01-15 9015 REF6254: Fixed a problem where tabbing into a grid from a dbedit that fired a validate would require two presses of the tab key to work.
    ENH6241: Generate a right-click event for a gridcell if Shift+F10 is pressed.
2003-01-16 9016 REF6259: Fixed a problem stopping library functions calling back into the foreground with 'SYM(*) introduced by the new ability to drop the GOSUB in these calls.
2003-01-17 9017 ENH: CTRL-G in the workbench now shows the function the cursor is in, including any function nesting.
2003-01-21 9021 REF6265: Selecting text in an integer edit works correctly when the text is right or centre aligned.
    REF6264: FLD(a$.b$.c$) was not recreating properly in the IDE.
2003-01-22 9022 ENH: Support immediate mode RENAME OBJECT command to allow renaming forms and handle objects in a program.
2003-01-23 9023 ENH: Support $OPEN as a function taking a timeout value and returning a status so that it does not require a line number to poll a device to see if it is locked.
2003-01-28 9028 ENH: New structured error handling using TRY and CATCH As a result TRY, CATCH and THROW should now be considered as now reserved words though when possible KCML will attempt to spot their legitimate use as a variable.
    ENH: New option added to kform32 allowing the form definition to be edited by hand (File|Edit). NOTE: You should only use this option if you know what you are doing as it will cause the form to be re-created based on your changes.
    ENH: New option added to kform32 allowing a list of screen sizes to be maintained (View|Screen Sizes). These screen sizes are drawn as part of the main editor window background (640x480, 800x600, etc.).
    ENH: New option added to kform32 allowing form properties to be displayed (File|Properties), including the number of controls, the form size, etc.
    ENH: When using the kform32 Align|Space Evenly|Down option and dbedit controls on an editgroup are selected, they will now be spaced 16 DLUs apart, starting from the top of the first control. Any single-line dbedit controls that are not the correct height (13 DLUs) will be updated.
    ENH: In kform32, when creating new dbedits on an editgroup or dragging columns from the table list onto an edit group, the new control will be aligned and spaced automatically.
    ENH: Added a new kform32 option that will resize certain controls to ensure consistency (Size|Reset Control Sizes To Default).
    ENH: Added a new option to kform32 displaying the various accelerator keys used by the program (Help|Keyboard Map).
    FIX: The kform32 Display Control Extents option now works for controls on nested tabs.
    FIX: When creating a new control in kform32 by selecting one from the palette and then clicking on the form, the correct default size will now be used, fixing a problem where a tiny control could end up being created.
    ENH: You can now drag multiple-columns onto a form from the table list in kform32. Controls will be created in the order they were selected and will be aligned/spaced automatically if dropped on an editgroup.
    ENH: You can add new columns to a form by double-clicking the column in the table list in kform32. The new column will be added below the last column added and will be aligned/spaced correctly.
    FIX: Dropping a dbedit control on top of another dbedit in kform32 will no longer get the parentage wrong.
    ENH: A new kform32 option (Edit|Options|Misc|Include editgroup contents when setting tab order) will suppress the display of tab positions for dbedits on editgroups when using the Edit|Set Tab Order option. This is to support an upcoming kclient feature that will automatically set the control order.
    ENH: When setting the tab order in kform32, you can now use Shift+Click to set the starting tab position.
    FIX: When displaying the tab order in kform32, menu controls and the status bar will no longer be included in the tab position count.
    ENH: When displaying the tab order in kform32, if a tab page only has one control, the control no longer has its tab position displayed.
    ENH: When displaying the tab order in kform32, clicking on the form background will now toggle tab ordering off.
    ENH: Added a new kform32 option, Tools|Check Tab Order, which will display the current tab position of controls on the form, with incorrect tab ordering displayed in red.
    ENH: Added a new kform32 option, Tools|Auto Tab Order, which will automatically set the tab order on a form.
    FIX: It is now easier to click on an editgroup when setting the tab order for controls in kform32.
    ENH: When using the kform32 property list, you can now hit TAB to select the next control after you have changed a property.
    ENH: When selecting a dbedit control in kform32, the Label$ property will now be selected automatically (if the previously selected property doesn't appear in the list).
    FIX: When setting the Label$ property of a dbedit control on an editgroup in kform32, the dialog is now redrawn to fix a paint bug.
    ENH: The kform32 About dialog has been replaced.
2003-01-29 9029 REF6273: Using CreateDataBind() passing the SYM of a function defined in a library could crash.
    ENH: Increased size of buffer for CTRL-G cursor info workbench function to stop truncated messages.
    REF6270: Extra security layer on Unix versions of the Connection Manager.
  • Access will only be granted if a .kcmlLogin file exists in the user's home directory.
  • Added support in the /admin Web pages to list user accounts and create or remove .kcmlLogin.
  • The install process will create .kcmlLogin files for accounts which match the list of <adminusers> in kconf.xml.example
    REF6279: Fixed a crash on NT4 if an application mistakenly puts separators on a top level menu bar.
2003-01-29 9029 ENH: Renumber of P57 errors issued by $PACK/UNPACK and some UTF-8 translation functions. Now errors where the output buffer is too small will be reported as X76 and where the input was badly encoded will be reported as X73. Some errors about bad extended field specifiers that were previously P57 are now reported as P58. P57 will now only be used for problems with extracting a substring because of bad arguments to STR and FLD operators.
    ENH: Add Turkish (language code=15) to the list of languages supported for translation between the native codepage (Windows 1254 or ISO-8859-9) and UTF-8 on the server with $(UN)PACK extended format E="UTF-8".
2003-01-30 9030 ENH: Added First property to dbedits to provide the same functionality as for listboxes - to enable enumeration of the items in the list.
2003-01-31 9031 ENH: The structure returned by the '_Enum_ record pseudofunction has been extended by 64 bytes to hold the text of any REM on the same line as the FLD. This REM conventionally holds the field title for databound database columns.
    ENH: The '_Find_ record pseudofunction now takes two arguments. The first is the name of the field to be found in the record and is unchanged but the second is now expected to be an instance of the same structure used for the result of a 'Enum_ function. It must be the right size and must be passed BYREF.
    ENH: The structure of the program code generated for DEFSECTION, DEFRECORD and FLD has been changed to reduce slightly the memory used. This means that programs and libraries compiled before build 9031 will not be compatible and will error.
    ENH: There are now built in constants for the language codes used for chevron and codepage operations.
2003-02-03 9034 REF6275: The client did not support input of negative numbers into an edit control bound to a INT(4) datafield or which had a type$ of "I-4".
    ENH: Anchor code in kform32 changed to fix a problem selecting some controls (such as a frame on a tab for example). Anchored controls on tab pages will now be repositioned correctly when the tabs are sized.
    ENH: Added a new kform32 option, Tools|Control Events, that allows you to choose which events are set when creating new controls.
    ENH: When adding a tab control or frame to a new form, you can now simply click to create a control that will fill the form client area.
    FIX: When creating a new editgroup in kform32, simply clicking on the form will no longer create a 0x0 sized control.
    ENH: The new kform32 Edit|Form option now has a replace facility, a custom font option and will now display child elements of controls on separate lines.
    ENH: The new kform32 Form|Properties dialog box now displays the estimated download time for the form over a 64Kbps line.
    ENH: When creating a new form in kform32, a dialog box is now displayed that allows you to set some form properties, allowing template style forms to be created. You can choose the form size, frame options (menu, toolbar, status bar), which buttons to include, as well as creating some standard frame/tab controls.
    ENH: In kform32, when dropping a data control on a grid, the selected cell will now have the new data properties applied, instead of the selected column. Note that if no cell is selected, then the column under the cursor will be used as before.
    ENH: DBEdit controls on editgroups will now have their tab order set automatically by kform32. Controls will be sorted left to right and down.
    ENH: The screen size guide lines displayed by kform32 will now take the size of the menubar and toolbar into account.
    FIX: The Send to Back/Bring to Front kform32 options were the wrong way round, causing much confusion.
    ENH: If you hold down the SHIFT key when selecting controls in kform32, each click will cycle through any controls under the cursor, making easier to select overlapping controls.
    ENH: When setting the tab stop position of controls in kform32, only controls with the TabStop property or accelerators will be included.
    ENH: When right-clicking on a tab control in kform32, the list of tab pages is now displayed on the menu, allowing easy access to hidden pages.
    ENH: Editgroups support edits arranged in multiple columns.
2003-02-04 9035 ENH: The kat utility is no longer supplied.
    REF6284 Pasting single statement that begain with line number would crash workbench.
    FIX: The kform32 anchoring code has been fixed to allow anchored controls on tabs and frames to be psoitioned correctly when the controls parent is sized.
    ENH: Added a new kform32 option, Tools|Control Events, that allows you to select which events will be automatically set when creating new controls. Note that these settings are also honoured when creating a new form.
    ENH: When creating a new tab or frame control, you can simply click on the form background to have the control fill the available form client area. The control will be positioned 2 DLUs form the top-left corner of the form.
    ENH: Added search/replace (Ctrl+R) and a custom font option to the Edit|Form dialog box. Controls that have child objects (menu, tab, grids, etc.) now have their children displayed on separate lines.
    FIX: Fixed a bug where clicking on a form when creating an editgroup control will no longer create a 0x0 sized control.
    ENH: The File|Properties dialog box now displays the estimated time to download the form at 64Kbps.
    ENH: When creating a new form a new dialog box is displayed allowing you to set various form properties. You can set the screen size, frame options such as the manu, toolbar, status bar, which buttons are created, and an assortment of options allowing various standard controls to be added to the form.
    ENH: When dragging and dropping an entry from the table list onto a grid, the current cell will now have its properties changed (instead of the entire column). If no cell is selected, then the column under the cursor will be used as before.
    ENH: The menu and toolbar is no longer displayed when editing a form. Instead, if the form has a menu/toolbar, a special icon will be displayed in the forms title bar. Simply click this icon to display the menu editor.
    ENH: When displaying the screen size guidelines in kform32, the size of the menu and toolbar will now be taken into account. For example, if you size a form that has a menu/toolbar to 800x600 based on the screen guides, the form height will actually be slighlty smaller. When you then actually run the form via kclient, the size will be correct.
    FIX: The kform32 Send To Back and Bring To Front options were the wrong way round.
    FIX: Fixed a kform32 bug that could break the auto-capitalisation code (resulting in Fileexit instead of FileExit for example).
    FIX: In kform32, when a dbedit is placed in the top left corner of an editgroup, it was very difficult to select - this has now been made easier.
    ENH: In kform32, if you hold down Shift when selecting a control, each click will cycle through all controls under the cursor. This is very useful when trying to select controls that are positioned beneath others.
    FIX: In kform32, when dragging a control that isn't a dbedit over an editgroup, there is no reason to invert the editgroup control.
    ENH: The kform32 Edit|Duplicate option now uses a 16 DLU vertical spacing.
    FIX: Fixed a bug in kform32 where Edit|Cut would delete any colours, fonts or picture objects used by the control being cut, without then restoring these when the control is pasted back on the form. This could also have caused a crash with some forms.
    ENH: When setting the tab order in kform32, controls that do not have the TabStop property enabled will no longer be included. The exception is controls that have accelerator keys (such as some labels) are always included.
    ENH: The kform32 Tools|Check Tab Order option now makes controls with a bad tab order more obvious.
    ENH: The context menu displayed when you right-click on a tab control in kform32 now lists each tab page, allowing easy access to the ears on large tabs. This is particularly useful for tab controls that have the Invisible Appearance property set.
    REF5551. In kform32, when moving a dbedit that has a label and is on an editgroup, the old label now longer stays visible.
2003-02-05 9036 REF5905: The install programs no longer set the install directory key if the Make Default ... checkbox has been cleared.
    REF6286: Fixed a recently introduced problem where a run-time error could occur whilst trying to expand tables in the kform table list from a DEFOBJ table definition.
    REF6285: Old type 7.0 KDB tables were no longer supported.
    REF6289: Workbench, Repeated empty message boxes could appear after a long error messsage was displayed.
2003-02-06 9037 FIX: Fixed a bug in kform32 that could cause a GPF when cutting/copying a control that has DataField or DataSource properties set.
    REF6291: When right-clicking on a tab control, kform now checks if the tab page has changed, and if so removes the current selection and selects the tab control.
    ENH: PRIVATE DIM and PRIVATE DEFRECORD now supported.
    ENH: New form of the CreateControl() method which allows tab order to be specified.
    REF6292: Allow disabled grid cells to be selected in kform. The cell is still displayed in the disabled state.
2003-02-07 9038 REF6282: Fixed a problem reading large amounts of binary data from KClient.
    REF6179: Cursor position issue in workbench after a delete caused lines to be merged.
    FIX: When loading a form in kform32, the Z-order of controls is tweaked to fix a dbedit painting problem on some forms.
    FIX: Tree control created via the New Form dialog has been changed.
    ENH: When creating a new dbedit control on an editgroup, the other controls in the column will no longer be automatically aligned vertically.
    ENH: Remove the old Tools|Grouping option form kform32.
    ENH: Added a new option to kform32 that allows the events for any form button groups to be set (Edit|Grouping|Set Group Events).
    ENH: You can quickly copy a control in kform32 by holding down the Control key whilst dragging an existing control. When the mouse button is released, the selected control will be copied and pasted to the new location.
2003-02-11 9042 ENH: Various fixes to the Connection Manager when checking attributes of a user's account on Unix systems.
  • Fixed the checking of password and account expiry dates for /etc/shadow accounts.
  • Check the account attributes in /etc/security/user on AIX.
  • If a user's home directory has no .kcmlLogin file, then error with Access Denied instead Incorrect Password, which could have been misleading.
    REF6297: The 'Reset Hourglass' feature is only enabled if network core files are enabled. This is to enforce logging of obscure hangs.
    REF6298: SOAP requests failed due to client not being able to cope with zero length chunks.
2003-02-11 9042 REF6299: Fixed a spurious error P50, 14 that could arise in a statement such as LOCAL DIM x$ = 'Function$().
2003-02-13 9044 FIX: Fixed a subtle kform32 bug that could stop a single-click on a tree items button in the table list from working correctly.
    FIX: Backslash characters are now encoded correctly by kform32, fixing a potential bug running on a Chinese MBCS system.
    REF6301: Unicode problem when using kform32 with a 6.00 KCML - the table list would be corrupted.
    ENH: An error message will now be displayed by kform32 if KCML fails to pass table data across.
2003-02-14 9045 FIX: Fixed problems with stack overflow when TRY blocks were embedded in WHILE loops and BREAK or CONTINUE was used. Fixed problems with THROW across libraries. THROW ERR can now throw user error numbers between 1000 and 9999. An unhandled THROW will always be errored at the THROW and not in some outermost TRY/CATCH block. These changes will require rebuilding libraries and compiling any programs that include TRY/CATCH blocks. There is a new minimum library build number of 9045.
    ENH: The use of line numbers as labels in statements is now forbidden in programs with $COMPLIANCE 3
    REF6306: Problem inserting line numbers in workbench, when you already have a very large amount.
    REF6303: KCML6 could write to a KCML5 KDB log, which disabled logging.
2003-02-19 9050 ENH: KCML now has a number of built in DEFRECORDs describing $PSTAT, $MACHINE, $OPTIONS etc. There are also some built in $DECLARE definitions. These can be viewed with the function browser in the workbench.
2003-02-20 9051 ENH: When displaying the menu editor in kform32, the form menu is now selected by default.
    ENH: The display of dbedit labels in kform32 has been improved.
    FIX: Fixed a potential crash in kform32 when changing the style of a dbedit control.
    FIX: KForm32 now longer adds the TabStop style to existing editgroups, which stops unnecessary CVS deltas.
    ENH: Added a new option to kform32 (Size|Size to Fit) that allows a tab, frame or editgroup to be sized to fit the available parent client area. The control will be sized so it is 4 DLUs away from the nearest controls.
    ENH: The kform32 Edit|Grouping|Set Group Events option has been enhanced to display the events for all controls in the group. For example, if you create a group containing dbedits and buttons, this option will now display button and dbedit events for the group.
    ENH: When exiting kform32, menu items will now be checked for accelerators. If any menu items are missing accelerators, then the user will have the chance to display the menu editor.
    ENH: The kform32 table list is now refreshed each time kform is started by KCML.
    REF6315: DEFSECTIONS, caused crashes in KCML.
    REF6313: Mouse click positions in workbench could be calculated wrong, if the display of line numbers was suppressed.
2003-02-21 9052 REF6321: Fixed a potential memory overwrite after breaking into a form that takes object references into non-local variables. May lead to crash or other unexpected behaviour.
2003-02-24 9055 REF6308: Dbedit labels are drawn using the form font not the edit's font.
    REF6326: Support OBJECT a='SYM(*b)() notation for indirect calling of functions that return an object.
    REF6327: Fix for ASSERT using Duplicate() to add child menu options to previous children.
    ENH: Runtime lookup of fields in libraries is now the default. Byte 49 of $OPTIONS RUN is now defaulted to HEX(03).
    ENH: Rename the 'ModuleConstructor() function generated in libraries by kc6 compiler to the new convention of 'LibraryConstructor(). Only generate this function if at least one component has a 'Constructor() function. The minimum library build number is now 9055 as this changes the library internals.
2003-02-28 9059 REF6332: Libraries were being loaded in the wrong order by LIBRARY ADD as a consequence of the introduction of internal structures in 9050.
    FIX: Fix for memory leaks with OCX events. More agressive recovery of memory on LOAD and $SPACE.
2003-03-04 9063 REF6333: Allow BREAK and CONTINUE inside a TRY inside a REPEAT UNTIL.
    ENH: Add a 'KCMLStringMD5(doc$, digest$) internal $DECLARE to compute an MD5 message digest from a document.
2003-03-06 9065 ENH: Added a new Group option the the kform32 menu editor, allowing menus to be assigned to persistent groups.
    FIX: The kform32 Edit|Grouping|Set Group Events option now hides depracated events.
    ENH: The form Name property is no longer displayed by kform32.
    ENH: The kform32 New Form dialog settings are now saved between sessions.
    ENH: When adding new dbedit controls to editgroups in kform32, the tab order is now re-calculated.
    FIX: Fixed a potential kform32 hang when creating a new frame control.
    ENH: When dragging and dropping controls from the kform32 table list, the Label$ now has an automatic accelerator set.
2003-03-07 9066 REF6338: Was sometimes failing to update the word search index correctly on a KI_REWRITE because an internal buffer was incorrectly sized.
2003-03-10 9069 REF6331: Fixed small memory leak when using the CreateDataBind() method.
    ENH6334: Added ListCount property to dbedit lists to be more like ListBox controls. Also Add() method for both now returns the index of the item added.
2003-03-12 9071 REF6344: Unicode KClient did not display its stock text correctly in a locale using a multibyte character set. For example Japanese.
2003-03-14 9073 REF6345: Title of a WINDOW OPEN style text window was truncated by a character.
    REF6341: Shift F10 in a tree will perform a right click.
    ENH: Save memory in KDB by various means including not loading the table schema until it's needed.
2003-03-17 9076 REF6346: Incorrect Indenting could prevent text from being inserted correctly.
2003-03-18 9077 REF6350: F2 buffers handling of non-existant line number's was broken.
    REF6336: Fixed a problem where KClient could crash when passed very large strings (>300Kb) in $DECLARE or COM situations.
2003-03-19 9078 REF6351: Using an expression such as LEN(.fred$) in a DIM statement could cause the field name to become lower case as only defining statements are saved in correct casing when saving ascii programs.
2003-03-20 9079 FIX: Fixed a kform32 crash when adding a new tab page.
    ENH: Added new kform32 Size to Fit option to the main context menu.
    FIX: The kform32 New Form dialog box was displaying the wrong form name.
    FIX: Forms created using the kform32 New Form dialog box now use the correct main menu prefix.
    ENH: Added pictures, fonts and colour objects to the kform32 Control Name Prefix option.
2003-03-24 9083 REF6356: ON x GOSUB 'a, 'b was broken.
    REF6359: Fix for memory leak in FOR OBJECT i IN collection if OBJECT i was not NULL.
    REF6357: Using SetFocus(FALSE) to change tab pages always generated an exit event for the first page regardless of which page was actually being hidden.
2003-03-25 9084 REF6361: Fixed a buffer overrun when returning a error message from Excel.
    REF6360: #TERM would not be consistent when using the range syntax of BCDPART.
2003-03-26 9085 ENH: KForm32 now includes dbedit labels when checking for missing or duplicate accelerator keys.
    ENH: When developing in the workbench if a runtime error occurs in a TRY block which could be caught by an outer CATCH outside the subroutine, then the error will be actioned and execution will stop. If execution is resumed in the debugger, it will be resumed at the point of the CATCH. Errors invoked by THROW are treated as before and will not enter the debugger.
2003-03-27 9086 REF6363: The Connection Manager will now error if it could not <get_include> an environment file.
2003-03-28 9087 REF6364: A PRIVATE DIM followed by a COM statement could leave the COM variables as private.
2003-04-01 9091 REF6365: Fix for duplicate label problem in 4D.
    REF6116: 'a(BYREF 'b) would error if the target DEFSUB 'a(BYREF 'b) argument had the same name
    ENH: 'KCMLGetWindow() can now return the active form window.
    REF6114: LOCAL DIM BYREF a=1 is now a syntax error. Previously the redundant BYREF was allowed but was harmless.
2003-04-02 9092 REF6352: Data binding now supported against PRIVATE records provided the form is executing in the same library.
    REF6368: Fixed a problem where opening a form could crash when complicated load overlays are used.
2003-04-03 9093 REF6362: Table browsing in the forms editor had been broken for a couple of weeks.
    REF6369: Some KI_READ_RAWs did not return all of the rows in a table.
    REF6176: Using the workbench Spy feature of forms in libraries could produce garbled property names.
    ENH: SOAP server now generates WSDL endpoint from HTTP Host: line and URL.
2003-04-04 9094 REF6372: Passing OBJECT NULL to a method with a variable number of parameters could dump on AIX.
2003-04-07 9097 REF6373: Character box graphics were not appearing in text mode.
    REF6377: DEFEVENT handlers in a program without a corresponding form definition should have been reported as an error.
    REF6378: The position of an error that occurred resolving a program in a LOAD was not being reported correctly by the workbench.
    REF6374: SELECT PASSWORD was broken, causing erratic behavour.
    REF6375: Developers were unable to PANIC in immediate mode.
2003-04-08 9098 REF6380: In a form with an idle event, the simultaneous occurrence of the idle event with a user different event on the form could occasionally lead to an erroneous A00, 3 error when the form is terminated.
    REF6352: Further fixes. Data binding against a locally scoped record in a library was not working.
2003-04-09 9099 REF6387: More intelligent step over in the debugger skipping more declarative statements and fixing a bug where REMs were not being skipped if a TRAP had been set on the line.
    REF6381: Support CreateDataBind() with fixes done for 6352.
2003-04-10 9100 REF6389: Platter corrupted by resaving a program into a space that is too small.
    REF6383: Fixed a potential hang caused by a particular pattern of data arriving from the client.
2003-04-11 9101 REF6371: Calling a DEFEVENT as if it were a method was leaking memory if LOCAL DIM was used in the event body.
    ENH: Changed KI_WRITE_RAW so that any BLOB IDs are automatically blanked out.
    ENH: Changed KI_WS_START so that words in the index excluded list are ignored if they are in the supplied list of words to search for.
    REF6392: Rebinding a column using KI_BIND_COL to different variables without unbinding the previous variable first didn't work correctly.
    REF6391: HALT and RESET did not work in the console window of the workbench.
    REF6390: CNUM() returned wrong value for CNUM(FLD(SYM(*FLD(Buffer$.ArraySym))$(1).ifld$)) when substring was all '0' characters.
    REF6384: NPL program names can be at most 8 characters long. Clip and throw a D82 if longer.
2003-04-14 9104 ENH: Dropped obsolete utilities from Unix IMAGE files.
    REF6388: KI_REBUILD failed due to an optimization to do with the delayed loading of table schemas.
2003-04-15 9105 REF6355: If a grid EditRowNotify event handler displayed a child form, then focus was not always returning to the grid when the child form terminated.
    ENH: Linestats indicates whether the current form was downloaded or came from cache.
    REF6393: Support client licences must not override NOPROG environment variable.
    REF6394: berror if we try to evaluate variables that don't exist.
    REF6396: Grid LastChar$ property could be incorrect with a Unicode KClient.
    ENH: Add a .INFO_HAND.handle field to KI_INFO record to allow a program to extract the integer handle number used by KCMLs prior to 6.20.
2003-04-16 9106 REF6398: Fixed a memory overwrite in KI_COMP.
    REF6397: Local DEFRECORDs appearing in workbench function browser caused crash when trying to expand.
    ENH: Added option to restore KClient preferences to their default values.
    REF6100: Could lose a click event after editing a gridcell and then clicking a button triggering a slow EndEdit event.
2003-04-17 9107 REF6398: Fixed a bad indent in workbench latter causing a crash.
2003-04-22 9112 REF6401: Don't add SOFT_RETURN for semicolon comment, if SOFT_RETURN character is NULL.
    REF6404: It was not possible to tab through elements in a Microsoft HTML OCX control.
    REF6402: Grid EditReason property is correctly set to 6 when ending a grid cell edit by clicking another control.
2003-04-24 9114 REF6412 Improved Ctr-G in workbench for non $compliant code.
    ENH: Allow a record to be embedded in another record using it's SYM value such that its contents can then be accessed using a notation like FLD(a$.b.c). Subscripting for array elements is allowed as in FLD(a$.b<n>.c) where FLD(a$.b) was set to SYM(x$()). As a consequence of this change compiled programs containing FLD subscript expressions like FLD(a$.b<n>) will not be backward compatible with previous versions of KCML which will fail to LOAD them.
2003-04-28 9118 REF6416 Workbench, Don't try to browse DEFRECORDs in empty programs.
2003-04-29 9119 REF6413 Workbench, Syntax errors involving DEFSUBs that returned strings could truncate exisitng code.
    REF6421: Fixed a potential crash when a subroutine is called with the wrong arguments and some of the arguments contain string expressions (such as concatenation). Now a run-time error correctly occurs.
2003-04-30 9120 REF6424 Having non-default text-mode colours in a Unicode KClient could lead to invalid settings being written to the registry.
    REF6425 CVS Operators caused cursor offset problems within the workbench.
    ENH: Type 7 word search now splits multi ocurrence string columns into individual strings rather than treating as one large string.
2003-05-1 9121 ENH: Trap window context menu option to goto Trap Statement.
    ENH: Change to implementation of FLD(a$.b.c) introduced in build 9114 so that is is now backward compatible with previous versions of KCML.
2003-05-02 9122 REF6432: Rebuilding a word search index could dump under certain circumstances because of a memory overwrite.
    REF6414: REF6419: Minor grid paint issues.
    REF6410: Add Copy as Hex to copy data out of large var display in the Form Hex(202020).
2003-05-08 9128 REF6437: Tooltipping of truncated label text did not work if the label was on a tab page.
    REF6438: Multiple KCML/KForm32 sessions could lead to corruptions when editing or saving back a form.
    REF6439: On a dbedit with a drop-down and DropDownFilled not set, a drop down event could previously only be triggered if there was at least one element in the list (this is normally the case, so that the description of the current text is displayed). Now the drop down event will also be called if the list is empty.
    REF6436: Tabbing through a multiline data aware edit that had AlwaysValidate set could insert blank lines.
2003-05-09 9129 REF6442: Any attempt to open a form in an Exit event handler or after the .Terminate() method has been used will now error. Previously not all circumstances were caught.
2003-05-12 9132 REF6444: Byte 29 of $PSTAT (DEVice awaited) will now be set to HEX(FD) while KCML is waiting on a $IF statement.
2003-05-14 9134 REF6448: Assigning multiline text to a form text property with a string concatenation would expand 0x0D line breaks into 0D0A pairs. eg.

a$ = $PRINTF("Hello\n")
b$ = "World"
c$ = a$ & b$
.Control.Text$ = a$ & b$

.Control.Text$ did not equal c$ as it had an extra 0x0A inserted.
    REF6450: Trap window would crash if a variable trap was added.
    ENH: Use memory mapping to allocate heap memory on Linux.
2003-05-15 9135 ENH: KClient supports URLs in the form of "kclient://host%20-o%20option"
2003-05-16 9136 REF6441: Revert to generating old pcode for a$ = $UPPER(b$) so that code compiled in KCML 6.20 can be taken back to KCML 6.00 systems. As a consequence a$ = $UPPER(b$) & c$ which was permitted previously in KCML 6.20 is now a syntax error as it was in KCML 6.00. However this cab be worked around with a$ = "" & $UPPER(b$) & c$
    REF6440: A problem with a RECORD FLD type being corrupted by the new FLD(a$.b.c) usage has been fixed.
    ENH: To be compatible with the KCML7 convention, '_Init and '_Enum functions for record fields will return field names without any trailing $ or trailing parenthesis. This effectively means that the base name for a field should be unique i.e. don't have a FLD a and a FLD a$ in the same record.
2003-05-19 9139 REF6454: Workbench Form browser could cause crash. This would happen as source file is loaded.
2003-05-20 9140 ENH: Can now generate MetaPhone phoneme keys by using $PACK(E="META") phoneme$ FROM source$
    ENH: Improved resizing when putting stock icons on a large toolbar. Icons now look smoother.
2003-05-21 9141 REF6457: Kerridge uninstaller broken.
2003-05-22 9142 ENH: Comments on the same line are now allowed with the // form of REM.
    REF6460:Default dbedit has no length restriction on Win NT. OS imposed 30,000 char limit remains on Win 9X.
2003-05-28 9148 REF6461: Kservadm could display a corrupted status for an uninstalled service on Win 95/98.
    REF6462: Fix for potential KClient crash involving drop down lists in dbedits.
2003-06-03 9154 REF6471: On a form where the first control is a dbedit with EditAlwaysValidate set, then could get a spurious validate event after a message box is popped up.
2003-06-04 9155 REF6470: Pressing Return when focus was on a boolean edit would not action the default button on the form.
2003-06-05 9156 REF6472: Clear in workbench console would cause crash.
    REF6474: The server IP address in $MACHINE is now the address as used by the client when it initially connected rather than the server's own IP address as they may be a NAT router between them translating the addresses.
2003-06-06 9157 ENH: Allow environment variables in tablespace locations.
2003-06-09 9160 REF6478: Mismatched FOR/NEXT could undeflow the stack and cause an ASSERT. Also add specific syntax error for A$=FLD(B$..C$) which also caused an ASSERT.
2003-06-10 9161 REF6479: Dbedit labels are drawn using the form's text colours rather than those of the edit.
2003-06-11 9162 REF6476: Workbench font options were being stored in a format that was incompatible with previous workbench versions. Have resumed using the old format.
    ENH: Allow environment variables in the <catalogue>, <permsfile>, <include>, <try_include> and <get_include> tags of kconf.xml. The <location> tag of a database tablespace can also use environment variables.
2003-06-12 9163 REF6482: A word serach failure during a KI_WRITE could corrupt the whole table.
2003-06-13 9164 REF6482: Previous fix was incomplete.
2003-06-16 9167 REF6483: A crash on an illegal use of a sym of an object as if it were a sym of a string now correctly run-time errors.
    REF6484: Workbench font options were being stored in a format that was incompatible between UNICODE and ANSI versions of the client.
    REF6485: Workbench function browser could cause crash while browsing records in an unresolved program.
2003-06-23 9174 REF6490: Change KI_READ_HOLD_NEXT to ignore deleted rows in the same way that KI_READ_NEXT does.
    REF6491: Fixed a potential crash in the graph control.
2003-06-24 9175 SOAP redim of sclar strings containing HEX(00) characters failed
2003-06-25 9176 REF6497: Workbench Large Variable Display copy could cause crash.
2003-06-27 9178 ENH: Add Name$ property to tab pages to return the name of the tab page.
    ENH: Added a variant of the grid DataAwareRow() method, that allows both the grid row and the record buffer to be specified.
    REF6495: Modifiying the text of a menu item created using the CreateMenuItem() method was not updating the displayed menu.
2003-06-30 9181 REF6500: Workbench function browser could crash depending on library contents.
    REF6498: Workbench vertical scroll bar could be incorrectly set to inactive while debugging library code.
    ENH: Added basic proxy tunneling support to KClient.
2003-07-02 9183 REF6505: Result from KCMLGetServerIPport in the wrong byte order.
    REF6504: Scrolling a grid with the mouse wheel while editing a cell could break the grid's validate event.
2003-07-03 9184 REF6507: MAT SEARCH into a zero element numeric locator array could dump on AIX.
    REF6503: XML panic files might be malformed if an exception is thrown during the LIST DT or LIST RETURN sections.
2003-07-04 9185 REF6510: Fixed workbench crash if stepping into/over a LOAD statement when the file name was invalid.
2003-07-08 9189 REF6514: Initialize TS6 fields to ALL(00) not spaces.
2003-07-09 9190 REF6515: Fixed minor KClient resource leaks
    REF6516: Word search indices could be corrupted on volatile tables due to an error in the insertion algorithm.
2003-07-10 9191 REF6517: Dbedit labels could be drawn using an incorrect font.
    REF6513: Pressing Ctrl-L in the Workbench console window would hang.
2003-07-15 9196 REF6518: Scrolling a grid with the mouse wheel would leave CursorRow and CursorCol incorrect within an EditRowNotify event.
    ENH: Insert a HEX(09) tab character before // comments in programs saved as ASCII. Controlled by byte 7 of $OPTIONS LIST. Byte 6 of $OPTIONS LIST controls the column at which these comments are displayed in the workbench. The default is 40.
2003-07-16 9197 REF6523: A grid with the TabThrough style set consumed Ctrl-Tab keystrokes even though it took no action, preventing any tab control using Ctrl-Tab as a hotkey.
    REF6524: The Connection Manager could sometimes set $GLOBAL_ID to an incorrect value.
2003-07-17 9198 ENH: Allow transparent use of an SSL tunnel by the SOAP client when the new TUNNEL option is used in CREATE to remap WSDL and endpoint URLs.
    REF6520: Panic files were not expanding the variable sections in a browser if there was the name of a DEFSUB in common due to SYM() being used on it.
    REF6522: Allow BREAK to break out of a FOR/NEXT which encloses a TRY block from within which the BREAK is issued.
    REF6492: $PACK(E="ENUM(8,5)")a$ FROM a was not calculating the required size correctly and spuriously erroring.
2003-07-23 9204 REF6527: Conditional Traps didn't work when placed on DEFSUB/DEFEVENT/DEFFN.
2003-07-24 9205 REF6529: Reserve the 0x10 bit in $MACHINE byte 60 for application use.
2003-07-25 9206 REF6530: The .Parent and .Page properties for a form control were not being given magic sym values and so would not compare equal to the Sym property of the tab or tab page control.
2003-07-28 9209 REF6534: The selfid utility could partially read replies back from a KClient running on NT4.
2003-07-29 9210 REF6535: DIM a(b(1)) and DIM a(c(1,1)) would dump if b() or c() were not in common.
    REF6536: The FORM END operator could hide any text appearing after it in workbench. This could lead to confusing results from searches. We now display this text in the workbench.
    REF6538: Make sure menu, toolbar and Euro button are disabled when their parent form is busy.
2003-07-31 9212 REF6525: fixed a potential dbedit crash.
2003-08-01 9213 ENH: Added service name to workbench title bar.
2003-08-05 9217 REF6542: Workbench could crash if blanks lines with line numbers were pasted in.
2003-08-07 9219 ENH: The Connection Manager and kiodbc will now use PAM authentication on HP-UX 11, Linux and Solaris.
2003-08-08 9220 REF6546: Function keys did not work as accelerators to regular controls, only menus.
    REF6547: Implemented Sym property for menu items created with the CreateMenuItem() method.
2003-08-13 9225 KI_READ_RAW of more than one row across extent boundaries was not working
2003-08-18 9230 REF6553: Possible under certain circumstances for a toolbar button to display the wrong image or text.
2003-08-20 9232 REF6558: KDB locking of type 7 tables outside of a database caused an error.
2003-08-26 9238 REF6559: Fixed possible flickering when using editgroups placed inside tab controls.
2003-08-29 9241 REF6488: LIST DT display for type6 word search tables could be corrupt after $SPACE.
2003-09-02 9245 REF6582: Function keys could accelerate unwanted controls.
2003-09-05 9248 ENH: Support CLOB as a synonym for BLOB as a KDB datatype. Both currently act as character BLOBs but BLOB will treat trailing blanks as significant in 6.30+.
2003-09-10 9253 REF6593: The Connection Manager will now only show links to create and remove a .kcmlLogin file if we have access to the user's home directory.
2003-09-11 9254 REF6596: KI_WS_START now includes words shorter than the minimum word length defined for the index to be searched for. This allows single/double digit numbers to be searched for.
    REF6597: Fixed a crash when ALL() was passed a negative length.
2003-09-12 9255 REF6575: Client DDE broken in Unicode builds.
2003-09-15 9258 REF6601: Fixed a problem when setting gridcell text colour to certain stock colours.
    REF6595: Do not generate a tree click event from a keypress if there is no currently selected item.
2003-09-19 9262 REF6604: The rules for interpreting the #ifdef conditional operator did not agree with the documentation.
    REF6605: Fixed a problem with KISAM logging on AIX involving large files and 32/64bit processors
    REF6606: Fixed bogus warnings about exceptions in LIST DT output in XML panic files from NT servers.
2003-09-22 9265 REF6608: Allow names of signal actions in bkstat's -K flag argument.
    REF6607: Handle disabled accounts under Windows NT.
2003-09-25 9268 REF6610: Make BLOB and CLOB both synonyms so that we can read tables from KCML 6.30+. All BLOBs will be considered to be CLOB character blobs. If a 6.30 table is opened then any binary blobs in the schema will be considered to be character blobs. Any tables created will use the 6.30 CLOB character blob datatype whether they were created as BLOB or CBLOB. The new type information added to 6.30+ schemas will be silently ignored.
2003-09-29 9272 REF6613: KI_WS_CREATE could crash when attempting to extact a large number of fields.
    REF6614: kc6 was not able to load compiled programs saved with UTF-8 encoding.
2003-09-30 9273 REF6612: Include logical partition (LPAR) number, if available, in the machine ID for AIX.
    REF6615: Fixed a potential crash when moving from a form to a text window.
2003-10-01 9274 REF6617: Fixed KI_WS_START to ignore a wordlist that is a single space character.
2003-10-03 9276 ENH: Change to KDB logging which could give performance improvement in some situations
2003-10-06 9279 REF6621: Can get a crash if libraries with private functions of the same name are loaded, called and removed in succession.
2003-10-07 9280 REF6623: Workbench forms browser could crash client.
    REF6622: Using the workbench replace dialog. To replace REMs with // in collapsed DEFEVENT statements left the code in an unexpected state.
    REF6620: Was adding '\n' to blank lines in #if #endif blocks.
2003-10-08 9281 Added -x flag to kmake to specify an alternative directory to build to than that specified by the KBIN environment variable in kconf.xml. The obsolete alternatives to KBIN (MODULES and LIBRARIES) are no longer supported. The -q option is no longer supported.
    REF6625: KI_WRITE_PTR with bound BLOB would ASSERT on debug builds
    REF6626: Pasting into workbench could gobble spaces that followed continuation characters.
2003-10-09 9282 REF6624: MOVE dir TO dir.old failed
    REF6627: The declaration PRIVATE DIM .Fred would not make .Fred private, although PRIVATE DIM .Fred=(1, "I4") would. Other variable types are not affected.
    REF6628: Modifying a private dimmed fld variable could cause a crash.
2003-10-14 9287 REF6633: Workbench Local variable window could cause a crash when stoppping in for loop.
    REF6634: The Connection Manager could hang when processing a CGIScript alias which referenced a KCML source program.
2003-10-15 9288 REF6616: Fixed a potential hang in direct connections.
2003-10-16 9289 REF6636: a = $RELEASE LOAD RUN could cause a crash (Unix only)
    REF6642: Bkstat now errors if the -x and -y values are different, as this could cause KCML to dump (Unix only)
2003-10-17 9290 REF6643: SELECT with index read join combined with IN ( ... ) clause could produce an empty result set
2003-10-20 9293 REF6645: Protect against a COM method that returns a string returning NULL.
    ENH: The Remote Licence daemon now supports the generic licence protocol.
    ENH: The Connection Manager will now display a generic licence table.
2003-10-21 9294 ENH: COPY and MOVE now preserve the permissions of files. (Unix only)
    REF6646: Fixed the Connection Manager's CGIDirectory alias type.
2003-10-22 9295 ENH: KClient will now pass the hostname to the Connection Manager which then sets the SERVER_NAME CGI environment variable.
    REF6649: kwebserv -i will now error to the system log if a get_include file could not be loaded.
2003-10-24 9297 REF6655: Now possible to use Ctrl+Alt or Alt Gr to compose characters useable by the grid Char() event.
    REF6656: Fixed a problem that could sometimes (but not always) cause a crash when calling a record function (such as '_Init_recname) for a LOCAL DEFRECORD in a library.
    REF6647: Fixed a problem where setting enumerated property in the create event had no apparent effect (such as (oControl1.DropListStyle = &.Simple).
2003-10-27 9300 REF6660: SOAP client failed to spot some illegal UTF-8
2003-10-28 9301 REF6654: Fixed a problem with the EditForm method that could cause stray characters to appear on the end of the edited string (Unicode client only).
    REF6661: Fixed a problem with a spurious error when duplicating an OCX control.
    REF6659: On the first expansion of a node on a tree control, both the Expand and ExpandChange events were being generated, contrary to the documentation which states that only the Expand event will happen.
2003-10-29 9302 REF6664: Creating an empty menu object with CreateControl and never adding items to it will raise a runtime error.
    REF6665: KClient would detach from the Connection Manager if the service name contained POST or GET.
    REF6666: Adding traps in the workbench when no code had been edited could cause problems. You would ASSERT when drag-drop DEFRECORDs from the FN browser on to form definitions.
2003-11-04 9308 REF6667: It was possible that two Help$ tooltips could appear on a tree control.
    REF6669: kwho and bkstat -F could produce badly formatted output.
2003-11-05 9309 REF6672: Producing an error in workbench console, would then stop you being able to continue execution.
2003-11-06 9310 ENH: Enhancements to the Connection Manager's built-in web server.
  • Aliases can now reference environment variables.
  • Allow per-service aliases, referenced using a URL of the form http://host:790/serviceName/aliasName
  • Aliases can now optionally require authentication.
2003-11-07 9311 REF6675: Fixed a potential hang if a form contained a groupbox the same size or larger than itself.
2003-11-10 9314 ODBC table scan across extent boundaries was not working
2003-11-11 9315 ENH: The $KCML_PSTAT_SIZE environment variable can be used to initialise the size of $PSTAT
    REF6679: The Connection Manager was not evaluating ${VAR-otherval} expressions in an included XML file.
    ENH: The Connection Manager will now error if an <include> directive tries to load a XML file that doesn't exist.
2003-11-12 9316 REF6681: Kservice will now pass back an error message back to KClient if a 3rd party WinSock layer has broken socket inheritance.
2003-11-13 9317 REF6680: Allow BYREF a$b as an argument to a DEFSUB so that the length of the string passed can be checked. Useful for records.
2003-11-14 9318 REF6687: Expansion of PATH=$dir1;$dir2 was broken in the Connection Manager.
    REF6688: The environment of a per-service <validuser> can now overrride the environment of the <service>
2003-11-17 9321 REF6684: The environment variable $KCML_TERM_LIC can be used to limit the number of licences a terminal can use.
2003-11-19 9323 REF6676: The expression FLD(a$.b) &=  ... was not yielding the same result as the longer equivalent FLD(a$.b) = FLD(a$.b) & ... It now does, but programmers must remember that FLD(a$.b) will have the full width of the fld including trailing blanks and so all concatenations will overflow and have no visible effect. It is recommended that FLD(a$.b) = RTRIM(FLD(a$.b)) & ... be used instead (this construct is not affected by this bug).
    REF6696: The Connection Manager process info pages could crash on some AIX machines.
    REF6697: Bkstat would attempt to log a user out of a shell if the -x and -y values were different.
2003-11-20 9324 ENH: The syntax FLD(($OPTIONS #x).options_hash_readmode) is now supported and is recomnended over using the STR in the expression FLD(STR($OPTIONS #x).options_hash_readmode).
    ENH: The syntax DEFSUB 'MyFunction(BYREF a$()_my_rec) is now supported.
    REF6700: Fixed problem with grid not retaining focus if its containing form loses and regains active window status.
2003-11-21 9325 ENH: Programs that have been compiled with KCML 6.20 are no longer backwards compatible with KCML 6.00.
    REF6704: DIM a(b(1)) where the b() was not previous DIMmed would dump during resolve.
    ENH: Size calculations for truncated text tooltips in grid cells will accomodate multiline text.
    REF6427: Workbench could ASSERT after CTRL-Y to delete a statement. It depended on statement and layout of program.
    REF6701: Clear in Workbench F2 Bar could lead to numerous ASSERTs and then a hang.
2003-11-24 9328 REF6706: SOAP client/server failed to spot some invalid UTF-8.
2003-11-25 9329 REF6708: Opening some tables with .sq schemas via ODBC could lead to a corrupted list of column names. Only seen on AIX.
2003-11-26 9330 REF6714: The Connection Manager would not display a PANIC file after signalling a partition.
2003-11-27 9331 ENH: The Connection Manager will now show the list of child processes of a process.
    REF6501: A field variable defined in a DIM or a FLD should define the case, but references to a field in other circumstances was also erroneously defining the case.
    REF6557: Workbench would ASSERT then possibly crash when doing Ctrl-G on last line of program.
    REF6445: In workbench. Current PC line could move if you expanded or collapsed DEFEVENTs.
2003-11-28 9332 REF6725: Fixed a timing problem in the NT Server installer.
2003-12-01 9335 REF6728: Setting focus in the Validate event of a ValidateSelChange dropdown dbedit had no effect.
    REF6682: When hiding/showing grouped edit controls which are also in an editgroup make sure any labels are placed correctly.
2003-12-02 9336 REF6732: An illegal FLD defintion containing an occurs of 0 (eg FLD a(0)) was not being errored and could later cause a crash in KCML.
2003-12-03 9337 REF6737: Possible in rare circumstances for keyboard acceleration to fail.
2003-12-04 9338 ENH: Support the syntax FLD symofrec = SYM(_record_name). To state in code that a fld should contain the SYM of a string of the specified record type. No checking is done in KCML6.20 but this is likely to be added to future versions of KCML.
    REF6733: Raise a runtime error for a malformed form definition containing multiple forms.
2003-12-08 9342 REF6735: Problem showing a message box with a Japanese IME window active.
2003-12-09 9343 REF6740: Console commands that printed form string properties could cause ASSERTs.
    ENH: Added -l <log_level> flag to superkill.
2003-12-11 9345 REF6743: Do not allow a disabled busy-mode form to be resized.
    REF6742: Fixed repaint issues when changing label text of an edit in an edit group.
    REF6744: Minimise memory usage for MODULE ADD.
2003-12-12 9346 REF6745: Comments between <service> definitions in kconf.xml could confuse the Connection Manager's adminitration pages.
2003-12-15 9349 REF6746: The Connection Manager could crash if the last child of a kconf.xml node was a comment.
2003-12-17 9351 ENH: Support BYREF OBJECT for DEFSUB parameters.
    REF6748: Fix for core dump on Linux in a client SOAP method call passing a single REDIM scalar string argument where that string had no space allocated (zero LOCAL DIM).
2003-12-22 9356 REF6750: Fix problem with evaluating attribute methods in a SAX2 callback method handler on Linux.
2004-01-07 10007 REF6752: Superkill would not signal a process on some versions of Unix.
2004-01-08 10008 REF6754: Fix bad build number check for $CONVERT.
    REF6751: Fixed IME display problem when entering Korean text into a dbedit.
2004-01-13 10013 REF6758 / ENH: Relaxed restriction that table name suffix can only be two characters long.
2004-01-15 10015 REF6761: Install script now sets superuser permissions bit on bkstat.
    ENH: Added -e kconf.new flag to examine the Connection Manager's configuration file for errors.
2004-01-16 10016 REF6764: Wordsearch sequence set could get corrupted when doing large numbers of deletions.
2004-01-19 10019 REF6765: Fixed version number test when invoking KForm
2004-01-21 10021 REF6305: Word-search code now ignores blanks in non-alpha characters.
2004-02-03 10034 REF6784: Fixed hang when removing all opportunities for controls on a form to have focus.
2004-02-11 10042 REF6791: Clearing the installer's Add to Start Menu checkbox had no effect.
    REF6747: Trim trailing zeroes from graph value labels.
2004-02-13 10044 ENH: The MAC address of a client is now visible from $PSTAT().
2004-02-19 10050 REF6798: ALL(string$,0) now no longer errors.
PRINT ALL(string$, 0) could product corrupt output.
    REF6801: The EditRowNotify() event was not being generated at the end of complicated sequence of events.
2004-02-20 10051 REF6802: Fixed Rich edit cursor placement issue.
    REF6803: SHELL cmd$ would leak a handle on NT.
    REF6800: The workbench could corrupt form definitions. This would only happen if you dragged a FLD onto a form in KFORM and that FLD had a TAB in its // comment.
2004-02-23 10054 REF6793: Fixed printing to clipboard in Unicode clients.
2004-02-24 10055 REF6810: If the programmer does a MoveCursor() to a cell that is autoedit but has the cursor disabled then the cell will not go into edit mode and so an EditRowNotify() event should not be generated.
2004-02-27 10058 REF6777: READ # could crash when reading on a closed stream.
2004-03-09 10069 REF6822: A 6.00 KClient could appear to hang when the Connection Manager was prompting for a new password.
    ENH: Allow passwd to be SHELLed, even if pseudo-tty support is disabled.
2004-03-10 10070 REF6824: Unicode and ASCII Kclient installers now install the shared library as kclient.dll.
2004-03-16 10076 REF6821: Permit array() = CON(0).
    REF6832: Fixed SOAP client crashes caused by include/imports in the wsdl.
2004-03-17 10077 REF6834: Kservadm can now create a deep panic directory tree.
2004-03-18 10078 REF6833: 'KCMLStringMD5 was only computing checksum up to first HEX(00) character in the string.
2004-03-22 10082 REF6835: KClient could hang when shelling out to unix prompt via workbench console window.
2004-03-24 10084 REF6836: $UPPER("?") was asserting on debug builds as that character has no upper case equivalent defined by the Unicode Consortium. Now just leave the character unchanged.
2004-03-30 10090 REF6840: $ALERT SCREEN could crash if given a bad partition number.
    REF6846: Fixed a redraw problem with OCX controls
2004-03-31 10091 REF6843: Fixed a crash when using the DisplayScreen method to display a form dump containing a grid with DataPending set.
2004-04-01 10092 REF6850: Problems with some characters when printing to the device clipboard.
    REF6851: kwho and bkstat -F could produce truncated output.
2004-04-02 10093 REF6845: READ # could crash on some versions of Linux
    REF6856: $RELEASE fn children were adding to the [KCML] user count
    ENH: ODBC now supports pack image 15.2
    REF6857: Using RESTORE LINE to a label was not working when used in a library.
2004-04-05 10096 ENH: The Connection Manager and kiodbc will now use PAM authentication on AIX 5.2.
2004-04-06 10097 REF6859: The Connection Manager could crash when listing internet services on NT.
    REF6829: KI_COMP could crash on some TIFF images that were already compressed.
    REF6860: The Connection Manager's panic directory listing could crash if there was a corrupt panic file present.
2004-04-13 10104 ENH: Use memory mapping to allocate heap memory on AIX 5.2.
    REF6863: The Connection Manager's administration pages will now sort access control lists.
2004-04-14 10105 REF6869: The Refresh and Up to higher level links on the Connection Manager's directory listings didn't work for a per-service alias.
2004-04-15 10106 REF6872: Do not allow an ERROR DO to follow a FOR statement.
    REF6873: CLEAR P could casue crash if you were executing in library code.
2004-04-20 10111 REF6877: Workbench Form browser crash when viewing COM controls.
2004-04-22 10113 REF6879: Fixed a potential memory leak when attempting to write a message to syslog.
    REF6880: Fixed a Unicode issue with COM events in the ANSI client.
2004-04-28 10119 REF6884: The form placement style RelativeToParent was broken.
    REF6885: Was not adding the <user> tag to PANIC files when executed via the Connection Manager.
2004-04-29 10120 REF6764: Fixed an obscure crash in KI_REWRITE on type 7 database tables.
2004-05-11 10132 REF6901: Fixed a problem where an EditRowNotify() event was not being generated when coming off a grid because of the user clicking on a LeftTool button on the toolbar.
    REF6904: Conditional TRAPs entered via console window may fail. Dependant on execute statement.
2004-05-13 10134 REF6905: Possible to get invalid text in a drop-down dbedit by deleting characters or over-typing a selection.
2004-05-17 10138 REF6911: CLOSE was not deselecting an auto-allocated stream.
    REF6912: An application making very many LIBRARY ADD and LIBRARY REMOVE calls could run out of symbols due to a failure to release all symbols when a library is removed.
2004-05-18 10139 ENH: Fixed a problem with locks being lost on Unix where a file was opened on two handles.
2004-05-24 10145 REF6926: Workbench file browser, file properties had several problems, including crash in release builds.
2004-05-25 10146 REF6934: Setting traps on internal KCML functions would crash.
    REF6936: Fixed a crash when using redirected console input to perform an immediate mode LOAD.
2004-06-01 10153 REF6945: Dyndom.sl library on HP-UX had a hardwired location for the Xerces library.
    REF6946: Bkstat -M could produce a negative memory usage on a system with a large number of KCML processes running on it.
2004-06-03 10155 REF6947: Fixed a crash in COPY OBJECT on some HP-UX systems.
2004-06-07 10159 ENH: Stricter Ethernet address check on Linux.
2004-06-10 10162 REF6955: Pseudo-tty support could hang.
2004-06-18 10170 REF6966: Fixed various problems with 64-bit disk access versions of the Connection Manager on NT.
    REF6967: Fixed file locking problems, under Windows NT, for 64-bit disk access versions.
2004-06-21 10173 REF6968: Applying a trap to a program line containing the current DATA statement and then continuing without restarting the program could lead to a crash on a subsequent read.
2004-06-23 10175 REF6970: Possible for Validate events not to fire correctly on numeric DBedits
2004-06-30 10182 REF6974: $END in workbench while running under UNIX via telnet connection. Could cause window corruption.
    REF6975: Crash in Workbench large variable display.
    ENH: Connection Manager enhancements:
  • XML Include files can now include other XML files.
  • Aliases and the Access Control Lists can now be defined in XML include files.
  • Error messages from the XML parser will be displayed if kconf.xml or an include file is corrupt.
2004-07-05 10187 REF6977: Setting $SHELL in a service's <environment> section appeared to have no effect.
2004-07-08 10190 REF6987: Can now delete the entry for a included access control list. Clear out an empty access control list.
2004-07-12 10194 REF6982: After displaying a 132 column screen that needed to be shrunk to fit on screen KClient could remember an incorrect narrow font size.
    REF6989: Fixed redraw issue when changing the text of a transparent picture button.
2004-07-16 10198 REF6994: HEXPRINT + Output format was incorrect.
2004-07-20 10202 REF7001: Interrogating a service's database catalogue, via the Connection Manager's admin pages, could fail if it was not the currently selected service.
    REF7000: Workbench. Breakpoint bitmap could be corrupted when changing fonts.
2004-07-21 10203 REF7002: Fixed a crash when setting a service's <soapstart> value.
2004-07-22 10204 REF7003: Workbench create form dialog wasn't appearing.
2004-07-23 10205 REF7004: kmake now reports back errors from the the XML parser if kconf.xml is corrupt.
2004-07-27 10209 REF7008: On a grid cell the EditRowNotify event was not being called correctly if the pressed a hot key to accelerate to a button on the form.
    REF7013: In the statement DIM a(1), b(a(1)) a run-time error would result because the variable a() would not have been initialised. Now no longer error, to be compatible with KCML 6.0.
2004-07-30 10212 REF7020: Fixed a crash in kwebserv -e configFile.
ENH: If the -s service flag is used in conjunction with the -e configFile flag, then check the service's include files as well.
    ENH: Specifying '.' as the user name on KClient's command line acts as a shorthand for the current Windows user name.
2004-08-02 10215 REF7021: Added Backspace shift to workbench keyboard shortcuts.
    REF7022: Workbench tooltips now take // comments around DEFSUBs into account.
    REF7017: Workbench variable display window. Focus should be set to editor window after this is destroyed.
2004-08-03 10216 REF7006: Fixed potential spurious runtime errors when using KClient DisplayScreen method to display a forms screen dump.
2004-08-09 10222 REF7026: Fixed workbench evaluate window to display (C)OM, (D)IM, (L)OCAL DIM correctly.
    REF7024: Workbench would allow you to create forms in debug mode.
2004-08-10 10223 REF7029: Fixed KClient print to clipboard.
2004-08-12 10225 REF7030: Fixed possible screen corruption when mixing ANSI and Wang display modes.
2004-08-18 10231 REF7035: Prevent KClient control characters being sent to SHELLed command.
2004-08-20 10233 REF7042: Kwebserv now handles HTTP caching.
2004-08-23 10236 REF7043: Fixed possible stack corruption when an object method call errors.
2004-08-24 10237 REF7050: Possible for KClient to display malformed error messages when logging in.
    REF7051: The Connection Manager's 'System Commands' page was not displaying non-zero return codes correctly.
    REF7038: Problems invoking large variable display from toolbar.
    REF7052: The Connection Manager no longer locks /etc/passwd while authenticating a user's password.
2004-08-25 10238 REF7053: The Connection Manager didn't detect that a user's password had been expired with the passwd -f command on UnixWare.
2004-08-26 10239 ENH: KClient 'licence expiry pending' message specifies how many users will expire rather than implying they all will.
2004-08-31 10244 REF7061: In Unicode builds could lose the last character of a string value returned from a client-side $DECLARE if its buffer was DIMed exaclty large enough to hold the string.
2004-09-01 10245 REF7063: Fixed the install script to create suitable PAM configuration files on SuSE-Linux.
    REF7064: The Connection Manager would fail to list a system log whose entry in /etc/syslog.conf used the '-' no-sync flag.
2004-09-02 10246 REF7067: Potential error starting KClient on server versions of Windows without Terminal Services running.
2004-09-07 10251 REF7040: Where a form inherits from another form that does not appear in the current program, kcml could sometimes crash instead of erroring, both at run-time and when the form is edited.
    REF7072: The Connection Manager's directory listing of a per-service alias could contain bad links.
2004-09-20 10264 REF7083: Don't attempt to create a pseudo-tty when attempting to SHELL "passwd"
2004-09-23 10267 REF7090: Fixed a problem where output would be lost when SHELL'ing the bkstat utility from inside a text-mode application.
2004-09-24 10268 REF7092: A protected save of a program line with more than 32K of code could lead to a corrupted program that would not reload.
2004-09-27 10271 REF7095: Sorting a directory listing by file size didn't work for files over 2Gb in size.
2004-09-29 10273 REF6797: The sql utility could crash when querying type 6 database files with a .sq dictionary.
2004-09-30 10274 REF7098: Fixed a crash when attempting to list the columns in a database table using sql -C.
    REF7104: Workbench database browser could crash when displaying column information.
2004-10-01 10275 REF7119: Column labels were missing the last character in the database browser.
    REF7120: Workbench database browser could corrupt the environment variable list.
2004-10-04 10278 REF7121: Fixed crash using "<>=" as POS( operator.
2004-10-05 10279 REF7027: Fixed crash using workbench's global text search.
2004-10-07 10281 REF7130: Ignore $USEMALLOC and the -y flag on Linux and AIX5.2.
2004-10-11 10285 REF7128: When changing the name of a blank form in KForm it was not reflected by the workbench.
2004-10-12 10286 ENH: Add Thai (language code=16) to the list of supported languages.
2004-10-13 10287 ENH: Use memory mapping to allocate heap memory on HP-UX 11.
2004-10-15 10289 REF7132: Fixed potential hang after executing SHELL.
2004-10-19 10293 REF7134: Allow commas in pack images defining fields.
2004-10-25 10299 ENH: Use the Ethernet card's MAC address in a licence file's machine ID for Unixware.
2004-10-27 10301 REF7016: KI_LOCK_OWNER was broken on 64bit file I/O builds
2004-11-01 10306 REF7143: Fixed $DEVICE to work with network printer shares and LPT1 on Windows.
2004-11-03 10308 REF7151: LOAD RUN will no longer be supported in the Workbench F2 buffer.
2004-11-04 10309 REF7150: Fixed potential corruption when transmitting certain byte patterns to the client.
2004-11-15 10320 REF7139: Not correctly updating pictures in the client if running with caching disabled.
    REF7171: Fixed potential hang after displaying a form in a $RELEASE'd KCML
    ENH: Added form DropFile event and DropFileList$ property to return a list of files drag & dropped onto a form.
    ENH: Improve efficiency when creating forms with large numbers of controls.
2004-11-18 10323 REF7184: Fixed memory leak in SHELL, Windows only.
2004-11-22 10327 REF7187: The Connection Manager could show a partial process list on NT.
2004-12-01 10336 REF7522: Fixed a problem setting focus to a Group control when the group is on an inactive tab page.
2004-12-07 10342 REF7553: Fixed a problem showing & hiding controls in a Group control
    REF7167: Changing a tab page's ear text did not persist the new text.
2004-12-08 10343 REF7559: Add any error message from the XML parser if kcml -s serviceName fails.
2004-12-09 10344 REF7563: Fixed potential KClient crash moving focus to a DBedit.
2004-12-13 10348 REF7567: Support negative RANGE values when parsing a .sq schema.
2004-12-17 10352 REF7577: Convert Unicode Euro character HEX(20AC) into Windows specific HEX(80) for E="UTF-8" mode of $PACK and $UNPACK irrespective of locale.
2004-12-22 10357 REF7569: Ensure variable filtering in panic file stylesheet works for Firefox, Mozilla and IE6.
    REF7570: Programmed VT100 function keys not being sent
2004-12-23 10358 REF7574: Use of FLD(row$.langfld$(x)) as a receiver generated the wrong offset for the language in use.
2005-01-13 11013 REF7617: Could not edit a service from the Interrogate Services page if its name contained a space character.
    REF7619: Console command RENAME was not setting the modified flag for the workbench source window. So Ctrl-S (Save) might think you have an unmodified program.
2005-01-18 11018 REF7629: Fixed CTRL-SHIFT-G.
2005-01-21 11021 ENH: Disabled Nagle algorithm for SOAP
2005-01-24 11024 REF7641: Support dateTime datatype in SOAP client
2005-01-26 11026 REF7645: Do not expand environment variables that have been escaped by a '\'.
2005-02-07 11038 REF7669: KClient could size a text mode window incorrectly if its toolbar was displayed.
2005-02-16 11047 REF7702: The Installer now adds Start Menu entries under Kerridge->KCML 6.20
2005-02-18 11049 ENH: The Connection Manager supports a list of excluded users in <validusers> by prefixing the user names with '!'
    REF7712: Fixed an incompatibility with the Windows XP Service Pack 2 Data Execution Protection feature.
    REF7713: Fixed a problem with spurious data aware error using a fld in a library that is not otherwise referenced
    REF7717: Support KDB type BOOL as ODBC type BIT
2005-02-21 11052 REF7720: Problem extending tables greater than 2Gb
2005-02-22 11053 REF7695: bad null value for dates in ORDER BY
    REF7718: Fixed potential KClient resource leak when resizing grids containing cells with drop-down lists.
2005-02-23 11054 REF7729: Fixed installation of KCC service for AIX5.1
2005-03-01 11060 REF7750: Fixed file type mask in KClient connection wizard icon picker.
2005-03-03 11062 REF7771: Fixed minor KClient resource leak.
2005-03-04 11063 ENH: KDB KI_READ_NEXT and KI_DELETE combination could lead to bogus KE_DATADAMAGED and KE_NOTFOUND errors.
2005-03-07 11066 REF7766: In a mixed text/GUI application KClient's text mode toolbar would stop working after a GUI form with a toolbar had been displayed.
2005-03-10 11069 REF7785: Emptying a word search sequence set page and then re-inserting onto that page caused a word search index corruption.
2005-03-14 11073 ENH: KDB KI_MOVE_TABLE and KI_COPY_TABLE used on systems with a database journal could crash.
2005-03-15 11074 REF7794: If a form has a multi-pane status bar, control Help$ text will appear only in the first pane and leave the style of the status bar unchanged.
2005-03-15 11074 ENH: Support LAT=Y clause in $DEVICE for printers to convert UTF-8 to Latin-15
2005-03-18 11077 REF7806: Kwebserv wasn't setting up $KCML_SOURCES properly when exec'd from a script.
2005-03-22 11081 REF7823: Fix for possible looping process if panic that follows a core dump itself causes a core dump.
2005-03-23 11082 ENH: Better KDB error messages
    REF7623: 'KCMLStringMD5 could return a blank string on Red Hat ES3
    ENH7697: Optimise traffic sent from KCML to KClient.
2005-04-04 11094 REF7821: Fixed a problem that could lead to a hang or crash when fetching back very large amounts of data using a COM object method (such as retrieving text from several thousand cells from a spreadsheet in one method call).
    REF7839: Clearing the KClient password cache may not clear all passwords where there are multiple passwords stored for a single server.
    REF7070: When printing in text mode ($DEVICE option DIR=N) KClient will use a font with a character set matching the current locale.
2005-04-05 11095 REF7846: Tree item OpenImage image was displayed when the item was selected instead of when the item was expanded.
2005-04-06 11096 REF7850: Moving a boolean DBedit could fail under certain obscure circumstances.
2005-04-07 11097 REF7807: Fixed pseudo-tty support for Linux 2.6 kernel.
2005-04-08 11098 REF7856: Resetting a DBedit's text to its orginal value after a failed Validate event did not work.
2005-04-11 11101 REF7860: Kmake could crash on Linux when executed from the command-line or via a script.
2005-04-12 11102 REF7864: Listing a service's default tablespace didn't always work.
2005-04-14 11104 REF7871: Fixed a crash when terminating a KCML partition with kservadm -p <partno>
2005-04-20 11110 ENH: On AIX5.2, use /dev/ptc to create the pseudo-tty for SHELL and the interactive ! shell.
2005-04-21 11111 REF7888: Using Ctrl-Tab in a multi-line dbedit to insert a tab character would cause the next character entered to be lost.
2005-04-27 11117 ENH: Reduce the memory requirements on Unix by statically linking kcml.
    REF7909: Fixed crash, on Unixware, when using kmake's -p switch.
2005-05-09 11129 REF7942: Fixed a problem with a spurious error about a DataSource$ buffer not being found if the form is contained in a library that contains no other reference to that buffer varaible.
2005-05-10 11130 REF7948: Updating environment variables using kwebserv's /admin pages could occasionally fail on AIX4.3 & 5.1
2005-05-12 11132 REF7952: Fixed potential looping KCML process when KClient disconnects unexpectedly.
    REF7953: $MALLOCSPACE did not have an effect on AIX4.3
2005-05-13 11133 REF7956: Report PAM config errors to syslog.
    REF7955: KClient could crash if pictures or colours were created outside of the Create event using the CreateControl or Duplicate methods.
2005-05-17 11137 ENH: The Connection Manager's webserver will now log the HTTP referer when a web page cannot be found.
    REF7962: Kwebserv could crash when KClient connected to a service whose name contained a space character.
2005-05-18 11138 REF7963: DBedits in associated edit groups on different tab pages may not line up correctly until all the tab pages have been shown.
2005-05-19 11139 REF7966: Fixed heap corruption if there was not enough memory for MAT REDIM.
2005-05-20 11140 REF7968: If we used up all the pages in a memory-mapped heap we could corrupt $PSTAT.
2005-05-24 11144 REF7972: Setting text in a DBedit control on a tab page had no effect unless the page had been displayed.
2005-05-25 11145 REF7973: Fixed a problem processing input from KClient under certain circumstances which could lead to a hang or spurious error message.
2005-05-26 11146 REF7978: If a grid was reset inside an EditRowNotify event it could fail to display correctly afterwards.
2005-06-01 11152 REF7980: Fixed buffer overflow when changing the case of UTF-8 strings with $UPPER and $LOWER.
2005-06-07 11158 REF7546: A form.Terminate() event could corrupt the stack.
2005-06-10 11161 REF7989: Withdraw use of PAM on AIX 5.2.
2005-06-30 11181 REF8019: Fixed a potential crash after calling the Explode() method on an empty graph.
2005-07-04 11185 REF7834: Problem with local variables in the forked screen saver partition could cause silent core dumps.
2005-07-08 11189 REF8030: Upgrading of KClient by a non-admin user on Windows XP could fail because of strict permissions on the install directory.
2005-07-11 11192 REF8035: KClient will only send a single CursorMove event for a scroll operation on a grid, even if multiple lines or pages were scrolled.
2005-07-14 11195 REF8042: CGI scripts could get an incorrect $PATH when running on an ASP server.
2005-07-19 11200 REF7951: Fixed a potential KClient hang when displaying a new form under certain circumstances.
2005-07-22 11203 REF8051: Dragging of files from MS Outlook Express broken.
    REF8053: Fixed a crash CREATE "SOAP", url$ when the URL was badly formed.
2005-07-28 11209 REF8027: Fixed a potential KClient crash displaying malformed forms containing duplicate control IDs.
2005-08-04 11216 ENH: Type-7 database handles can now use less memory.
2005-08-05 11217 REF8081: Fixed an infrequent problem where multiple logins from a single client machine may consume too many user licenses.
    ENH: Add IP_TOS call to allow users to change the TOS field in IP headers.
2005-08-08 11220 REF8079: If was possible for the client to have unvalidated text in an edit control if the user started to click the cancel button after entering text, but moved the mouse cursor away from the button before completing the click. This would have abandoned the Validate() event on the assumption that a Cancel() event was pending. Now the Validate() will be rethrown if a click on a cancel button does not complete.
2005-08-15 11227 REF8102: Updating kconf.xml with the Connection Manager's admin pages could fail with 'missing serial value'.
2005-08-16 11228 REF8071: Fixed buffer overrun when attempting to report syntax errors from a KCML script.
2005-08-17 11229 REF8088: CLEARing a program which contained DATA statements could cause a subsequent LOAD to crash.
2005-08-19 11231 REF8114: The Connection Manager could fail to authenticate a user if their password did not have a date expiry.
2005-08-23 11235 REF8117: SHELL could crash, on Windows, if given a long filename.
2005-08-24 11236 REF8120: The XML parser could crash when processing bad XML data.
2005-09-02 11245 REF7613: LOAD RUN could attempt to open "START .src"
2005-09-06 11249 REF8128: Fixed SOAP support in the Connection Manager.
2005-09-08 11251 REF8136: Raised the level of crash syslog messages so that they get redirected to the AIX error log.
2005-09-09 11252 REF8138: Normally when assigning to a control property KCML does not re-send the value to the client if it is unchanged. However we must always send properties to an OCX control on assignment even if they are unchanged as we cannot know how the OCX will handle them.
2005-09-16 11259 REF8105: XML file handle's opened with CALL's are now displayed correctly when tooltiping in the workbench.
2005-09-20 11263 REF8149: Memory leak. NT Only.
2005-09-26 11269 REF8153: OPEN now errors when all streams are in use.
    REF8159: $OPEN could hang on on unreliable networks.
2005-09-28 11271 REF8162: $PSTAT's DEV field was not being set when waiting for input.
2005-09-30 11273 REF8145: Problem resetting grid properties after calling Reset() or Clear().
2005-10-04 11277 REF8172: Mandatory KDB lock checking could fail in systems that don't use catalogues.
2005-10-05 11278 REF8177: ODBC and SQL access to KDB type6 tables with extents could produce truncated results.
2005-10-06 11279 REF8176: Improved error messages for kcml & kmake when they fail to load kwebserv.so
    REF8178: KDB type6 table locks could fail in complicated situations involving more than one handle open on a table and more unlocks than locks.
2005-10-11 11284 REF8185: A syntax error in a multi-statement line entered with the console line editor truncated the line.
2005-10-18 11291 REF8197: Improved error messages for kc6 & kmake when they fail to execute kcml
2005-10-21 11294 REF8202: LIMITS # would report an incorrect size on a file larger than 2Gb.
2005-10-26 11299 REF8214: Report error strings for failure of NTLM authentication to the event log.
    ENH8215: Added 'KCMLSetClientIP_TOS $DECLARE to allow seting of IP header Type Of Service fields for data sent by the client.
2005-11-02 11306 REF8227: Caseless SORT was broken.
    REF8219: Help$ tooltips did not always appear for controls on a tab page.
    REF8230: Fixed a potential crash in numeric edits with a vary large number of characters.
2005-11-07 11311 REF8234: Fixed a zero precision format specifier in $PRINTF.
    REF8236: The compile utility now ignores the value of $CWD.
2005-11-09 11313 REF8063: Sometimes debug information in a panic file could be incomplete.
2005-11-16 11320 REF8044: MAT REDIM SYM(*p)$s was only legal syntax at the end of a line
    REF8046: Sometimes unable to scroll a grid after clicking a cursor disabled cell if much of the grid is cursor disabled.
2005-11-28 11332 REF8271: Setting Help$ on a menu control itself rather than one of its items could crash the client.
    REF8273: The Connection Manager will log the reason to the NT Event Log when it fails to execute a server process.
    REF8272:Fixed crash in specific SOAP object method call when using complex types.
2005-11-29 11333 REF8274: If we fail to create a pseudo-tty for SHELL, then log the reason to the Unix syslog.
2005-12-05 11339 REF8279: The setup program for KClient could occasionally hang when installing kclient.ttf.
2005-12-09 11343 ENH: Support session tracking cookies in SOAP client. Support SSL for sockets and SOAP clients on AIX5.2, Linux and Windows.
2005-12-20 11354 REF8211: Support mouse scroll wheel in grids and dbedits.
2006-01-03 12003 ENH: Improve performance of mouse wheel scrolling on complicated grids.
2006-01-13 12013 REF8319: Picture buttons without TabStop set should never take keyboard focus. However this could happen if the button was activated by a keyboard accelerator
2006-01-16 12016 REF8324: Support Keep-Alive headers in the SOAP server to allow client to determine when the connection is broken.
2006-01-18 12018 REF8326: If a single click event handler creates a child form and the single click is actually part of a double click the double click event should be dropped. This did not always happen.
    REF8332: Where a control has both single and double click event handlers it was possible for the double click event to be difficult for the user to trigger. Especially when running over a slow network.
2006-01-23 12023 REF8337: KCML style buttons are drawn with square corners when on a form with a background image.
2006-01-25 12025 REF8341: Fixed creation of new <include> files from the Connection Manager's /admin pages.
2006-02-01 12032 REF8351: KClient 'Empty Cache' button in preferences did nothing on Pocket PC
    REF8348: On Pocket PC the option to show/hide a form's toolbar didn't work for child forms.
2006-02-09 12040 REF8362: Grid DropDown event was broken.
2006-02-10 12041 REF8366: More efficient use of Windows resources where a grid has unpopulated drop down lists.
2006-02-14 12045 REF8369: Fixed hang in $CLOSE on a pipe.
2006-02-15 12046 REF8349: Fixed a potential KClient crash when LOADing a program from within the Create event of a form.
2006-02-22 12053 REF8378: Fixed a workbench crash while scolling.
2006-02-27 12058 REF8374: On Pocket PC KClient added a 'Quit' option to the connection broker notification message.
2006-03-01 12060 REF8385: Better syslog message when accessing /admin pages with WEBADMIN not set to true.
2006-03-16 12075 REF8405: Fixed a compatibility problem running a 6.20 KClient against a 5.50 KCML
2006-03-21 12080 REF8407: Fixed an editgroup sizing problem where edits in the same row have very different sizes.
2006-03-24 12083 REF8415: Ignore UTF-8 byte order marking when parsing XML with XML_OPEN or XML_PARSE_BUFFER.
2006-03-27 12086 REF8412: SQL combination of -s and SUBSTRING() could crash
2006-03-28 12087 REF8421: Kwebserv could produce two sets of HTTP headers for text files downloaded via a FileText alias.
    REF8422: SQL dynamic parameters on multiple tables could crash on Windows
    REF8423: KI_INITIALISE of a type7 table with a WS index could corrupt the table
2006-03-30 12089 REF8425: 'KCMLStringMD5 should return the hash string as RETURN DIM()
    REF8020: Using Ctrl+C to copy text from a dbedit set the edit's modified state leading to a spurious Validate event.
2006-03-31 12090 REF8414: It was possible for a parent form to remain enabled if it created the child form in its Show() event and also had an edit SelChange() event handler.
2006-04-04 12094 REF7699: It was possible to use a DBedit's context menu to paste into a string formatted read-only edit.
2006-04-05 12095 ENH8307: The mouse wheel will scroll the control under the cursor where appropriate.
2006-04-06 12096 REF8438: NTLM authentication was broken
2006-04-12 12102 ENH8443: Added KClient FormColorBorderThreshold method to add a thin border around KCML style controls when they are coloured such that they have poor contrast with the background.
2006-04-20 12110 REF8450: Fixed a potential KClient crash displaying certain PNG format images.
2006-04-24 12114 ENH: On AIX4.3, use /dev/ptc to create the pseudo-tty for SHELL and the interactive ! shell.
    REF8453: Fixed a potential KClient crash under Windows 98.
    ENH8446: Added grid Outline selection style which shows selection as a thick border around the cell rather than a solid block of colour.
    ENH8454: Allow the colour of the contrast border around KCML style controls to be changed independently of the form text colour.
2006-04-25 12115 REF8458: Fixed a potential crash when using oObject.Method(NUM(11.1)) style calls.
2006-04-27 12117 REF8461: Kwebserv could fail to read a HTTP header on AIX.
2006-04-28 12118 REF8465: When editing a form in KCML style KForm will use the same colour scheme as KClient.
2006-05-03 12123 REF8462: KI_DCOMP of a junk buffer would correctly error, but a subsequent dump was also possible
2006-05-05 12125 REF8476: Fixed a potential KClient crash during login.
2006-05-08 12128 REF8477: Fixed a drawing glitch on group-like tabs with a blank caption.
2006-05-12 12132 ENH: Use memory mapped codepage/Unicode conversion tables on Unix for $PACK(E="UTF8").
2006-05-22 12142 ENH: Fixed SSL support on Windows 2000 & AIX5.
2006-05-24 12144 REF8503: Allow the font size and name to be specified when using KClient text mode printing via SetPrinterFontSize and SetPrinterFontName methods.
2006-05-25 12145 REF8493: SQL ORDER BY was not working correctly with UNION (DISTINCT)
    REF8499: ODBC SQL set functions on integers did not handle NULL sets correctly
2006-06-05 12156 REF8512: When the connection broker is run from a startup script networking may not be immediately ready. In that case the broker will retry creating its listen socket.
2006-06-08 12159 REF8515: Don't validate SOAPAction HTTP header line in the SOAP server to improve interoperability with non-conformant clients.
2006-06-12 12163 ENH: Support doc/lit styles in SOAP server.
    REF8522: Fixed hang in connection broker.
2006-06-15 12166 ENH8531: On a unicode KClient external $Declares will only call the unicode version of the function if KCML is using UTF-8. This is to aid compatibility with older applications which may not be aware of the unicode Windows API.
2006-06-19 12170 ENH: Reduce memory usage of CALL XML_NEXT.
2006-06-21 12172 REF8538: Fixed an intermittent disconnect when logging in using a Pocket PC
2006-06-27 12178 REF8543: Added .Header$ property to set/get SOAP Headers.
2006-07-06 12187 REF8551: Improved Windows event log messages for KCML login failures.
2006-07-07 12188 REF8455: Improved connection broker reconnect times on Pocket PC when using a VPN over a GPRS link.
2006-07-10 12191 REF8552: A multi-column list box will automatically size its columns to fit the text.
2006-07-14 12195 REF8562: $RELEASE fn children were adding to the user count.
2006-07-17 12198 REF8565: LIMITS " ", s, e, c, rc would return an incorrect result on Unix.
2006-07-21 12202 REF8548: Where a virtual network device returns a bogus MAC address do not use this address to identify the client to KCML. If several client machines return the same MAC address then multiple KClient sessions on the affected machines will consume a licence slot for each session.
2006-07-28 12209 ENH: KI_STATFS was not always detecting NFS filesystems correctly.
    REF8582: Ctrl+char hotkeys did not work on the Pocket PC soft keyboard.
2006-08-01 12213 ENH8416: On Pocket PC support backing up of Today screen KClient connections to flash memory (if present). A re install will restore them in case the device lost power and data.
2006-08-04 12216 REF8587: Fixed a compatibility issue between KClient and Compuware QARun
2006-08-14 12226 REF8596: Kservadm running under an RDP session would not display KCML partitions.
    ENH: $OPEN, on Unix, will use $WORKSPACE for its temporary lock files.
    REF8592: XML_NEXT no longer redimensions the attribute value array to a size of zero.
2006-08-18 12230 ENH8600: Allow applications to force a large toolbar on a Pocket PC device using a new KClient forms method SmallScreenLargeToolBar. Usually a small toolbar is used to save space.
    REF7555: Fixed an intermittent problem on Windows XP where after minimising and restoring a form which had a child form, the child form would be disabled.
2006-08-23 12235 REF8610: $KEYBOARD remapping did not work when mapping to certain keys such as 'Reset'
    REF8611: $TRAN /001 had no effect if $KEYBOARD was set
2006-08-25 12237 REF8632: Fixed a potential crash in the connection broker
2006-08-29 12241 REF8631: KClient will never show a separator as the first item in a form's toolbar.
2006-09-01 12244 REF8636: Potential for installers to hang if denied registry access.
2006-09-06 12249 ENH: Added CALL KI_COMPFILE/KI_DCOMPFILE to compress/decompress a file directly.
2006-09-13 12256 REF8648: KI_CREATE of tables with huge index areas could fail.
2006-09-14 12257 ENH: Setting KCML_DEBUG_HANDLE gives extra LIST DT information for investigating application problems.
2006-09-18 12261 REF8653: Caseless pattern matching did not always work.
2006-09-21 12264 REF8656: KI_LOCK_OWNER could fail to report on a lock owned by last partition in $PSTAT.
2006-09-25 12268 ENH: Dropped the <soapstart> tag from kconf.xml and replaced it with a list of SOAP services. This allows a Connection Manager service to define more than one SOAP interface.
2006-09-26 12269 REF8660: SOAP client will now return a meaningful error message if it could not connect to the server.
2006-09-27 12270 REF8663: Kiodbc will now report an expired password to syslog.
2006-10-05 12278 ENH: Correctly sort access control lists when installing kconf.xml
    ENH: The Connection Manager's web server could generate a bad timestamp in the HTTP header.
2006-10-13 12286 REF7965: Support resizeable forms on Pocket PC devices. This allows the application to make better use of screen real estate when the user shows and hides the soft keyboard or changes the screen orientation.
    REF8662: Fixed a drawing problem on Pocket PC 2005 where a form could overlap the soft buttons at the bottom of the screen.
2006-10-27 12300 REF8711: Length limited dbedits did not always correctly limit text entry when using the non-Unicode KClient in multibyte character set locales.
2006-10-30 12303 REF8714: Unable to minimize a text mode application window.
2006-11-07 12303 REF8729: Fixed a potential grid drawing problem on 120 DPI displays.
2006-11-13 12317 REF8737: KClient failed to connect through a proxy tunnel that required authentication.
2006-11-15 12319 REF8745: Allow wider PID column for bkstat -a display.
2006-11-17 12321 ENH8736: Support IPv6 connectivity in KClient and KCML services on Windows platforms which support it.
2006-11-22 12326 REF8752: KCML server install program could hang if a service failed to stop.
2006-11-24 12328 REF8751: Fixed a crash on Windows if KCML is unable to create $PSTAT shared memory.
    REF8749: Fixed compatibility issues with Windows Vista and the KCML installer.
2006-11-27 12331 ENH8736: Added supprt for IPv6 sockets in the ODBC driver and Connection Manager.
2006-12-01 12335 REF8657: List boxes did not always show a scrollbar when required.
2006-12-07 12341 REF8767: Dbedit drop down lists appear in the correct position when the control is not in the primary display.
2006-12-14 12348 REF8774: If a SOAP method call failed with an O30 error it was not tidying up the return stack so, if enclosed in a loop, a subsequent BREAK would error.
2006-12-15 12349 REF8777: Workbench function browser didn't display the all the DEFSUB's in a library.
2007-01-02 13002 REF8788: Bkstat -a/-w will now show full user IDs.
2007-01-19 13019 ENH: Reduce number of Unix system calls during database I/O.
2007-01-24 13024 REF8816: On Pocket PC, when restoring Today screen KCML connections from flash confirm before overwriting any which have changed since the backup.
2007-01-31 13031 REF8825: Under certain circumstances it was possible for a button to receive the 'up' of a press on the spacebar, incorrectly clicking the button. Now require both the 'down' and 'up' of the keypress to click a button.
    REF8827: Fixed a minor grid redraw problem.
2007-02-01 13032 REF8829: Multi-line text sent to KCML from the client had 0x0D 0x0A line breaks instead of just 0x0D.
2007-02-05 13036 ENH: Windows versions of KCML now support files > 2Gb.
    REF8833: Extra long user names could cause the the client machine name to be misidentified during login resulting in KCML terminating with exit code 146.
2007-02-07 13038 ENH8837: Where a server and user name are set on the command line or in a shortcut the appropriate edits in the KClient login dialog are made read-only.
2007-02-08 13039 REF8834: Default installation directory is now C:\ADP\KCML.
2007-02-14 13045 REF8844: Allow restricted users to run KServadm with reduced functionality under Windows Vista
2007-02-16 13047 REF8848: $ALARM used to interrupt a SOAP CREATE was not recoverable in ERROR DO
2007-02-20 13051 REF8852: The 'Connect as user' option on a KClient desktop connection was broken.
2007-02-23 13054 REF8857: SOAP servers can now be licensed independently of from foreground sessions.
    REF8858: Fixed a drawing issue under KCML style with nested group boxes when one is hidden.
2007-02-28 13059 REF8856: Fixed a grid display issue using ShowSelection NoColor when the highlight text color and the cell's background color are similar.
2007-03-06 13065 ENH: Load kconf.xml etc by using memory mapping.
2007-03-07 13066 REF8869: ALL("") did not behave like ALL(" ")
2007-03-08 13067 REF8864: Using the non-Unicode KClient the EditForm() method could occasionally pass the form incorrectly to KForm.
2007-03-13 13072 REF8881: kwebserv -e mykconf.xml -s myService will now check a service's database catalogue, tablespaces and aliases lists.
2007-03-21 13080 ENH: Added a page to the Connection Manager that lists the members of a Unix group.
2007-03-30 13089 REF8899: Work around Unixware bug where shadow password strings are > 13 chars.
2007-04-04 13094 ENH: Use memory mapped heap on Solaris.
2007-04-10 13100 REF8902: The default panic directory for KCML was set by the installer to be the temporary directory of the installing user. Now it is under the common application data directory.
2007-04-13 13103 REF8907: Connection Manager could crash when attempting to authenticate on Solaris.
    REF7927: Fixed a potential problem identifying KClients connected via Windows Terminal Services.
    REF8909: Fixed a directory permissions problem with the licence server used by the Net WKCML product.
2007-04-16 13106 REF8910: Under Windows Vista the machine ID derived for licensing was not consistent with other versions of KCML.
2007-04-25 13115 ENH8855: Changes to the setup program:
  • Allow users without administrative rights to perform a private install of KClient.
  • Default installation folder is under 'Program Files' for an all-users install.
  • Files and directories are installed with sensible default permissions and limited users do not have write access. Instead of upgrading the all-users install, limited users will install their own private copy.
2007-04-27 13117 REF8922: The Connection Manager would fail to load a page if its filename contained a '+' character.
2007-05-08 13123 ENH: Added support for OASIS Web Service Security on outgoing SOAP client messages.
2007-05-10 13129 REF8931: Large variable display could fail to display a scroll bar.
2007-05-15 13135 REF8938: Limit the number of SOAP instances with $KCML_SOAP_LIC.
    ENH: Allow for longer documentation strings in SOAP WSDL
    ENH: Speed up panic directory listsing in KservAdm and the Connection Manager.
2007-05-16 13136 REF8940: The Connection Broker is now shipped in Unix IMAGE files.
2007-05-18 13138 REF8943: Fixed potential problem recreating library code.
2007-05-21 13141 REF8944: $OPEN would fail on Windows 95/98/Me
2007-05-23 13143 ENH: Load lic.txt by using memory mapping.
2007-06-04 13155 ENH8962: Added ReadOnly property to the Rich Edit control.
2007-06-05 13156 REF8966: Connection Manager was ignoring a user's PW_NOCHECK flag on AIX.
2007-06-12 13163 REF8973: Graphs were not correctly redrawn after updating axis labels or legends.
2007-06-14 13165 REF8979: Fixed bad WSDL format.
2007-06-19 13170 REF8982: Expired password check for /etc/shadow was a day late.
2007-07-03 13184 REF8991: Fixed text corruption in dbedits in locales using the Windows input method editor.
2007-07-10 13191 REF9000: Problems starting KCML connections under Windows Vista
2007-07-13 13194 REF9008: Setting text-mode text color had no effect unless at least the background color was also set at the same time.
2007-07-18 13199 REF8751: Direct KCML sessions were unable to create $PSTAT shared memory under Windows Vista.
2007-07-19 13200 REF9014: 132 column text mode switch did not work if the application was interrupted and re-run without switching back to 80 column mode first.
2007-07-24 13205 REF9015: Fixed to work under x64 MS Windows.
    ENH: Enhancements to the Connection Manager's administration pages:
  • Duplicate entries in TERMFILE are now highlighted.
  • Added a page to display processor load on HPUX11, AIX5, Linux and Windows (XP onwards).
  • Allow user to specify the range of syslog records to search through.
  • Allow user to specify the maximum size of the result set when searching a syslog.
  • Use memory mapping to speed up the parsing of a Unix syslog.
  • Process info page now shows memory map stats on Linux.
  • Panic directory listing shows the program name.
2007-07-30 13211 ENH9019: Better protection against corrupt entries in KClient's cache.
2007-07-31 13212 REF9020: Double click events could be unreliable over slow networks when a toolbar is present on the form.
2007-08-02 13214 REF9022: Maximum $BREAK delay is no longer restricted to +255.
Fixed misleading error messages for P34.1 and P34.2 errors.
    REF9023: PANIC in SOAP method did not terminate KCML
    ENH9024: Added EnableUserPreferences KClient COM method to allow or deny the user access to KClient's preferences settings.
2007-08-13 13225 REF8584: A menu item could still be actioned by hot key even when one of its ancestors was disabled.
2007-08-22 13234 REF9039: Use PAM authentication on AIX5.3 or later.
    REF9036: The kcmlinst script now updates /etc/pam.conf on AIX5.3 with rules for the Connection Manager.
2007-09-03 13246 ENH: Fixed potential buffer overrun in UTF-8 $UPPER.
2007-09-06 13249 REF9046: Installer setting incorrect permissions on non English systems.
2007-09-07 13250 REF9047: The Connection Manager could hang when servicing a request from a simple HTTP client.
    ENH: Memory allocation errors from REDIM are now recoverable.
2007-09-12 13255 ENH: The Connection Manager's web server now uses memory mapping to read files.
2007-09-17 13260 REF9051: When passing contatenated strings into a DEFSUB with a presized string argument, don't ignore the original size.
2007-09-24 13267 REF9058: Color depth issues displaying Jpeg images on Pocket PCs
2007-09-25 13268 ENH9056: Added CameraCapture KClient COM method to access the camera on Windows Mobile 5 devices so equipped.
    REF9060: Fix potential KClient crash related to editgroups.
2007-09-26 13269 REF9061: KClient GPF report in a PANIC file could be truncated.
2007-10-02 13275 REF9050: Value labels on bar charts could sometimes be clipped.
    REF9052: Pressing the Cancel button on a form after changing the text in an edit failed to restore the edit's text to its previous value.
2007-10-23 13296 REF9075: More robust detection of KClient in the Connection Manager.
2007-11-06 13310 REF9080: Report write failures, caused by insufficient disk space, to the system log.
2007-11-08 13312 ENH: The Connection Manager can now display syslog messages that have been redirected to the AIX error log.
2007-11-13 13317 REF8216: Potential fix for running out of licences when starting lots of background processes.
2007-11-22 13326 ENH: Added code-page map tables for Arabic, Greek, Baltic and Cyrillic character sets.
2007-12-04 13338 REF8013: Changing the image on an expanded tree item had no effect until the node was collapsed.
2007-12-06 13340 REF8317: When editing a grid cell the text alignment property of the cell is honoured.
2007-12-11 13345 REF9094: Right-aligned plain text dbedits line up correctly with right-aligned numeric dbedits.
2008-01-11 14011 REF9107: Connection broker could fail with an unhandled SIGPIPE signal in some circumstances.
    REF9106: KCML SOAP server will now reply with a SOAP error when terminating abnormally.
2008-01-14 14014 ENH: A KCML SOAP server that is waiting for a request will now have a $PSTAT DEV value of HEX(FA).
    REF9109: SOAP CREATE failed if the WSDL location is specified using an absolute path under UNIX.
2008-01-15 14015 REF9112: Could crash when parsing a kconf.xml whose size was an exact multiple of the system's page size.
2008-01-24 14024 REF9120: If kplicserver -r fails to send a refresh packet to the broadcast address, try sending the packet to localhost instead.
2008-01-25 14025 ENH9070: Support Transport Layer Security (TLS/SSL) between KClient and KCML.
2008-01-28 14028 REF9125: Fixed a problem programatically setting a form's width/height after the form had been resized by the user.
2008-01-30 14030 REF9127: Avoid $PSTAT locks while communicating with the client.
2008-02-04 14035 REF9129: KClient could sometimes fail to display a GUI prompt when a password had expired.
2008-02-05 14036 REF9131: The Connection Manager could set a corrupt value of $SERVER_NAME.
2008-02-08 14039 REF9135: The Remote Licence Daemon prevented the KPrint Editor starting if the licence file had no queues.
2008-02-13 14044 REF9138: BIN() would return inconsistent results when a number was too large.
2008-02-28 14059 REF9148: If an existing picture file was overwritten at the server it was possible that the updated image would not be sent to KClient.
2008-03-03 14063 REF9150: Only create a Unix pseudo-tty in SHELL when bit 8 in byte 37 of $OPTIONS RUN is set.
2008-03-06 14066 REF9149: Don't parse types schema in literal mode.
2008-03-27 14087 REF9185: Problem with LIBRARY REMOVE ALL.
2008-03-28 14088 REF9114: Trim trailing space to object SOAP create URL.
2008-04-01 14092 REF9188: Very rarely, KCML could crash closing a tree control.
2008-04-02 14093 REF9189: The setup dialogue for the ODBC driver could be confused by simliar database names.
2008-04-03 14094 REF9191: Allow $DECLARE on KClient to support the non-standard calling convention used by MS Visual Studio rather the proper WINAPI covention by appending '!' to the function name, e.g. $DECLARE 'CCall()="Module.Function!"
2008-04-04 14095 REF9192: Ignore PANIC/broadcast message signal when SHELL'ing a child process.
    ENH: The SOAP server will now set the LastAccess timestamp in $PSTAT when it processes a request.
2008-04-07 14098 REF9193: Failed to authenticate with PAM on HP-UX 11.11.
2008-04-15 14106 REF9204: Default fixed-pitch form font was incorrectly set to 'Courier New' for all locales.
2008-04-17 14108 REF9140: Fixed a grid repaint problem when scrollbars are removed and added in the same event to a grid that has stretched columns.
2008-04-22 14113 REF9210: Fixed partial licence expiry in kiodbc.
2008-04-23 14114 REF9215: Fixed case HTTP header token.
2008-04-30 14121 ENH9220: KClient displays messages such as password expiry warnings received at login in a balloon tooltip in the notification area. These tooltips are only supported in Windows 2000 and better or Pocket PC.
2008-05-16 14137 REF9235: Fixed a crash if the Ctrl key was held down when moving the mouse wheel with focus inside a dbedit with scroll bars.
2008-05-28 14149 REF9241: $PRINTF was not expanding \x00.
    REF9232: More support for Web Service Security. Allows interfacing with MS.net SOAP services using WSE 3.0
2008-05-30 14151 ENH: Added execution profiling timers 'KCMLStartExecTimer() & 'KCMLStopExecTimer().
2008-06-03 14155 REF9246: PersistFormSize incorrectly remembered the sizes of child forms. Only top level form sizes should be persisted.
2008-06-06 14158 REF9248: Cached WSDL from a persistent SOAP server could be out of date.
    REF9254: Fixed memory overwrite parsing XML via Expat.
2008-06-11 14163 REF9258: The 'Connect via' dropdown on the Options page of a desktop KCML connection's properties could be placed incorrectly.
2008-06-12 14164 REF9259: A blank form title could display garbage text under some circumstances.
2008-06-25 14177 REF9275: Missing namespace prefix on some SOAP requests.
    ENH: Global library partitions now show, in $PSTAT, how much memory they have used instead of their maximum size.
2008-06-30 14182 ENH: Connection Manager now supports CIDR masks in the <validclients> ACL.
    ENH: Use memory mapped heap on AIX4.3
    REF9280: Fixed bogus "not compiled for this operating system" error message when installing KCML on some Linux systems.
2008-07-07 14189 REF9283: Cancelling a form while entering text into a dbedit will not clear the edit's text so long as it has no Validate() event. This allows the cancel to be rejected and editing to continue.
2008-07-24 14206 REF9299: KClient not honouring text mode printing setting in user preferences.
2008-07-25 14207 ENH9301: Allow a form to be created invisible and then shown later.
2008-08-01 14214 REF9312: Fixed a potential crash when scrolling a grid.
2008-08-04 14217 REF9313: Fixed SOAP transport over HTTP for 'Chunked' encoding.
    REF9231: SOAP client now supports SSL via a basic HTTP proxy.
2008-08-06 14219 ENH: The Remote Licence Daemon now supports CIDR masks in the <validclients> ACL.
2008-09-10 14254 REF9348: Increase the maximum number of children per parent node in kconf.xml to 10000.
    ENH9317: If a dbedit has a Type$ that specifies a number of lines and the WrapText property is set then the control will word wrap based on Type$
2008-09-12 14256 REF9346: Fixed potential crash in dbedit currency conversion code.
2008-09-15 14259 REF9354: Increased method parameter limit.
2008-09-16 14260 ENH9337: Added support for AES, DES, MD5 and SHA-1 encryption.
2008-10-21 14295 ENH9384: In VT220 mode when dynamic screen sizing is not enabled the font will scale to fill the display.
2008-10-29 14303 REF9398: Fix a potential crash switching between two instances of KClient.
2008-10-30 14304 REF9365: SOAP client support for HTTP redirect headers.
2008-11-06 14311 REF9404: Fixed problems minimizing when mixing forms with text windows.
2008-11-21 14326 ENH: Added ODBC -q -u flags
2008-11-26 14331 REF9416: $RELEASE fn children were adding to the [KClient] user count
2008-12-30 14365 ENH: Added KDB6 ROWID checking
2008-12-30 14365 ENH: Added KDB6 per-file-journal
2009-01-08 15008 REF9428: Fixed potential infinite loop after COM CLEAR varname or LIBRARY REMOVE.
2009-01-12 15012 REF9431: Include workload partition (WPAR) key, if available, in the machine ID for AIX6.
2009-01-21 15021 REF9438: The Connection Manager could consume an excessive amout of processor time if the network failed while a user was authenticating.
2009-01-27 15027 REF9509: COM CLEAR / LOAD RUN
2009-02-02 15033 TS_PD/9515: Allow applications to start SSL on an existing plain socket.
2009-02-09 15040 REF9519: Problem editing CVS conflicts in the workbench.
2009-02-12 15043 TS_DB/9525: The Connection Manager could fail to authenticate when using a combination of KClient's "Application Command Line" option and a fully qualified hostname.
2009-02-18 15049 REF9530: Pressing the delete key in a dbedit with a description could sometimes remove two characters.
2009-02-19 15050 REF9528: Fixed workbench cursor problem with very long lines.
2009-02-26 15057 REF6830, 9537: Fixed crash with autoedit and datafield$ set on grid.
    ENH: Improved tooltipping of objects representing items on form controls such as listbox items, tree items and tab pages.
2009-02-27 15058 REF9538: Produce workaround for applications that close forms in the Idle event to suppress all subsequent events on the form exceot for the Exit event. This allows for the fact that the form is still active during an Idle event and so user activity can raise events.
2009-03-02 15061 REF9541: Stripping the xml prefix twice from SOAP server arguments.
2009-03-16 15075 REF9550: More robust handling of corrupt/invalid icons in KClient.
2009-03-20 15079 TS_PD/9517: SOAP Server chunked transfer encoding support
2009-03-26 15085 REF9554: Fixed the install script to create suitable PAM configuration files for RedHat ES5.
2009-03-30 15089 REF9560: Fixed a login problem when using escaped characters in a Bookmark string.
    REF9561: Fixed a problem printing Thai characters from KClient
    REF9521: Rendering Thai text incorrectly when using a fixed-pitch font.
2009-04-03 15093 REF9566: Set LD_LIBRARY_PATH in the xinetd.d configuration files so that we always load the correct shared libraries.
    ENH: Fixed the install script to create suitable PAM configuration files for SuSE & Ubuntu.
2009-04-08 15098 REF9568: Fixed a KClient crash where a form that was terminated in its Enter() event was replaced by a text window. The crash would occur after repeating this process twice.
    ENH: Better checks for corrupt KDB7 tables
2009-04-09 15099 ENH9391: SOAP client supports decoding of gzip/deflate encoded bodies.
    TS_DB/9571: Fixed crash in workbench search.
2009-04-28 15118 ENH: SOAP server supports gzip/deflate encoding of responses.
2009-04-29 15119 REF9585: Fixed crash in $PRINTF
2009-04-30 15120 ENH9526: Form tooltips now work under Wine
2009-05-01 15121 REF9587: Fixed potential grid crash in auto-edit cells with drop down lists.
2009-05-07 15127 REF9592: $LOGNAME was not correct for SOAP servers on AIX.
2009-05-08 15128 REF9596: Fixed HTTP 1.0 support in SOAP server.
2009-05-14 15134 REF9607: Fixed poor performance on SSL connections.
2009-05-15 15135 REF9608: Could sometimes fail to action a double click event when connected by a slow link such as dial-up or a VPN.
2009-05-18 15138 REF9610: Support OCX expressions such as oControl.ocxprop1.ocxprop2 as well as form.control.ocxprop1.ocxprop2
2009-05-26 15146 REF9521: Rendering Thai text incorrectly when using a fixed-pitch font.
2009-06-04 15155 REF9644: XML_CLOSE did not close the handle if XML_NEXT had not been called.
    REF9640: The AddEvent method can be used on tab pages.
    REF9642: Fixed race condition when utilities access $PSTAT.
2009-06-05 15156 REF9648: An event raised by an OCX when the form is in a terminating mode is now ignored.
2009-06-08 15159 REF9647: When shelling out to a VT100 text mode application the num-pad enter key did not work.
2009-06-12 15163 REF9110: Defer sending RowRequests from a grid on a form that is busy.
    ENH9612: Grid right-click copy to clipboard feature will first fill the grid if DataPending is set.
2009-06-17 15168 REF9652: A secure network connection could be dropped when a KCML process received a signal.
2009-06-19 15170 REF9654: $ERR could truncate long error messages.
2009-07-10 15191 REF9669: Secure socket reads could fail under Windows.
2009-07-17 15198 REF9673: Use CP*.map tables to convert strings passed to/from Xerces when in codepage mode.
2009-08-03 15215 REF9679: Parse the config file when requesting a WSDL.
2009-08-04 15216 REF7686: Fixed running bkstat from the pseudo-tty shell, also support interrupt, suspend and EOF control keys.
2009-08-24 15236 REF9691: Problem displaying controls in an editgroup association chain if the first group in the chain was empty.
2009-10-8 15281 REF9519: Support TOCONN/TOREAD for SOAP objects.
2009-10-13 15286 ENH9740: Added KClient $DECLARE KCMLEnableGridCopy(INT()) to disable grid copy to clipboard feature
2009-10-19 15292 REF9732: ODBC could only use IFNULL( in single column SELECT
2009-10-21 15294 REF9737: Problem breaking into code during a $DECLARE
2009-11-02 15306 REF9767: Fixed problem extending KDB type 6 tables beyond 4Gb.
    REF9764: Fixed hang in the SOAP client.
2009-11-16 15320 REF9762: Broadcast message corrupting workbench lines.
2009-11-30 15334 REF9802: Connection Manager no longer downloads text files as HTML.
2009-12-23 15357 ENH: Enable secure SSL/TLS sockets on legacy systems.
    REF9823: Seed OpenSSL's random number generator on legacy systems.
2009-12-24 15358 REF9826: Fixed a problem where a trap on a variable with a conditional test could crash when executing.
2010-01-12 16012 REF9832: $HELP path was limited to 95 characters.
2010-01-13 16013 REF9834: Fixed SSL connections under Windows. Could supply wrong credentials.
2010-01-20 16020 REF9844: Fixed problem loading SSL libraries on OpenSuSE Linux.
2010-02-03 16034 REF9859: Expand the login 'new password' dialog if there is a large amount of descriptive text.
2010-02-09 16040 REF9854: KI_DF & KI_STATFS now supports file systems upto 4TB.
2010-02-15 16046 REF9869: Keyboard acceleration and tabbing through a form could sometimes not work correctly after a toolbar has been shown.
2010-03-09 16068 REF9890: Support changing a toolbar image after the toolbar has been shown.
2010-03-10 16069 ENH9892: Make tabbing in a form skip any read-only controls.
2010-03-12 16071 REF9896: Incorrect text in error messages from kservadm.exe.
2010-03-17 16076 REF9551: If a dbedit has both a Type$ with a non-zero scale and WrapText set show a vertical scroll bar.
2010-03-31 16090 REF9910: Fixed KClient crash printing large amounts of text to the clipboard.
2010-04-09 16099 ENH: Retrofit of Chinese DBCS word parsing logic from KCML 6.90.
2010-05-04 16124 REF9937: Fixed SIG_PIPE errors not being trapped on Linux (could lead to program termination).
2010-05-27 16147 REF9961: Fixed a potential problem where a parent form could send an event to the KCML of a child form running in a $RELEASE'd partition.
2010-06-09 16160 ENH: Retrofit of DBCS_WORD_LEN env var to enable Chinese Word search. Fix for problem with Chinese WS failing in KI_WS_READ. Include runs of digits before and after DBCS strings as candidates for inclusion in the string.
2010-06-25 16176 REF9974: Fixed hang making SOAP client calls over SSL connections.
2010-06-28 16179 REF9981: Clicking the web link in KClient's 'About' dialog could open many web browser tabs.
2010-07-16 16197 REF9995: kwebserv -i did not set umask from $UMASK environment variable.
    REF9996: Install script for kplicserver could get the filename of the boot script wrong on RedHat ES 5.4
2010-07-19 16200 REF9998: Fixed spurious X79.23 error when starting kcml for the first time.
    REF9999: Fixed a redraw problem when setting the text or changing pages of a groupbox style tab control.
2010-07-22 16203 REF9982: Fixed race condition in SHELL which could lead to a hang.
2010-07-26 16207 REF10008: Installing KCML into a new directory could overwrite .kcmlLogin files.
2010-08-04 16216 REF10017: Fixed SOAP server memory leak.
    ENH: Added -z option to AIX5.2 version of kwebserv to add /opt/freeware/lib to $LIBPATH and the re-exec itself so that it inherits the correct value of the environment variable. Required when using secure KClient connections on AIX5.3 with OpenSSL 0.9.7 & 0.9.8 installed.
2010-08-10 16222 REF10021: Fixed a focus problem when a form is a child of an invisible form.
2010-08-17 16229 REF10026: SOAP server could return incorrect namespace.
2010-08-23 16235 REF10031: Register kplicserver's boot script with yast on OpenSuSE 11.
2010-09-01 16244 REF10020: Changing a dbedit's Type$ property did not redraw the control.
2010-09-10 16253 REF10058: Do not add symbolic link for a start script to /etc/rc6.d.
2010-09-14 16257 REF10059: If a graph had a slow Click event a double click could be lost.
2010-09-23 16266 REF10066: KClient resource leak when hiding a popup menu.
    REF10086: Fixed a potential connection problem when using $RELEASE on an encrypted connection.
2010-11-10 16314 REF10102: Children of $RELEASE could have an incorrect value of the $PSTAT 'P' column.
2010-11-16 16320 REF10091: Support MS .Net 4 WS-Security for SOAP client.
2010-11-19 16323 REF10113: Fixed HTTP redirects.
2010-11-26 16330 REF10121: Fixed HTTP redirects.
    REF10120: kiodbc could incorrectly return a NULL column when using WHERE clause.
    REF10123: Register kplicserver's boot script using update-rc.d on Debian.
2010-12-22 16349 REF10132: Allow a NUMERIC scale of up to 7 (rather than 6) in SQL CREATE TABLE statements. Fixes an ODBC issue with preexisting tables that expect 7 digits.
2010-12-23 16357 REF10134: The domain and the computer name are used to uniquely identify the machine to the kiodbc licensing, but some logins such as the SYSTEM account were not identifying the normal domain name.
2011-01-24 17024 Miscellaneous licencing fixes.
2011-01-25 17025 REF10147: Added ability to set cookies for the SOAP client object.
2011-01-27 17027 REF10153: Generate a UUID for the WS-Addressing message id.
2011-02-08 17039 REF10168: SHELL command could occasionally hang on AIX.
2011-02-15 17046 REF10178: Could not view database table information from the Connection Manager.
    REF10176: Allow custom HTTP headers to be added to SOAP request.
2011-02-25 17056 REF10183: ODBC could fail to load column information on large database tables.
2011-02-28 17059 REF10184: Fixed a problem where in certain cases a KI_WS_READ on AIX systems only could take a very long time.
2011-03-16 17075 REF10199: Fixed crash in SOAP Security XML parser.
2011-03-22 17081 REF10201: On Windows Mobile devices after clicking on the scroll bar of a large dbedit dropdown list clicking away from the list did not dismiss it.
2011-03-24 17083 REF9824, 10080: Escape XML entities when updating kconf.xml
    REF10207: Extra sanity checks when attempting to load a malformed icon.
2011-03-25 17084 ENH10192: Allow KClient alternative currency mode to be set via SetAltCurrencyMode client COM method.
2011-03-28 17087 REF10213: Files & directories on Windows are now created with a valid ACL.
2011-04-07 17097 REF10222: The Windows Mobile version of KClient can display 32 bit per pixel icons although it does not support the alpha channel.
2011-04-12 17102 REF10224: If currency enabled dbedits were present only on a tab page not yet visible the form would not enable alternative currency mode until the tab page was shown.
    ENH: Connection Manager can now show processor load on Solaris.
2011-05-04 17124 REF10239: Dragging a grid control's scroll bar thumb didn't work when there were more than 65536 rows.
2011-05-12 17132 ENH: Compatibility fixes Ubuntu 11.
  • Install script would produce a warning when it restarted xinetd
  • Server-side $DECLAREs of C-runtime APIs would fail
    ENH: The kcmlinst script was not configuring /etc/pam.conf when installing KCML compiled for AIX5.3.
2011-05-16 17136 REF10246: A KCML lic.txt containing a DEALER section with users=14 will no longer permit access to the workbench unless the KClient has a correct client support licence.