Skip to content

Releases: jpype-project/jpype

v1.5.1

18 Nov 21:25
7b1abed
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.5.1

JPype 1.5.0

15 Dec 21:10
Compare
Choose a tag to compare
  • 1.5.0 - 2023-12-15

    • Support for Python 3.12

    • Switched __eq__ and __ne__ operator to use equals rather than
      compareTo for comparable objects to avoid exception when comparing
      object of different types.

    • Fixed segmentation fault when comparing Java Comparable to primitives.

    • Java exceptions that occur in inequality comparisons now map to Python
      TypeError.

    • Fixed crash when calling subscript on JArray.

    • Fixed direct byte buffers not reporting nbytes correctly when cast to
      memoryview.

    • Expand the defintion for Functional interface to include classes without
      FunctionInterface annotation.

    • Add additional matching level for derived types to resolve ambiguities when
      a derived type is used in place of base class when determining the method
      overload. This will resolve some previous ambiguities between methods.

JPype 1.4.1

27 Oct 03:45
Compare
Choose a tag to compare
  • Fixed issue with startJVM changing locale settings.

  • Changes to support Python 3.11

  • Fix truncation of strings on null when using convert strings.

  • Replaced distutil with packaging

JPype 1.4.0

14 May 14:04
Compare
Choose a tag to compare
  • Support for all different buffer type conversions.

    • Improved buffer transfers to numpy as guaranteed to match Java types.
      However, exact dtype for conversions is os/numpy version dependent.

    • Support for byte order channels on buffer transfers.

    • Byte size for buffers now fixed to Java definitions.

    • When directly accessing Java arrays using memory view, Python requires a
      cast from buffers. Required because Python does not support memory view
      alterations on non-native sizes.

  • Fix crash when comparing JChar.

    • Order handling for numerical operations with JChar fixed.
  • Improved matching for Java functors based on parameter count.

  • Dropped support for Python 3.5 and 3.6

  • dbapi2 handles drivers that don't support autocommit.

  • Fixed issue when Java classes with dunder methods such as __del__
    caused conflicts in Python type system. Java method which match dunder
    patterns are longer translated to Python.

  • Fix issue with numpy arrays with no dimensions resulting in crash.

  • Support for user defined conversions for java.lang.Class and array types.

  • Fixed issue with ssize_t on Windows for Python 3.10.

JPype 1.3.0

05 Jun 15:50
Compare
Choose a tag to compare
  • Fixes for memory issues found when upgrading to Python 3.10 beta.

  • Add additional diagnositics for importing of non-public class.

  • Fixed issue with classes with unsatified dependencies leading to a crash
    on windows.

  • Fixed a bug with arrays created using the short cut. The wrong type
    was being returned.

JPype 1.2.1

04 Jan 02:05
Compare
Choose a tag to compare

This is a bug release to correct defects found in the previous release. This version should add no additional functionality, though certain bug fixes will correct previous behaviors or add files which were incorrectly excluded due to packaging issues.

  • JPype scans jar files and rebuilding missing directories to allow imports from stripped and obfuscated jar files. Previously certain build patterns for jars excluded directories which prevented the import system from functioning properly. This change should increase the number of jar files which can be imported successfully. This was the intended behavior for imports, but certain defects in the process prevented proper function.

  • Missing stub files added to packaging. These were added in the last release, but the packaging system incorrectly excluded them from the build.

  • Python 3.9 issues are resolved on Windows. A change in Python 3.9 made is so that the GIL is not held during library loading, thus static variables created are not valid. These variables have been moved to module initialization.

  • aarch64 has been added to the build patterns for publication in this and future releases.

JPype 1.2.0

30 Nov 05:02
Compare
Choose a tag to compare
  • Added builds for Python 3.9. Python 3.9 on Windows is currently failing
    due to issue in Python.

  • Fixed bug when importing from multi-release jars. The directory was
    being truncated to only those classes in the overlay.

  • addClassPath can add jar files after the JVM is started. The default
    loader for JPype class is org.jpype.classloader.DynamicClassLoader.

  • Build support of z/OS added.

  • Bug causing ambiguity between primitives and variadic arguments in method
    resolution was corrected.

  • Boolean was inadvertently left out of method resolution. boolean
    now properly matched with boxed types.

  • Support for PyInstaller was added.

JPype 1.1.2

23 Oct 16:58
Compare
Choose a tag to compare
  • Linux binaries are now stripped for size.

  • Add importlib.util to address instability in Python importlib boot process.
    Certain versions of Python such as 3.9 appear to not properly load this
    module resulting in unexpected errors during startJVM.

JPype 1.1.1

21 Oct 15:49
Compare
Choose a tag to compare

This pull release corrects an issue in the build system resulting in incomplete wheels on linux. No other changes from 1.1.0.

JPype 1.1.0

20 Oct 18:26
Compare
Choose a tag to compare

linux distribution were incomplete. Please use 1.1.1 release.

  • Correct bug resulting in reporting ambiguous overloads when resolving
    methods with variadic arguments.

  • Ctrl+C behavior is switchable with interrupt flag to startJVM.
    If True, process will halt on Ctrl-C. If False, the process
    will transfer control to Python rather than halting. If
    not specified JPype will assume false if Python is started as an
    interactive shell.

  • Fixed crash with Ctrl+C when multiple exceptions were generated.

  • Removed extraneous exception when calling Ctrl+C before Java code is
    executed for methods and fields.

  • Fixed memory leak with string cache.

  • Fixed crash when manually creating wrappers for anonymous classes.

  • Fixed reference count problem in stackframes used for exceptions.

  • Errors report *static* when the matching with a static method
    so that it is clear when a member method was called statically.

  • java.lang.String slices function like Python string slice.

  • Java packages now operate as normal Python modules. Removed restrictions
    regarding setattr. All package instances for the same package name are
    shared so that functionality added to one instance is shared wiht all
    instances.