jpype v0.7.2 Release Notes

Release Date: 2020-02-29 // almost 2 years ago

    ๐Ÿ‘ป C++ and Java exceptions hold the traceback as a Python exception
    cause. It is no longer necessary to call stacktrace() to retrieve
    the traceback information.

    Speed for call return path has been improved by a factor of 3.

    Multidimensional array buffer transfers increase speed transfers
    to numpy substantially (orders of magnitude). Multidimension primitive
    transfers are read-only copies produced inside the JVM with C contiguous
    layout.

    All exposed internals have been replaced with CPython implementations
    thus symbols __javaclass__, __javavalue__, and __javaproxy__
    ๐Ÿšš have been removed. A dedicated Java slot has been added to all CPython
    types derived from _jpype class types. All private tables have been
    ๐Ÿšš moved to CPython. Java types must derive from the metaclass JClass
    which enforces type slots. Mixins of Python base classes is not
    permitted. Objects, Proxies, Exceptions, Numbers, and Arrays
    derive directly from internal CPython implementations.

    ๐Ÿ‘ป Internal improvements to tracing and exception handling.

    Memory leak in convertToDirectBuffer has been corrected.

    ๐Ÿ‘ Arrays slices are now a view which support writeback to the original
    like numpy array. Array slices are no longer covariant returns of
    ๐Ÿ— list or numpy.array depending on the build procedure.

    ๐Ÿ‘ Array slices support steps for both set and get.

    Arrays now implement __reversed__

    Incorrect mapping of floats between 0 and 1 to False in setting
    Java boolean array members is corrected.

    Java arrays now properly assert range checks when setting elements
    from sequences.

    ๐Ÿ‘ Java arrays support memoryview API and no longer required numpy
    to transfer buffer contents.

    Numpy is no longer an optional extra. Memory transfer to numpy
    ๐Ÿ‘ is available without compiling for numpy support.

    JInterface is now a meta class. Use isinstance(cls, JInterface)
    โœ… to test for interfaces.

    ๐Ÿ›  Fixed memory leak in Proxy invocation

    ๐Ÿ›  Fixed bug with Proxy not converting when passed as an argument to
    Python functions during execution of proxies

    0๏ธโƒฃ Missing tlds "mil", "net", and "edu" added to default imports.

    โœจ Enhanced error reporting for UnsupportedClassVersion during startup.

    Corrections for collection methods to improve complience with
    Python containers.

    java.util.Map gives KeyError if the item is not found. Values that
    are null still return None as expected. Use get() if
    empty keys are to be treated as None.

    java.util.Collection __delitem__ was removed as it overloads
    ๐Ÿšš oddly between remove(Object) and remove(int) on Lists.
    ๐Ÿšš Use Java remove() method to access the original Java behavior,
    but a cast is strongly recommended to to handle the overload.

    java.lang.IndexOutOfBoundsException can be caught with IndexError
    for complience when accessing java.util.List elements.