Blog
May 30, 2024
Securing a JSON file with a hidden signature
A routine upgrade uncovered a fragile assumption in an old file format. When .NET8 removed the “one golden zip,” the lack of a version field turned a simple change into a breaking problem.
I promised myself I would never write a file format without a version field, but here we are.
As part of upgrading Duplicati to .NET8, I discovered that the updater manifest file for Duplicati pointed to the “one golden zip file” that was used with .NET4. With .NET8 there is no golden zip file since we have different versions for each operating system, so I had to rework the contents of the file in an incompatible way. This presented a couple of problems:
After trying to just enter the new content, I realized the key-length was too short and the file format didn’t support changing the key size.
Worse: This was the first time I had to update the file format, and I realized there was no version field.
Learn More in the Community Forum
A routine upgrade uncovered a fragile assumption in an old file format. When .NET8 removed the “one golden zip,” the lack of a version field turned a simple change into a breaking problem.




