Thorlabs XA Software - Change Log

Version 1.11.0 - 18th September 2026
- Support for the KSC101
- Bug fix: Path button now only visible in compatible devices
- Bug fix: Resolved unhandled exception on shutdown (caused by background device discovery threads not aborting quickly enough)
- Bug fix: There was error when checking travel-beyond-limit status of piezo
- Other internal improvements

Version 1.10.0 - 8th September 2026
- Support for the KIM001

Version 1.9.4 - 8th September 2026
- Bug fix: Removed PositionCounter feature for UMC brushless and stepper channels in native, .NET and Python APIs
- In the GUI, ethernet device discovery scan parameters default to entire subnet of the host PC
- Bug fix: PDXC2/3 now raises 'stopped' message when the device is stopped

Version 1.9.3 - 2nd September 2026
- Bug fix: Resolved a crash when using multiple FTDI devices simultaneously

Version 1.9.2 - 25th August 2026
- Bug fix: Ethernet stability and error recovery
- Bug fix: For a multi-channel controllers, the GUI now uses the number of channels returned in hardware information to determine which icon should be displayed
- Bug fix: All LTS devices were using LTS300C icon imagery
- Bug fix: Issues with TLMC_RegisterLoggingHandler formatting resolved
- Bug fix: Issues with TLMC_DiscoverEthernetDeviceInfo formatting resolved
- Bug fix: Offline ethernet devices are no longer included when selecting all in the device selection window
- GUI: Rework of device selection window. Improved checkbox selection/deselection and row expander now always available
- Bug fix: Devices connected via ethernet were potentially not having their firmware level checked
- Bug fix: There was potential for a controller connected via ethernet to be removed from XA without the user requesting it
- Bug fix: UMC stepper logical channel incorrectly exposed disconnect functionality
- GUI: Errors with action buttons (home, identify, enable, etc) are now reported via the device control window status bar rather than an exception dialog box
- Bug fix: DDR100 devices were incorrect by a factor of 360 in the GUI position displays
- Provided stage identifier values for DDS800 and DDS1000
- Bug fix: Corrected the row that jog step size units are displayed on in the device control windows
- Other internal improvements

Version 1.9.1 - 7th August 2026
- Bug fix: Removed Disconnect feature for BSC logical channels in native and .NET Framework API
- Bug fix: Added PositionCounter feature for LTS in native API, simulator and .NET Framework API and updated native API documentation

Version 1.9.0 - 13th July 2026
- Support for the DDS800 and DDS1000
- Bug fix: Corrected maximum acceleration for LTS450C and LTS600C

Version 1.8.4 - 10th July 2026
- Bug fixes: Device discovery notifications scheme has been improved

Version 1.8.3 - 2nd July 2026
- In the GUI, discovered devices are listed in order of serial number

Version 1.8.2 - 1st July 2026
- Bug fixes: Simulations are now correctly filtering packets according to channel ID.

Version 1.8.1 - 17th June 2026
- Bug fixes: New fields in the StageAxisParams structure are now exposed in the .NET Framework API and included in the native API documentation

Version 1.8.0 - 12th June 2026
- Support for the Universal Motor Controller (UMC1, UMC2 and UMC3)
- Ethernet connectivity now supported
- The synchronized movement helper has been migrated from Kinesis into the XA GUI
- IMotorOututParams was not exposed on instances of Bbd30xLogicalChannel in the .NET API

Version 1.7.15 - 12th June 2026
- Internal improvements

Version 1.7.14 - 2nd June 2026
- Bug fix for move absolute to programmed position response

Version 1.7.13 - 1st June 2026
- Bug fix: In device discovery, serial number being unitialized in HW info now allowed for

Version 1.7.12 - 16th April 2026
- Internal improvements

Version 1.7.11 - 13th April 2026
- Bug fix: In StepperLoopParams, the conversion factor used to convert MicrostepsPerEncoderCount in now correct

Version 1.7.10 - 10th April 2026
- Bug fix: In StepperLoopParams, MicrostepsPerEncoderCount is now a signed 32-bit integer (previously unsigned)

Version 1.7.9 - 10th April 2026
- Internal improvements

Version 1.7.8 - 30th March 2026
- Bug fix: Removed deflection and velocity fields from the CurrentLoopParams structure in the Python API

Version 1.7.7 - 30th March 2026
- Bug fix: Resolved exception when attemtping to open the Settings windows on some devices

Version 1.7.6 - 27th March 2026
- Internal improvements

Version 1.7.5 - 27th March 2026
- Internal improvements

Version 1.7.4 - 26th March 2026
- Internal improvements

Version 1.7.3 - 26th March 2026
- Bugfix: Native API manual: The PDXC2 serial number was incorrect on the Serial Numbers page
- Bugfix: Native API manual: The PDXC2 and PDXC3 incorrectly had index entries in the "by Form Factors" section

Version 1.7.2 - 26th March 2026
- Bugfix: Connected product information now correctly reported as "rotational - continuous" (rather than "rotational - fixed range") for FW103, FW6, FW12, HDR50 and NR360S stages
- Bugfix: .NET API setting instances now have Value accessors provided in more levels of the inheritance tree
- Bugfix: Warnings are now provided when out of range position values are entered in the GUI move controls
- Bugfix: GUI position controls now immediately update when changing stage selection

Version 1.7.1 - 23rd March 2026
- Internal improvements

Version 1.7.0 - 20th March 2026
- Added support for PDXC3

Version 1.6.9 - 19th March 2026
- Bug fix to correct the labelling and order of jog options in device control windows

Version 1.6.8 - 18th March 2026
- Bug fix to prevent the text in numeric up/down spinners updating while being edited

Version 1.6.7 - 3rd March 2026
- Internal improvements

