Version Release Most important improvements (excerpt)
1.1.56 beta 18.03.24 openABK: Fixed wrong value calculation when null value needs factor and offset. Now bypassing factor and offset calculations in this case. Value tables: Now bypassing the value-translation-table when untranslated value is an empty value. This no longer results in the tables default entity output.
1.1.55 beta 29.02.24 Changed decision whether showing the on-screen display from number of attached keyboards to touch activity detection.
Now ignoring some known keyboard devices in the enumeration process, which are known as being no appropriate substitute for the on-screen keyboard.
Button-Widget: Suppressing auto-repeat feature for the "Open File" action; i.e., when opening a .pdf file with auto-repeat, the readers window would catch the button release event and the button would fire endlessly, resulting in a live-lock.
1.1.54 beta 17.02.24 Some performance optimization when synchronizing variables to openABK server. openABK: When synchronizing the variables to the openABK server, now also searching in the local variables. This fixes the experience of double variables (one unconnected in local vars and one newly created and connected to openABK server) when holding the variables locally
List widget: Fixed remaining hourglass symbol even if no auto-fill with variables were activated.
Data logging, CSV export: Added the option to insert a time column into the exported CSV file.
Data Logging: Fixed inaccuracy in the cycle time.
System Values: Fixed inaccuracy in providing the up time.
1.1.53 beta 13.01.24 No relevant changes, changes in code base only affect CANDICE devices.
1.1.52 beta 09.11.23 Fixed wrong coordinate calculation of widgets which were created from templates when resizing the application window.
Widget docking on right, top, left and bottom now implies centering on the respective edge
1.1.51 30.10.23 Skipped, changes in code base only affect CANDICE devices.
1.1.50 17.08.23 Skipped, changes in code base only affect CANDICE devices.
1.1.49 beta 03.08.23 Tab-Widget, user settings: Added option to suppress restoring pages with close button (non-locked) which came from the template pool (customer requirement)
User settings, importing from file: Fixed restriction to HKCU (now only importing to HKCU and descendants and discarding other content)
1.1.48 beta 03.07.23 Restoring user settings: Fixed missing of creation of a tab when moving a copied page left to it's template.
openABK: Increased acceptance of long-polling response time from 2.0 s to 3.0 s, giving some extra headroom
openABK: Starting a temporary connection with retries in order to avoid later using zombie TCP connections with the same ephemeral ports from a previous run.
1.1.47 beta 23.05.23 Fixed loss/overwrite (appeared with 1.1.44) of display name of variables with no language encoding in their display names
1.1.46 beta 10.05.23 No relevant changes
1.1.45 beta 09.05.23 openABK: Fixed loss of video/jpg data.
1.1.44 beta 25.04.23 Variable value-table: Default table translation now passes-through the value rather than emitting an empty string. Also applies when openABK defines no or an empty value table without a fall-back string.
Variable selector dialog: Fixed and now supporting initial tag with "!" prefix for inverting the tag meaning
Tab-widget, user settings: Now supporting restoration of page widgets which were opened from the template pool. Note: Not supporting open arguments when restoring.
Optimized the term interpreter pre-compiled code for better memory efficiency.
openABK connection progress: Now querying the meta data in a segmented way in order to reduce bulkiness of meta data answer.
openABK connections: When generating variables, the meta data cells are initialized without storing the expressions, hence saving memory.
openABK user settings restricted to the user settings section of the registry
Color Table: Now pre-checking syntax for delimiters and optimized memory allocation when building
Options: Rejecting invalid color table settings when loading the options
Language meta data optimized for memory consumption
Variables: Now abandoning the language-meta-properties if no language is specified in order to save memory
Variable base: Removed rtti in order to save memory
openABK connection: Optimized for memory consumption by removing redundant information.
openABK alerts: Added workaround when limit alert provides a string type frozen value by converting it to a numerical value. Fixes wrong number of fractional digits in alert widgets.
Added capability to run a macro from EMBU-Chart command line.
Added AutoRun macro capability.
Added the built-in function ExtractValueFb() which tries to extract a value from a string and providing a fall-back option
Now storing night mode persistently to registry.
1.1.43 15.03.23 Optimized color table, data cells and properties for memory consumption.
List-widget: Now removing auto-filled rows temporarily when widget is completely covered by other windows. Reduces memory consumption.
1.1.42 Skipped since no relevant changes
1.1.41 08.02.23 Border color now treated as foreground item rather than a background item in night mode.
Limit Alert Widget: Fixed wrong retrieval of variable when setting fractional digits. Now searching for variable by server-side name (previously searched with server-side name within client-side variable names).
1.1.40 09.12.22 Added user log feature (log widget, log actions).
Added capability to highlight a selected row in the list widget
Now showing a brain icon when preselecting a variable from within a list widget
Fixed selection of wrong row when opening context menu in list widget
Fixed potential hang when loading layout with inconsistent list widget
Fixed missing application of factor and offset for the frozen value of an openABK LimitAlert
Fixed potential crash when connecting to openABK by specifying the IP address
Fixed sorting being applied to first unnamed column when no sorting was required
Changed date formatting to use system locale settings, e.g. when displaying a data in a text widget.
1.1.39 11.11.22 Now sending HW and FW revision info when connecting to openABK server
Fixed decoding of color tables when they contain nan (not a number)
Added new feature: Value lookup table in variables
Text-Widget: Added a decoding option for language-extraction
Added the ExtractValue() built-in function for extracting the first value out of a string
Fixed representation of nan (not a number), now showing the special value string defined in the options rather than "nan".
1.1.38 07.10.22 Recompile, no relevant changes.
1.1.37 01.08.22 Recompile due to data logging feature, even it is not available on PC desktop versions.
Numeric-Formatter: Removed usage of extern font, fixes crashes in some list widget configurations
1.1.35 21.03.22 Edit widget: Fixed missing update of the edit control when creating an openABK form.
Form widget: Fixed division by zero when creating openABK form where all controls are predefined by the template.
1.1.34 21.03.22 Fixed discarding of openABK server event when time is 01th January 1970
Fixed openABK event loss when multiple events per long-polling cycle
Fixed missing combo list elements when statically filled
1.1.33 07.03.22 Added capability to override the special-value tokens by the app.
List-widget: When refilling it due to filtering, restoring scroll position to first line.
1.1.32 10.02.22 Close Widget action: Now hiding non-implicitly created widgets instead of deleting them
Variable select dialog: Changed for tag selection dialog with multi-selection
List-widget: Added tag filter
Tag filter dialog: Changed from exact to weak filtering (case-insensitive and numeric comparison, e.g. Abc01 matches abc1)
1.1.31 18.12.21 Fixed missing consumption of local key event when it is handled in an event monitor.
1.1.30 20.11.21

