Beta — not yet released. Contact Cognito for beta access
- MCP server to allow your AI to work with MoneyWorks Gold
- Stripe Bank Statement Importer
- Calendar updated holidays to end 2029
- update to openssl 3.4
- Analysis window will run report on the server when creating/testing a new report (the same as for saved analysis reports) which is much much faster
- Support the new subscription version of Numbers.app which has a different (but hidden) real name
- Fixed: Adding department to group could acquire and not release additional single user locks
- Fixed incorrect coachtip for Received Goods Before Invoice when serial tracking off
- Fixed CSS injection for mail composer
- Fixed Reorder stock to handle existing orders that have had the Recv field cleared (and prevent inadvertent clearing of that field)
- Fix potential failure of Clear Bank Recs to fully reset the reoncciliation status of all line items; also protect the operation with a database transaction to prevent partial rollback
- Assets: Added Canada Depreciation 50% for the first year
- Assets: Fix department mismatch function
- Assets: Fix bad search error
- Fix stocktake entry field sometimes being misplaced on Windows
- Fix incorrect (discounted) unit price for tax-inclusive products for customers with a tax code override
- Fix spurious error when emailing from preview after testing custom form
- Detect file system flush failures
- Fixed account sticky note display by transaction type
- Now possible to set passwords longer than 16 characters
- Currency revaluation no longer treats currency gain/loss as realised
- Reversing backdated Rate Change journals have ref numbers starting with “JX”
- Saving a form no longer thumbnails it twice
- The Expression Evaluation privilege is no longer required to evaluate simple in-field expressions, provided the expression does not use functions that access the database. This privilege absolutely should be turned off for users who should not have free access to all data
- Fix typos in BAS guide
- Windows clients now load SSL certificates from the “CA” and “AuthRoot” stores as well as the “ROOT”
- Closing a duplicated transaction window via the close box on Mac will no longer put back the allocated reference number
Server
- Support for loading scripts in REST workers (see below). This is for private servers. We will not be enabling this on MoneyWorks Now servers
- Fixed update notes opening in browser when the updates tab is reselected on Windows
Server-Timing:header provides an indication of the worker process that processed the request and the CPU time. This can be used to help with optimising your requests- Removed cache-control header
- Partition temp files on multi-tenanted servers
- Configurable server autosave behaviour
nightlyAutoSaveIfUnsavedForHours = 5nightlyAutoSaveHour = 23in .conf file - Windows: Do not allow document root to be in file share or OneDrive etc
- Fixed memory leak in SSL setup that could particularly affect long-running Console document status querying on SSL-enabled server
Scripting
- MoneyWorks Gold now includes the moneyworks CLI (on Mac it is in the Helpers subdirectory of the .app)
- Call MWScript scripts from REST. see Accessing MWScript scripts on the server from REST
GetHTTPRequestPayload(bAsPath),GetHTTPRequestHeaders(),PutHTTPRequestResult(file)for use by server-executed scripts- MWScript in MoneyWorks Gold can start an HTTP server on localhost with requests serviced by a handler —
StartHTTPServer(handler, [port])(MCP server uses it). This HTTP server can also support SSE viaAccept: text/event-stream. UseSSE_Send(server, data)to push SSE data to all listeners - CLI
moneyworkscan run a custom stdio command shell via-j handlername - Debugger: newly instantiated variables are displayed in red
- Objects returned by
JSON_Getno longer need to be freed withJSON_Free. These objects will display as the referenced json in the debugger (it is re-stringified from the object). You will still get NULL when getting a non-existent node - Select sign option when opening a signed package if the signing key is available
- Do not enable signing for .mwscript file format
- The “recall” XML importing option for replacing a transaction with
update="true"will now update an unposted transaction or unprocessed order in place, rather than importing a new transaction and deleting the old one. In this case the sequencenumber will remain the same - Improved error reporting for REST
evaluateendpoint (message rather than error number) - Suppress click counting on list headers
- Fix newlines in REST
evaluateoutput sometimes being modified by the server GetFieldAttribute(target, i, "kind"),GetActiveField(win)- Fix
JSON_AsArraycrash when the JSON root is an array rather than an object - Non-mwscript files in a script package now show with document icons (for known extensions, e.g. .js, .json, .md, .html)
- Syntax colouring for non-mwscript files package files, based on either the extension or the initial characters of the text
- Fixed
ExpandDetailet al for the case where two forms might be generated simultaneously (as can happen for navigator forms) - Allow UpdateOrderLines to work when called from the After handler of a transaction
GetMWEnv(what)funtion to get functions, globals, constants, instancesStartMoneyWorksInstance(url)to start another MW instance- DoReport now automatically sets
fromandtofromperiodoryearlike the report settings dialog does. Alsofromandtoare no longer case-sensitive Replace(src, pattern, repl, [pattern, repl]...)fucntion can take additional replacement params- Paths can begin with
~/and/directory separators are respected on Windows GetPlugins("report_desc", reportname)gets the required parameters for reportBeforeGeneratingFormshandler for preprocessing records. A form can be set to call this handler in a particular script. The script must be loaded when you configure the form in Form OptionsURLDecode()GetCommandLine()functionProcessTypeglobal = “cli”/”gui”Transaction.PayNowTokenfield- Exporting “xmlschema” has expanded field attributes and corrects the field lengths which were off by one
DocumentPathnow returns a proper URL for connections- Several script-only functions are now available to normal expressions
Analyse()is less fussy about dates needing to be be date type. An 8 digit number will be considered to be a yyyymmdd dateSetErrorHandler(handler)function will call the function and return aTypeErrorresult from functions that would normally throw a runtime error. This is particularly useful for theValfunction if it is being used with user or AI input that may cause it to failGetErrorNumber(err)functionGetErrorMessage(err)functionTypeErrorconstant for testing of error return valuesUserLoggedInhandler is no longer called twice on loginStdOutfunction outputs a line of text to stdoutAddDashboatdPageadd an html page or url to the Navigator dashboardRemoveDashboardPageremove an html page from the dashboard- Script editor has a unique syntax colour for MoneyWorks globals
- Using the
DoReportfunction will no longer change the user’s output mode for that report to Clipboard - Outputting reports as text, including with
DoReportwill now output a chart as the original tabular data instead of omitting the chart. The chart data is bracketed with # start/end of chart data so that AI clients can render the chart themselves - XML importing now automatically moves all
work-it-outfields to the end of the record so that they do not fail when placed before imported fields that the heuristic depends on - Document names in URLs should no longer be case-sensitive (which has historically caused a lot of frustration for REST client developers)
TransformXSLT(xml, xsl)function