Version 1.6.6 - 23rd February 2026
- Bug fixes and internal improvements

Version 1.6.5 - 23rd February 2026
- Bug fix: Installation prerequisites now included in all installation packages

Version 1.6.4 - 20th February 2026
- Internal changes

Version 1.6.3 - 21st January 2026
- Added python wrapper API
- Bug fix: Non-piezo devices were not being filtered from piezo based setting state changes

Version 1.6.2 - 14th January 2026
- Internal changes

Version 1.6.1 - 12th January 2026
- Internal changes

Version 1.6.0 - 2nd December 2025
- Added KPC101 support
- Bug fix: 32-bit builds no longer misinterpret large status values
- Bug fix: Support for piezo controllers set to zero max travel

Version 1.5.0 - 27th November 2025
- Support for the LTS600C

Version 1.4.1 - 14th November 2025
- Bug fix: Fixed stage selection issue on redesigned BSC20X channel PCB
- Bug fix: Corrected the implementation of the BSC201

Version 1.4.0 - 3rd November 2025
- Added KST201 support for FW6 and FW12 filter wheels

Version 1.3.2 - 22nd October 2025
- Bug fixes for simulated device movement

Version 1.3.1 - 23rd September 2025
- Corrected prototype for TLMC_GetPotentiometerParams and TLMC_SetPotentiometerParams

Version 1.3.0 - 3rd September 2025
- Support for the LTS150C, LTS300C and LTS450C

Version 1.2.20 - 1st September 2025
- Support for MGMSG_MOT_SET_LIMSWITCHPARAMS for setting limit switch parameters in KST201 devices

Version 1.2.19 - 26th August 2025
- Bug fix: Corrected distance scaling factor for KST201/FW103 filter wheel

Version 1.2.18 - 20th August 2025
- Bug fix: Simulated AuxIoPortMode can now be retrieved correctly

Version 1.2.17 - 12th August 2025
- Bug fix: The encoder value is now being used when provided as part of an unsolicited stepper motor status response
- Internal improvements to status stepper handling

Version 1.2.16 - 6th August 2025
- Bug fix: GUI - Corrected jog button behaviour when used in continuous jog mode

Version 1.2.15 - 10th July 2025
- Internal improvements to allow greater feature reuse

Version 1.2.14 - 3rd July 2025
- Strengthened internal thread-safety in the GUI application

Version 1.2.13 - 25th June 2025
- Bug fix: Windows device drivers are now provided in the Install packages

Version 1.2.12 - 12th June 2025
- Bug fix: Fixed device information errors in simulated devices

Version 1.2.11 - 10th June 2025
- GUI now displays image for DDSM50 and DDSM100

Version 1.2.10 - 2nd June 2025
- Bug fix: Corrected unit conversion ratio used with brushless rotary stages

Version 1.2.9 - 2nd June 2025
- Bug fix: GUI - Corrected behavior of the connection window after minimized

Version 1.2.8 - 2nd June 2025
- Bug fix: Device discovery is no longer attempted on non-Thorlabs USB FTDI devices
- Bug fix: Logging of received packets now uses the correct strings rather then questions marks
- Bug fix: Now able to specify "CR1Z7" in set connected product calls on KDC101 devices
- Bug fix: Now able to set connected product on KDC101 by specifying the part number or a common abbreviation
- Bug fix: Now able to run XA at the same time as legacy software such as Kinesis and APT
- Bug fix: Creating a simulation of a "MTS100/M-Z8" no longer results in a PRM1Z8/M being simulated
- Improved logging when device discovery is aborted
- Several internal changes and improvements

Version 1.2.7 - 14th May 2025
- Improved logging where the SystemManager is not in the required state
- Several internal changes and improvements

Version 1.2.6 - 9th May 2025
- Bug fix: Native API - Resolved blank 'level' field in TLMC_RegisterLoggingHandler logging entries

Version 1.2.5 - 9th May 2025
- Bug fix: GUI - Corrected the spacing between the status indicator and text label in device control windows
- Bug fix: GUI - Corrected the spacing when collapsing a Device Control Window
- GUI - Reduced the size of ancillary status displays in device control windows
- GUI - The device control window for a BPC30X no longer resizes when transitioning between the 'zeroing' and 'zeroed' states

Version 1.2.4 - 8th May 2025
- Bug fix: Corrected firmware version data in the hardware information returned by BBD30X, BPC301, BPC303, KBD101, KDC101 and KST201 simulations

Version 1.2.3 - 7th May 2025
- Bug fix: GUI - Corrected the spacing between values and their units

Version 1.2.2 - 2nd May 2025
- Bug fix: GUI - Corrected the interpretation of clockwise and counterclockwise soft and hard limit switches
- GUI - Inactive hard and soft limit switches (both forward and reverse) now appear off (grey) rather than green to remove state ambiguity

Version 1.2.1 - 30th April 2025
- Internal changes

Version 1.2.0 - 28th April 2025
- GUI - Controls in the title bar of the Connect window are now usable when the window is busy
- GUI - The BSC20X connected product selector now uses smooth scrolling to improve readability
- GUI - Internal improvements

Version 1.1.0 - 28th April 2025
- Support for the MTS100(/M)-Z8
- Support for simulating the MTS25/M-Z8 and MTS50/M-Z8
- Provided change log in native API documentation

Version 1.0.4 - 17th April 2025
- GUI now displays product version

Version 1.0.3 - 17th April 2025
- Documentation additions for the BPC301 and BPC303

Version 1.0.2 - 17th April 2025
- Included missing actuator image
- GUI now displays default image for missing actuator images

Version 1.0.1 - 16th April 2025
- Internal bug fix

Version 1.0.0 - 1st April 2025
- Initial public release