Ĉefaj ŝanĝoj:
- Esceptoj ĵetitaj en C++ kaj Java-kodo nun provizas esceptan stakon kiam escepto okazas en Python-kodo. Tiel, por akiri informojn pri la escepta stako, vi ne plu bezonas voki stacktrace().
- La voka revena rapido triobliĝis.
- Signife (laŭ grandordoj) pliigis dissendrapidecon en
numpy bufroj de plurdimensiaj tabeloj. Plurdimensiaj primitivuloj pasas nurlegeblajn kopiojn kreitajn ene de la JVM kun apuda C-aranĝo. - Ĉiuj elmontritaj internaĵoj estis anstataŭigitaj per CPython-efektivigoj, kaj la simboloj __javaclass__, __javavalue__ kaj __javaproxy__
forigita. Diligenta Java-fendeto estis aldonita al ĉiuj CPython-tipoj kiuj heredas de jpype-klastipoj. Ĉiuj privataj tabloj estis movitaj al CPython. Java tipoj nun devas heredi de la JClass metaklaso, kiu uzas tipfendojn. Miksinoj por bazklasoj de Python ne estas permesitaj. La tipoj estas Object, Proxy, Exception, Number kaj Array kaj heredas rekte de la internaj efektivigoj de CPython. - Plibonigita spurado kaj esceptotraktado.
- Tabelaj tranĉaĵoj nun estas prilaboritaj kiel vidoj kiuj subtenas reskribi al la originalo, kiel numpy tabelo. Por tabelotranĉado, subteno estas provizita por agordi kaj retrovi valorojn en paŝoj (tranĉaĵo(komenco, halto, paŝo)).
- Tabeloj nun subtenas "__inversigitan__".
- Java-tabeloj nun subtenas la memorview-API kaj forigas la dependecon de numpy por pasigi la bufran enhavon.
- Numpy ne plu estas dependeco (kromaĵo) kaj memortranslokigo al numpy disponeblas sen kompilo kun numpy-subteno.
- JInterface estas desegnita kiel metaklaso. Uzu isinstance(cls, JInterface) por kontroli interfacojn.
- Aldonis mankantajn TLD-ojn "mil", "net" kaj "edu" al defaŭltaj importadoj.
- Plibonigitaj erarmesaĝoj por UnsupportedClassVersion dum lanĉo.
- java.util.Map nun ĵetas KeyError se la elemento ne estas trovita. Valoroj kiuj estas nulaj ankoraŭ resendas Neniun kiel atendite. Uzu get() se vi volas trakti malplenajn ŝlosilojn kiel Neniun.
- Forigita java.util.Collection ĉar ĝi strange troŝarĝas inter remove(Object) kaj remove(int) sur Listoj. Uzu la metodon Java remove() por aliri denaskan Java konduton, sed tajpado estas forte rekomendita por troŝarĝa kontrolo.
- java.lang.IndexOutOfBoundsException nun povas esti kaptita uzante la IndexError esceptklason kiam oni aliras java.util.List-elementojn.
fonto: opennet.ru