XJTAG 4.0 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.0.8

Released 9th May 2025

  • XJDeveloper:
    • Connections Screen: Preserve the order of disconnects when undoing or redoing.
    • Categorise Devices Screen: Fix a potential crash re-assigning a test device using the MRU buttons.
    • Test Device Files Screen:
      • Fix a spurious validation error after switching a configuration variable from being a list to a scalar value.
      • Retain the selected file after editing configuration variables.
      • Additional code files added via the @requires tag were not being marked as library files.
    • Test Coverage Screen: Pin properties were not being displayed correctly.
    • Pin Mapping Screen:
      • Ensure that column widths in the Advanced Configuration Options tab are saved correctly.
      • Fix a potential crash running Check Chain when a profile references a subchain reset that no longer exists.
      • Fix a possible crash running Get Max. Tck.
    • Analyser Screen: Fix a potential crash changing device settings after opening a project that was created in XJAnalyser.
    • XJRunner Setup Screen:
      • Prevent invalid characters from being entered for log file extensions.
      • Disallow .xjlog from being used as a file extension for plain text log files.
      • Fix an erroneous validation error after switching the log files path to be relative.
    • XJEase Library: Improve the behaviour of the version history tab.
    • Revisions: Add a border to the revisions checklist filter search textbox.
    • Fix the behaviour of updating library files when the project has unsaved changes.
    • Pre-fill the project location when recovering from a crash.
    • Add ‘Unplaced’ as a potential entry for unfitted devices in the BOM.
    • Improve handling of projects that contain multi-sourced devices.
  • XJRunner:
    • Allow a scrollbar to appear if necessary in the Messages tab in Project Management.
    • Ensure that error messages about the users database appear above the splash screen.
  • XJRun: Add a command-line switch to force testing to continue after a test failure.
  • XJInvestigator:
    • Import BOM data from XJPack files if available and display in Explorer.
    • Add a View menu.
  • XJAnalyser: Display the affected device and BSDL file if a cell type is missing.
  • Allow all versions of the XJEase Library to be used with a maintenance licence irrespective of maintenance status.
  • Help:
    • Clarify the help for CHAIN_DEVICES and CHECK_CHAIN to recognise that a project may define multiple JTAG chains.
    • Document how to retrieve the exit code of the XJRun process.
    • Make file extensions documentation more discoverable.
  • Installer: Include XJEase Library v187.

4.0.7

Released 14th March 2025

  • XJDeveloper:
    • Boards Screen:
      • Allow newlines to be entered in the board description.
      • Update a board’s icon when errors are resolved.
      • Fix a potential crash editing SPEA information when no PartList.txt file defined.
      • Ensure that the BOM Import dialog is sized correctly for all its contents.
    • Connections Screen: Fix the command history description when adding or removing multiple connections.
    • Power/Ground Nets Screen: Don’t repopulate the screen after cancelling the Find Links dialog.
    • JTAG Chain Screen:
      • Ensure that the context menu correctly displays whether warnings are enabled or not.
      • Improve the error message displayed when a chain is incomplete and the current final pin is on a core inside a multi-core device.
    • Categorise Devices Screen:
      • Reorder the BOM fields in the column drop-down menu to match the order in the tree list.
      • Fix the layout of the suggested categorisation wizard when it is being resized.
      • Set a minimum size for the Assign Device As dialog.
      • Allow a JTAG device that is also categorised as a test device to be recategorised as a different test device.
    • Test Device Files Screen:
      • Fix a possible crash editing configuration variables.
      • Fix a crash if duplicate part numbers are entered for a test device file.
      • Reorganise the buttons for adding new or existing additional code files to make them less ambiguous.
    • Circuit Code Files Screen: Reorganise the buttons for adding new or existing circuit files to make them less ambiguous.
    • Pin Mapping Screen:
      • Ensure that tooltips are displayed for external hardware pins in the reset sequence editor to show the pin number.
      • Optimise running sequences with many waveform steps in the chain debugger in non-dynamic chain projects.
      • Display a message in the chain debugger if a profile reset was being retried because the TCK frequency had changed.
      • Print TCK frequency warnings in the chain debugger in non-dynamic chain projects.
      • Fix a potential crash adding external hardware pins to a reset sequence if the connection was disabled.
      • Don’t force TAP group to None if no devices in a subchain.
    • Run Tests Screen: Improve the default column widths in the Full Connection Test Output.
    • Code Editors: Pressing F1 for help when no keyword was selected would try and go to a non-existent page.
    • Variants:
      • In non-dynamic chain projects, the root project’s BSDL file would be used in the chain debugger on the Pin Mapping screen for a varied JTAG device.
      • Fix a possible crash when adding a variant and a board is shared across multiple projects and already contains leftover data for a variant of the same name.
    • Options Dialog:
      • Fix a crash right-clicking on the whitespace below the grid of device categories.
      • Ensure that the columns in the device categories grid are auto-sized correctly.
    • Remove warnings from the hidden warnings list when they are resolved.
    • Display the number of hidden warnings on the Hide Warnings button.
    • Centre the What’s New dialog on the main application window the first time it is displayed, but remember its location on subsequent occasions.
    • Improvements to the auto-sizing behaviour of grids in various parts of the application.
    • Add timestamps to the user actions log file.
    • Ensure that the correct state of a dialog is always saved when ticking the option not to show the dialog again.
    • Doing a Save As could lose BOM assignments in certain circumstances.
  • XJAnalyser:
    • Disable the ‘Display Bus Values As’ context menu item when no busses selected.
    • Fix displaying BGA devices that contain non-standard S, X or Z rows.
  • XJRunner: Fix a potential crash if the users database cannot be created in its default location.
  • JTAG Chain Debugger:
    • Refresh the UI properly when the pin mapping is changed when running from an XJPack file.
    • Display any errors if loading an XJPack file fails.
  • XJLink Manager: Display new two part firmware version numbers.
  • XJVersion: Fix potential crash at startup.
  • Schematic Viewer: Enable horizontal scrolling using the scroll wheel while holding down shift.
  • Layout Viewer: Fix a potential crash displaying a net.
  • XJIntegration: Fix opening variants in ATEasy.
  • XJEase:
    • Produce a better error message when attempting to use an external hardware pin in a reset sequence when the external hardware has been disabled.
    • Fix the error message displayed when SET_DEFAULT_OVERRIDE fails.
  • Connection Test:
    • The Maximum Simultaneously Changing Nets feature was not correctly applied to all parts of the test.
    • Fix a possible crash when testing differential pins.
  • BSDL: Add missing reference to the specification when reporting errors for unused ports.
  • SVF: Be more permissive about PIO names, allowing digits, underscores and square brackets.

