Hello, I'm the author of that commit. You can read about the motivations for this change in these RFCs:
* <https://github.com/nim-lang/RFCs/issues/75> * <https://github.com/nim-lang/RFCs/issues/211> If you wish to assign to the fields and ending up with an invalid value is not a problem then it's likely that `DateTime` is not the right type for your use case. Instead you can introduce your own type that only holds the data without performing any validation and convert to a `DateTime` only when needed (using `initDateTime`). If you wish to update the fields but also want to end up with a valid value there's currently no other way than calling `initDateTime` again.
