@pp-mo You've gone to the trouble of creating a magic `__str__` on the `UMVersion` and I'd really expect for it to be used here i.e.:
```python
var_string = '{}'.format(um_ver)
```

Infact, given this:
```python
>>> um_ver = UMVersion(1, 2)
UMVersion(major=1, minor=2)
>>> str(um_ver)
1.2
```
I expected to get `1.02` instead. Wouldn't it be better for `str(um_ver)` to generate `1.02` instead?