4.0.6

Released 15th January 2025

  • XJDeveloper:
    • JTAG Chain Screen: Fix a potential crash suggesting chains if a BSDL file had its TAP pins incorrectly defined.
    • Passive Device Files Screen: Improve the UI behaviour after discarding changes to a PDD file.
    • Test Device Files Screen: Fix a potential crash renaming a bus.
    • Pin Mapping Screen: Ensure that built-in sequences are removed after their associated subchain is removed.
    • Variants: Fix a potential crash varying a multi-core JTAG device that is also categorised as a test device and has multiple TAPs inside it.
    • Display a What’s New dialog at startup.
  • XJRunner:
    • Fix loading XJModules, SVF files and STAPL files from the XJPack file when running a variant.
    • FIx loading schematics when the board file in a separate directory to the project.
  • XJHelp: Allow a help URI to be pasted into the search box to go directly to a specific page.
  • XJIntegration: Fix typo in C# example.
  • XJEase:
    • Fix an issue loading external APIs from the global assembly cache where a dependency of the assembly has a later version installed in the GAC than expected.
    • Improve the error message if examining an external API assembly fails.
  • BSDL: Display an error if a TAP pin is defined as a linkage pin and is also missing from the pinmap.

4.0.5

Released 11th December 2024

  • Fix CVE-2024-48510 in the DotNetZip library.
  • XJDeveloper:
    • Boards Screen:
      • Sort device references on the Assign Columns page in the BOM import.
      • Do not display an empty context menu when clicking the whitespace in the Unfitted Rules dialog.
    • Connections Screen:
      • Improve the performance of disabling or removing device connections in projects with a large number of connections.
      • Fix a possible crash when creating a manual device.
      • Cope with BGA pins on manually created devices that have been added via a BSDL file.
    • Power/Ground Nets Screen:
      • Improve categorisation of some power nets that were previously being more strongly categorised as termination reference nets.
      • Improve categorisation of termination reference nets.
    • JTAG Chain Screen: When suggesting chains, do not display a warning about overwriting if there is nothing to overwrite.
    • Passive Device Files Screen: Improve UI for creating connections.
    • Test Device Files Screen: Fix a potential crash deleting busses.
    • Test Coverage Screen:
      • Calculate test coverage correctly if the option to ignore shorts on unconnected pins is enabled.
      • When filtering to select a particular board, automatically select that board.
    • Pin Mapping Screen:
      • Improve the performance of loading a pinmapping file containing a large number of test reset sequence steps.
      • Fix a possible crash selecting a preset.
      • Keep subchain reset sequence assignments when changing the default profile.
      • Fix a possible crash trying to delete a sequence that is not selected.
    • Analyser Screen: Ensure that XJEase code output is always printed in the correct order when first running the chain.
    • XJRunner Setup Screen:
      • Fix a possible crash editing conditions.<
      • Improve the Edit Condition dialog.
    • Run Tests Screen:
      • Enable show in Analyser context menu options for MCD cores in test output.
      • Fix a possible crash after aborting running tests.
    • Explorer: Prevent the list of nets or pins temporarily jumping back to the top when selecting an item.
    • Variants:
      • Include termination warnings in errors and warnings dialog.
      • Fix a possible crash including cores while varying an multi-core JTAG device.
    • Revisions:
      • Improve the performance of creating a revision of a large project with a large number of connections.
      • The percentage sign for the confidence score could sometimes be truncated in the checklist.
    • Code Editors:
      • Shortcut keys could operate on the wrong document when multiple documents were open.
      • Fix Open File Location on modified documents.
    • Warnings: Disable help option on warnings that have no help content.
    • In various places, the right-hand column of a grid control could gradually become wider over time.
    • Make the Pack button the default in the XJPack dialog.
  • XJRunner:
    • Add tooltips to the Scroll to detailed results links to make their purpose clearer.
    • Prompt to reset the administrator password when enabling logons.
    • A dialog box displayed via MESSAGEBOX_ASYNC could sometimes appear behind the application.
  • XJAnalyser:
    • Disable renaming a pin in the pin watch when the chain is running.
    • Update the pin list immediately after renaming a pin in the pin watch.
    • Fix a potential crash running Golden Scan if a JTAG device previously present has been removed.
    • Fix cancelling closing a project that has outstanding changes.
  • Set the icon and window text correctly for splash screens.
  • XJLink Manager:
    • Fix a possible crash updating maintenance from a file.
    • Automatically paste an authcode into the box when adding one if it is on the clipboard.
    • Ensure that the correct data is displayed in each column in the details view if columns are hidden.
  • XJIntegration
    • Fix a potential crash in LabVIEW opening the Layout Viewer.
    • Fix an issue where running tests immediately after aborting the previous run might immediately stop.
    • Fix a possible crash in the Multiple Test Runs VI when finishing using XJTAG.
  • XJEase:
    • Fix a potential crash at the end of testing after accessing TAP pins via PIO.
    • Fix a crash loading an external API from inside an XJModule if that API is already loaded.
  • Projects: Handle all recently added pinmap features when the pinmap is inline in the project file.
  • Netlists:
    • Support Kicad netlists with empty field values.
    • Improve handling of multiple BOM fields with the same name.
    • Handle extra blank lines in the SDF format.
    • Support a ‘Boardmaker’ variant of the Protel format.
  • Takaya:
    • Allow reads while in holdoff.
    • XJIntegration: Fix a potential crash shutting down.
  • Help:
    • XJEase: Document that PIO accesses are allowed to drive against any constant pin.
    • XJEase: Improve help for TDI and TDO keywords.
    • SPEA: Improve power probe documentation.
    • XJEase: Fix the ordering of pages in the contents for XJEase built-in functions.
  • Installer:
    • Include XJEase library version 185.
    • Fix a typo in the fault dictionary in the XJDemo 4 example project.

