JPype 0.7.2
-
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 metaclassJClass
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 -
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
arenull
still returnNone
as expected. Useget()
if
empty keys are to be treated asNone
. -
java.util.Collection
__delitem__
was removed as it overloads
oddly betweenremove(Object)
andremove(int)
on Lists.
Use Javaremove()
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 accessingjava.util.List
elements.