XJTAG 4.2 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.2.5

Released 27 March 2026

  • XJDeveloper:
    • Connections Screen: Allow a manual device to be edited by double-clicking it.
    • Power/Ground Nets Screen: Fix a possible crash double-clicking on the unassigned category in some circumstances.
    • JTAG Chain Screen: Fix an issue where spurious errors were displayed when importing an existing MCD file for a device whose board is not in the project directory.
    • Test Device Files Screen: Fix a potential crash visiting the screen with a corrupted .settings file.
    • Code Editors:
      • Make F1 context help work for XJEase doc tags.
      • Display banners on the code files screens when there are XJEase library updates available for a project.
    • Explorer: Remember the expanded state of the details panel sections between searches.
    • Fix a potential crash opening a project with syntax errors in the project file.
    • Fix an issue where a project could not be opened after removing configuration variables from a multi-sourced file.
    • Fix an issue where another application would be brought to the foreground after closing the library browser dialog.
    • Fix a possible crash changing screens immediately after clicking a result in the Find in Files dialog.
  • JTAG Chain Debugger: Fix opening signed XJPack files with an XJRunner-SP licence.
  • XJLink Manager: Fix a possible crash after the machine resumes from hibernation.
  • Layout Viewer:
    • Fix a potential crash resizing the window in certain circumstances.
    • Ensure the layer selector is correctly populated when opening a new file.
  • Schematic Viewer: Parent the open schematic dialog to the schematic window rather than the application main window.
  • XJEase Library: Allow "Save copy as" to overwrite existing files.
  • BSDL Library: Update list of manufacturer IDs.
  • BSDL: Fix an issue where a capture pattern for RUNBIST instructions was being incorrectly reported as an error in strict mode.
  • Installer: Use XJEase library v198.
  • Help:
    • Make some minor corrections to the XJDeveloper tutorial for boards without netlists.
    • Improve the help for XJEase doc tags.
    • Add XJEase language exercises.

4.2.4

Released 24 February 2026

  • XJDeveloper:
    • Connections Screen:
      • Allow manual devices to be edited.
      • Ensure that all related connections and disconnects are removed when a manual device is removed.
      • Update the table of manual device pin connections as pin connections are modified via undo and redo.
      • Ensure that manual devices are added to the correct board.
    • Power/Ground Nets Screen: Add Follow-in functionality.
    • JTAG Chain Screen:
      • Fix spurious missing pin warnings for multi-core devices.
      • Only display valid restrictions for a particular pin in the dropdown when editing pin restrictions.
      • Fully populate the dropdown list of pins before anything has been typed when editing pin restrictions.
      • Fix a possible crash when configuring multiple multi-core devices.
    • Categorise Devices Screen:
      • Fix a possible crash closing the Suggested Categorisation Wizard.
      • Fix a potential crash categorising logic devices.
    • Test Device Files Screen:
      • Allow the list of devices that displays access for a bus to be sorted.
      • Display board names on the View Devices context menu when necessary to differentiate devices with the same reference.
      • Fix a potential crash adding busses or reloading an externally modified device file in certain circumstances.
      • Fix a crash pressing Ctrl+C on the busses table when no cells selected.
      • Keep additional code files in the correct include order when sorting the list of test device files.
    • Pin Mapping Screen:
      • Ensure that the live mode status is updated correctly after the selected variant is changed.
      • Clear the selected pin correctly when clicking blank space around the graphical view.
      • Fix a possible crash starting the chain in a variants project.
      • Fix a possible crash starting live mode in a variants project after opting not to save outstanding changes in the root project.
    • Analyser Screen:
      • Ensure that the screen is updated correctly when separated and the currently selected variant is modified.
      • Fix a potential crash adding pins to the waveform view while a variant requires reloading.
    • Schematic Viewer: Fix a possible crash closing the schematic viewer when Follow-In is enabled.
    • Explorer:
      • Add Follow-In functionality.
      • Fix an issue where incorrect access could be shown through logic if power or ground nets with pulls in the opposite direction were present.
      • Display ‘Excluded’ as a disable value rather than ‘Input’ to be consistent with the Test Device Files screen.
      • Fix an issue where minimising and restoring the Explorer window could cause the graphical navigation panel to be reduced to zero height.
    • Move the controls to enable the Follow-in functionality to the main toolstrip so it is global for all screens.
    • Fix a potential crash closing the application immediately after files have been modified outside the application.
    • Fix a crash opening the BSDL Library if the currently configured library is not found.
    • Fix a possible crash selecting multiple warnings after the warnings have been changed by changes to the project.
    • Fix a possible crash removing a PDD file via undo.
    • Allow E as a unit designator for resistance values.
    • Select the project file when opening the project location in Windows Explorer.
    • Don’t check maintenance status for user-defined libraries.
  • XJAnalyser:
    • Fix a crash opening the BSDL Library if the currently configured library is not found.
    • Fix a potential crash in the waveform viewer if a BSDL file is modified outside the application.
    • Fix a regression where the chain could not be run when one or more devices did not have a BSDL file assigned and so would be run in BYPASS.
    • Fix a possible crash finishing or closing the new project wizard after changing a device’s IR length.
    • Ensure that the correct TCK frequency is initially displayed in the Run SVF/STAPL dialog.
  • XJRunner:
    • Fix a potential crash closing the application immediately after opening it.
    • Don’t show the Serial Numbers dialog when the option to provide serial numbers is disabled.
  • XJInvestigator: Fix an instance where an incorrect application name was displayed in an error message.
  • Fix an issue in several applications where error messages at startup could appear behind the splash screen.
  • XJEase Library Editor:
    • Add some mini tutorials to the help content.
    • Add some additional toolstrip buttons for Import, Build and Syntax Check.
  • JTAG Chain Debugger:
    • Fix an issue where a duplicate all-chains profile could be created when auto-generated profiles are enabled.
    • Disable the Signal Integrity button when other chain operations are running.
    • Improve the broken chain error message if Check Chain fails in certain circumstances.
    • Update the pin mapping in use in live mode when it is changed via undo or redo.
  • Layout Viewer: Fix a possible crash during drawing.
  • Display the last usable version if a licence check fails due to expired maintenance.
  • Fix a potential crash after a XJLink-PF40 has reported an error soon after initialisation.
  • XJEase:
    • Recalculate skew values when retrying a reset sequence or CHECK_CHAIN that has failed.
    • Fix a possible SWD error after a raw JTAG block inside an SWD block.
  • Takaya: Fix a crash when starting up.
  • Help:
    • Add a new user guide section on variants.
    • Add a new user guide section on constant pins.

