A third version of the library, which made explicit passing of hooks mandatory.
The main issue that this version has is that hooks were optional, which means that people often forgot to pass them, even when using typescript.
This explicit passing of hooks when not needed turned out to be be more annoying and confusing than useful, and thus is reverted for V4.