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

Reply via email to