Releases: ninia/jep
Jep 4.2.2
This release fixes a memory leak that allocates a few dozen JNI global references each time a SubInterpreter is created. Anyone using many SubInterpreters should consider upgrading because this leak is present in all previous 4.x versions of Jep. This release also includes other minor fixes and updated guidance for using the --no-cache-dir
and --no-build-isolation
options when installing with pip.
What's Changed
- Add configuration for setting program name. by @bsteffensmeier in #573
- Recommend disabling pip caching during installation. by @bsteffensmeier in #574
- Fix ClassList to handle jar in working dir with classpath in manifest. by @bsteffensmeier in #577
- Fix SubInterpreter pyjmethod leak on static types. by @bsteffensmeier in #579
- Add recommendation to build without isolation to enable numpy. by @bsteffensmeier in #581
Full Changelog: v4.2.1...v4.2.2
Jep 4.2.1
This release has some minor fixes and compatibility improvements for python 3.13 and numpy 2.
What's Changed
- Fix leaking attributes in java PyObject. by @bsteffensmeier in #539
- Auto detect JAVA_HOME on Linux by @hahn80 in #546
- Update threading checks to be compatible with Python 3.13 by @bsteffensmeier in #551
- add new ClassEnquirer for declaring Python packages by @ndjensen in #553
- updated ClassEnquirer.java to use py4j python package and this will solve py4j error when running pyspark script by @NavodPeiris in #548
- Run Python garbage collector when an interpreter is closed. by @bsteffensmeier in #556
- Update include path for compatibility with numpy 2. by @bsteffensmeier in #562
- Ensure shared modules cannot be used with isolated interpreters. by @bsteffensmeier in #564
New Contributors
- @hahn80 made their first contribution in #546
- @NavodPeiris made their first contribution in #548
Full Changelog: v4.2.0...v4.2.1
Jep 4.2.0
This is a minor version increment that mostly includes bug fixes and compatibility improvements. This release has been tested with Python versions from 3.6 to 3.12 and Java versions 8, 11, 17, and 21. Thanks to all the contributors who have submitted code to improve this release.
Below is a summary of changes, see the release notes for more information.
- Improved support for varargs
- Custom converters for Java Objects in Python
- PyJType for java.util.Map now implements keys() and items()
- Additions of PyBuiltins
- Java FunctionalInterfaces are automatically callable in Python
- Java Methods can be Annotated to accept Python kwargs
- Support for isolated SubInterpreter
Jep 4.1.1
What's Changed
- The Python builtin
isinstance
function can be used with imported PyJClasses - Minor compatibility updates for older compilers.
Full Changelog: v4.1.0...v4.1.1
Jep 4.1.0
What's Changed
- Change Java fields and methods to type attributes instead of instance attributes by @bsteffensmeier in #386
- Improve libpython detection by @ctrueden in #394
- Switch build to setuptools. by @bsteffensmeier in #396
- Make most pyjtypes into heap types. by @bsteffensmeier in #395
- When VIRTUAL_ENV is set it can be used to locate libraries. by @bsteffensmeier in #398
- Fixes #401 - issue NullPointerException in ClassList.loadClassList by @Htarlov in #402
- Implement custom MRO for PyJType. by @bsteffensmeier in #407
- SharedInterpreters now share MemoryManager and java PyObjects. by @bsteffensmeier in #421
New Contributors
Full Changelog: v4.0.3...v4.1.0
Jep 4.0.3
Jep 4.0.2
What's Changed
- Fix conversion of readonly python buffer objects to java arrays. by @bsteffensmeier in #374
- Fixed library location for Python 3.10. by @node3112 in #375
Full Changelog: v4.0.1...v4.0.2
Jep 4.0.1
- Allow empty kwargs in calls to PyObjects
- Implement isatty method in StreamRedirect
- Resolve freeze on newer python from calling from sys.exit()
- Import hook uses newer import hook API
Jep 4.0.0
This is a major version increment and it includes removal of deprecated functionality and several changes making it incompatible with previous versions of Jep. This release also removes support for Python 2.
Jep 3.9.1
The primary purpose of this release is to add support for Python 3.9.