4.2.3

Released 23 January 2026

  • XJLink Manager: Fix an issue where the firmware of an XJLink2-PXI card could be corrupted when modifying authorisation codes or renaming the XJLink.
  • XJDeveloper: Fix a potential crash opening a project with a corrupted .settings file.
  • XJAnalyser: Ensure that the waveform view is updated when pins and busses are renamed in the Pin Watch windows.
  • XJRunner: Fix the sort order in the table of global variables in the Enhanced Testing Options dialog.

4.2.2

Released 19 January 2026

  • XJDeveloper:
    • Boards Screen:
      • Don’t close the Add New Board dialog after an attempt is made to load an invalid board file.
      • Update the counts on the Unfitted Rules dialog after editing the device filters.
      • BOM Import: Truncate the message cleanly when notifying of repeated or invalid device ranges.
      • BOM Import: Allow device reference ranges to start at zero.
    • Connections Screen: Fix a potential crash after removing a manual device when the screen still has unsaved changes.
    • JTAG Chain Screen:
      • Remove the scan order column.
      • Fix a possible crash attempting to assign a JTAG controller connector as a JTAG or connect device.
      • Display port and net names for the selected pin in the Pin Restrictions dialog.
      • Fix a potential crash configuring a multi-core device if a core has an invalid BSDL filename assigned to it.
      • Fix a possible crash re-ordering cores inside a multi-core device after using the keyboard to modify the selected core.
      • Don’t allow multiple JTAG devices to be incorrectly configured together by using the keyboard to select multiple items.
      • Fix a potential crash configuring pin restrictions when multiple JTAG devices are being configured.
      • Fix a possible crash in specific circumstances updating the drawing of the chain.
    • Categorise Devices Screen:
      • Display a configuration variable’s name in place of a description in the Configure Device dialog if a variable has no description.
      • Fix a potential crash accepting suggested categorisations after hitting escape to cancel an assignment from a drop-down list.
      • Fix a possible crash opening a context menu with the follow-in feature enabled.
      • Fix a possible crash expanding nodes when no item has focus.
    • Test Devices Screen:
      • Allow the columns in the navigator to be sorted.
      • Fix a possible crash sorting busses by their name after deleting the name of a bus.
    • Pin Mapping Screen:
      • Add Signal Integrity button to the toolstrip.
      • Fix a possible crash when editing reset sequences.
      • Fix a possible crash running various chain debugger operations with unsaved project changes and a variant selected.
    • Explorer: Display more information about the source of a net’s disable value.
    • Variants:
      • Ensure that the match counts for unfitted rules are correctly taken from the current variant and not the root project.
    • Revisions:
      • Disconnected pins were not being setup correctly after accepting suggestions for device matches.
      • Fix a potential crash attempting to display an error in the checklist in certain circumstances.
    • When zipping a project, folders inside the project folder were being unnecessarily traversed, which could be a performance issue as well as causing errors if the folder contained very long path names.
    • Improve the responsiveness of the application with follow-in feature enabled.
  • XJAnalyser:
    • Fix a potential crash after stopping the chain.
    • Fix a crash if tow identical pins from different boards are added to the same bus.
    • Fix an issue where conflicts may not be reported on toggling pins.
  • Log File Viewer: Allow filtering by variant.
  • JTAG Chain Debugger: Improve the error message that is displayed if starting signal integrity tests fails.
  • XJLink Manager:
    • Improve the error message that is displayed if an authcode is mistyped.
    • Add the ability to licence XJLinks in bulk.
  • Don’t allow the splash screen to be closed manually, which prevents a number of potential issues.
  • XJEase: Fix running code that calls external APIs when the API and its dependent assemblies are not in the project directory and the project is run from an XJPack file.
  • Connection Test: Fix an issue where a constant net might not be setup correctly.
  • Help:
    • User guide: Add connection test errors section.
    • Use the term ‘UUT’ consistently, rather than ‘DUT’.
    • Update the PRINT_FORMAT documentation to match the standard styles defined in globals.xje.
  • Installer: Use XJEase library v196.

