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.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.
- Boards Screen:
- 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.
