XJTAG 3.12 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.
The fixes are generally sub-divided by product. Please note, however, that fixes applied to XJRunner and XJAnalyser are usually applicable to XJDeveloper and XJInvestigator also.
3.12.4
Released 28th October 2022
- XJDeveloper:
- Connections Screen: Set the initial focus to the first text box on the Add Connectionn dialog.
- Categorise Devices Screen: Set the initial focus to the textbox on the Assign Device as Ignored dialog.
- Test Device Files Screen:
- Edit Configuration Variable Dialog:
- Fix a crash attempting to re-order list values when the list is empty.
- Ensure that the Remove button is disabled when it is unavailable when editing list values.
- A validation error could appear erroneously when editing list values.
- Display validation errors immediately rather than when OK is clicked.
- Fix the behaviour of removing multiple list values in certain circumstances.
- Make it possible to select a list value as the default immediately after creating it.
- Fix the behaviour of pasting new list values on top of existing values.
- Fix a potential crash when adding additional code files to a device file on a newly created board that was not yet saved.
- Don’t open code files when double-clicking the tree expand/collapse icons.
- Reloading an externally modified test device file can cause its version number to be displayed incorrectly.
- Edit Configuration Variable Dialog:
- Logic Files Screen: Report an error if a logic device with a footprint without any gates is assigned.
- XJRunner Setup Screen: Fix the Help button on the Add Fault dialog.
- Revisions: Fix a potential crash viewing the BOM data for the parent project.
- Ensure that menu items on the Tools menu get disabled correctly after a project is closed.
- Unhiding warnings did not always work correctly.
- Context menus on hyperlinks in errors were not being displayed.
- When viewing the Change Log of a library file, ensure that the diff is always visible.
- Fix various issues highlighting matches in the Find and Replace dialog.
- XJInvestigator: Fix a typo on the Constant Pins Screen.
- XJRunner:
- Improve the User Management Dialog.
- Fix a potential crash after an XJLinmk has been unplugged.
- XJEase Library Editor:
- Don’t allow a file to be renamed to a blank filename.
- Fix a potential crash trying to export a library with an incorrect file extension.
- Connection Test Viewer: Fix a potential crash changing the filters with the Edit View dialog open.
- Connection Test:
- When a power or ground net has an error, include power and ground pins in the output.
- Display self-monitoring pins correctly in the output.
- Handle expected shorts on self-monitoring differential nets.
- Fix a potential crash when enabling the option to always drive differentially.
- XJIntegration: Fix a TestStand example VI.
- XJEase:
- Fix a possible crash if AV software prevents access to the compiled executable.
- Support brackets with GETFREQ, SETFREQ, GET_OSC_OUTPUT_FREQ, SET_OSC_OUTPUT_FREQ, FLUSH, SAFE and EXTERNAL_SAFE builtin functions.
- Logic: Handle excluded devices properly.
- ODB++: Be more forgiving of invalid data in the misc/info file if it is not information that XJTAG relies on.
- Netlists: Support a new, unknown netlist format.
- Help:
- Update test coverage figures in the tutorials.
- Improve XJFlash help.
- User Guide:
- Add JTAG Chain section.
- Improve the wording around unfitted suggestion rules.
- Update Utilities section in the main help.
- Fix application context help addresses that included anchors.
- Don’t make an alert sound when pressing enter to search.
3.12.3
Released 23rd August 2022
- XJDeveloper:
- Boards Screen:
- When adding an existing board, import its BOM data and schematics if defined in the board file.
- Fix a potential crash editing a board in a SPEA project.
- Fix a possible crash in the manually created board wizard when there are multiple BSDL matches for a device.
- BOM Import:
- Fix a potential crash attempting to import a corrupt Excel file.
- Introduce better default widths for BOM columns.
- Indicate BOM fields that have already been assigned when assigning fields to columns.
- Ignore the case of file extensions when identifying Excel BOM files.
- Allow multiple device reference delimiters to be detected.
- Improve the performance and reduce drawing artifacts when loading large datasets.
- Improve the parsing of some kinds of resistor values.
- Connections Screen: Fix a potential crash adding a disconnect.
- Power/Ground Nets Screen:
- Remove the context menu item to display nets in Analyser.
- Remove a spurious menu separator from the context menu.
- JTAG Chain Screen:
- Offer to copy BSDL files to the project directory when suggesting JTAG chains.
- Improve the display of TDI and TDO pin errors.
- Categorise Devices Screen:
- Fix a potential crash clicking the Assign As button with no devices selected.
- Make it easier to select a device to base a new device file on.
- Improve the validation on the form when creating a new device file.
- Right align checkboxes when configuring test devices.
- Fix the tab order of the Device Note dialog.
- Constant Pins Screen:
- Sort the constant pins.
- Fix the behaviour of the delete and enter keys when editing device notes in the table of constant pins.
- Test Device Files Screen:
- Persist column widths.
- Update status of XJEase library files immediately when they are modified.
- Fix the ordering of the Save and Save All toolstrip buttons.
- Creating a new test device file immediately after separating the screen did not work correctly.
- Improve the behaviour after a duplicate bus has been created.
- Configuration Variables: Ensure Edit and Remove buttons are enabled and disabled correctly.
- Configuration Variables: Don’t start editing a variable when the user clicks the empty white space in the window.
- Test Coverage Screen:
- Fix a potential crash calculating test coverage after disabling external hardware.
- Don’t allow unused profiles to be selected.
- PCOLA/SOQ Report: Make the PDF export more likely to fit on a page.
- Remember the last used filenames of reports when saving.
- Test Coverage Report:
- Allow the report to be filtered by board.
- Prefer the test group name for grouping tests rather than the library category.
- Change the order of the report wizard pages.
- Warn if the report is out of date because the project notes have been edited.
- Fix the width of the floating table header.
- Fix a potential crash generating the report if the project contains duplicate compliance pin warnings.
- Pin Mapping Screen:
- Improve the error message when a sub-chain has no validate step.
- Improve the Check Chain diagnostics when there are errors in the JTAG chain setup.
- Run Tests Screen:
- Update correctly after a profile has been renamed.
- Waveform Viewer:
- Add SWD label.
- Fix a potential crash closing the viewer when stepping through code.
- Fix a potential crash when pressing Next or Previous, if no row was selected and there were no transitions on any row.
- Fix a possible internal compiler error when capturing logic waveforms and the logic is controllable by a JTAG device that is not in the current profile.
- Duplicate events could be displayed in the waveform viewer when stepping through code.
- Find and Replace:
- Find references to variables used in test list conditions.
- Display potentially stale search results in italics.
- Improve the highlighting of reference matches.
- Fix a potential hang when clicking Next on an empty result set.
- Fix a possible case where clicking on Find in Files results would not correctly restore a separated editor screen.
- Revisions:
- Add a task item to check device references for multi-device logic blocks.
- Improve the layout of the New Revision dialog.
- Explorer:
- Expand the search box to fill available space on the toolstrip.
- Fix a potential crash.
- Options Dialog:
- Fix an issue where closing the dialog could give focus to another application.
- Allow individual net and device patterns to be reset.
- Don’t allow duplicate category names.
- Don’t allow the built-in All Nets and All Components categories to be edited.
- If extracting value data from the description BOM field was disabled and a board file is being saved in the new full format, the setting was not being correctly saved.
- The Insert/Overwrite status in the status bar of the text editors could get out of sync.
- Make pressing F12 to go to function definitions more reliable.
- Fix a potential crash deleting all code from a file that contains a breakpoint.
- BSDL Editor: Opening the file location was not opening Windows Explorer in the correct location.
- Prevent flickering when displaying wizard dialogs.
- Enable Ctrl+Shift+Tab for cycling backwards between docked panes.
- Ensure that the dialog that is displayed when using Ctrl+Tab to cycle through docked panes is always displayed at the correct size.
- Add F1 help to the Screen Explorer and the Assistant.
- Relocate the help button in the XJEase library browser.
- Display a better error message if logging onto the XJTAG website to download updates fails.
- Include files specified as testlist arguments when suggesting files to be included in an XJPack file.
- Fix undo and redo when editing projects notes.
- Restore separated minimised windows correctly.
- Make profile selection boxes wider to accommodate longer names.
- Improve error messages around errors with XJLink pin connections.
- Improve reliability of keyboard shortcuts no matter what control currently has focus.
- Boards Screen:
- XJRunner:
- Print loop count in output when looping tests.
- Disable menu items to view items in the schematic or layout if those items are not present in the XJPack file.
- Enable hyperlinks in connection test output when the Connection Test output viewer is the only visualisation method available.
- Disable hyperlinks for schematic and layout viewer if these are disabled by XJRunner user privileges.
- Fix formatting and display of output from post testing function.
- Fix the display of XJLinks with no name in the serial numbers dialog.
- If a test was switched from looping a fixed number of times to looping continuously, the UI was not updated correctly.
- XJAnalyser:
- Display boundary register cell numbers in pin properties.
- Fix crash attempting to view help for a warning.
- Fix a possible crash in the project setup wizard when there are multiple BSDL matches for a device.
- Fix spurious warnings about invalid pin names for pins that are present in the netlist, but not the BSDL file.
- Improve the readability of some warnings.
- Ensure that the toolstrip buttons in the constant pins window get enabled and disabled correctly.
- Improve the Chain View window icon.
- Add a help button to the TCK frequency dialog.
- Improve the SVF/STAPL dialog.
- XJInvestigator:
- Only show the welcome screen if logins are enabled.
- Fix the help button on the options dialog.
- JTAG Chain Debugger:
- Fix some layout issues on the Device Configuration tab.
- Restore the window’s location before it is displayed, removing a flicker when the application first starts.
- Fix the help button on the options dialog.
- Log File Viewer:
- Warn when opening files with unknown extensions.
- Improve the behaviour of dragging and dropping multiple items onto the application.
- Fix the tab order on the Add Folder to File List dialog.
- XJEase Library Editor: Show differences between files when importing files from a project that already exist in the library.
- Schematic Viewer:
- Ensure that the Edit->Copy command is enabled correctly.
- Include manual devices in netlist searches.
- Don’t play alert sounds when performing text searches.
- Layout Viewer: Don’t reset component fade value on every search.
- XJVersion: Fix a crash opening the help.
- XJEase:
- Support external APIs in assemblies that have dependencies.
- Force the first JTAG scan after doing SWD in non-dynamic chain projects.
- Allow XJLink2 PIO pins to be used inside a HOLDOFF block.
- Don’t allow external hardware access or PIO access to happen simultaneously with JTAG access inside a HOLDOFF block.
- Fix READABLE to handle tied together logic inputs correctly.
- Fix a internal compiler error when initialising an array assigned to a top level variable with non-constant values.
- Improve stopping tests.
- Modifying the bits of one variable could affect the value of another when one was initialised from the other and their bits were both modified inside the function.
- Connection Test:
- Fix a potential crash when handling differential buffers.
- Fix a potential crash in certain circumstances with differential signals and common controls.
- The option to ignore shorts on single pin nets did not work correctly for multi-core devices.
- Logic: Improve behaviour and output when unable to drive a block.
- Netlists: Add support for a Zuken CCF variant and Mentor PCB db format.
- BSDL: Add CDN DFT custom cell types.
- Help:
- Matching search terms were not always being highlighted correctly.
- Support searching for quoted and hyphenated terms.
- Fix the icons in the dialog that is displayed when cycling through tabs via Ctrl+Tab.
- Use an Excel BOM file in the XJDemo v4 and IO board example projects and in the XJDemo v4 tutorial.
- Add a new user guide section on the test list and XJRunner setup.
- Improve the documentation for GET_PIN_ON_NET and GET_PIN_ON_DEVICE.
- Various tutorial fixes.
- Installer:
- Include XJEase Library version 170.
- Associate .libraryproj files with the XJEase Library Editor.
- Fix a potential failure on 32-bit versions of Windows.
- Licensing: Ignore maintenance expiry dates for evaluation licences.
3.12.2
Released 17th May 2022
- XJDeveloper:
- Boards Screen: Fix a potential crash in the Manually Created Board wizard if the BSDL Library referenced files that were no longer present.
- Categorise Devices Screen:
- Don’t scroll the Assign As panel to the bottom after categorising devices.
- Remove invalid characters from test device filenames when creating new test device files.
- Logic Files Screen: Make the list of part names resizable when editing logic device types.
- Test Coverage Screen:
- Ensure that test devices are always put into the correct group in test coverage reports.
- Suggest a filename when exporting CSV files.
- Pin Mapping Screen: Fix a potential crash after running a reset sequence during Check Chain when the project uses dynamic chains.
- Analyser Screen: Fix a potential crash clicking on a JTAG pin that is connected to an excluded or uncategorised device.
- Find and Replace:
- The highlighting of search results was not always displayed correctly.
- Allow XJModule documentation to be searched.
- Revisions:
- Clear project notes when creating a revision.
- Add a checklist item to review the circuit name.
- Add Enter key shortcuts to edit items in various places.
- Enable common shortcut keystrokes in various text boxes in the application.
- Prevent confusion when BOM value data was available from the description field and from an assigned value field.
- Improve suggestions for suspected paired termination resistors.
- Allow the output font to be configured in various output boxes in the application.
- Optimise opening the Options Dialog.
- XJRunner:
- Fix a possible error writing the log files when stopping tests in group mode.
- Support the ISO 8601 date format in log file names.
- Print the result of each iteration of a looped test in the plain text log file.
- XJAnalyser:
- The filename could be truncated in the status bar when running SVF and STAPL files.
- Improve the validation of TCK frequencies in the Run SVF/STAPL dialog.
- JTAG Chain Debugger:
- Fix a potential crash adding steps to a test reset sequence.
- Fix a potential crash in Get Max TCK or Check Chain if the BSDL Library referenced files that were no longer present.
- Allow the output font to be configured.
- XJEase Library Editor: Fix a possible crash importing files from a project that has missing files in it.
- XJIntegration: Fix potential memory leaks when using the XJTAG output box.
- Schematic Viewer:
- Disable an alert sound when searching.
- Don’t truncate board names unnecessarily on tabs.
- Ensure list of boards is disabled correctly when load all boards is selected when opening schematics.
- Netlists: Add support for KiCad netlists.
- Installer: Prompt the user to reboot gracefully after upgrading the Visual C++ libraries rather than doing it unconditionally.
3.12.1
Released 20th April 2022
-
- XJDeveloper:
- Boards Screen: blank lines in BOM CSV files could cause incorrect line numbers to be displayed in the BOM Import Wizard.
- Connections Screen: duplicate connections were not being detected correctly in some circumstances.
- JTAG Chain Screen: importing a multi-core device file from a child directory of a project did not work correctly.
- Categorise Devices Screen: add a drop-down of recently used device notes for ignore devices.
- Run Tests Screen: tests could fail to start if the application had been left idle for more than five minutes.
- Find/Replace:
- Improve the highlighting of search results when doing find in files.
- Prevent the dialog from going behind the main form.
- Fix some focus issues when clicking on find results.
- Fix a possible crash after closing an inactive document.
- Highlight search results more clearly.
- If Mark All had been selected for a search that matched every character, then it could not be cleared.
- Fix a possible crash doing an incremental search after closing a file.
- Ensure new projects have a proper safe pin mapping assigned by default: pin 4 was being set as a soft ground.
- Suppress warnings correctly for JTAG/Test devices.
- Fix a regression where a project containing duplicate inter-board device connections could not be loaded.
- Fix a potential crash closing the project after XJEase execution has failed because the application has run out of memory.
- The project could be incorrectly marked as modified after exporting an XJPack file.
- Display the library versions of test and passive device files.
- Explorer: bus access could be displayed incorrectly after creating, enabling or disabling connections.
- XJAnalyser: fix some display glitches when first displaying the devices.
- XJRunner:
- Fix an issue where right-clicking in the test output could stop working.
- Fix a possible crash opening XJPack files from network drives.
- Force the user to login after enabling logins.
- Don’t display the user welcome screen when logins are disabled.
- Suppress inverted short errors if digital signals propagate through capacitors in 1149.6 testing.
- Fix an issue where users could be incorrectly edited in the user management dialog after clicking and dragging between checkboxes on different rows.
- Display user comments in test output and .xjlog files.
- XJInvestigator: fix a crash after dragging a project onto the start screen.
- XJRun:
- Ignore null characters in XJEase output, which could cause output to be truncated.
- Add an -E switch to specify that certain warnings should be reported as errors.
- Add an -I switch to specify that certain warnings should be ignored.
- JTAG Chain Debugger:
- Fix a possible crash after editing a PIO pin with an invalid name.
- Correct the application’s main window title.
- Layout Viewer:
- Text would appear upside-down when the board was rotated in the bottom view.
- Remove the actual size button.
- Reduce the net opacity when viewing specific nets or faults.
- Layout Viewer settings could be lost if the project was opened and closed without opening the layout viewer.
- Update colours to make various layers brighter and more easily differentiated.
- Schematic Viewer: display three digit page counts correctly.
- XJIntegration:
- Update example C# projects.
- XJEase function calls in test reset sequences were not being resolved when using an overridden pin mapping file.
- Add XJLink.SelfTestPassed property.
- Fix a possible deadlock stopping the XJLink self test.
- XJLink Manager:
- Add the ability to download new maintenance files from the XJTAG website.
- Searching for text in the XJLink self test output did not work.
- Fix removing expired authcodes – was notifying that they had been removed each time it started.
- XJHelp: hide the search results after clicking on a search result if the search results window is set to auto-hide.
- SPEA:
- Ensure that test results are returned correctly when running using the DLL.
- Improve the locating of configuration files.
- Combine all logging configuration in the XjtagConfig.ini file.
- Allow the pin mapping to be overridden in XjtagConfig.ini.
- Allow the XJLink2 self test to be run via the integration DLL.
- XJEase: improve and document the quoting of arguments to commands run via the SYSTEM function.
- Connection Test:
- Fix a potential crash when a net contains both coupling capacitors and bias term resistors.
- Reduced test fixture board output did not work correctly when there are connections on the board.
- Fix a crash in certain circumstances if the option to always driver differential signals differentially is enabled.
- Fix an issue where spurious undetected shorts could be reported between differentially terminated nets that have no available inputs.
- Logic: support logic that spans multiple devices.
- Netlists: handle spaces in net names in Cadnetix netlists.
- Installer: fix the detection of older existing C++ runtimes.
- Help:
- Improve the description of the XJEase SAFE statement.
- Improve the documentation for test device files, XJEase scopes and function calls.
- User guide: add section on handling XJEase library updates.
- When opening the XJDemo v3 tutorial from the XJDemo v4 tutorial, open it in a new window.
- XJDeveloper:
3.12.0
Released 17th March 2022
Main features
-
-
- Add a new “Excluded” device category for devices that cannot be disabled but should be excluded from the Connection Test.
- Improve the searching files in XJDeveloper, including the ability to search all files in the project and to find all references to a function or variable.
- Add the ability to go to the definition of any item in the code editor.
- Add more fine-grained privileges for users in XJRunner and XJInvestigator.
- Allow restrictions to be placed on what the end-user can do in XJRunner and XJInvestigator when creating an XJPack file.
- Automatically analyse the results of signal integrity data.
-
Smaller enhancements and bug fixes
-
-
- XJDeveloper:
- Boards Screen: Editing a board could lose the test fixture board setting.
- Categorise Devices Screen: Don’t allow connect devices to be incorrectly uncategorised via drag and drop or via the delete key.
- Test Device Files Screen:
- Don’t allow device files to be added as additional code files.
- Rename “Configure devices” button to “Edit configuration”.
- Logic Files Screen: Rename Logic Explorer to Navigator for consistency with other screens.
- Circuit Code Files Screen: Don’t allow device files to be added as circuit code files.
- Test Coverage Screen:
- The test coverage might not be updated correctly after editing a JTAG chain profile was undone or redone.
- Fix a potential crash after unselecting a profile.
- Test Summary Report: Only list devices in the current profile for Connection Test and CheckChain.
- Improve the resize behaviour of the profile selection list.
- Pin Mapping Screen:
- Implement a new more reliable Get Max TCK algorithm.
- Fix Get Max TCK when used with dynamic chains.
- Remove a spurious warning about the calculated frequency after running Get Max TCK.
- Debug Connection Test Screen: Fix a potential crash if the XJLink Manager is no longer running.
- Remove the option to always save projects with absolute paths.
- Improve Save As functionality that allows more control over how the new copy of the project is structured.
- Make switching screens smoother with fewer visual artifacts and less flickering.
- Support common custom cell types without the need for package files.
- Improve auto-completion in code editors to complete variable names as well as functions.
- Rename “Ignore” category to “Ignored”.
- Fix an issue in code editors where sometimes the current document would be changed when focus changed.
- Fix the display of line numbers in code editors when there are more than 10000 lines.
- Allow text in all output windows to be zoomed by holding down Control and using the mouse scroll-wheel.
- Allow projects to be opened by dragging and dropping them onto the application window.
- Fix a possible crash right clicking in the code preview window in the XJEase Library.
- Don’t allow an unsaved project to be packed.
- Update the default net and device category filters.
- Add a number of new shortcut keys.
- Fix inconsistent capitalisation on the New Revision Dialog.
- Put messagebox options into categories in all Options dialogs.
- Display a better error message if the application cannot run because the licence is not in maintenance.
- XJRunner:
- Don’t automatically highlight all faults in the fault dictionary.
- It was possible for projects to appears in the users most recently used list.
- Improve the default log filename.
- Always display the currently logged in user in the status bar.
- XJEase Library Editor: Fix a potential crash importing files from an XJDeveloper project that contains multiple boards.
- Layout Viewer:
- Allow the board to be rotated.
- Remove some visual artifacts around the edges when panning.
- Fix issue that occurs while attempting to pan while zooming.
- Clarify that test coverage visualisation is for nets rather than pins.
- When visualising test coverage, make the net visibility slider only affect nets without any coverage.
- Replace centre to centre measurement mode with “Component or Pin” and “Net or Pad” modes.
- Print to the selected printer, not the default one.
- Schematic Viewer: Disable the copy item on the context menu if no text is selected.
- XJIntegration:
- Improve asynchronous message box functionality.
- When a test function with multiple output values failed, the array of values was replaced by a single value.
- The Runner.LastStopMode and FunctionFinishedEventArgs.StopMode properties were not always set correctly.
- Fix the StopFunction method to always abort function calls.
- Expose the XJTAG family version from the XjtagSystem.Version property rather than the full build number.
- Calling SelectTest for a function when the corresponding group was previously disabled enabled all tests in the group, not just the selected one.
- Runner.TckFrequency would return zero if the project was using the default TCK frequency.
- Improve the TestStand example.
- Improve the usability of various example projects.
- Improve the help for the XJLink.Available property.
- XJEase:
- Fix the accuracy of SLEEP for shorter time periods.
- Always display the reason that a bus is inaccessible.
- Fix a possible crash running a test reset sequence that contains SAFE but no validate step.
- Fix an issue where a SET statement immediately after a raw JTAG block might not always generate a JTAG scan.
- Connection Test:
- Generalise the option to always drive differential inputs differentially to all differential inputs, not just those driven by common-controlled pins.
- Add an option to ignore shorts on single pin nets.
- SPEA: Make the default XJPack export directory the Leonardo XJTAG directory.
- Help:
- Remove the documentation for the XJEase project files from the XJDeveloper help, so that it is no longer returned in search results.
- Clarify the effect of the @devices XJEaseDocs tag.
- Add user guide for creating test device files.
- XJDeveloper: Refer to “Explorer” rather than “Netlist Explorer”.
- Tutorial: Add exercise for editing footprints.
- Installer: No longer include Borland C link libraries for XJAPI.
- XJDeveloper:
-
Older versions
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.
