Why North Canterbury
Upgrading from 3.3 to 3.4 shouldn't require any code changes.
Note that if you are upgrading from 3.1, you should review the 3.2 upgrade notes.
Other changes to be aware of
These changes are unlikely to affect your upgrade, but we've noted them just in case you had unusual project code that was affected by these:
When FormFields are rendered, leading & trailing whitespace is now stripped. The resulting HTML for form fields is the same for the default fields, but if you have a custom form field that is relying on trailing whitespace being outputted.
DataObject::isChanged() now defaults to only checking database fields. If you rely on this method for checking changes to non-db field properties, use getChangedFields() instead.
Up until 3.4.0 error responses handled by SilverStripe have normally returned HTTP 200. The correct http response code can be turned on by setting Debug.friendly_error_httpcode config to true. This option will be removed in 4.0 and fixed to always on.