We are excited to (pre-)announce clap 4.0! This release focuses on removing deprecated APIs and finishing what we couldn't do without breaking changes. For more details see the CHANGELOG (including the migration guide) and the documentation.
For Builder API Surface, it is understandable when you consider we mostly didn't remove functionality in v3 but deprecated it, removing it in v4.
Lines of Code is mostly accounted for with the merge of structopt into clap as clap_derive. We continued to have significant growth after that as we continued to develop replacement features for functionality in clap. These more general solutions take up more lines though not more code size.
For code size and runtime, one factor is that things fell through the cracks during clap v3's development. clap's development went dark for an extended period of time and went through several maintainers. This isn't to say one of the maintainers is at fault but that things get lost in hand offs. Towards the end, we double-downed on just getting out what we had and hadn't looked to see how we compared to v2.
Our plan is to give about a week window between the release-candidate and the official release to allow for collecting and processing feedback.