4.0.4

Released 4th October 2024

  • XJDeveloper:
    • Connections Screen:
      • Ensure that the new TAP pin names are displayed, e.g. display TCK2 instead of TCKb.
      • Fix a potential crash when scrolling the grid of manual device pins.
    • Categorise Devices Screen: Ensure that tooltips appear when hovering over configuration variables.
    • Passive Device Files Screen: Improve the UI for editing connections, allowing them to be edited in place in a grid.
    • Pin Mapping Screen:
      • Don’t report changes to input voltage in the command history when editing soft ground pins.
      • Fix stopping chain operations using the stop button inside a code editor window.
      • Don’t add command history items when switching a power pin to the state that it was already in.
      • Improve the behaviour when stopping live mode.
      • Fix an issue where an error message could be repeatedly shown when editing the pin mapping.
      • Retain reset sequence assignments when editing profiles if the only change to a profile is to selected external hardware.
      • Clarify how VREF pins are sampled.
    • Test Coverage Screen: Fix a potential crash when loading the screen.
    • Analyser Screen:
      • Update the display correctly when JTAG chains are removed.
      • Fix a potential crash switching variants after editing profiles.
    • Run Tests Screen: Fix a potential crash when the application layout settings have become corrupted.
    • Code Editors: Shortcut keys could operate on the wrong document when multiple documents were open.
    • Variants:
      • Fix an issue that prevented some exported projects from being opened via XJIntegration.
      • Fix spurious variant not found errors after removing a variant.
    • Revisions: Fix a potential crash after providing an invalid ODB++ file.
    • Handle projects where an AC device does not have an AC instruction defined.
    • Ignore mouse clicks using buttons other than the left one in the list of screens.
    • Ensure that column widths in grid views are saved when appropriate.
    • Report project compatibility more precisely if a project uses custom cell types.
  • XJAnalyser:
    • Fix the handling of multi-core devices.
    • Fix a potential hang after aborting an SVF or STAPL file.
    • Fix an issue where aborting a board initialisation function could leave the chain unable to be run.
    • Fix a potential hang performing a hard reset immediately after starting the chain when there is a board initialisation function defined.
    • It was possible for the wrong subchain reset to be run after a failure in the test reset sequence.
    • Fix an erroneous error when setting bus values.
    • Open help when pressing F1 on the start screen.
  • XJRunner:
    • Make the main toolbar always visible.
    • The column widths in the Enhanced Testing Options dialog would get progressively wider each time the dialog was opened.
  • XJInvestigator: Ensure that the login error dialog has the correct application title.
  • JTAG Chain Debugger:
    • Don’t imply that there is an error if a BSDL file is not in the library.
    • Add larger version of application icon.
  • Log File Viewer: Ensure that the login error dialog has the correct application title.
  • Layout Viewer: Stop the mouse pointer flickering when moving over the layers panel.
  • XJEase:
    • Handle unicode characters in GETKEY, to allow the space bar to be input correctly in Japanese locales.
    • Fix an issue where writes issued by external hardware were not synchronised and so could potentially be sent before a JTAG read had finished.
    • Optimise performance by removing some unnecessary broken chain checks.
    • Fix a hang performing a raw JTAG read inside a HOLDOFF block when optimised scans are enabled with multiple chains.
    • Allow FLUSH to be used inside a raw JTAG block.
  • Connection Test:
    • Fix a crash in certain circumstances in the presence of logic.
    • Ensure that net names attached to multi-core devices are displayed correctly in broken chain output.
    • Fix the format of differential signal errors on self-monitoring outputs.
    • Improve the synchronisation of PIO and external hardware accesses with JTAG scans.
  • Licensing:
    • Improve the error message when an XJLink has no hardware licence.
    • Fix maintenance checks for evaluation licences when other non-evaluation licences are also present.
  • Help: Link to the Revisions chapter on the front page of the user guide.
  • Installer: Update XJIO board physical dimensions PDF.

4.0.3

