If I remove the final keyword from a method or other "thing", will users of my class have to recompile?
No, removing the final keyword will not break compatibility assuming you're fine with this wart:
If module B calls any method from a class in module A and module C overrode the previously final method, and an object from module C is passed to module B, the call will go to module A's implementation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With