I noticed that some API calls have changed how they handle 'missing' data in the return values.
If a device did not have a name assigned, getNetworkDevices would not have a 'name' element in the return data, same for getDevice.
My scripts check for any devices with a missing 'name' element and substitute the MAC address to create a readable name that matches the Dashboard UI behaviour.
But that changed a couple of days ago...
Now the return value will (or may?) have a 'name' element, but it'll be empty, a Python None.
So my scripts started failing because 'name' was there, but rather than being a string value, the value is None (if no name was set.)
I'm updating scripts to cope with the new behaviour, I assume it's the result of the work to make API return data more consistent. It's a sensible change, better to have a None value than omit the 'name' element from results.
If you do similar checks for a potential missing 'name' element, time to check your code as obviously the problem only shows up where a device hasn't been named, which may come as a surprise!