Beyond the various implemention details we are discussing (build system, JRE support, API enhancements), another consideration for a major release like 4.x ought to include modernizing our support for the existing XMPP standards. Some of the XEPs we support (or claim to support) have been updated since the time the implementation was originally done (like XEP-0124 BOSH and XEP-0060 PubSub), and others like XEP-0198 (Reliable Delivery) ought to be added.
Does it make sense to start a candidate list of specifications for inclusion or modernization? We already have some community feedback requesting some of these. Might be good to solicit input along those lines, especially from some of the XMPP client projects like Adium/Pidgin, Matrix and Strophe.