Released 30th August 2024

  • XJDeveloper:
    • Start Screen: Fix a typo in the XJEase library update notification.
    • Boards Screen:
      • Fix a typo in a warning about existing boards when manually creating a board.
      • Editing the BOM for a board that is in a different directory to the project could cause spurious errors to be displayed.
      • Fix a potential crash editing schematics for a board with the schematic viewer open.
      • Improve column width behaviour in grid mode.
    • Connections Screen:
      • Fix a potential crash caused by allowing an invalid connection to be created.
      • Fix the Help button on the Add Range dialog.
    • Power/Ground Nets Screen:
      • Some pull resistor errors could persist after being fixed and would require the project to be saved and re-opened to clear.
      • Flag resistors less than 10 Ohms on termination reference nets as links.
    • JTAG Chain Screen: Prevent the columns of the JTAG Devices table from snapping to their minimum widths when resizing.
    • Categorise Devices Screen:
        Don’t switch to the Test Device Files Screen when undoing or redoing change to configuration variables made on the Categorise Devices Screen.
    • Improve the behaviour of columns in the grid in the Assign Device as Logic dialog.
    • Imptove the column resizing behaviour of the uncategorised devices list.
  • Logic Files Screen: Create the Local XJTAG Logic library automatically when adding a definition.
  • Variants Screen: Prevent the variant errors and warnings windows from being un-docked.
  • Test Coverage Screen:
    • Editing a BSDL file could cause duplicate checkboxes to appear in the Show Coverage from Profiles section.
    • Fix an issue where the scroll position in the Summary Statistics could move when expanding and collapsing items.
  • Pin Mapping Screen:
    • When an automatically configured item is edited, ensure that the item is always marked as manual.
    • Ensure that a profile is always correctly marked as auto or manual after a subchain reset is configured.
    • Ensure that XJEase code errors and warnings are re-evaluated after the pin mapping is edited.
    • The Advanced Configuration Options tab could automatically scroll to the bottom whne switching screens or resizing the application.
    • Fix auto configuring profiles and subchains after importing a SPEA project.
    • Doing a redo of a pinmap edit after undoing multiple edits, could cause all the undone changes to be redone.
    • Signal Integrity:
      • Fix a typo in the summary.
      • Improve diagnosis of situations where a data shift may be present.
  • Analyser Screen:
    • Fix a potential crash when a multi-core JTAG device has been varied to unfitted.
    • Blank devices were displayed on the screen after JTAG devices had been removed on the JTAG Chain screen.
  • XJRunner Setup Screen: Don’t same column widths when defining bus access overrides.
  • Code Editors: Fix various bugs around menu merging.
  • Variants:
    • Scroll to the topmost selected item after accepting/rejecting suggestions rather than trying to maintain the same scroll position.
    • Fix spurious errors appearing after making edits on the pin mapping screen.
    • Fix a potential crash when there are identical global variables across device variants.
  • Revisions:
    • Fix an issue where the revised project could be created with invalid relative paths.
    • Fix an issue where duplicate copies of some files could be saved in incorrect locations in a revised project.
    • Fix the path of the .xjd project file that is displayed in the dialog before any board changes have been made.
    • Cancelling opening a project could cause multiple revision checklists to be displayed.
  • Fix an issue where a project copy created using Save As might contain invalid relative paths if additional files were added from outside the project directory.
  • Prevent an unnecessary second recompile of the XJEase code when assigning or un-assigning devices.
  • Ensure that per-screen menu items are inserted in consistent locations.
  • Fix a potential crash or deadlock when project errors occur and the Explorer window is open.
  • XJAnalyser:
    • Improve the control used to set the project TCK frequency when the project uses classic scans.
    • Fix a potential crash closing the project after docking a floating window.
    • Remove the ability to sort busses in the Pin Watch window.
    • Fix a performance issue selecting many pins in the Pin List.
    • Make chain properties dialog display information per subchain.
    • Fix a potential crash starting a new waveform capture immediately after saving the previous waveform capture.
  • XJRunner:
    • When displaying a message box as a result of an XJEase MESSAGEBOX or MESSAGEBOX_ASYNC call, do not display a close button on the window.
    • Fix F1 help on the application’s main form.
    • Fix opening variants from an XJPack file.
  • JTAG Chain Debugger:
    • Display XJLinks in the Select XJLink dialog as they are connected.
    • Improve the reliability of Get Max. TCK when autoskew is disabled.
  • Log File Viewer: Do not require an XJRunner licence at startup.
  • Layout Viewer:
    • Don’t allow spaces in image layer names.
    • Fix a potential crash when component layers are defined in the matrix file, but are not present.
  • Schematic Viewer: Limit the number of search results when falling back to searching for pins on a net.
  • XJIntegration:
    • Make running tests after stopping the previous tests more reliable.
    • Don’t allow tests to be run from profiles that are not available in the current variant.
    • Improve the Single Test Run LabVIEW VI.
  • XJEase: Ensure that line-endings in File Copy tags are copied into device files correctly.
  • Connection Test:
    • Ensure that ground nets gets tested correctly when the XJLink2 connection is configured to the UUT.
    • Prevent driving conflicts in some scenarios with common controls.
    • Ignore shorts from logic devices to unconnected pins if the option to ignore short errors to unconnected pins is set.
    • Fix running in a variant with an unfitted multi-core JTAG device.
    • Return quasi buffer pins – pins that cannot be disabled because they are enabled via a common control – back to their original state at the end of buffer tests.
    • Fix an issue where inverted short errors could sometimes not be reported.
    • Improve stuck detection.
  • SPEA: Prevent a spurious warning about the test-point list and voltage domains files being newer, when opening a project that has been unzipped.
  • Netlists:
    • Support a new variation of the IPC-D-356A format.
    • Support some new variations of a format from Xpedition.
    • Handle Allegro netlists containing empty nets.
  • Fix playback of recordings made under an older version of the XJLink Manager.
  • Installer:
    • Include XJEase Library v182.
    • Update the IO Board example to use Globals.xje from the library.
  • Help:
    • Add user guide for revisions.
    • Fix searching for terms that contain an ‘@’ symbol.
    • Add concepts section to each individual application’s help.
    • Warning 072 included the string \n in the help output.
  • Fix JTAG state transitions where the target state is the same as the current state.

