Julia follows semantic versioning, which means that minor version updates are backwards compatible. Code that worked on v1.0 must work on 1.8, etc. If a new version is introduced that breaks backwards compatibility, then the major version must be updated. In other words, Julia is backwards compatible until v2.0, whenever that might be.
“Backwards compatibility” does not mean “nothing changes”. If it did, then what would be the point of new development? Just make a final version, and stop developing. If you dislike changes, pick a version you like, and never update.
Tutorials based on versions before the first stable release, v1.0, may be broken, but tutorials based on newer versions should not be. If they are, there’s a problem with the tutorial itself.