Večje spremembe:
- JChar je podprt kot povratni tip. Zaradi združljivosti JChar podeduje "str" in izvaja implicitno pretvorbo v "int". Zato prestane preverjanja v pogodbah. Toda to pomeni, da se v Pythonu ne šteje več za številski tip in zato isinstance(c, int) ovrednoti vrednost False, kar je skladno s pravili pretvorbe tipa Java.
- Uveden je bil operator za pretvorbo vrste Java, Type@obj (@ je operator Python za notranji izdelek; Java ga nima).
- Dodan zapis za ustvarjanje nizov Java. Vnesite [s1][s2][s3] za polja s fiksno velikostjo, vnesite [:][:][:] za polja, ki bodo ustvarjena pozneje.
- @FunctionalInterface vam omogoča ustvarjanje funkcij Java iz predmetov Python z __call__.
- Odstranjeni zastareli JIterator, uporaba JException kot tovarne, get_default_jvm_path in jpype.reflect.
- Privzeto se nizi Java ne pretvorijo v nize Python.
- Python je opustil "__int__", zato bodo implicitne pretvorbe med tipi celih števil in tipi s plavajočo vejico povzročile TypeError.
- Uporaba JException je bila opuščena. Če želite ujeti vse izjeme ali preveriti, ali je objekt vrsta izjeme Java, uporabite java.lang.Throwable.
- Kaskadni vzroki za izjeme Java se zdaj odražajo v okvirih sklada Python.
- JString je opuščen. Če želite ustvariti niz Java ali preveriti, ali je objekt vrste niz Java, uporabite java.lang.String.
- Metode repr so bile posodobljene v razredih Java.
- java.util.List izvaja pogodbe za collections.abc.Sequence in collections.abc.MutableSequence.
- java.util.Collection izvaja pogodbo za collections.abc.Collection.
- Razredi Java so zasebni in sprožijo TypeError, ko se razširijo iz Pythona.
- S Control-C ravnajte previdno. Prejšnje različice se zrušijo, ko Java obdela signal Control-C, ker prekinejo Javo med klicem. JPype bo zdaj vrgel InterruptedException, ko se vrne iz Jave. Control-C ne bo izločil velikih postopkov Java, kot so trenutno implementirani, saj Java za to nima posebnega orodja.
Nato je bila ustvarjena popravljalna izdaja 1.0.1, ki je dodala spremembe za rešitev težav z izdajo Python 3.8.4. Python je spremenil logiko v zvezi z uporabo "__setattr__" za "object" in "type" ter preprečil njegovo uporabo za spreminjanje izpeljanih razredov. Preverjanje napak je bilo preneseno tudi iz metode "__setattr__", zato je treba vrste izjem pri nekaterih preverjanjih ustreznosti ustrezno posodobiti.
Vir: opennet.ru