Fixed missing action when context panel button (i.e. used for a list widget) gets actuated by touch input
Fixed image moire pattern when scaling-down large images by more than 1:16

1.1.29 02.11.21

Tab-widget, user settings: No longer restoring the captions of pages when caption changed in layout. Removes irritation of users that captions do not change in EMBU-Chart after editing them in EMBU-Sketch (since they are stored in EMBU-Chart user settings)
Installer: Updated merge modules from V12.0 to V14.29
Added severity value calculation
DataCell: changed state from (valid/invalid) to (valid/invalid/external changed). Now allows to set values from e.g. actions without destroying the expression. Externally changed data cells will not be changed when re-compiling.
Now writing a file for severity emission
Actions: Added page browsing action
Tab-Widget: Added methods for selecting pages by absolute index and relative iteration
openABK FW-Download: Now storing in Appdata\Local and no longer trying to run the downloaded firmware file immediately
openABK FW-Download: Now testing a punched version of the file for MD5 matching in order to skip the download
Numeric values: Changed default string for empty values from " " to "*"

1.1.28 01.07.21

openABK: Fixed missing data transfer of variables (long-poll thread now starting after DAQs are uploaded completely)
openABK: Now deleting downloaded file in case of an partial download with error
openABK: Increased auxiliary request time-out from 500 to 2000 ms. Fixes abortion with large number of variables
openABK: Fixed missing output of session id in error log output

