Principals canvis:
- Les excepcions llançades al codi C++ i Java ara proporcionen una pila d'excepcions quan es produeix una excepció al codi Python. Així, per obtenir informació sobre la pila d'excepcions, ja no cal que crideu a stacktrace().
- La velocitat de retorn de trucada s'ha triplicat.
- Augmenta significativament (per ordres de magnitud) la velocitat de transmissió
buffers numpy de matrius multidimensionals. Les primitives multidimensionals passen còpies de només lectura creades dins de la JVM amb un disseny C contigu. - Tots els elements interns exposats s'han substituït per implementacions de CPython i els símbols __javaclass__, __javavalue__ i __javaproxy__
esborrat. S'ha afegit una ranura Java dedicada a tots els tipus de CPython que hereten dels tipus de classe jpype. Totes les taules privades s'han mogut a CPython. Els tipus Java ara han d'heretar de la metaclasse JClass, que utilitza ranures de tipus. Els mixins per a les classes base de Python no es permeten. Els tipus són Object, Proxy, Exception, Number i Array i hereten directament de les implementacions internes de CPython. - Traçament millorat i gestió d'excepcions.
- Les porcions de matriu es processen ara com a vistes que admeten l'escriptura a l'original, com ara una matriu numpy. Per al tall de matriu, es proporciona suport per establir i recuperar valors en passos (slice (inici, aturada, pas)).
- Ara les matrius admeten "__reversed__".
- Les matrius Java ara admeten l'API de memoryview i eliminen la dependència de numpy per passar el contingut del buffer.
- Numpy ja no és una dependència (extra) i la transferència de memòria a numpy està disponible sense compilar amb suport numpy.
- JInterface està dissenyat com una metaclasse. Utilitzeu isinstance (cls, JInterface) per comprovar si hi ha interfícies.
- S'han afegit els TLD que falten "mil", "net" i "edu" a les importacions per defecte.
- Missatges d'error millorats per a UnsupportedClassVersion durant l'inici.
- java.util.Map ara llança un KeyError si no es troba l'element. Els valors que són nuls encara retornen Cap com s'esperava. Utilitzeu get() si voleu tractar les claus buides com a Cap.
- S'ha eliminat java.util.Collection, ja que estranyament es sobrecarrega entre remove(Object) i remove(int) a les llistes. Utilitzeu el mètode Java remove() per accedir al comportament natiu de Java, però es recomana l'emissió de tipus per al control de la sobrecàrrega.
- java.lang.IndexOutOfBoundsException ara es pot detectar mitjançant la classe d'excepció IndexError quan s'accedeix als elements java.util.List.
Font: opennet.ru