My first encounter with SilverStripe was 3.1.3, so 3.1.4 is the first time I should upgrade. I'm a bit afraid to do it though, because of overwriting things. I did keep track of which files I changed, so I can get around it, but there's probably a way for me to do things cleaner in the future.
For example, I changed the validEmailAddress function in /framework/email/Email.php so that it also accepts Russian email addresses. Should I have done this differently? Could I have made this change in a separate module somehow (preferably in mysite)?
Currently, I'd have to either backup that Email.php and use it to overwrite the one from 3.1.4, but then I might miss out on any other updates that SilverStripe might have made in that file. Ideally, I would track every single change I made along with the linenumbers, but I'm not sure how best to track that, and it may get cumbersome if I have to redo a lot of changes every update.
.. yes, I know, I have little experience with version control :)
(I have composer installed, but have so far only installed a few modules with it)