@ViewBuilder doesn't seem to be needed on body in chapter 8

The code seems to work and compile without adding @ViewBuilder to the body property when using the environment to check the vertical size class. Is this no longer necessary?

That’s correct — it seems redundant now. If you look at the View protocol, you can notice that now the body properly has that modifier already applied:

@ViewBuilder var body: Self.Body { get }

I presume earlier versions of SwiftUI didn’t use that attribute, so you had to manually add yourself whenever needed.