Principals canvis:
- JChar és compatible com a tipus de retorn. Per a la compatibilitat, JChar hereta de "str" i implementa una conversió implícita a "int". Per tant, passa controls en els contractes. Però això vol dir que ja no es considera un tipus numèric a Python i, per tant, isinstance(c, int) s'avalua com a False, que és coherent amb les regles de conversió de tipus Java.
- S'ha introduït un operador per emetre un tipus Java, Type@obj (@ és un operador Python per al producte intern; Java no en té cap).
- S'ha afegit una notació per crear matrius Java. Escriviu [s1][s2][s3] per a matrius de mida fixa, Tipus[:][:][:] per a matrius que es crearan més tard.
- @FunctionalInterface us permet crear functors Java a partir d'objectes Python amb __call__.
- S'ha eliminat el JIterator obsolet, l'ús de JException com a fàbrica, get_default_jvm_path i jpype.reflect.
- Per defecte, les cadenes de Java no es converteixen en cadenes de Python.
- Python ha obsolet "__int__", de manera que les distribucions implícites entre els tipus enter i de coma flotant produiran un TypeError.
- L'ús de JException ha quedat obsolet. Per detectar totes les excepcions o comprovar que un objecte és un tipus d'excepció Java, utilitzeu java.lang.Throwable.
- Les causes en cascada de les excepcions de Java ara es reflecteixen als marcs de pila de Python.
- JString ha quedat obsolet. Per crear una cadena Java, o per comprovar que un objecte és del tipus cadena Java, utilitzeu java.lang.String.
- Els mètodes Repr s'han actualitzat a les classes Java.
- java.util.List executa contractes per a collections.abc.Sequence i collections.abc.MutableSequence.
- java.util.Collection executa el contracte de collections.abc.Collection.
- Les classes Java són privades i llançaran TypeError quan s'estenen des de Python.
- Manegeu el Control-C amb cura. Les versions anteriors es bloquegen quan Java processa un senyal Control-C perquè finalitzaran Java durant la trucada. JPype ara llançarà una InterruptedException quan torni de Java. Control-C no llançarà grans procediments de Java tal com s'implementa actualment, ja que Java no té una eina especial per a això.
A continuació, es va crear una versió correctiva 1.0.1, que va afegir canvis per solucionar problemes amb la versió 3.8.4 de Python. Python ha canviat la lògica pel que fa a l'ús de "__setattr__" per a "objecte" i "tipus", evitant que s'utilitzi per modificar classes derivades. La comprovació d'errors també s'ha delegat des del mètode "__setattr__", de manera que els tipus d'excepció en algunes comprovacions d'adequació s'han d'actualitzar en conseqüència.
Font: opennet.ru