The international team of OpenTAP developers has been very busy over the last year, issuing five new releases since October 2025. Below, find the highlights from versions 9.30 through the current version, 9.34:
OpenTAP 9.34
The newest published OpenTAP version is a maintenance release focusing on performance and stability.
Performance
Editing sweeps with many parameters is now significantly faster #2379
Image resolution is now significantly faster for non-resolving images #2398
Minor Improvements
macOS support is now enabled by default for newly created plugins. #2393
Bug Fixes
Fixed an installation lock bug on macOS which would lead to a bricked installation if an OpenTAP process crashed hard while holding the lock.
Fixed installation lock issues on Linux and macOS which allowed simultaneous lock acquisition when more than two processes are involved: #2405
Fixed a deadlock in the post-run of composite runs: #2371
Fixed break conditions not triggering for steps using Defer: #2387
Fixed a race condition causing issues in some circumstances when using EmbedPropertiesAttribute: #2395
OpenTAP 9.33
OpenTAP 9.33 focuses on cross-platform stability, performance, and quality-of-life improvements.
Major Features
Parameterization of Outputs — outputs can now be parameterized, useful for surfacing key values from a sub-sequence of steps through the rest of the test plan.
Safer test plan saving — saves now write to a temporary file first, then use delete-and-move to replace the original, protecting against corruption from connection or power loss.
Minor Features
OPENTAPLIBVISALOCATIONcan specify a custom libvisa shared library locationtap sdk gitversionnow works on Alpine Linux
Bug fixes
OpenTAP 9.32.3
OpenTAP 9.32.3 offers stability, performance, and quality-of-life release; rolls up patches from 9.32.1–9.32.3.
Multi-level nested sweeps — Parameter Sweep values can now themselves be swept, enabling multi-level sweeps.
Performance — extensive gains in number/range parsing from text, faster value cloning, and quicker multi-select of many steps.
Improvements
Embedded settings can now be parameterized, and now forward validation errors
Number/range parsing improvements speed up UI and XML loading
Trivial object cloning improved, boosting multi-select and parameter performance
ILoopStepAPI marks a step as a loop step with get/set access to the current iteration
Bug fixes
Parameterized embedded properties now deserialize correctly
Process Step no longer adds an extra newline to output
Settings load no longer throws if
ComponentSettings.InitializeerrorsNewlines in the session log now render as spaces instead of being stripped
tap package install Editorworks even when a file named "Editor" existstap sdk gitversionnow works with git worktreesCustom annotators throwing in their constructor no longer break other annotators
9.32.1 – 9.32.3 patch notes
Disabled Sweep Parameter iterations no longer lock up the test plan #2277
Errors loading assemblies with no Location set #2288
Errors raised from a PreRunMixin now fail the test plan early #2300
Package download file no longer truncated on app crash mid-copy #2302
TimeSpanAnnotationinitializes Errors as null #2306Busy instruments no longer break VISA address validation #2309
PreTestPlanRunMixins now have access to the TestPlanRun #2292
Hardlink implementation aligned between Mac and Linux
OpenTAP 9.31.1
OpenTAP 9.31: package servicing improvements and several reliability fixes.
Features
Packages can now be updated or removed even while their files are in use
Bug fixes
Test plans can now be saved even if a custom serializer throws an unhandled exception
Added missing OpenTapApiReference documentation on Linux / macOS
tap.dllnow correctly updates when OpenTAP is updatedArtifacts from custom stream types saved incorrectly in some cases — fixed
CLI User Input no longer hangs if triggered during an offline update check
Race condition causing crashes/deadlocks during Editor startup and plugin search — fixed
OpenTAP 9.30
OpenTAP 9.30 is API-focused release adding custom name formatting and a neutral display-attribute variant.
Custom name formatting — test steps can implement IFormatName to control name formatting before macro expansion runs.
Neutral DisplayAttribute variant — a new NeutralDisplayAttribute property retrieves the language-neutral form of a DisplayAttribute.
Bug fixes
Fixed deadlock issues when waiting for output from test steps stopped by break conditions