Beyond those two, the only remaining experimental feature is the recently-merged BIP340 support. It is experimental for two reasons:
- There are a few discussions still ongoing that may impact the API (variable-length message support, batch validation) without changes to the (currently supported) part of the scheme. It’s not impossible to just add new functions for these once they’re worked out, but given the next point, I think this may not be needed.
- It’s very hard to be sure what exact semantics of BIP340 will actually activate on Bitcoin (or if it will at all), and if that ends up being different from what is implemented now, eventually this library will want to implement the final scheme. I think changes are very unlikely at this point, but it’s also not exactly under our control.
Originally posted by @sipa in #817 (comment)