Skip to content

JPype 0.7.1

Compare
Choose a tag to compare
@Thrameos Thrameos released this 03 Jan 19:29
· 1721 commits to master since this release
257f2b0
  • Updated the keyword safe list for Python 3.

  • Automatic conversion of CharSequence from Python strings.

  • java.lang.AutoCloseable supports Python "with" statement.

  • Hash codes for boxed types work properly in Python 3 and can be
    used as dictionary keys again (same as JPype 0.6). Java arrays
    have working hash codes, but as they are mutable should not
    be used as dictionary keys. java.lang.Character, java.lang.Float,
    and java.lang.Double all work as dictionary keys, but due to
    differences in the hashing algorithm do not index to the same
    location as Python native types and thus may cause issues
    when used as dictionary keys.

  • Updated getJVMVersion to work with JDK 9+.

  • Added support for pickling of Java objects using optional module
    jpype.pickle

  • Fixed incorrect string conversion on exceptions. str() was
    incorrectly returning getMessage rather than toString.

  • Fixed an issue with JDK 12 regarding calling methods with reflection.

  • Removed limitations having to do with CallerSensitive methods. Methods
    affected are listed in :doc:caller-sensitive. Caller sensitive
    methods now receive an internal JPype class as the desut

  • Fixed segfault when converting null elements while accessing a slice
    from a Java object array.

  • PyJPMethod now supports the FunctionType API.

  • Tab completion with Jedi is supported. Jedi is the engine behind
    tab completion in many popular editors and shells such as IPython.
    Jedi version 0.14.1 is required for tab completion as earlier versions
    did not support annotations on compiled classes. Tab completion
    with older versions requires use of the IPython greedy method.

  • JProxy objects now are returned from Java as the Python objects
    that originate from. Older style proxy classes return the
    inst or dict. New style return the proxy class instance.
    Thus proxy classes can be stored on generic Java containers
    and retrieved as Python objects.