4.0.2

Released 26th June 2024

  • XJDeveloper:
    • Boards Screen:
      • Fix the scaling in the Edit Unfitted Rules dialog.
      • Fix the scaling in the BOM Import dialog.
      • Add an Add button to the bottom of the grid in grid mode.
      • Don’t repopulate the screen unnecessarily when saving the project.
      • Fix the behaviour around attempting to edit a board that has an invalid netlist.
      • Add context menus to file paths in tile mode.
      • Disable the Add button in tile mode when creating a revision.
      • The BOM Import dialog was automatically scrolling to the bottom when opened.
      • Improve the information icon tooltip text for the import line on the first page.
      • Make the dialog that prompts to import BOM data from the schematic consistent with other similar dialogs.
    • Connections Screen:
      • Elements in the grid on the Manual Devices tab could have unnecessary blue borders.
      • Double-clicking anywhere on the screen would erroneously open the Edit Connection dialog.
      • Fix the background colour of the Add Range button.
      • Improve loading performance when there are many connections.
      • Fix an issue where the grid would scroll after ticking a checkbox.
    • Categorise Devices Screen:
      • Fix spacing around the help icon.
      • The Select button was being hidden on the New PDD File dialog.
      • Improve the Assign Device as Logic dialog by moving the Create Definition button to a toolstrip below the list of existing definitions.
      • Optimise loading the screen with projects containing large, connected nets.
    • Constant Pins Screen:
      • Keep the height of the row containing the add button constant.
      • Allow the note to be edited inline.
    • Test Device Files Screen:
      • Prevent unnecessary redrawing of the screen when editing.
      • Fix the ordering in the pin column in the grid of busses.
      • When editing test coverage of a bus, position the checkboxes more intelligently so that they are all visible if possible.
    • Logic Files Screen: Allow checkbox text to wrap on the filter controls.
    • Variants Screen:
      • Fix erroneous errors being displayed after making JTAG device variations when automatic configuration of profiles is enabled.
      • Fix a crash opening the Vary Devices or Suggest Variations dialogs when a multi-core device is varied to unfitted.
      • Fix removing a multi-core device varied to unfitted.
    • Test Coverage Screen:
      • Don’t recalculate test coverage when making minor changes to the project like editing project notes.
      • Improve the performance of calculating test coverage in various ways.
      • Simplify progress reporting when waiting for test coverage.
      • Add an icon to the test coverage reports dialog.
      • Fix the minimum size of the BOM fields page when creating the PCOLA/SOQ report.
      • Fix the potential truncation of coverage numbers in the chart legends when their is insufficient space.
      • Improve the ability to cancel test coverage calculation.
      • Fix the performance calculating test coverage and PCOLA/SOQ data in certain situations with logic devices.
      • Improve the wording in test coverage reports.
      • Fix an issue where coupled nets were incorrectly being reported as containing uncategorised devices.

      </li >

    • Pin Mapping Screen:
      • Display the selected reset sequence for each subchain in the profiles grid.
      • When sorting the grids on the Advanced Configuration Options tab, ensure that the currently selected item is retained.
      • Always display a built-in external sequence as ‘Built-In.
      • Fix a potential crash immediately switching away from the screen while the new feature balloon tip is still visible.
      • Fix the selection of reset sequences for subchains when automatically generating a profile.
      • Ensure that the Advanced Configuration Options tab is updated correctly when automatic configuration is enabled.
      • Fix a potential hang after stopping some operations.
      • Remember that the user has overridden the TCK frequency even if overridden to the same value as the default.
      • Improve the performance switching to the screen.
      • Make it easier to enter valid TCK frequency values.
      • Fix a potential crash removing a sequence that was assigned to a subchain that has already been removed.
      • Fix a potential crash editing a step that selects a subchain after the subchain has been removed.
      • Report an error if a Safe step is used in a sequence that is not a subchain reset sequence.
    • Analyser Screen: Display data in the layout viewer correctly on boards other than the one that the JTAG device is on.
    • XJRunner Setup Screen:
      • Prevent text being truncated in the test list in some situations.
      • Ensure that the text displayed in the tooltip for the V icon on tests is always correct.
    • Run Tests Screen:
      • Fix an issue where cancelling a message box that displayed from XJEase causes focus to switch to a different application.
      • Add a menu item to run tests without the debugger.
      • Fix an issue where local variables were not visible in the debugger when running after recompiling the code.
      • Display overridden global variables in bold in the Enhanced Testing Options dialog.
      • Ensure that the initial value of a global variable in the Enhanced Testing Options dialog gets updated correctly as the project is changed.
      • Fix a potential crash displaying the Full Connection Test Output when there is no data to display.
    • Assistant:
      • Fix hyperlinks that interact with the Power/Ground Nets Screen.
      • Fix the colour of hyperlinks.
    • Code Editors:
      • Fix a potential crash right-clicking at the end of a line containing non-ASCII characters.
      • Fix a potential crash searching in the Find/Replace dialog.
      • Prompt to save changes when closing a separated editor screen.
    • Explorer:
      • Improve performance by not refreshing Explorer for minor project changes.
      • Fix the behaviour selecting pins in the pin properties table on very large nets or devices.
    • Don’t allow windows to be docked around the screens list.
    • Add a menu item to update logic definitions in a project from the library.
    • Do not allow an RTCK pin to be defined when the project uses optimised scans.
    • Improve the dialogs displayed when library updates are available.
    • Improve the performance of switching screens.
    • Hyperlinks to BSDL files with non-standard file extensions in warnings opened the BSDL file on the Test Device Files screen instead of in the BSDL Editor.
    • Improve the TCK termination recommendation to require a capacitor and a resistor and not just a resistor.
    • Indicate when the Warnings, Errors and Uncategorised Devices panes contain items by changing their icon.
    • Don’t prompt to update an XJPack file if the user has already just opted not to save changes to the project.
    • Fix flicker when switching tabs in various places.
    • Fix moving to the next or previous screen when a screen is separated.
  • XJInvestigator: Fix a crash when enabling user logons with a project open.
  • XJAnalyser:
    • Add a menu item to select a different XJLink.
    • Enable the Show in Analyser option for pins when appropriate and rename to Show in Chain View.
    • Always hide the option to display items in Schematic or Layout Viewer.
  • JTAG Chain Debugger:
    • Fix a potential hang after stopping pins toggling.
    • Ensure that the Advanced Configuration Options page is updated correctly.
  • XJRun: Add a command-line switch to allow external hardware to be enabled or disabled.
  • Schematic Viewer:
    • Various fixes around mouse mode selection using modifier keys.
  • XJEase Library: Fix the sizing behaviour of the details grid.
  • XJEase Library Editor: Fix a possible crash viewing a diff of a file that was imported from an XJDeveloper project.
  • XJLink Manager:
    • Fix the sizing and selection behaviour of the dialog that displays available network licences.
    • Self test: Improve the output of the high frequency test.
  • Crash Reporter: Prevent users mistakenly entering support@xjtag.com as their email address.
  • XJEase:
    • Ensure that the correct application name is displayed when there is a failure to run with external hardware.
    • Fix the suppression of BSDL design warnings.
    • Raise a runtime error from the WRITEABLE function if a bus range is invalid.
    • Allow configuration variable conditions to be created via File Doc comments.
    • Improve the error message displayed when a bus access override cannot be applied because of a conflict.
    • Improve the handling of bus access overrides that are set to use disabled external hardware.
  • Netlists: Be more forgiving of minor errors in the ODB++ matrix file.
  • Connection Test:
    • Improve how multiple unknown faults are separated.
    • Display a warning of no nets have been tested.
    • Suppress a possible erroneous logic error if an open is found on a power or ground net.
  • Debug Connection Test: Fix an erroneous error when the input of a logic block is connected to an excluded device.
  • SPEA: Warn users when exporting Leonardo report from project with non-SPEA netlist.
  • Help:
    • Add user guide section on device categorisation.
    • Improve the XJDemo v4 BOM so that the device U9 matches the library correctly.
    • Improve the layout of the list of XJEase keywords when the window is made smaller.
  • Installer:
    • Reinstate the icon displayed for the application in Add/Remove Programs.
    • Update driver package to v4.7.170.0, which contains an update for the original XJLink that fixes adding and removing authcodes and renaming the device.
    • Improve status text during installation.

