Thanks, Marcin, for your detailed explanation
You are, of course, right - I reviewed our code and found that we were previously calling CachingDriverFactory.clearCacheAndQuitDriver() from within an overridden resetBrowser() after some tests.
So really, the core issue is that if we call quit() on the caching driver, a new driver won't be spawned for the next test, whereas it was in Geb 1, and the docs say it should.
I'll see if I can figure out a way around that, but I'm open to ideas. I tried using the code snippet you suggested, which works (we do have a superclass so this was easy to test) - the one issue is that we only want to quit and relaunch the browser sometimes - not for every test. It would be great if we could call quit() when needed and then do whatever is necessary to launch a new browser instance at that point
(if you're curious, the reason we need to quit the browser is because we're testing using third-party logins to a site (e.g. "Login using Google, Login using Facebook"). When you login using a third party, it can create cookies in all sorts of domains, so we can't reliably delete them with clearCookies()).