1.1.27 10.06.21 Implemented PKPA2000 window when back-light is off
DocMenu widget: Fixed missing painting of non-populated areas
Added auto-start option
openABK: Delayed document download from 2 to 10 seconds after connection established
User settings and options: Now using profile name rather than app name for storing in registry, fixes potential issues when running in multiple instances
Button widget: When font shrinking selected, now calculating icon size for the unscaled font rather than the shrunk font
Button widget: When font shrinking selected, now calculating font size before drawing rather drawing for each shrink attempt
Pop-up widget: Fixed erroneous error return value when executing the Show() method. Fixes potential abortion of macros
Variable widget: Now serializing user settings when one of the SelectNext() or SelectPrev() methods were invoked
PKPA2000 device: Screen-on now working for a) actions and b) alert widget
PKPA2000 device: Now ignoring the built-in keyboard when deciding whether to show the on-screen keyboard
1.1.26 08.05.21 No relevant changes
1.1.25 05.05.21 openABK: Fixed misinterpreting "." or ".." directories as valid document folders
openABK: Now exposing document download progress and document availability
Button widget: Now invoking re-draw if font size shrunk
List-widget: Now initializing the row count data cell to 0
Pop-up widget: Added the Show and hide methods
Action and action-macros: Fixed abortion due to missing setting of success flag for the actions a) reset alert states, b) reset min/max/avg and c) screen on
openABK document unzipping: Now treating file names in zip archive as IBM437/ASCII rather than UTF-8, this fixes wrong file names with e.g. German umlaut.
1.1.24 19.04.21 Fixed variable widget name member being formatted as ="<name>"
openABK: Disabled directory change watching while reading and restarting layout app. Fixes very long load time due to congestion
Re-factored cloning a widget, fixes wrong geometry when aspect ratio is different from design time
List-Widget: Fixed wrong column widths when cloning pages after user changed column widths
Button-Widget: Now lowering the relative icon size makes room for more text
Fixed missing icon when cloning pages with icon
When creating widget from template, now recompiling root instead of widget branch. Results in less overall compilation effort
Loading widget from template: Fixed coordinate issues (i.e. creating a zero-sized page)
1.1.23 10.04.21 Button widget: Added relative image size property
Button widget: Now checking whether button is still alive after firing an action
Button widget: Fixing potential problem when button closes and a confirmation message needs to be shown
DocMenu widget: No longer overriding the close property for open document button
ABK: Now deleting documents locally when openABK server does not provide a document archive
1.1.22 29.03.21 openAbk: Now downloading and unzipping documents
Button-Widget: Added option to shrink font when text does not fit in area
Now closing CandicePdf.exe when openABK limit alert or audio-recording event occurs
Added "Open-File" action
Now implemented open arguments as data cells
Fixed wrong scaling when padding is greater than zero
Introduced Document Menu widget type (used to navigate and open by given file/directory structure)
Added option to select audio endpoint for volume and mute control
Now filtering-out VK_VOLUME_DOWN, VK_VOLUME_UP when routing to openABK server
1.1.21 01.03.21 Fixed rarely hangs when widget is created by data change event.
1.1.20 22.02.21 User-settings read: Fixed parsing abortion due to max line length constraint in .ini files.
openABK: Implemented dynamic discovery of server with fixed IP address/port specification
openABK: When disconnecting from server, now clearing the values at the variables that are no longer connected to the server
Now Amending firmware version info when server provides version with three number blocks
User settings: Now ignoring the app directory when importing or exporting user settings
List-widget: Fixed wrong log file entry when variable ordering conciliation mismatches occurred
List-widget: Removed redundant re-filling after loading user settings
1.1.19 16.02.21 SysValues: Maintaining brightness setting for special target handling
Variable ordering for list-widget: Now counting non-matching items in Conciliate() method
File-list-widget: Fixed unwanted clearing of value i.e. when user enters a file name by means of an Edit-Widget
List-widget: Dumping unmatched items to the log file when variable ordering is restored
List-widget: Now clearing lexicographical sorting when restoring variable ordering from user setting
Tab-widget: When restoring user settings, now restoring the docnodes rather than only setting widget z-positions
Implemented detection of target for later target-specific handling of several items
1.1.18 02.02.21 Variable widget: No longer reading/writing user setting when option disallows it
Fixed wrong padding and border width when layout changes in size
Extent-Property: Optimized scaling for extents of value 0
Fixed missing initialization of controls which are not coming from templates
File-List-Widget: Added vertical scrollbar option
File-List-Widget: Now allowing ambiguous extension in file filter.
File-List-Widget: Now showing files in ascending-sorted order
ColorTable: Fixed missing acceptance of elder expressions in quotes
1.1.17 28.11.20 AudioRecorderWidget: Reversed bar color of recording elapsed time
1.1.16 14.11.20 openABK: Added an option to ignore the maximum audio recording length specification of the server
1.1.15 09.11.20 Audio-Recording Widget: Now keeping openABK links when recording stops. Effectively allows re-recording with same ID.
1.1.14 30.10.20 Audio Recording Widget: Now exposing the current mode
1.1.13 24.10.20 Audio Recording Widget: Added option for large playback symbol
1.1.12 09.10.20 CAN Rx: Fixed missing sign extension for signed data
List-Widget: Added fractional digits option to each column
Audio recording widget: Fixed missing deferred loading of custom images
1.1.11 08.06.20 Fixed wrong colors at dynamic coloring (value-color-tables) when loading elder layouts, e.g. at bar graphs
List-widget: Fixed missing initial sorting
List-widget: Fixed, now user cannot sort if sorting is disabled for a column
List-widget: Now supporting cyclic refresh when sorting by dynamic values
Tab-Widget: Fixed strange behavior when scrolling and add-button (+) is present
Now routing function keys F1..F26 (i.e. the red trigger button) to openABK server even when on-screen keyboard is active
On-screen keyboard: When opening and when editing, upper case will be set automatically after a dot or line break or start of line
Now closing on-screen keyboard if a widget opens (i.e. ensures visibility of openABK alerts when on-screen keyboard is open)
On-screen-keyboard: Added progressive backspace by deleting whole words
On-screen-keyboard: Fixed weird copying when double-clicking
Widget: Fixed missing/improper size-adjustments, i.e. edit-widget sometimes contained a too-small edit control within it.
Expanded internal data transfer as preparation to CAN-FD
Fixed decoding when XML option list is defined. Now option list takes precedence over decoding decimal with sscanf() or similar
openABK, Audio: Opening audio recording widget at z-group defined in the templates rather than always on level 3
Options dialog: Added descriptions to network adapter combo box
Re-factored properties (huge refactoring)
Action, send openABK button: Now handling button name as language-aware text
Combo box widget: Fixed missing update of options list when language changed
Fixed undefined patterns/pixels in 32bpp png files
Re-factored formatters (numeric, bar, gage, scale)
1.1.9 25.03.20 Fixed maintenance of tab widget after method "SetToForeground"
Rework of property objects for file path, double, integer, font, color, string, bool
Reworked metrics management for multiple monitor support
Added option to obtain an USB-sticks volume name from autorun.inf instead of boot sector
Fixed touch input handling errors (i.e. tab rename menu strange behavior)
Added command line switch for monitor selection
Added command line switch for initial window position
Fixed scaling errors on multi-monitor systems
1.1.8 06.03.20 Fixed crash when session ending
Writing settings when Windows (TM) session ends
1.1.7 28.02.20 Y(t) diagram: fixed wrong layout calculation, now taking font size into account
Widget background images: Fixed wrong back color of uncovered area if non-transparent widget and image shall be converted for night mode
1.1.6 beta 10.01.20 Passing key strokes to openABK only when no on-screen keyboard is open
Adding instance number to caption when opened with /i# switch
Removed "unbenannt" from window caption (FWS_ADDTOTITLE removed)
List widget: Fixed missing scaling of column widths
Fixed hanging when templates re-open other templates in a circular fashion by avoiding circular window ownerships
Fixed missing storing of initial value of an extent type when scaling
Fixed offset of index when setting Z-index of widget which caused strange behavior when event handlers are among the children of a widget
Fixed inaccuracy of child positions when scaling, now applying individual scale factors for scaling child widgets
Static widget: When scaling, now using the lesser of x and y factor
Text widget: When scaling, now using the lesser of x and y factor
When resizing app by mouse, only taking action on changes
Text-Widget: Fixed wrong fore color in night mode if transparent
1.1.5 beta 10.01.20 Fixed missing close on dismiss when clicking to a tab of a tab widget
1.1.4 beta 03.12.19 Key area of on-screen keyboard slightly enlarged
On-Screen keyboard now gets closed reliable when widget gets opened, i.e. an alert widget gets shown
Added missing environment directory expansion
Fixed missing display of value after list widget sorting
Changed help icon to avoid copyright conflicts
1.1.3 beta 27.11.19 List-widget: fixed missing initial sorting
1.1.2 beta 11.11.19 openABK: Fixed mismatch in var/mailbox mapping
Widgets: Now assigning a name when XML contains widget with empty name
Fixed wrong searching for affine widgets (used when navigating through pages with arrow keys on a keyboard)
Now suppressing key handling if modal dialog or on-screen keyboard is active
Close-on-dismiss now inhibited if owner would be closed by an owned widget. Also setting ownership of newly opened widget from templates to e.g. button who initiated opening
Button-Widget: removed padding on top and bottom of text, allowing larger font sizes
Button-Widget: Now supporting environment strings for its image files
List-Widget: Added initial sorting capabilities
Some refactoring
1.1.1 beta 26.10.19 Tab-Widget: Now the (+) button is no longer scrolled-out
Button widget: Fixed missing firing after on-screen keyboard closed: Now considering button coordinates before movement as *inside* the button
On-Screen Keyboard: Fixed wrong color of close button and non-occupied area
On-Screen Keyboard: Fixed missing key images when reloading layout in EMBU-Chart
openAbk: Added server-side index as ID when synchronizing client-vars to server-vars
Action: OpenFromTemplate: When resolving open arguments, constant expressions not starting with "=" now no longer get disturbed by executing them
Edit-Widget: Now allowing to use %OpenArgX" at maximum length property in templates
openABK: Re-factored certain containers to improve performance
Keyboard-Dialog: Increased key sizes by reducing padding
Fixed missing loading of built-in keys when decoding layout without keyboard node it its XML tree
Status Flags: added general enabling properties in doc-root for showing each status flag
Widget, open from templates: Fixed unwanted re-ordering of widgets if template opens (now using stable sort algorithm)
1.1.0 beta 11.10.19 Re-factored Z-Ordering of widgetsTab-Widget: re-factored for Z-ordering items
Tab-Widget: Jumping to first member if user deletes member
openABK, write-back value to server: fixed missing sending-back if name of var or mailbox differs from server-side name
Button: Inhibiting auto-repeat function when opening widget from templates
Edit-Widget: Added vertical scroll-bar option
Form-Widget: Added option to open on-screen keyboard when form opens
Introduces user-configurable on-screen keyboards
openABK: prepared importing ID of variable from openABK servers meta information
List widget: Now allowing filtering by value and added method for re-querying
Edit widget: Now allowing specifying on-screen keyboards
Variable select dialog: Fixed missing hidden variables even if desired (e.g. in variable widget)
Expressions and filters, Like-operator: Fixed crash when right hand operator is longer than the left hand operator -2 (e.g. "ABC"~~"*ABCDEF*"
Several refactoring for improvements
1.0.10 25.05.19 Improved performance when loading image
Improved speed when generating variables from openABK
Fixed missing image URL when variable was created by openABK
Optimized performance by omitting invoking of variable timeout-rescan on each data arrival
Version numbers may be not continuous since some numbers were reserved for internal builds