I am finally able to migrate our company’s project to Ignition version 8.3. However, even in the test environment, I encountered a major disappointment regarding the versioning of tag files.
Our tag organization is based on dozens of folders. During the initial conversion, all tags remained properly organized, with no apparent issues.
However, when I needed to apply a modification using import with overwrite, I noticed that the modified tags were moved to the top of the file.
This behavior causes a significant displacement within the file, leading source control diff tools to interpret the change as line removals in one section and additions in another, rather than a simple modification. This greatly complicates version control and code review.
In the image below, I modified only the enabled property of a single, simple tag, yet nearly the entire file is reported as changed.
Is this behavior expected or known? If not (and I truly hope it is not), my suggestion would be to always rebuild or export tag files maintaining an order based on the name attribute, ensuring more stable and predictable versioning.
For this project, I needed to migrate tags from a legacy system. To support this, I built a Python script repository and decided to keep the generated JSON output versioned within the same project. This approach made it easy to clearly see exactly what changed with each modification to the code.
The project contains approximately 500,000 tags, so I organized them by UDT types and applied a simple and consistent rule set:
Tags are ordered by the name attribute.
Within each tag object, all attributes are ordered alphabetically.
This structure was implemented prior to Ignition 8.3 and worked extremely well.
Version control diffs were always clean, predictable, and easy to review — it truly felt like a “put words together and make it fun” experience.
I honestly don’t understand the difficulty of implementing something like this. I am extremely disappointed.