3.1. is mostly new features, as far as I know these are the only breaking changes in GDScript:
- Named enums in GDScript no longer create script constants.
- This means
enum Name { VALUE }
must now be accessed withName.VALUE
instead ofVALUE
.
- This means
- Shadowing variables from parent scopes is no longer allowed in GDScript.
Source. The other big thing that was added to GDScript in 3.1 is static typing, which is totally optional.