Skip to content

Change log

New in version 26.0.0#

Measmatic 26 is the biggest release since Measmatic 2 and the start of a new product line: a modern platform on .NET 10 and Python 3.14, packages to share tests and drivers between installations, and a development workflow built around Visual Studio Code. Measmatic 26 runs on 64-bit Windows 11.

Highlights#

  • Share everything as a package. The package manager bundles tests, instrument drivers, export scripts, projects and additional files into a single .mmpkg file. Install with a double-click, update or remove again.
  • Develop tests in Visual Studio Code. The Measmatic Test Editor extension edits test metadata, test UI with live HTML preview and Python script in one place. Changes are picked up by Measmatic automatically.
  • Sorting tables, built in. The new sorting table editor is part of the project and offers simple or complex binning, sorting conditions, variables and a visual bin matrix. The sorting statistic was redesigned.
  • Always know what is going on. The new status bar shows execution time, developer mode, modified tests and drivers, remote client connection, current sorting bin and save state.
  • Instrument drivers in pure Python. The instrument library is organized as Python packages per category with common base classes for SMUs, DMMs, switches, optical power meters, tunable lasers, spectrometers and digital I/O.
  • Label your data the way you need it. The result label format is configurable per program and per project, with variables for site, pin name, run index, measurement index and switch state.
  • Trial and portable license Measmatic can be installed as a trial version for 30days at any system. With the provided WibuCodemeter, you are free to move the license to any test setup in your lab
  • A fresh look. Modernized user interface, redesigned test picker with search and a selectable chart engine.

Breaking changes#

  1. Windows 10 is no longer supported. Measmatic 26 requires 64-bit Windows 11.
  2. XML-defined test UIs are no longer loaded. Every test requires an HTML test UI (.mmui).
  3. The obsolete PascalCase members of the Python test interface were removed (for example GetDevice, StoreData, SetBin, ShowMessageBox, Delay, Storage, MeasurementDescription). Scripts must use the snake_case names. storage.Clear() is now storage.clear().
  4. Export scripts must define the entry function export_data(data_export). Scripts that still define ExportData fail without fallback.
  5. Sorting tables are stored in the project. File-based sorting tables (SortingTables\*.xml) and the remote command PROJECT:SETTINGS:SORTINGTABLES were removed. Projects that used external sorting tables must be reconfigured with the sorting table editor.
  6. The data directory layout changed: Libraries\Tests, Libraries\Instruments and Libraries\ExportScripts replace PythonTests, LuaDeviceTests, UserTests, PythonDevices and ExportFilter; Lua helper scripts moved from Lua to Libraries\Tests\lib\Lua; new Packages directory. Tests and Lua helper scripts are migrated automatically. Custom Python instrument drivers and export scripts must be moved manually to Libraries\Instruments (as Python packages) and Libraries\ExportScripts.
  7. The site info format setting was replaced by the result label format. Customized formats are migrated automatically.
  8. The embedded Python was updated to version 3.14. Third-party Python packages used by tests, drivers or export scripts must support Python 3.14.
  9. The Keithley 4200 driver requires the ATV Keithley 4200 Automation Interface installed on the instrument.
  10. The Python debug option in the program settings was removed. Debugging is done with the Visual Studio Code extension (remote attach) in developer mode.

Added#

  • Package manager with dependency check of Python imports, shared library versioning (highest version wins), choice to keep or replace installed content, rollback on failure and loading of installed content without restart
  • SCPI remote commands GUI:LIST, TEST:LIST, PROJECT:NAME?, PROJECT:FILEPATH?, WAIT:PROJECTCOMPLETED and WAIT:POSTPROCESSINGSTARTED
  • SCPI remote events MeasurementStopped and PostProcessingStarted; program setting to disable sending remote control events
  • Measmatic Test Editor extension for Visual Studio Code; developer mode toggled with Ctrl+Shift+D; only changed tests are reloaded
  • Test templates: Empty Python Test, Empty Python Test Sequence, Parameter Sweep and Data Generator
  • Lua tests can declare required Lua scripts that are loaded into the instrument before the sequence starts
  • Optional library settings file (Libraries\.measmatic\settings.json) to exclude folders from the test library
  • Sorting: simple and complex binning, default pass bin number and color, DUT index for multi-part runs; deactivated tests no longer contribute to the binning
  • Editor for measurement description items in the program settings; custom measurement descriptions and the current Windows user name (USERNAME) are available as file name placeholders
  • Project version editable in the project settings (meta data)
  • Test picker with search field, one-click filter reset and package creation from a test
  • New Python instrument drivers: Keysight B2900 series, Keithley 2400 series, Keysight N774-C series, Keysight N777-C series, Santec OSX-100, Keithley 2000 and 6500 series DMM, Keithley 7000 series switch, Keysight E4980 series LCR meter, Keysight B1500, NI PXIe-41xx SMU, Yokogawa AQ6374E, Chromatune SuperK, Polytec MSA600 and ATV WaferPilot. The standard installation ships the Keysight B2900 and Keithley 2400 drivers and the generic instrument
  • New tests in the standard installation: SMU IV sweep, Timer loop, Receive, Send, Combine, Message, Start application, Move subsite, Motorized positioner (contact, home, motor, separation, step site), Scope (auto focus, go to focus, follow mode, get home, set home, lift, move, move z, step site) and Transfer chuck
  • Python test interface: is_single_run, is_all_run, is_remote_run, check_device_selected, set_dut_index, append_data_to_row and store_data_*_to_row; get_input_string always returns a string
  • Python instruments support send_binary and receive_binary
  • HTML test UI: disabled attribute for input and select controls, error display per control with details on hover, "u" accepted as micro prefix, unified styling of disabled controls
  • Projects are saved atomically with a backup file
  • Diagram tabs use the title from the diagram settings
  • Commands for creating a license request file and importing a license update
  • The setup warns if the version to be installed is outside the maintenance period of the installed license
  • Third-party licenses are shipped with the setup and shown in the About dialog
  • Software License Agreement (formerly EULA) shipped as PDF

Changed#

  • Terminology: "test stock" is now "test library", "export filter" is now "export script"
  • Revised statistics view with busy indicator during long calculations
  • Tunable lasers and optical power meters removed from the standard instrument deployment into the photonics package
  • Project modified state is reset only when the project is saved; changed output parameters mark the project as modified
  • Results view puts a space between number and unit; the output parameter type FloatArray is labelled "Float array"
  • One setup script builds both the standard and the portable installer
  • Year-based version scheme (26.x)

Removed#

  • Input value mapping used for the XML to HTML test UI migration
  • Built-in test editor and export filter editor
  • Deprecated built-in test sequences and tests; the Reliability loop sequence is deprecated
  • Overview module and the dangerous-voltage check
  • Conversion of legacy test stocks and PinTester tests
  • Legacy export filters TestDataFile, NewTestDataFile, Excel export per site, Touchstone and TDK are no longer shipped

Fixed#

  • Naming conflicts when the same test was duplicated twice
  • Test results lost after updating tests in the project; the selected test is restored afterwards
  • UI freezes when adding or moving tests or when switching test picker categories
  • Moving a test between sequences duplicated the test on undo; test indent not updated after the move
  • Manual axis ranges were not applied to the diagrams; "show last N runs" removed too many curves
  • Sorting: script bins were lost during site stepping and nested tests were never sorted
  • ArgumentNullException when loading nested test sequences; external Python classes were not reloaded
  • The test UI could not be initialized when Measmatic runs as administrator
  • SCPI commands that require the UI thread were not executed on it
  • Projects using an export filter with a string selection setting produced a corrupt project file