XJTAG 4.1 Change Log
This document lists the main changes in each minor release of XJTAG. Please see the Release Notes for a list of breaking changes and other issues for this release.
Changes are often grouped by application. Note that changes grouped under XJRunner and XJAnalyser typically apply to XJDeveloper and XJInvestigator too.
4.1.5
Released 21 November 2025
- XJDeveloper:
- Boards Screen: Prefer the Unfitted field over other BOM fileds for unfitted suggestion rules.
- Connections Screen: Fix an issue where the last disconnect in the list could not be enabled or disabled when the tab was first shown.
- JTAG Chain Screen: Suggesting a JTAG chain where the TDI and TDO pins were test points did not work.
- Code Editors:
- Only syntax highlight ‘IN’ when it is used as a keyword and not if its a variable.
- Handle goto definition and context help correctly for the IN keyword.
- Add Back and Forward buttons to the editor toolstrip to allow navigation back and forward between definitions.
- Variants:
- Add an Apply button in the Vary Devices dialog.
- Fix the context menu behaviour for variation suggestions.
- Explorer:
- Clicking a View button with a device selected was displaying a net and not the selected device.
- Ensure that the View button is always appropriately enabled or disabled.
- Automatically resize the columns in the Select XJLink dialog.
- The regexes when searching All project files had slightly different escaping rules than elsewhere.
- Fix saving a project with external hardware pins on boards with spaces in their name.
- Fix a crash opening a project with malformed external hardware pin names.
- When loading a project remove any references to library files that no longer exist in the library.
- Fix a possible crash due to the application allowing interaction with a separated screen when a modal task dialog was being displayed.
- Fix a possible crash trying to extract ID codes from the chain after a broken chain has been detected in a validate step.
- XJAnalyser: Fix a potential crash updating the Pin Watch window after pins are renamed.
- XJRunner: Fix a possible crash unplugging and re-attaching an XJLink when running tests in group mode.
- XJRun: Fix a possible crash running code using an XJLink-PF40.
- XJEase:
- Add new GET_JTAG_CHAINS function.
- Allow busses in test device files to be named ‘IN’ again.
- SPEA: Handler malformed test point list coordinate headers.
- Help: Document /shared switch for the installer.
4.1.4
Released 22 October 2025
- XJDeveloper:
- Boards Screen:
- Fix a crash assigning schematic files to a board when an existing schematic does not exist.
- Update termination warnings after editing or replacing the BOM file for a board.
- Fix an issue in the BOM import where delimited lists of device references were not being correctly parsed.
- Connections Screen:
- Fix a potential crash adding a manual device that already exists in the netlist.
- Sorting the list of manual devices would not update the currently selected device correctly.
- XJRunner Setup Screen: Update PIO bus access overrides when adding an XJLink-PF40 pin mapping.
- Categorise Devices Screen: Display variant only devices when filtering devices.
- Fix a possible crash selecting multiple warnings when the currently selected warning has been removed due to undoing an action.
- Report the compatibility version of a project more accurately when the pinmap is defined inline in the project.
- Fix a potential crash at startup if the XJLink Manager fails to start.
- Boards Screen:
- XJAnalyser:
- Fix a possible crash when running an SVF or STAPL file and the chain is not fully defined.
- Fix a possible crash unplugging the XJLink when an SVF or STAPL file is running.
- Fix an issue where performing a TMS reset fails trying to run an SVF or STAPL file after it has previously failed.
- Fix an issue where the chain could not be started after editing the project, e.g. adding a constant pin.
- XJRunner: Fix a juddering effect when PRINT_FORMAT was being used in XJEase to print carriage returns and the output was at the bottom of the screen.
- JTAG Chain Debugger:
- Improve broken chain error messages when determining DR lengths.
- Improve broken chain error messages in the validate step of a subchain reset.
- Layout Viewer: Fix a potential crash resizing the window.
- XJHelp: Fix a possible crash clicking Back either immediately as the window opens or just before closing the window.
- XJPack: Ignore suggested files that do not exist on disk.
- XJEase:
- Allow ‘IN’ to continue to be used as a bus or variable name. This fixes a regression in v4.1.3.
- Fix an issue where calling SET_BROKEN_CHAIN_DETECTION between raw JTAG statements could cause the following statement to fail.
- Help:
- Document how XJIntegration RunFunction calls are logged in formatted log files.
- Add missing call to XjtagSystem.Close() in Python XJIntegration examples.
- Various minor fixes to the XJDeveloper and XJIO Board tutorials.
- Installer: Include XJEase library v195.
4.1.3
Released 18 September 2025
- XJDeveloper:
- Boards Screen: Sometimes a second click could be required to configure a board as a test fixture board.
- JTAG Chain Screen: Improve performance when editing large multi-core devices.
- Categorise Devices Screen:
- Allow feedback to be submitted to XJTAG to request test device files for parts that are currently unsupported by the XJEase library.
- When categorising from the library and many existing files might need updating, the dialog was unusable.
- Constant Pins Screen: Fix a potential crash when adding a constant pin.
- Debug Connection Test Screen: Improve the UI of the settings dialog.
- Run Tests Screen: Fix a crash in certain circumstance closing the waveform viewer if the test was still running.
- Feedback Dialog:
- Ensure that the splitter for the list of files always has a minimum size.
- Improve display of attached files.
- Exporting a zip file when the zip file already exists did not overwrite existing files inside the zip file.
- Improve performance when handling logic on nets with large numbers of pins and connections.
- XJAnalyser:
- Fix a potential crash cancelling waiting for the chain to stop.
- Occasionally after successfully running an SVF or STAPL file, it would report that the operation had been aborted.
- Prevent running if the JTAG chain could not successfully be constructed.
- XJInvestigator: Fix parsing BOM files and BOM data from schematics from inside XJPack files.
- XJEase: Add FOREACH language construct.
- Schematic Viewer: Fix a possible crash when copying text to the clipboard.
- XJHelp: Fix searching for hyphenated terms.
- Installer: Install XJEase Library v194.
4.1.2
Released 27 August 2025
- XJDeveloper:
- Categorise Devices Screen: Allow a test device that is also categorised as a JTAG and a connect device to be uncategorised as test.
- Passive Device Files Screen: Fix a crash if invalid characters were either entered directly for a new PDD filename, or if the part number used to initialise the filename contains certain invalid characters.
- Analyser Screen:
- Fix a potential crash closing the application while Analyser is running in a separated window.
- Fix a potential crash closing the separated Analyser screen.
- Run Tests Screen: Fix a possible crash closing the application immediately after adding a breakpoint.
- Variants: Allow multiple connections, disconnects and constant pins to be varied at once.
- Revisions:
- Fix an issue where parent project files could be incorrectly copied to the revised project directory.
- In some cases the option to share XJEase files would not work correctly if the option to keep the project structure was not ticked.
- Fix an issue where the file structure of the revised project could be broken.
- Ensure that BOM files, netlists or schematics that are no longer used in the revised project are not displayed in the shared files dialog.
- Don’t overwrite symbolic links when saving project files, but follow them and overwrite the linked file.
- Opening the project location in Windows Explorer could fail when used for a second time.
- Don’t allow the All Components category to be edited.
- Fix a potential crash unplugging an XJLink while the application is minimised.
- Layout Viewer: Fix a possible crash in the standalone application if invalid command line switches were provided.
- XJIntegration: Fix a possible failure running the Connection Test with full test output enabled due to a failure to load a specific version of an assembly.
- XJPack: Include suggested files in the XJPack file when packing from the command line.
- Fix a possible crash in all applications if the XJLink Manager is unresponsive.
- Connection Test: Fix a potential crash when one of a pair of differential nets was configured not to be driven.
- Debug Connection Test: Fix a crash if initialising the test fails.
- Netlist:
- Add support for a new semicolon delimited format.
- Add support for a Zuken CR5000 variant.
- Help: Document that Ctrl+Space autocompletes variables too in the code editors.
- Installer:
- Install XJEase Library v193.
- Support 64-bit Keysight installations.
4.1.1
Released 21 July 2025
- XJDeveloper:
- Boards Screen:
- Display missing schematic and BOM files in red.
- Setting all pages of a schematic to be rotated could remove the schematic from the board.
- Resize the Edit Board Dialog correctly so that BOM and schematic buttons remain visible when selecting an EDIF netlist.
- Connections Screen: Add a note containing the associated net names to new pin connections.
- JTAG Chain Screen:
- Add a Set as TDO button rather than just relying on a context menu.
- The chain order would not be restored correctly after undoing the removal of a chain.
- Ensure that the path to the BSDL file is stored correctly in the board file after suggesting chains, if the board file is not in the same directory as the project.
- Categorise Devices Screen:
- Suggest test and logic device categorisations from existing device categorisations when no suggestions from the libraries are found.
- Fix auto-sizing of columns in the grid when assigning as a logic device.
- Fix a potential crash cancelling the Suggested Categorisation dialog when suggestions were still being generated.
- Automatically fill in the device name with the filename when creating a new test device file.
- Fix a crash when right-clicking on the headers of the Suggest Devices dialog.
- Display board names when describing the reasoning behind resistor categorisation suggestions when there are multiple boards.
- Constant Pins Screen: Allow invalid constant pins to be edited.
- Passive Device Files Screen:
- Fix tab order in the connections grid.
- Use the part number from the BOM as a default filename for new PDD files.
- Don’t allow files to be created with empty assignments in them.
- Test Device Files Screen:
- Fix the auto-sizing of column widths in the navigator.
- Fix copying text out of the busses window.
- Variants:
- Fix a potential crash when cancelling the Vary JTAG Device dialog.
- Selecting groups of suggestions in the Suggest Variations Wizard would apply the same suggestion to all selected devices.
- Pin Mapping Screen: Fix an issue where subchain TCK frequencies could be ignored in optimised scans mode.
- Start Screen: Fix positioning of blog post tooltips.
- XJEase Library:
- Fix suggested filename when saving a copy when the filename and device names differ.
- Fix saving copies of additional code files associated with a device file.
- Fix suggesting ignored or coupling capacitors when non-default patterns were defined.
- When searching for netlist elements, reduce the size of the dropdown box when the number of search results reduces.
- Display logic pin-outs when displaying details in the Suggested Categorisation dialog.
- Fix broken help link in the XJPack file error dialog.
- Fix various incorrectly scaled icons on menus.
- Enable formatted logging by default in new projects.
- Ensure that What’s New content is displayed the first time the application is opened.
- Project Compatibility Report: Don’t display duplicate compatibility version items.
- Don’t leave orphaned Explorer processes behind on Windows 11 when opening project locations.
- Boards Screen:
- XJAnalyser: Scale the column headers in the constant pins table.
- XJRunner:
- Remove a delay populating the global variables grid in the Enhanced Testing Options dialog.
- Enable the use of binary and hex literals when overriding global variable values.
- Automatically switch to a selected tab when starting running in group mode.
- Chain Debugger: Clear the measured voltage when switching off live mode.
- Layout Viewer:
- Fix a potential crash resizing.
- Add command-line switches to the standalone application to highlight specific nets, devices or pins.
- Fix a potential crash viewing live pin data in a project with variants.
- Schematic Viewer:
- Keep the page number in the status bar updated when searching.
- Try and improve the ordering of search results so that likely matches with BGA pin numbers are ranked lower.
- Improve the searching of multi-part devices in Altium schematics.
- XJLink Manager: Fix an issue where changes to authorisations code could be lost if an existing authorisation code had just expired.
- XJEase:
- Optimise handling large arrays.
- Don’t report an internal runtime error when opening an invalid filename.
- Optimise FGETI and FGETS in various situations.
- Connection Test: Fix a possible crash analysing faults related to differential signals where one leg has a coupled connection and the other has a resistive connection.
- Netlists:
- Add a new parser for a semicolon separated values file format.
- Remove a restriction on line length in ODB++ files.
- Hardware:
- XJLink2: Fix a possible crash during the soft ground self test when the device is faulty.
- Fix a potential crash closing the application after an over-voltage pin fault.
- Help:
- Add a new section on timing considerations in test reset sequences to the user guide.
- Update XJIntegration TestStand requirements.
- Add photos of loopback connectors to the self test page in XJLink Manager help.
- Update the manually created board tutorial to use an XJDemo v4 board.
- Installer:
- Update the EULA.
- Install XJEase Library v192.
4.1.0
Released 20th May 2025
Main features
- Add support for XJLink-PF40:
- XJLink-PF40 supports up to 8 TAPs and 4 voltage domains.
- Revised pin mapping control allows an XJTAG project to contain a pin mapping for an XJLink2-based controller, an XJLink-PF40 controller or both.
- Support multi-sourced components, allowing a device test to accept any one of a set of acceptable alternative parts to be fitted to the UUT.
- Add Support and Feedback buttons in XJDeveloper.
- Improve support for nTRST pins:
- XJTAG now automatically sets up a default reset sequence in new projects.
- Most projects will no longer need to define a custom reset sequence, although this is still possible in the same way as before.
- Users can add a new “Pulse nTRST” step to custom sequences, which in most cases will do what is required to the nTRST and TCK pins to put JTAG devices into the right state.
- Add the ability to follow the current selection on the Categorise Devices screen in the layout and schematic viewers, meaning that the layout and schematic viewers track your progress through the circuit and display helpful information without additional clicks.
- Timing during tests can now be adjusted if required using the ‘Update Intervals’ control on the Advanced Configuration Options tab of the Pin Mapping screen and via new XJEASE functions.
- Allow tests to be run in profiles that have no JTAG chains defined.
- XJIntegration: Allow the XJTAG output box to work in LabVIEW 2023 and TestStand 2021 onwards.
- XJEase: Improve SWD support to improve functionality and robustness.
Smaller enhancements and bug fixes
- XJDeveloper:
- Connections Screen: Display XJLink pin connections in a separate list from other connections.
- Categorise Devices Screen:
- Group suggested categories by device type.
- Improve performance generating test device suggestions.
- Test Device Files Screen: Allow spaces in part numbers in Part Specific Defaults dialog.
- Test Coverage Screen: Remove unnecessary context menu items for the tab controls.
- Pin Mapping Screen:
- Allow multiple pin mappings to be defined in a project so that different XJLink types can be supported by a single project.
- Improve the warning when loading a preset pin mapping to indicate how TAP groups and nTRST pins will be changed.
- Replace Load and Save pin mapping buttons with Import and Export.
- Allow various operations to run when there are errors in the project.
- Allow invalid pins to remain in reset sequences and just display an error rather than removing the offending pin.
- XJRunner Setup Screen: Display PIO names rather than XJLink pin numbers in PIO bus access overrides.
- Run Tests Screen: Fix a potential erroneous VREF error message when switching to the screen and one or more VREF pins are defined in the pin mapping.
- Code Editors:
- Highlight all occurrences of the word under the caret and all occurrence of any selected text.
- Add the option to auto surround selected text with brackets or quotes.
- Variants: Mark configuration variations as invalid if the configuration variable does not exist for the test device file.
- Make part number matches stricter for library device suggestions to reduce false positives.
- Give focus immediately to the search box when opening the XJEase Library browser.
- Improve automatic test list suggestion performance.
- Improve the performance of selecting items in circuit item selectors.
- Improve the behaviour of a number of grid controls.
- Fix a possible crash trying to view changes to a library file that is no longer present in the library.
- Display an error when selecting an XJLink that has no licence.
- XJAnalyser:
- Ensure that SET_DEFAULT_OVERRIDE is honoured in board initialisation functions and in reset sequences.
- Retain set pin values after a reset sequence has run.
- Run post testing functions when the chain stops, rather than after board initialisation.
- Allow board initialisation functions to be debugged.
- Make profile reset behaviour consistent with how XJEase tests are run.
- Fix an issue where performing a chain reset after a conflict could cause a broken chain error if any devices were in bypass.
- Improve the performance updating the pin list when many pins are changing.
- XJInvestigator: Remove an unnecessary menu separator on the Pin Mapping menu.
- XJRunner: Ensure that error messages about the users database are displayed above the splash screen.
- JTAG Chain Debugger: Improve responsiveness when cancelling Get Max. TCK and signal integrity.
- XJLink Manager: Fix an issue where the application could silently exit in the background.
- XJIntegration:
- Fix a crash clicking Help on the context menu for a connection test error in the output box.
- Don’t display a Help item on the context menu for net hyperlinks in the output box that are not associated with connection test errors.
- Improve resiliency by throwing ObjectDisposedExceptions in various places if an attempt is made to use a disposed object.
- Allow the ability to create a session to group the running of multiple tests together so that logging output can be combined and the lifetime of XJEase variables maintained between those tests.
- Allow the log filename and directory to be overridden.
- Allow the serial number to be set directly without the need to call the NEW_SERIAL_NUMBER test function.
- Add ShowLogicDebug and ShowXJEaseDebug properties that allow additional debug output to be printed containing information about pins being used to drive buses and logic at runtime.
- Ensure that output from direct function calls via RunFunction are logged and extend the formatted log file format to support this.
- Prevent glitches on constant pins set via a reset sequence between tests.
- XJAPI: Don’t allow hard ground pins to be driven low.
- Schematic Viewer:
- Add the ability to open highlighted items in Explorer and Layout Viewer.
- Fix a possible crash closing the schematic viewer when then Print dialog was open.
- XJEase:
- Fix a runtime error that could occur when running JTAG scans on multiple TAPs when SWD pins were defined on a TAP other than the first.
- Fix a possible crash initialising external API DLLs.
- Connection Test:
- Fix an issue where non-JTAG pins were not being correctly used to drive a net.
- Improve debug output when the chain breaks immediately at the start of the test.
- Debug Connection Test:
- Ensure that SET_DEFAULT_OVERRIDE is honoured through the test.
- Flash the yellow LED on the XJLink while running.
- Ensure that XJEase variables are persisted correctly between reset sequences and board initialisation.
- Retain set pin values after a reset sequence has run.
- Allow board initialisation functions to be debugged.
- Run post testing functions on completion of testing rather than after board initialisation.
- Make profile reset behaviour consistent with how XJEase tests are run.
- Reset sequences:
- If a reset sequence waveform contained non JTAG pins, then any PIO or TAP pin steps were not being performed.
- Improve the timing of PIO and TAP waveform steps to make them more precise.
- Improve the accuracy of short sleeps.
- Help:
- Update revisions section to describe excluded devices.
- Rectify some omissions in the formatted log file format documentation.
- Include XJIntegration help in standalone XJRunner installations.
Older versions
4.0 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 3.3 | 3.2 | 3.1 | 3.0
We welcome any suggestions for improving our products. Please contact us with any comments you may have and we will look into incorporating your ideas into a future version.