4.0.1

Released 15th May 2024

  • XJDeveloper:
    • Fix a potential crash when opening a project in Chinese and possibly other non-English versions of Windows.
    • Categorise Devices Screen: Improve the layout of the new device file dialog.
    • Logic Files Screen: Fix columns in the logic device dialog.
    • Pin Mapping Screen:
      • Improve tooltip behaviour on the test reset tab.
      • Add contextual error icons on the Select Function and Select Sequence dialogs rather than displaying error message boxes.
    • Reset the colours in the Layout Viewer after displaying test coverage.
    • Fix spurious errors after renaming a board and a subchain contains a multi-core device on the board.
  • JTAG Chain Debugger: Draw the notch on the XJLink2 connector more clearly.
  • Fix brief flicker when the splash screen first appears.
  • XJEase: Fix typo in SET_DEFAULT_OVERRIDE warning.
  • XJLink Manager: Improve the description for some types of XJLink.

4.0.0

Released 10th May 2024

Main features

  • UI enhancements
    • New UI that has an improved look and feel that is visually simpler and more consistent.
    • New boards screen with multiple views, including tiled view.
    • Dockable output windows in XJRunner, allowing them to be tabbed or tiled.
  • Multi-TAP support: Individual JTAG chains on a board can run independently at different frequencies and be clocked concurrently.
  • JTAG Chain Debugger: Allow projects to be opened from XJPack files.
  • Projects: All new projects are configured to use dynamic chains. Configuration of subchains, profiles and TCK frequency has been moved to a new Advanced Configuration Options tab on the Pin Mapping screen.
  • Subchains and Profiles are automatically created so that they do not need to be configured for many common scenarios.
  • Improve editing test reset sequences.
  • Remove various deprecated features
    • Remove support for original XJLink.
    • XJRunner: Remove support for auto-generated serial numbers.
    • XJDeveloper: Remove auto-detection of pin mapping.
    • XJDeveloper: Remove option to disable docking in the application.
    • XJRunner: Remove the ability to import projects from versions of XJTAG prior to v2.3.
    • XJEase: No longer allow GETKEY, WAITKEY, FEOF, FERROR and NOW to be called without brackets.
    • XJEase: Remove support for running the debug connection test instead of the normal connection test.
    • XJEase: Remove support for default JTAG devices for test devices.

