08-06-2025 03:11 AM
Hi there,
I have to maintain a big project based on DQMH 6.1 and LV2021.
This project is deployed to multiple instances and running there in source code for developing and testing.
Finally its build into an executable and deployed to customers.
I would like to upgrade to latest DQMH 7.x primarily to use improved DQMH Tools.
How does the major version upgrade effect my existing code?
Do all instances running this project in source code have to upgrade to 7.x too?
best regards
Thomas
Solved! Go to Solution.
08-06-2025 03:57 AM - edited 08-06-2025 07:40 AM
Hey Thomas, thanks for bringing this up. I believe there is room for improvement in our official documentation on the topic of upgrading the DQMH framework vs. upgrading DQMH modules.
DQMH is designed with backward compatibility in mind: Old modules can continue to function inside projects that use newer DQMH scripting tools. You can mix modules created with different DQMH versions in the same project. However, if you want to use new features (e.g., improved error handling, updated broadcast patterns, new helper VIs), you need to manually update each module using the provided tools.
Upgrading the framework
Upgrading the DQMH framework itself from one release to the next is generally a well-structured and non-destructive process—but it's important to understand what changes, what doesn't, and how it impacts your existing code:
This design has important implications for versioning and upgrades: Upgrading the framework only involves installing the new version of the DQMH framework via VI Package Manager.
Existing modules remain unchanged after a framework upgrade. They contain snapshots of the template elements that were current at the time of creation. These modules continue to work because they are self-contained for the most part and they don’t depend on any global shared code that should ever change in between versions. On the downside, they also do not automatically adopt new features or fixes introduced in the latest DQMH version.
Upgrading existing modules
To benefit from the new framework features, you should upgrade your existing DQMH modules. You should use the "Validate Module" feature to check your modules for compatibility with the installed version of the DQMH framework.
The Validation Tool will detect and list all the places where existing modules (ones that were created with an older version of DQMH) differ from what a module created in the latest version would look like. Most of these places can be fixed automatically just with the click of the button. The Fixer Tool will tell you exactly what it does and how it's modifying code. Some parts of your modules - mostly those places that contain manually written code - will still need your manual decision-making, though.
Recommendations:
Upgrade to the latest version of the framework if possible
Use the Validate and Update tools in the Tools menu to upgrade your existing code
Always employ source code control to have a fallback - some scripting operations are hard to undo otherwise
Let me know if this clarifies things, and what might still be unclear.
(edited for clarity)
DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )
08-06-2025 05:03 AM
Hi Jörg,
thats the answer I was hoping for.
Grüße
Thomas