The Kivy team and contributors to the PyJNIus project are happy to announce the release of PyJNIus 1.3.0.
PyJNIus is a library allowing to use Java classes in CPython, by using the Java Native Interface, and reflection, it works on desktop (Windows, OSX, Linux) and Android. Java 8 to 12 are supported. This release fixes a few important issues, and provides new features, detailed below. This release is the last minor version to support Python2, patch version might be released if important issues are discovered shortly after the release, but we believe the world should now largely have moved on from Python2, and there is an opportunity to simplify the implementation by removing code handling it specifically, and taking advantage of Python3 features more. [Full Changelog](https://github.com/kivy/pyjnius/compare/1.2.1...1.3.0) **Implemented enhancements:** - [\#483](https://github.com/kivy/pyjnius/pull/483)/[\#489](https://github.com/kivy/pyjnius/pull/489) allow passing a `signature` argument to constructors, to force selection of the desired one - [\#497](https://github.com/kivy/pyjnius/pull/497)/[\#506](https://github.com/kivy/pyjnius/pull/506)/[\#507](https://github.com/kivy/pyjnius/pull/507) support for more "dunder" methods/protocols on compatible interfaces than just `__len__`, and allow users to provide their own. - [\#500](https://github.com/kivy/pyjnius/pull/500)[\#522](https://github.com/kivy/pyjnius/pull/522) allow ignoring private methods and fields in autoclass (both default to False) - [\#503](https://github.com/kivy/pyjnius/pull/503) auto detect java_home on OSX, using `/usr/libexec/java_home` (if JAVA_HOME is not declared) - [\#514](https://github.com/kivy/pyjnius/pull/514) writing to static fields (and fix reading from them) - [\#517](https://github.com/kivy/pyjnius/pull/517) make signature exceptions more useful - [\#502](https://github.com/kivy/pyjnius/pull/502) provide a stacktrace for where JVM was started. - [\#523](https://github.com/kivy/pyjnius/pull/523) expose the class's class attribute - [\#524](https://github.com/kivy/pyjnius/pull/524) fix handling of Java chars > 256 in Python3 - [\#519](https://github.com/kivy/pyjnius/pull/519) Always show the exception name **Fixed bugs:** - [\#481](https://github.com/kivy/pyjnius/pull/481) wrong use of strip on JRE path - [\#465](https://github.com/kivy/pyjnius/pull/465) correct reflection to avoid missing any methods from parent classes or interfaces - [\#508](https://github.com/kivy/pyjnius/pull/508) don't had error details with a custom exception when java class is not found - [\#510](https://github.com/kivy/pyjnius/pull/510) add missing references to .pxi files in setup.py, speeding up recompilation - [\#518](https://github.com/kivy/pyjnius/pull/518) ensure autoclass prefers methods over properties - [\#520](https://github.com/kivy/pyjnius/pull/520) improved discovery of libjvm.so + provide a workaround if it doesn't work **Documentation** - [\#478](https://github.com/kivy/pyjnius/pull/478) document automatic Thread detach feature - [\#512](https://github.com/kivy/pyjnius/pull/512) document the requirement to keep reference to object/functions passed to java, for as long as it might use them - [\#521](https://github.com/kivy/pyjnius/pull/521) fix inheritance in example Many thanks to the contributors who allowed this release to happen. The release is available on https://pypi.org/projects/pyjnius and on github at https://github.com/kivy/pyjnius/releases/tag/1.3.0. _______________________________________________ Python-announce-list mailing list -- python-announce-list@python.org To unsubscribe send an email to python-announce-list-le...@python.org https://mail.python.org/mailman3/lists/python-announce-list.python.org/ Member address: arch...@mail-archive.com