Change History for 9.0.9

27 June 2022


  • Fixed failure to import small XML files on high-latency network connection
  • F5 Report: Was incorrectly calculating Box 3 (Singapore)
  • Detailed Stock Listing Report
  • Fixed crash with open(1) with a moneyworks:// scheme url identifying a server folder (Mac)
  • Bank Balance Report: Resolved rounding issue with large Forex balances
  • Fixed initial Account list column format when GST/VAT processing is disabled for the document
  • Print setup dialogs are scriptable


  • Fixed a problem in the search optimiser in 9.0.9 that broke some date searches in reports
  • Fixed a 9.0.9 crash in the MWScript Ask() function


  • Import with update product/name control accounts was broken in 9.0.8
  • Stocktake list report
  • Bill of Materials Costing Report: Sometimes used buy price instead of average unit value
  • Asset Register: Fixed depreciation of assets in period of purchase if purchased on last day of period
  • Asset Register: Fixed issue with departmentalised asset disposal account
  • Parsing of Yodlee data is much faster
  • Fixed opening PDF files (manual/tutorial) on Monterey 12.3
  • Importing transactions: Transaction.promptPaymentDisc % field is now set as a side effect of setting promptPaymentAmt via work-it-out
  • Option to autobuild out-of-stock BOM products when requisitioning for a job (see the Job Costing Preferences panel to turn on this option)
  • Fixed Windows save file dialog sometimes not showing the locations sidebar
  • Simultaneous Process+Print of SO by two different users could result in both invoices being printed by one of the users
  • MoneyWorks for Windows is now built against the Windows SDK v143 from Microsoft. This SDK does not support Windows 8.0 (it does support Windows 7). If for some reason you are still running Windows 8.0, please update to the Microsoft-supported “Windows 8.1 Update”, or, preferably, Windows 10
  • Fixed Stock Enquiry Sum Selection for Pending Purchase Orders incorrect results
  • Fixed crash with Aged Debtors invoked from 64-bit Gold client on Windows when connected to a server
  • Addressed modal and floating window positioning issues on Windows with multiple monitors
  • Detail.Account work-it-out when importing a purchase of a stock item for a job, will now insert the expense account instead of the stock account for the item (the same as you get when manually entering such a purchase)
  • Plugin zipping will no longer add ._ files from Mac file shares on Windows
  • Fixed a potential crash in the Lookup() function
  • Added sign setting for CSV statement importing
  • Improve traversal of “notwork security” packet inspection proxies for software updates and web services on Windows



  • REST read-only polling when file is not otherwise in use could result in the latest backup being removed
  • Fixed potential deadlock during dropped-connection recovery
  • Windows Console software update browser now supports modern CSS
  • IP blocklist facility to drop unwanted connections by IP range
  • Default blocking of egregious portscanners
  • Fixed incorrectly formed Recent Items link after logging into a non-ASP Datacentre with an email address as a username
  • Small data imports (<2K) will no longer run on the server (prevent extreme server load from iBodyShop)
  • Searching for timestamps now works reliably when the server’s service locale does not use d/m/y date format



  • New JSON parser (500x faster)
  • JSON_Parse correctly interprets \uXXXX where XXXX is non-ASCII UTF16 (9.0.8 only fixed this on Mac; Now works on Windows)
  • Fixed formatting of very large integers (such as JSON numeric IDs)
  • Leaked object handles are now logged when a script is unloaded
  • UpdateOrderLines allows linking to unposted invoice
  • UpdateOrderLines now clears the order’s ShipQty in invSeq linking mode
  • SetProgressMessage is now per-script
  • foreach loop bounds range may now be larger (64 bit long long int instead of 32 bit)
  • foreach loop bounds generates an error when out of long long range
  • spurious “overriding intrinsic” warning is no longer given for ‘uses’ statements
  • Runtime errors no longer auto-unload the offending script (9.0.8 change). As well as a potential circumvention of business rules, this was causing additional instability even after recompiling the script—in particular window handles would not be passed as parameters
  • CURLOPT_CERTINFO/CURLINFO_CERTINFO to capture and retrieve full certificate dump from a TLS connection
  • Loading external script packages with LoadScriptFile is now logged
  • ItemHit handlers for editable list cells may now have more detailed specific naming (down to the column name of the active cell) and will receive additional parameters (namely the list handle, the current row number, and the current column number). e.g. on ItemHit:F_TRANS:L_LIST:DI:Location(winRef, listId, listHdl, rownum, colnum) for an ItemHit handler that responds only to kepresses in the location column of Debtor Invoices. Note that for the transaction entry form, you must supply the type specifier. Note also that due to backwards compatibility, the list is identified by its underlying identifier L_LIST rather than a tab name like By_Item. This does have the benefit that you can respond to, eg, the job column in either the By_Item or By_Account tabs using the same specific handler
  • Fixed display of popup idents in the UI editor
  • Fixed the ModalListWindow() function on Windows which incorrectly instantiated an MDI window instead of a top level window, resulting in UI lockup
  • The Alert function now recognises an empty string button name as “no button” on Windows for the second and third buttons. You can also use NULL if you need to pass all button parameters to specify the timeout parameter
  • Curl_Exec on Windows will add CURLSSLOPT_REVOKE_BEST_EFFORT | CURLSSLOPT_AUTO_CLIENT_CERT options to curl requests by default. Without these, packet inspection proxies will typically not be traversed. If you do not want this security downgrade on your client, you can set the strictRevocationCheckinginCURL registry key in the MoneyWorks Preferences to 1
Posted in Change History | Comments Off on Change History for 9.0.9