4.2.1

Released 15 December 2025

  • XJDeveloper:
    • Pin Mapping Screen: fix a crash loading the screen in Chinese versions of Windows.

4.2.0

Released 11 December 2025

Main features

  • Add support for XJLink-PF20:
    • XJLink-PF20 supports up to 4 TAPs and 2 voltage domains.
    • XJLink-PF20 contains the same improved robust front-end as the XJLink-PF40.
  • Add Pin Restrictions, a mechanism that allows the use of the read and drive capabilities of JTAG device pins to be restricted, rather than resorting to editing the BSDL file. This can be useful in preventing JTAG pins from being used by the XJTAG system due to different voltage domains, or where differences between the BSDL and the actual hardware exist.
  • Extend the possible set of constant values with IsHigh, IsLow and IsDriven to describe nets that are driven externally outside of XJTAG’s control. Previously such nets would be assigned as Input, excluding these nets from the connection test analysis. Like Excluded, the new values will prevent connection test from driving the nets via JTAG or external hardware, however the Connection Test will still read these nets where possible, checking that nets with IsHigh and IsLow are High and Low respectively, and checking IsDriven nets for shorts.
  • Allow a preferred XJTAG version to be specified for an XJPack file that will be checked by XJRunner, XJInvestigator, Chain Debugger and optionally applications using XJIntegration.
  • Allow manual devices to be created with BGA pins in XJDeveloper.
  • Significantly enhance the functionality of the Suggestions Wizard and make it available from the Categorise Devices screen in XJDeveloper; previously it could only be accessed from a link in the Assistant.
  • The application help is now available on the XJTAG website at https://docs.xjtag.com/xjtag/current/.

