PyJNIus v1.3.0 Release Notes

Release Date: 2020-05-03 // over 1 year ago
  • Full Changelog

    Implemented enhancements:

    • #483/#489 allow passing a signature argument to constructors, to force selection of the desired one
    • #497/#506/#507 support for more "dunder" methods/protocols on compatible interfaces than just __len__, and allow users to provide their own.
    • 0๏ธโƒฃ #500#522 allow ignoring private methods and fields in autoclass (both default to False)
    • #503 auto detect java_home on OSX, using /usr/libexec/java_home (if JAVA_HOME is not declared)
    • #514 writing to static fields (and fix reading from them)
    • #517 make signature exceptions more useful
    • #502 provide a stacktrace for where JVM was started.
    • #523 expose the class's class attribute
    • #524 fix handling of Java chars > 256 in Python3
    • ๐Ÿ‘ป #519 Always show the exception name

    ๐Ÿ›  Fixed bugs:

    • #481 wrong use of strip on JRE path
    • #465 correct reflection to avoid missing any methods from parent classes or interfaces
    • ๐Ÿ‘ป #508 don't had error details with a custom exception when java class is not found
    • #510 add missing references to .pxi files in setup.py, speeding up recompilation
    • #518 ensure autoclass prefers methods over properties
    • โ†ช #520 improved discovery of libjvm.so + provide a workaround if it doesn't work

    ๐Ÿ“š Documentation

    • #478 document automatic Thread detach feature
    • #512 document the requirement to keep reference to object/functions passed to java, for as long as it might use them
    • #521 fix inheritance in example

Previous changes from v1.2.1

  • Full Changelog

    • ๐Ÿ‘‰ Make sure methods are discovered in reverse-inheritance order
    • ๐Ÿ›  fix unreferenced variable
    • ๐Ÿ Avoid windows execution error when JAVA_HOME path has space (test on w10)
    • ๐Ÿ”— Link to libjli, not libjvm, on macOS
    • โž• Add support for adoptopenjdk12
    • โž• Add build support for Oracle Solaris on SPARC sun4u and sun4v
    • ๐Ÿ‘‰ make sure Interface have access to Object's methods
    • wheels built for:
      • Windows: Python 3.6, 3.7 and 3.8
      • OSX: Python 2.7, 3.6, 3.7 and 3.8
      • Manylinux: Python 2.7, 3.6, 3.7 and 3.8