6.12.0

22 Jan 2026


New Features

Nullable Types Support

Linx now supports nullable value types, giving you greater control and precision when handling data. In programming, value types such as integers, decimals, booleans, and dates always have a default value (e.g., 0 for integers, false for booleans). However, there are many scenarios where you need to distinguish between "no value has been set" and "the value is zero or false". Nullable types solve this problem by allowing value types to also hold a null value, representing the absence of data.

With this release, value types can be explicitly marked as nullable when defining custom types in Linx. This is particularly useful when working with databases, APIs, or external systems where fields may be optional or missing. For example, an optional date field in a database record can now be accurately represented as a nullable DateTime, rather than requiring a placeholder value or separate flag to indicate whether the date was provided.

Throughout the Designer, nullable types are clearly indicated with a ? suffix on the type name (e.g., Integer?, DateTime?, Boolean?), making it easy to identify which properties can hold null values at a glance. This visual distinction helps prevent null reference errors and makes your solutions more robust when processing data from various sources.

Nullable result type
Changing a value type to nullable
Nullable type
Setting a value type to null

Debug Tests in Test Explorer

Tests can now be debugged directly from the Test Explorer. During debugging, one-time setup and teardown routines run before and after each test, ensuring debugging behaves identical to normal test execution. Also, step-through execution and variable inspection make it easier to diagnose and resolve test failures.

Debug test

TestProject as Sibling Project

Test projects are now consistently represented as sibling projects to solutions throughout the Designer. Previously, test projects appeared as siblings in the Solution Explorer but as children in dropdowns, which was inconsistent.

Siblings

TestRunner Offline Support

The TestRunner can now run offline, using offline packages to execute tests without an active internet connection.

Result Type on CallXeroAPI

The CallXeroAPI operation now allows you to set the result type to an expected type. Previously, the result was always a string. With this update, you can define the structure you expect from the API response, making it easier to work with strongly-typed data and reducing the need for manual parsing.

CallXeroApi supports configuring a result type

Deprecated Function Warnings

Deprecated functions now display a warning in the Designer, making it easier to identify and update them before they are removed in future releases.

RESTHost Editor Watermark

The RESTHost editor now displays a watermark when empty, providing guidance on how to get started with configuring your REST service.

Watermark on API Definition Editor
Watermark on API Definition Editor

Standardised Window Buttons

The window maximize, minimize, and close buttons have been standardised for a more consistent user experience.


Fixes

Designer

  • Fixed: Double-clicking a Linx 6 solution incorrectly opened it in Linx 7 Designer

  • Fixed: NullReferenceException when dragging a RESTHost into the solution

  • Fixed: A reference to a property of a custom type caused Designer to crash

  • Fixed: Solution update failed when solution name contained a dot

  • Fixed: Generated type IDs were not updated when copy/pasting functions or services

  • Fixed: Expression Editor Home and End keys not responding

  • Fixed: List item was incorrectly copied into list on instantiation instead of being referenced

  • Fixed: Pasted function's tab was not scrolled into view when many tabs were open

  • Fixed: Arrow keys needed to be pressed twice to navigate the Test Explorer tree

  • Fixed: Information about failed tests could not be copied

  • Fixed: Expression editor lost track of expression length

  • Fixed: RESTHost prevented UI updates after adding operations

  • Fixed: Drag and drop of a function above another function failed

  • Fixed: Copy and paste of a process containing a service function call failed

  • Fixed: Expression Editor displayed JSON expression as gibberish. Expression Editor now converts the JSON expression to a JSON string expression.

Server

  • Fixed: Reinstalling Linx Server with a port number having fewer digits than before caused installation to fail

  • Fixed: Solutions with services in TestProject caused Internal Server Error on Linx Server

  • Fixed: Server stopped loading solutions when one solution failed to load

Plugins

  • Fixed: Updating the Excel plugin caused an EditorResources exception

  • Fixed: Function parameters were lost after updating a plugin

  • Fixed: Updating the File plugin caused an EditorResources exception

  • Fixed: Updating a plugin to the latest version caused an ArgumentException

Installation

  • Fixed: Offline installation failed due to missing WebView2

Last updated