Changed Image size property to be read-only by default by radarhere · Pull Request #3203 · python-pillow/Pillow

I think that this is about explicitly raising an error at when a user performs incorrect behaviour, rather than allowing their incorrect behaviour to produce bugs later on.

In the issue that started this, the user was receiving an error when saving. This just moves the error one step earlier.

The only situation I can think of where we might not want to immediately throw an error is for people writing their own image format plugins - they will now need to assign to self._size rather than self.size. That's a fairly simple change though.