Smaller enhancements and bug fixes

  • XJDeveloper:
    • Boards Screen:
      • Allow unfitted devices to be categorised directly from the Edit Unfitted Rules dialog.
      • Automatically assign BOM fields from the column header text when importing BOM data.
      • Prevent the Manually Created Board Wizard from being launched if no XJLink2 pin mapping is defined, thereby avoiding a potential crash.
    • Connections Screen:
      • Don’t allow net names to be edited on the manual devices tab.
      • Allow disconnects to be enabled or disabled in the dialog and not just in the grid.
      • Fix an issue where disconnects would not be applied correctly on nets connected to manual devices.
    • JTAG Chain Screen:
      • Errors about XJLink connections could refer to the wrong chain after swapping chains around.
      • Fix an issue where an auto-generated profile could be erroneously created after editing JTAG devices.
      • Fix an issue where auto-generated subchains could be lost from user-defined profiles when editing chains.
      • Automatically create subchains for all defined chains, even if they appear to be empty because of errors in the project.
    • Categorise Devices Screen:
      • Fix an issue where a single-pin device would not be displayed if it was connected to and then disconnected from the XJLink.
      • Fix an issue where a device that was connected to another device and categorised as ignored could appear in both the categorised and uncategorised lists after the device to device connection was removed.
      • Fix a potential crash trying to categorise a device that is part of a device to device connection where the other half is not found.
      • Fix a possible crash that can occur when filtering the categorised devices panel.
      • When selecting multiple items with Follow-In enabled, always select the last focused item.
      • When a BOM field is chosen to be displayed, display it as a separate column so the table can be sorted by these values.
    • Test Devices Files Screen: Fix a possible crash when the columns in the Busses pane are resized.
    • Circuit Code Files Screen: Fix an issue where clicking errors due to a duplicated function would open the code file on the Test Device Files screen.
    • Pin Mapping Screen:
      • Fix a potential crash automatically generating subchains and profiles.
      • Allow live mode to be started when there are code compilation errors.
      • Do not allow advanced pin mapping settings to be modified when chain operations are running.
      • Warn the user that the project is being switched to use optimised scans when adding an XJLink2-PF40 pin mapping.
      • Fix an incorrect error message that could be displayed when there is a broken chain and dynamic chains are in use.
    • Debug Connection Test Screen: Fix a potential crash when attempting to run the debug connection test when a reset sequence is missing.
    • XJRunner Setup Screen: Fix a bug where it was possible to create a fault dictionary entry with a blank name.
    • Options: The ‘Store custom fields added during BOM import’ checkbox was not initialised correctly and would also be ticked.
    • Suggestions Wizard:
      • Allow the dialog to be accessed from the Categorise Devices screen as well as the Assistant.
      • Add a progress bar.
      • Add the ability to follow the current selection in the layout or schematic.
      • Repeat the connector and series resistor steps if more devices are found as the result of adding links on power and ground nets.
      • Remove the unneeded diff term step.
      • Prompt to keep any changes that have already been made when cancelling the dialog.
      • Update the categorisation history on the Categorise Devices screen.
      • Improve the styling of grids in various places.
      • Fix a bug where the grid would unexpectedly begin scrolling with a context menu open.
      • Fix an issue where links on term ref nets could be missed.
      • Fix a number of visual bugs when populating the dialog.
      • Fix an issue where multi-sourcing configuration could be lost when categorising test devices.
      • Fix an issue where some grid controls would look disabled when there was only a single row, because of the colour scheme.
    • Code Editors:
      • Ensure the correct status text is displayed when switching between Find and Replace.
      • Ensure that error messages for code inside XJModule files never have line numbers displayed.
    • Variants:
      • Fix a possible crash in the errors and warnings dialog if parsing the BOM data has failed.
      • Fix a possible crash in the unfitted rules dialog if parsing the BOM data has failed.
    • Multi-sourcing:
      • Show configuration variable errors once per source and not for each device.
      • Make disabled checkboxes more obvious when editing multi-sourced files on the variants screen.
    • Do not prompt to update library files by default when opening a project.
    • Remove the DeviceConnectionDefault property from the .xjd file and just persist the setting within the current session.
    • If a project has failed to be opened, don’t display any further errors that might be encountered.
  • XJRunner:
    • Fix a potential crash after testing has finished in certain circumstances.
    • Fix a potential crash running tests if a project contains fault dictionary entries without a name.
  • JTAG Chain Debugger: Fix a potential crash calculating the maximum TCK frequency.
  • XJLink Manager:
    • Use modern Windows notifications which open the XJLink Manager when clicked.
    • Improve performance of Toggle Pins and Power self tests.
    • Fix a possible crash attaching an original XJLink that contains an expired authcode.
  • Ensure that hyperlinks in What’s New content are always opened in a browser.
  • Improve the error message if the user appears to be out of maintenance by encouraging the user to update their maintenance file.
  • XJIntegration:
    • Don’t report that tests passed if not tests have run.
    • Fix a spurious exception if SetLogFilename was called after calling EndRunSession or after running tests.
  • XJEase:
    • Improve the ability to cancel XJEase execution in tight loops.
    • Ensure that the FLUSH statement waits for the transition through update after doing a read.
    • Fix an issue in the setup of the runtime that could cause a crash starting tests if .NET assemblies had been modified on disk while the application was running, presumably due to Windows updates.
    • Ensure that subsequent tests run correctly if a test fails while inside a raw JTAG block.
    • Don’t allow JTAG pins on multicore devices to be controlled directly from a SET statement.
    • Prevent a subchain reset being run multiple times after a select subchain reset.
  • Connection Test: Fix a possible crash with a pin on a differential signal attached to an 1149.6 coupled net that had a common control.
  • Help:
    • Clarify how the XJLink is treated as non-JTAG test equipment.
    • Update the documentation for the @devices and @configvariable doc tags.
    • Improve how boxes are rendered in the user guide, which means that text in these boxes is now searchable and also enabled some broken links to be identified.
    • Improve the example code for the GET_BSDL_IR_LENGTH XJEase function.
    • Update the linking chains tutorial exercise to more clearly indicate that it is XJLink2 only.
  • Installer:
    • Remove XJDemo v3 tutorials and example projects.
    • Remove unneeded v10 Visual C++ runtime DLLs.
    • Add the XJTAG version to various utility shortcuts so they can be disambiguated more easily when searching the start menu.
  • Add the application name in the subject of a support or feedback submission.
  • Target .NET Framework v4.8.
  • Publish help content on the website.

Older versions

4.1 | 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.