The implementation of `String.substring` and related methods `stripLeading` and `stripTrailing` have changed in this release to avoid redundantly creating a new empty String. This may impact code that depends on unspecified behaviour and the identity of empty sub-strings.