for PETSc v3.20.0 (with Firedrake update)
Should work for v3.19.5 and v3.19.6 as well.
C codes (Chapters 1--12) were tested with PETSc v3.20.0 release branch commit d66216a4712.
Python codes (Chapters 13--14) were tested with Firedrake master branch commit 8f45c7d8a.
Test machine: thelio Ubuntu 22.04.3 LTS