GX.EXE HISTORY FROM 4.4h ONWARDS ================================ GX 4.4h - 3.12.2009 Will delete the temp files in the \gx\pfprint\noprint\n folders on GX startup. To set this, run GX, select Options, Admin Options, Upgrade INI file. Exit GX. Using NOTEPAD, edit GX.INI & set AutoDeleteNoPrintFolderOnStartUp=On Run GX ----------------------------------------------------------- GX 4.4i - 18.12.2009 Fixes a problem with extended printing when printing solid horizontal lines of differing lengths ----------------------------------------------------------- GX 4.4j - 14.1.2010 Internal fix ----------------------------------------------------------- GX 4.4k - 14.1.2010 Internal fix ----------------------------------------------------------- GX 4.4l - 16.2.2010 Adds a new feature to accept a Windows message from an external source ----------------------------------------------------------- GX 4.4m - 4.5.2010 Internal fix - no record on hotline database. ----------------------------------------------------------- GX 4.4n - 9.8.2010 Allows Euro symbol to be printed. ----------------------------------------------------------- GX 4.4o - 29.9.2010 Internal fix ----------------------------------------------------------- GX 4.4p - 27.10.2010 Various fixes for SOUND$ ----------------------------------------------------------- GX 4.4t - 21.6.2011 See section 5.2 in IN343 http://www.global3000.co.uk/pub/gsm/inotes/in343.doc ----------------------------------------------------------- GX 4.4u - 27.7.2011 For GSM SP-27, and later, the XPSPIN field can be used in conjunction with the PrinterName1 to PrinterName9 GX.INI file settings to change the printer from the Windows default. This feature requires GX V4.4u, or later (see Appendix-B in IN343 for more details). ----------------------------------------------------------- GX 4.4w - 29.3.2012 Fixes a problem with MBOXX$ that was introduced in an interim version 4.4v+ supplied to a customer & not officially released. ----------------------------------------------------------- GX 4.4x - 3.4.2012 Fixes a problem for a customer that has a program with overlapped fields. They were advised to use the OPT attribute which they have been doing for newer programs, but some sites have older programs without this attribute & the newer GX versions (past 4.4i) fail to work on said fields. There’s a new setting in the [general] section of GX.INI: NormalHideOverlappedField Set this setting to “Off” for GX to run, even for programs that haven’t got the OPT attribute added. ----------------------------------------------------------- GX 4.4y - 30.4.2012 Fixes a problem for a customer with radio groups in a scrolled window. The old "large" gxcal.exe did not work when you double left clicked a date. Eg, Stock Control, Transaction Entry, Stock Receipts, Movement Date, press to invoke the calendar, double left click a date, date now gets returned to Movement Date field. ----------------------------------------------------------- GX 4.4z - 14.8.2012 Support for the new setting in the GXHOSTS.INI file: “AutoStartAllPartitions”. If this setting is enabled then set the 0x20 bit in the relevant byte of the connection string. The logic should mirror the “ConnectToSpoofUser" setting which sets the 0x40 bit (EM_CONNECT_TO_SPOOF_USER) in the same connection byte. ----------------------------------------------------------- GX 4.5 - 21.9.2012 Remove remaining references to AX project Double click address selection INI file override setting Remove GLOBAL_APPLICATION_EXPLORER dependencies in code ----------------------------------------------------------- GX 4.5a - 1.11.2012 Support for multi-line edit control ----------------------------------------------------------- GX 4.5b - 7.3.2013 Support for GXCBO$ function ----------------------------------------------------------- GXIO 4.1b - 27.3.2013 ----------------------------------------------------------- GX 4.5c - 3.5.2013 Supports the "~f" option (Reseller specific) Increase size of diagnostics line buffer to allow for concatenated field contents. Support for window background override call-and-do. Fix problem with window background colour option when the PooledApplicationWindows option is enabled. Add valid folder check to the GXBRW$ related set of calls. Support focus change hidden button. ----------------------------------------------------------- GX 4.5d - 26.6.2013 Support for GXSYNC (See IN379) Added image compression options for extended PF printing ----------------------------------------------------------- GX 4.5e - 21.10.2013 See BTICN$.doc This version traps its own crashes so please look out for the message box where it gives you a path where it creates a .dmp file. Fix for mistaken detection of on a pop menu after exiting from a message box. Better support for multiple monitors. Last stored coordinates are checked to be visible on a monitor and if not the GX main window is moved to the primary monitor. Allow clipboards copies from display only (or otherwise non-accessible fields) by temporarily selecting the field's contents. Extend set button icon to allow buttons on the non-current window to be updated. ----------------------------------------------------------- GX 4.5f – 30.20.2013 GX 4.5g - 31.10.2013 GX 4.5h - 8.1.2014 Correct diagnostics message. Additional compiler option to enable diagnostics. Fix block handling problem where a corrupted block length can cause GX to crash. Shared memory pointer comparison code for GX crash investigation. Hide date field button when associated control is defined as optional. ----------------------------------------------------------- GX 4.5i - 27.1.2014 Implement 4 additional Speedbase window colour attributes ----------------------------------------------------------- GX 4.5j - 3.2.2014 Modify Attr10 default colour ----------------------------------------------------------- GX 4.5k - 11.2.2014 Add this to the [general] section of your GX.INI file: Ignore8BitFromClipboard=On if you are using say BOS Finder with GX & pasting text such as "wasn't" ----------------------------------------------------------- GX 4.5l - 12.2.2014 This version will check the scrolled area depth (calculated from the overall window height) will never be less than 2. If the calculation results in an invalid value a diagnostics message will be written to a log file. The OnGetMinMaxInfo routine has also been updated to write a number of messages to a log file that indicate the code path taken and the window size parameters returned to Windows. The diagnostic information is put into an existing log file – TIMELOGn.TXT (where n is the GX partition number). ----------------------------------------------------------- GX 4.5m - 14.2.2014 Fix uninitialised data problem that prevents a 16/24/32 bit bitmaps from being displayed. ----------------------------------------------------------- GX 4.5n - 7.4.2014 Fix type ahead processing problems for right justified fields Increases the GXHOSTS.INI entries from 199 to 9999 and include a settings section for the dynamic host option. Window-0 caret diagnostics. ----------------------------------------------------------- GX 4.5o - 7.10.2014 Adds support for EMAIX$. Need an updated BO$WWW, which is included in this zip file along with the emaix$ doco. Fix memory leak in GX login window. ----------------------------------------------------------- GX 4.5p - 19.11.2014 Support for GXDDC$ ----------------------------------------------------------- GX 4.5q - 5.12.2014 Support for interrupt style iconic buttons. ----------------------------------------------------------- GX 4.5r - 18.1.2015 Fix crashing problem when exiting a report viewer window in log replay mode. ----------------------------------------------------------- GX 4.5s - 9.2.2015 Support for partial graphics lines in extended PF printing ----------------------------------------------------------- GX 4.5t - 25.2.2015 Supports a new version of $QADFTP that allows a file to be specified using wildcards. Need an updated $QADFTP, which is included in this zip file Support find first/next file processing on GX. ----------------------------------------------------------- GX 4.5u - 3.3.2015 Support continuation print operation to allow mid-print orientation changes in extended PF printing. ----------------------------------------------------------- GX 4.5v - 3.6.2015 Updated GXCAL USA version. The new version of GXCAL is sensitive to the locale of the machine it’s running on. This means the date returned on double clicking or keying F2 or F3 will produce the correct format for the locale. The F4 option hasn’t been modified since D doesn’t alter the nn mmm yyyy response when the mm/dd/yy date format has been configured. The week start day can now be specified via the /W command line option, e.g. GXCAL /W=1 results in Sunday being used as the week start day. Valid settings are in the range 1 to 7, where 1 represents Sunday through to 7 for Saturday. GXCAL doesn’t validate this value but it’s unlikely to be used by anything else than GX which does ensure a valid setting is configured. This version of GXCAL also adds the “large” version of the dialogue box which is selectable via the /L command line switch. GX has had to be modified to make use of the various new options in GXCAL so three INI file options have been added to the [general] section:- DatePopupWeekStartDay This setting is used to configure the week start day (via the /W option described above) and must be in the range 1 (Sunday) to 7 (Saturday). The default value is 2 to specify Monday as the week start day to remain compatible with the previous versions of GXCAL. UseLargeDatePopupProgram This setting enables the large dialogue window option in GXCAL. The default value is Off. USDateParsing GX will pass any valid date in the current field to GXCAL to allow it to select that particular date on the calendar. However, GX only used to parse the date assuming it would be displayed in dd/mm/yy (or dd/mm/yyyy) format. This setting alters the date parsing to recognise mm/dd/yy formatted dates. The default setting is Off so dd/mm/yy style dates will be parsed correctly as in previous versions of GX. ----------------------------------------------------------- GX 4.5w - 21.7.2015 Support for loader retry message box with automatic timeout facility. Need updated $MON10 (to go into P.$MON), as well as GX 4.5w & GXIO 4.1d ----------------------------------------------------------- GX 4.5x - 27.7.2015 Add option to control the use of the unhandled exception handler. ----------------------------------------------------------- GX 4.5y - 30.7.2015 Extend number of interrupt buttons to 10. Also need version 5.1 of GLOBAL.EXE or later BA$GUI to be copied to P.$SDLM0 on SYSRES $COMPD to be copied to P.$COMP on $G See b$gx-7.doc & lasti$.doc for further details ----------------------------------------------------------- GX 4.5z - 31.7.2015 Support set button text operation on interrupt buttons ----------------------------------------------------------- GX 4.6a - 2.9.2015 Copy changes to bring sources into line with V4.5z GX Fix background colour display on the disabled rich text edit controls used to display the title and web address fields on menus Remove support for pre-Windows XP systems. Replace decompression routine for handling GX and GXIO upgrades. Restore original LZ based file decompression to provide compatibility with potential GXIO upgrades and check compression type of supplied upgrade file ----------------------------------------------------------- GX 4.6b - 28.10.2015 Fix bug in extended PF printing where double underscore and overscore lines converged. ----------------------------------------------------------- GX 4.6c - 3.11.2015 Enable diagnostics for logon window startup, add more startup diagnostics and include recognition for Windows 10/Windows Server 2016. Fix bug when parsing INI files with lines greater than 255 characters. Also increase maximum line length parsed to 511 characters. Fix pop menu button visibility problem. Fix owner draw button rendering on pop menus and new menu windows. ----------------------------------------------------------- GX 4.6d - 26.11.2015 Fix GX crash when displaying an original style menu with the EnableWebAddress setting disabled. Ensure the LockFocus setting is always enabled on starting a GX partition and remove the option to customise the setting. Support copy fields function on Speedbase windows. Test whether GX folder is write protected and display a warning that customisations will not be stored. ----------------------------------------------------------- GX 4.6e - 30.11.2015 Fix single line copy fields from the scrolled area problem where field values from the current RDA will be put into the clipboard irrespective of the line actually marked on screen. ----------------------------------------------------------- GX 4.6f - 29.1.2016 Includes support for the set radio button text operation. It's main use is to change the caption on a radio button and can also be used to hide/show individual radio buttons. ----------------------------------------------------------- GX V4.6g -> V4.7b not released externally. ----------------------------------------------------------- GX 4.7c - 27.10.2016 Changes to the GXGBP$ call-and-do to select a group box using an index value instead of its coordinates. ----------------------------------------------------------- GX 4.7d - 5.1.2017 Solves a display problem on high resolution (eg 3000 x 2000) screens. ----------------------------------------------------------- GX 4.7e - 3.3.2017 Extended support for: GXSBT$ - Set Button Text on Current GX Window The GXSBT$ routine is used to set the text on a button within the current window. This routine can also be used to send the Hover Text if the button has been coded as an Iconic Button. GXSBC$ - Set Button Text on specific GX Window The GXSBC$ routine is used to set the text on a button within a specific window. 03/03/2017 17:49 46,080 gxsbc$.doc 03/03/2017 17:51 45,568 gxsbt$.doc Also needs updated DLMs: 03/03/2017 11:34 20,460 BO_BAX.GSM 03/03/2017 17:38 79,478 BO_GXM.GSM ----------------------------------------------------------- GX 4.7f - 15.5.2017 Solves a problem on Office 2016/Office 365 Click-to-Run (C2R) systems (32 bit). This does not affect systems running for instance, Microsoft Office Professional Plus 2016) For version, click on File & then Office Account in Outlook. Problem is MAPI_E_NOT_SUPPORTED = 26 after the second email to be sent (with or without an attachment). The GX.INI file needs to be amended on C2R systems so that: [email] SessionName=Outlook GX will default to sending emails without establishing a session as it always has done, but the above needs to be done ONLY for C2R systems. Tried on: Version 1703 (Build 7967.2139 Click-to-Run) Version 1703 (Build 7967.2161 Click-to-Run) Version 1911 (Build 12228.20364 Click-to-Run) Version 2001 (Build 12430.20288 Click-to-Run) - Tested 21.2.2020 Version 2003 (Build 12624.20466 Click-to-Run) - Tested 17.4.2020 The default SessionName (ie the Profile) is usually "Outlook". If you have problems when logging into GX with eg: Error 3 MAPI_E_LOGIN_FAILURE The login did not succeed, either the login user is unknown, misspelt, or the password is incorrect. Check that the Profile is called Outlook by: Opening the Control Panel. In Control Panel, search Mail, and select it. The Mail Setup dialog box opens. Click Show Profiles. It should show as Outlook ----------------------------------------------------------- GX 4.7g - 6.11.2017 Solves a problem with double click handling on iconic buttons. ----------------------------------------------------------- GX 4.7h - 8.11.2017 Enables the Apply button on the Window Colours dialogue box. ----------------------------------------------------------- GX 4.7i - 12.1.2018 This version supports rich text notes ----------------------------------------------------------- GX 4.7j - 21.5.2018 Needed for Global 3000 6.0 Service Pack: ZM60_000516_000 Update to Data Protection Maintenance. Data Protection Maintenance [D19541] ----------------------------------------------------- Data protection maintenance has been updated to browse the generated contact details when the ‘Print’ option is used to produce separate pdf files for each contact. The feature released in this Service Pack will only function if the version of GX is V4.7j, or later. However, Global 3000 will still function normally, albeit with the new feature suppressed, if the GX version is not V4.7j, or later. ----------------------------------------------------- GX 4.7k - 26.6.2018 Fixed a bug in the parameters to the call that initialises the edit control where the accept flag wasn’t set to true. An accept should always use the actual field contents to initialise the control and not the (potentially truncated) display value. The actual problem logged was three dots appeared in the Product field in Transaction Desktop (G3000 6.0 SOP). In this case, the field length on screen is 16 characters and the accept length is 40 characters. The field itself is empty (or one space character) so won’t cause an overflow on the display size. However, the type-ahead handling in GX builds fills in a buffer from any characters in its type-ahead queue and this is then used to initialise the field. There are no such characters in this example but GX still initialises the field with 40 space characters which won’t fit in the edit control leading to the truncated field display ending with dots. ----------------------------------------------------- GX 4.7l - 27.9.2018 Support non-XML data output and multiple header values in the HTTPS$ handler. ----------------------------------------------------- GX 4.7m - 8.10.2018 Increase size of non-XML file buffer from 1KB to 10KB and return an error if the file exceeds this size. Also check for maximum number of header values stored (10) and return an error if this is broken. Implement mechanism to return response header values. ----------------------------------------------------- GX 4.7n - 5.11.2018 Fix search and calendar button detaching from associated field when a fixed pitch data font is used. GX media player support. Add support for special "Paste" button. ----------------------------------------------------- GX 4.7o - 16.11.2018 Add window caption setting to media player windows call-and-do interface and implement undo and reset options. ----------------------------------------------------- GX 4.7p - 29.1.2019 Added some more exception trapping code to prevent GX from crashing when attempting to display a graph with zero rows of data. An error message is now displayed and an error code returned to the calling application. ----------------------------------------------------- GX 4.7q - 5.2.2019 Adds email button when displaying a product image. This is in relation to: zm60_000530.pdf and service pack: 08/02/2019 11:03 118,560 ZM60_000533_000.GSP Notes for zm60_000530 http://www.thedarts.eu/global/g36/60dox-2019.zip ----------------------------------------------------- GX 4.7r - 25.3.2019 Support for additional header values required for MTD. Support for percent encoding call-and-do. Fix for get IP addresses which requires Winsock to be initialised. Improvements to rich text edit window so the toolbar options remain in sync with the attribute at the current cursor position. Support for cut/copy/paste (Ctrl-X, -C, -P) and select all (Ctrl-A) shortcuts. Suppress right mouse click so the control's default context menu is no longer displayed. ----------------------------------------------------- GX 4.7s - 3.6.2019 This version has the latest changes for the additional MTD headers, i.e. computer name and model and some filtering on the MAC and IP addresses reported. It also fixes a button style scroll bar display problem. ----------------------------------------------------- GX 4.8 - 9.7.2019 There was a problem on the new toolbar handling which has been fixed. There are additional settings to control the size of the toolbar icons and buttons. The former assumed 32x32 icons were in use but the built-in icon bitmap had only 20x15 images so those default settings have been changed to match. Toolbar resizing will only work properly if the [toolbar] section is configured in GX.INI with individual icon bitmaps. There have been other enhancements. See: http://www.thedarts.eu/global/pub/gsm/inotes/in389.pdf ----------------------------------------------------- GX 4.8a - 18.7.2019 Modify default warning background and current record greyed field text colours in the graphite colour scheme. Fix for ~H group box positioning in non-Classic colour schemes and radio button selection hanging problem. Fix caption justification on radio buttons with right most text. Fix crashing problem when calculating the size of the scroll bar in dropdown windows sized to match the exact number of items. ----------------------------------------------------- GX 4.8b - 24.7.2019 Fix GXSBT$ problems in non-Classic colour schemes. ----------------------------------------------------- GX 4.8c - 29.7.2019 Fix current field colour and mouse selection problems in combo boxes. Support for hover text on all buttons. ----------------------------------------------------- GX 4.8d - 11.10.2019 Add initial letter selection to combo box for non-Classic colour schemes. Fix for slow refresh of OPT fields and associated window background flickering problems. ----------------------------------------------------- GX 4.8e - 31.10.2019 It has a couple of fixes for SO900 and OPT field refresh problems. This includes code to ignore the OPT attribute for scrolled fields. There should never be the need to hide such fields and this fixes the “grey boxes” problem demonstrated by a reseller submitted program and will also help with the OPT scrolled fields in SO900. Also fixed is the display of the combo box dropdown window when scrolling through lines in SO900. This problem couldn’t be reproduced on an old version of Global 3000 but can on the latest and turned out to be caused by one of the labels on the window. The “Price” label above the scrolled area is now right justified where it wasn’t before and there was a bug in the handling of the space requirements for these labels. This resulted in GX repositioning all the controls on the window which caused the dropdown box to display and happened every time a different RDA is selected and when the RDA’s are scrolled making it very noticeable. ----------------------------------------------------- GX 4.8f - 11.12.2019 System request diagnostics for a hotline log. ----------------------------------------------------- GX 4.8g - 19.12.2019 Support GXGBP$ when a non-Classic colour scheme has been selected. ----------------------------------------------------- GX 4.8h - 8.1.2020 Restrict GXSEA$, GXSSA$, GXBCO$ and GXSLA$ use to when Classic colour scheme is selected. ----------------------------------------------------- GX 4.8i - 10.2.2020 Add control character input mapping option to remove them from accept strings. Fix initial display problem with OPT check boxes. Alter width allowance for combo box buttons to prevent obscuring of the rightmost character of the field. Fix ampersand display problem on buttons. ----------------------------------------------------- GX 4.8j - 22.4.2020 Improved detection of post Windows 8/Windows 2012 systems via registry setting description. Support for Bluetooth received file name call-and-do. ----------------------------------------------------- GX 4.8k - 7.5.2020 Support for enable web content parsing on fields. Add BluetoothReceiveFolder setting to support pre-Windows 10 Bluetooth option. Support for LATEST folder structure in extended PF printing. Diagnostics for Bluetooth received file name call-and-do. Fix file not found error when the All-in-the-box internal viewer option is enabled. ----------------------------------------------------- GX 4.8l - 3.6.2020 Issue UF1 response immediately on clicking a field's search button if the current accept is already on that field. ----------------------------------------------------- There is an issue with Windows 10 build 1903. The issue is that gx.exe immediately crashes with versions 4.8j, 4.8k, 4.8l when running on Windows 10 (version 1903). You need to set the compatibility to Windows 8 for gx.exe for it to work. If you use Windows Updates to update the 1903 version to 1909 (Nov 2019) or later, then the problem is resolved. Working on a fix for GX. Works ok with versions: 1507, 1511, 1607, 1703, 1709, 1803, 1809, 1909, 2004, but not 1903. ----------------------------------------------------- GX 4.8m - 24.8.2020 Increase buffer length for registry read to fix crashing problem when starting GX on Windows 10 version 1903. Remove double display of About GSM message box. About GSM message box showing "No licence information available", will be fixed in GSMSP38. ----------------------------------------------------- GX 4.8n - 6.11.2020 Modifications to fix problems creating and updating translations files. Fix problem where state dump and GX RDA diagnostic files are overwritten rather than appended to. ----------------------------------------------------- GX 4.8o - 18.1.2021 Fixes a problem where a print report PDF file wasn’t copied to the LATEST folder if All In-the-box is used. Fixes a problem with the continuation print handling. ----------------------------------------------------- GX 4.8p - 30.3.2021 Store last MBOX$ message and allow it to be copied to the clipboard after the message box has been closed. Support for font selection dialogue box. ----------------------------------------------------- GX 4.8q - 24.5.2021 Add right button click handling to copy text on a label to the clipboard. Include more filtering on IP addresses reported for MTD fraud headers to remove IPv6 addresses without a zone index extension. Add diagnostics to log MAPI errors in TIMELOGn.TXT file. ----------------------------------------------------- GX 4.8r - 27.5.2021 Enable focus indicators on all Speedbase windows. Ensure the image file name passed as the email attachment contains the full path. ----------------------------------------------------- GX 4.9 - 18.6.2021 Modify time zone string to allow for daylight saving. Add header name/value logging when the URL request is made. Update IP address filtering to return IPv4 addresses in the known private address range. Add "Copy label" menu option when right clicking on a display only field. Enable focus indicators on all creation of non-Speedbase windows. Support log replay mode in the GRAPH$ window. ----------------------------------------------------- GX 4.9a - 30.7.2021 Fixes problem where dragging the thumb to the top or bottom of the scroll bar does not result in the first or last record being shown. Support for an inactivity timeout in the $INSPECT window. To use the $INSPECT inactivity timeout add the following setting to the [general] section ;*** Setting(s) added in V4.9a ; $INSPECTInactivityTimeout=60 The default is 0, i.e. timeout disabled, and the timeout is specified in seconds. ----------------------------------------------------- GX 4.9b - 13.8.2021 Fixes problem where the short response code wasn't returned by a combo box on a scrolled window. Change condition when setting the checkbox state by only making a comparison for the positive state. All other values will uncheck the checkbox. Clear non-scrolled combo box fields when moving between RDAs. Fixes problem where the current data font isn't used in dropdown list boxes. ----------------------------------------------------- GX 4.9b - 13.8.2021 Fixes problem where the short response code wasn't returned by a combo box on a scrolled window. Change condition when setting the checkbox state by only making a comparison for the positive state. All other values will uncheck the checkbox. Clear non-scrolled combo box fields when moving between RDAs. Fixes problem where the current data font isn't used in dropdown list boxes. ----------------------------------------------------- GX 4.9c - 19.10.2021 Increase intermediate buffer size to support larger window-0 display buffer. ----------------------------------------------------- GX 4.9d - 2.11.2021 Fix problem with the $INSPECT keywords option where the inspection window was closed instead of remaining on screen. ----------------------------------------------------- GX 4.9e - 26.4.2022 Increase length of GA block parameter buffer. Widen the "REQUIRED ON" dialogue box to ensure the message is displayed in full. Option to allow punctuation characters to be used in extended PF print report file names. This feature is enabled using a setting in the [pfprint] section of GX.INI, i.e. AllowExtraPunctuationCharactersInPDFFilename=On The default setting value is Off so the code remains compatible with earlier versions of GX. ----------------------------------------------------- 4.9f - 20.6.2022 Support .JPG and .PNG files in WIBMP$. ----------------------------------------------------- 4.9g - 24.6.2022 Add code to explicitly destroy the Windows Media Player control when the label item is removed. ----------------------------------------------------- 4.9h - 17.1.2023 GX mouse pointer handling and enable/disable escape sequence. GLSMTP interface support. Fix uninitialised parameter problem in scratch directory routine. MAPI diagnostics. ----------------------------------------------------- 4.9i - 16.2.2023 Unhandled exception dialogue message improvements and create state dump before exiting. Restrict query end session message display to partition 1. ----------------------------------------------------- 4.9j - 3.3.2023 Support for ULT attribute on extended PF print documents. ----------------------------------------------------- Last updated 23.6.2023