- made C methods `static` (similar to `private` in Java) to avoid that they are added (exported) to shared library symbol table
- macOS and Linux: added `-fvisibility=hidden` to compiler options to mark C methods hidden by default
- test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library)
- invoke a method (to get API version) to check whether native library works correctly
if API version do not match, or method could not invoked correctly, disable usage of FlatLaf native library
Windows and macOS binaries built and signed locally in clean workspace
Linux binary built by GitHub Actions