Notes for release 6.9.1

18 July 2024

Important

Once a solution is saved in this version of the Designer, it will not open in previous versions of the Linx Designer. Also, it can only be uploaded to a Linx Server 6.9.1 or later.

Linx Server 6.9.1 is backwards compatible. Older solutions can still be uploaded to it and already uploaded solutions will continue to run without any difficulties.

Linx is now on .NET 8

The Linx Designer and Server has been updated to use .NET 8.

Test Explorer

In Linx 6.5.0 the Test Runner CLI was added to allow running automated tests against a Linx solution. That CLI and the Linx Designer was updated in this new release to simplify building & running tests. Tests can now be run directly in the Linx Designer.

All tests written in the old Test Runner are still present in your solution and can still be run using the old TestRunner (contact us should you need it). The new TestRunner however only runs tests found in the TestProject with the newly added Function.Type set to Test.

The TestProject is a project you can add to your solution. This project contains all your tests as well as anything they need in order to run. To add a Test Project to your solution, right-click on the solution and select "Add Test Project".

Adding the Test Explorer

Thereafter, add your Tests. A test can be added by simply adding a function to the Test Project. Any function in a Test Project has a type which can be set to Function, One time setup, One time tear down, Setup, Tear down or Test. The type of a function defines how it will behave when the test is run. For more info see the Test Runner docs.

Function Types

Run tests by right-clicking on the TestProject, a folder in the TestProject or a test itself to run it.

Run tests

Lastly, see the results of tests you run in the Test Explorer. Here you can also see the error if a test might have failed.

Test Explorer View error in Test Explorer

Solution (Multithreaded) Debug

Debug multiple threads and start/stop services as required while debugging, in the same Designer. The Solution Debugger enables debugging asynchronous calls, Process Automation solutions, and many other multithreaded scenarios. The previous generation Linx Debugger is still available and can still be accessed as before - by selecting a function, service or event and clicking Debug.

To start the new Solution Debugger, select the solution in the Solution Explorer and click Debug.

Start Solution Debug

The debugging toolbar in the Solution Debugger is different to the one you are used to. It is split into two sections, the lefthand and center sections. The lefthand section controls the debug session where you can start new threads or exit the debugger. The center section contains the Thread Dropdown where you select the thread to currently step through. To the right of the Thread Dropdown are the buttons which control the currently selected thread.

Solution Debug Toolbar

Services can be stopped and started while debugging by simply right-clicking on the service in the Solution Explorer and choosing either "Start service" or "Stop service".

Start service

Start- and StopService functions

The StartService function allows you to start a service in a solution from within one of the functions in that same solution. Similarly the StopService function allows you to stop a service.

Start & Stop service

Various other GUI fixes, bugs and enhancements

Designer
  • Show validations for obsolete functions
  • Fixed: Solution could be closed while saving
  • Fixed: InvalidOperationException encountered when clicking on certain service events
  • Fixed: RazorTemplateTransform threw exception "Value cannot be null. (Parameter 'type')" at runtime
  • Fixed: A solution could not be deployed to a Linx Server via the Designer if the connection failed before
  • Fixed: A connection failure on the Linx Server hid the real underlying compilation issue
  • Fixed: Saving the result of one function affected the Return value of another unrelated function
  • Fixed: Removing a property of a Result caused unnecessary and unrelated validation errors
  • Fixed: Compilation failed with "hidden CS8019: Unnecessary using directive."
  • Fixed: TargetInvocationException was thrown while debugging when continuing to step after an exception happened
  • Fixed: Importing certain XSDs as Types caused Object Reference (NullReferenceException) exceptions
  • Fixed: A malformatted database connection string in a setting crashed the Designer when Debug was started
  • Fixed: An error occurred when opening a deleted solution from the 'Recent Solutions' list
  • Fixed: During Debug, certain items in lists displayed an ObjectReferenceException in the Debug Values pane
  • Fixed: Undo did not revert a Function name back to the original value
  • Fixed: When debugging, copy-pasting the Debug Parameters before debug starts threw a NullReferenceException
  • Fixed: Enum values of compiled types were serialized as numbers
  • Fixed: Settings were editable while debugging
  • Fixed: After copy-pasting a Return, a StatusCode was unexpectedly present in the result of a SimpleRESTHost event
  • Fixed: Plugin development issue -> Microsoft.Data.SqlClient failed to resolve when debugging the plugin using the -debugPackage flag.
Server
  • Fixed: Mouse pointer did not change to a caret when hovering over a Setting value text box

Last commit index: 82f94b04839fef7cbbe175e868a49b9b0b78ee90