What's Changed
- Make ikvmc -deterministic output byte-identical across builds by @wasabii in #764
- Clear pooled instruction array before parsing method code by @wasabii in #765
- Add IKVM.Templates, project templates for dotnet new by @wasabii in #763
- Add tests for the method analyzer, local variable analysis and compiler by @wasabii in #766
- Split try blocks without rescanning the method after every split by @wasabii in #769
- Suppress incompatible-pointer-types for OpenJDK native libraries (clang 22+) by @wasabii in #774
- Clean up IKVM.Reflection: tests, dead code and the writer by @wasabii in #767
- Fix AbstractMethodError for default method inherited through base class by @wasabii in #773
- Read metadata with System.Reflection.Metadata in IKVM.Reflection by @wasabii in #770
- Clean up IKVM.Reflection's code style and documentation by @wasabii in #775
- Fix and remove what documenting IKVM.Reflection turned up by @wasabii in #776
- List each input directory once instead of once per input file by @wasabii in #777
- Add tests covering the JNI function table by @wasabii in #778
- Fix JNI defects found by the JNI tests by @wasabii in #779
- Derive a module name from a jar name without a version by @wasabii in #782
- Reduce build time in the SDK, MSBuild targets and repo build by @wasabii in #781
- Link C++ native libraries against libstdc++ on Linux by @wasabii in #786
- Pass Optimize to IkvmReference compiles and make the cache identity cover every output-affecting input by @wasabii in #784
Full Changelog: 8.16.2...8.16.3