Smaller enhancements and bug fixes

  • XJDeveloper:
    • Boards Screen:
      • Improve message box displayed when creating a manually created board with JTAG chains already present in the project.
      • Improve the Unfitted Rules dialog.
      • Improve the Manually Created Board Wizard.
      • Fix the Schematic Viewer button in the Manually Created Board Wizard.
    • Connections Screen: Add visualisation menu items to the context menu for disconnects.
    • JTAG Chain Screen:
      • Persist column widths in the list of chains.
      • Improve the Suggest Chains dialog.
      • Fix two potential crashes when editing the list of JTAG chains.
    • Categorise Devices Screen:
      • Allow the toolstrip at the bottom of the categorised devices list to wrap.
      • Add some sub-headings in the Assign As panel.
      • Add a column to show device descriptions taken from the BOM.
      • Prompt for a note when categorising a device from the MRU list.
      • Add an MRU list for notes in all places where devices are categorised.
      • If the notes dialog had previously been suppressed, no dialog would be shown when trying to configure an ignored or excluded device.
      • Improve the performance of the Test Device dialog.
      • Reorganise the context menu for categorised devices and hide items when they are not relevant.
      • Fix a potential crash undoing the assignment of a device file containing errors to a device.
    • Constant Pins Screen: Allow the context menu to be opened with the keyboard.
    • Passive Device Files Screen: Move the Save button into a more consistent location.
    • Test Device Files Screen:
      • Fix an issue where modified files would not be marked as modified if they were assigned to multiple devices.
      • Update the calculated accessibility for a bus correctly after undoing a change to the bus.
    • Logic Files Screen: Fix column header alignment.
    • Variants Screen:
      • Persist splitter positions.
      • Clarify wording on the banner when all items are completed.
    • Test Coverage Screen:
      • Display pie chart labels outside the chart.
      • Set the default width of the Element column in the summary statistics table to a sensible value.
    • Pin Mapping Screen:
      • Remove the Apply and Cancel buttons and improve undo/redo behaviour.
      • Persist the splitter position and column widths.
      • Only display the SWD pins button when advanced settings are enabled.
      • Fix a potential crash attempting to run Check Chain after editing the pinmap with a variant selected.
      • Allow multiple reset sequences to be defined for a subchain, which are then selectable per-profile.
      • Refer to ‘Validate step’ rather than ‘TRST validate step’.
      • Don’t allow profiles to be named ‘Default’ or sequences to be named ‘Built-In’.
      • Fix a potential crash adding an external pin to a test reset sequence.
    • Analyser Screen: Improve the Waveform Viewer window.
    • XJRunner Setup Screen:
      • Reorganise and improve the testlist toolstrip.
      • Remember the selected tab.
      • Add tooltips on the testlist for items that have an error associated with them to give more information about the error.
      • Allow the runtime dialog text to be edited directly rather than via a dialog box.
      • Fix a potential crash when editing the testlist.
    • Run Tests Screen:
      • Add XJLink information in the status bar.
      • Remember when the All or None presets have been selected so that tests are enabled as expected when adding new tests or switching variant.
    • Code Editors:
      • Fix an issue where breakpoints would not be displayed in code files whose relative location to the project traverses the root of the drive.
      • Clearing highlighted matches after marking all matches did not always clear all highlights.
      • Expand tabs into spaces by default.
      • Display modified files from user libraries better.
      • Display find results that contain ampersands properly.
      • Fix a potential crash handling shortcut keys.
    • Explorer:
      • Add hint to the search combo box.
      • Improve performance when there are many items to display.
      • Pins on coupled nets could be listed twice.
    • Revisions:
      • Move the power/ground task to the end of the list.
      • Add screen hyperlinks to dynamic chains tasks.
    • Add undo history window and improve the undo descriptions for all actions.
    • Improve the undo/redo behaviour for some smaller edits, merging consecutive edits into a single command.
    • Allow a different XJLink to be selected via a menu option.
    • Add Schematic and Layout Viewer buttons to the main toolbar.
    • Improve the library updates dialog boxes.
    • Persist layout of the Select XJLink dialog.
    • Improve how screen layouts are restored if the application window is resized before the screen is revisited.
    • A warning was being displayed after adding external hardware and then immediately trying to run tests without visiting the XJRunner Setup screen.
    • Fix searching by part number in the XJEase library when the case of the part number does not match the search term.
    • Display profiles whose name contains an ampersand correctly.
    • Rename the option to save layout settings per project to just save settings per project.
    • Fix a potential crash exploring a multi-core device after renaming the board that it is on.
  • XJRunner:
    • Do not require logons by default in new installations.
    • Fix a potential crash as testing finishes.
    • Improve XJLink2 LED behaviour in group mode: rather than leave them flashing yellow until all other units have completed, have them indicate pass or fail immediately, but flash until all units have completed.
    • Improve the find dialog for test output.
    • Keyboard shortcuts did not work on the test output box after a context menu had been displayed.
    • Let a hyperlink in test output inherit the formatting of any existing text on the same line.
    • Remove unnecessary View menu.
    • Centre the start of testing image dialog on the application not the screen.
    • Add a splash screen.
  • Log File Viewer: Fix a potential crash opening a log file.
  • XJAnalyser:
    • Retain the current zoom level when the project is modified and the chain needs to be redrawn.
    • Fix an issue where devices could be drawn off the screen when the chain was flipped.
    • Fix an issue where devices could overlap the pin legend after fitting to the screen.
    • Allow subchains within a profile to be individually selected or hidden in the chain view.
    • Update the available devices in the Go To box when switching profiles.
    • Fix an issue where pin numbers might not get redrawn correctly after resizing the chain view.
    • Improve the error message when there is a mismatch in the instruction capture value.
    • Improve the error message when the chain cannot be run because there are XJEase code errors.
    • Improve the error message when attempting to run the chain and there are XJEase code errors present in the board initialisation functions.
    • Going back to the pin mapping stage of the wizard with an error present on the found devices page could result in being stuck and unable to complete creating the project.
    • When switching profiles, the wrong instruction could be displayed briefly for a device.
    • When switching profiles, the chain view was being redrawn too many times.
    • Fix an issue where the application icon could disappear and reappear on the task bar.
    • Remove unnecessary ‘Uncategorised Device:’ prefix from all items in the Uncategorised Devices pane.
  • XJInvestigator: Remove Record JTAG Access functionality.
  • JTAG Chain Debugger: Only read the voltage of the currently selected pin to avoid adjacent readings from influencing each other.
  • XJRun: Support projects that use external hardware.
  • Schematic Viewer:
    • Automatically open all schematics for all boards when opening the viewer.
    • Add keyboard shortcuts for panning and for text selection.
  • Layout Viewer:
    • Make the selection rectangle visible when dragging to select items.
    • Allow panning using the middle mouse button.
    • Change mode immediately when holding down a modifier key rather than waiting for the mouse to be pressed.
    • Improve the behaviour of multiple select mode.
    • Fix redrawing issues when panning using modifier keys.
    • Add minimum and maximum zoom limits.
    • Make the mouse mode modifier keys consistent with Schematic Viewer.
    • Reorder cursor tool menu items so they are consistent with Schematic Viewer.
    • Add missing mnemonics for menu items.
  • General UI:
    • Add option to display a project’s full path in the title bar.
    • Combine the main menubar and toolbar by default.
    • Improve the appearance of the Options dialog.
    • Try and display splash screens on the display that the application will appear on.
    • Fix the vertical alignment of text and icons in various tree controls.
    • Various fixes when attached displays have different scaling:
      • Ensure that the docking icons are displayed correctly when dragging dockable windows around.
      • Ensure that windows are positioned correctly when they are undocked.
      • Restore window positions and docking layout correctly.
      • Fix the behaviour when dragging a window near the boundary between two screens.
  • XJLink Manager:
    • XJLink2 self test:
      • Disable LED test for 3030 and 3070 XJLink2 variants by default.
      • Do not stop tests on the first over-current fault on a soft ground pin.
      • Allow window to be maximised.
      • Prevent the window from being resized too small.
    • Ensure the focused and selected XJLink are the same when first opening.
    • Improve the rename XJLink dialog.
    • Set a larger default windows size.
    • Fix an issue where multiple confirmations for downloading a new maintenance file could be displayed.
  • XJIntegration:
    • Add variants support for XJAnalyser.
    • Remove TestStand with LabVIEW example.
    • Add new VIs and update LabVIEW examples.
    • If opening a project fails, it could leave files held open.
  • XJAPI:
    • Use unsigned int rather than long for 32-bit values.
    • Minor updates to examples and documentation.
  • Projects:
    • Enable continue on test failure for all new projects.
    • Track library files for unused device files.
    • Stop writing UTF-8 BOMs in XML files so that source control systems don’t assume that the file is binary.
  • XJEase:
    • WRITEABLE could cause a write in a subsequent SET statement to not happen correctly.
    • Fix an issue where a logic error could be reported when driving a bus through logic depending on the order of assignments inside the SET statement.
    • Warn if the safe bitstream is unable to set all constant values.
    • Warn if all hardware in an external hardware only profile is disabled.
    • Improve the error message when calling overloaded built-in functions and the output parameters do not match.
  • Connection Test:
    • Improve logic diagnosis.
    • Fix an issue in the debug connection test where spurious errors could be reported when the far side of a logic block is inaccessible.
    • Improve handling of common controls around logic.
    • Add a hyperlink to the device reference in the error message reporting a pull resistor error.
  • Logic: Constant values driven by a test reset sequence could sometimes appear to be ignored.
  • Netlists: Support a variant of the CadStar Report format.
  • BSDL: Require all instruction opcodes to be the correct length rather than silently padding with zeroes.
  • XJHelp:
    • Limit how the various tabs inside the UI can be docked.
    • Ensure that the contents selection always follows the active content tab.
    • Add new tabs on the right rather than the left.
    • The search pane would disappear entirely after selecting a result if it was set to auto-hide.
    • Fix a potential crash when opening a PDF from the tutorial fails.
  • Help:
    • Add new tiled front page.
    • Many significant improvements and corrections.
  • Installer:
    • Pre-compile XJTAG applications during installation so that they startup faster.
    • Install driver package v4.6, which includes newer drivers for XJLink2 and original XJLink.
    • Include XJEase Library v181.
    • Display a warning if the driver installation is cancelled.
    • Fix formatting of progress messages.
    • Remove XJTAG Command Prompt shortcut.
    • Fix potential warnings about shortcut properties being displayed.

Older versions

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.