That absolutely makes sense, and if ignoring SIGHUP was a new feature, I'd definitely want False to be the default. But I'm taking backwards compatibility quite seriously. People have been using Pexpect with this feature for years, and I don't know what use cases might be relying on that. As far as possible, I want people to be able to drop Pexpect 3.0 in to replace 2.4 and not have to change anything else.

In the future, we could change the default with a suitable deprecation cycle. E.g. we could add the option in 3.0, have it issue a warning if it's not specified in 3.1, and change the default in 3.2.