Derxistina zimanê bernamekirinê Perl 5.30.0

Piştî 11 mehan ji pêşveçûnê pêk hat serbestberdana şaxek nû ya stabîl a zimanê bernamenûsê Perl - 5.30. Di amadekirina serbestberdana nû de, nêzîkê 620 hezar rêzikên kodê hatin guhertin, guhertin bandor li 1300 pelan kir, û 58 pêşdebir di pêşkeftinê de beşdar bûn.

Şaxa 5.30 li gorî nexşeya pêşkeftinê ya sabît ku şeş sal berê hatî pejirandin hate berdan, ku tê vê wateyê ku salê carekê berdana şaxên nû yên stabîl û her sê mehan carekê berdanên rastdar. Nêzîkî mehekê, tê plan kirin ku yekem serbestberdana rastkirî ya Perl 5.30.1 were berdan, ku dê xeletiyên herî girîng ên ku di dema pêkanîna Perl 5.30.0 de hatine destnîşankirin rast bike. Li gel serbestberdana Perl 5.30, piştgirî ji bo şaxê 5.26 hate sekinandin, ji bo ku nûvekirin di pêşerojê de tenê heke pirsgirêkên ewlehiyê yên krîtîk bêne nas kirin dikarin werin berdan. Pêvajoya pêşkeftina şaxê ezmûnî 5.31 jî dest pê kiriye, li ser bingeha ku dê di Gulana 2020-an de serbestberdana stabîl a Perl 5.32 were damezrandin.

Qûfle guhertin:

  • Piştgiriya ceribandinê ya ji bo operasyonên "" li bêjeyên birêkûpêk hate zêdekirin.(?<!mînak)"And"(?‹=pattern)» ji bo gihîştina tixûbdar a şablonên bi navên berê hatine pêvajo kirin. Pênaseya nimûneyê divê di nav 255 tîpan de ji xala referansê be;
  • Nirxa herî zêde ya diyarkera mezinahiyê (“n”) di blokên bilêvkirina birêkûpêk “{m,n}” de hat zêdekirin 65534;
  • Zêdekirin sînorkirî alîkarî maskeyên ku di bêjeyên birêkûpêk de hin kategoriyên karakteran ronî dikin, komên Unicode yên cihêreng vedigirin. Mînak gotina “qr! \p{nv= /(?x) \A [0-5] \z / }!” destûrê dide te ku hûn hemî karakterên Unicode yên ku hejmaran ji 0 heya 5-an diyar dikin, di nav de rastnivîsên hejmarên Thai an Bengalî hilbijêrin;
  • Piştgiriya ji bo karakterên binavkirî di bêjeyên birêkûpêk de zêde kir
    di hundurê qalibên ku bi yek tîpan ve hatine veqetandin (qr'\N{name}');

  • Piştgiriya taybetmendiya Unicode li guhertoya nûvekirî ye 12.1. Ala pêşkeftina ceribandinê ji bangan hat rakirin sv_utf8_downgrade û sv_utf8_decode, di pêşxistina pêvekên di zimanê C de tê bikaranîn;
  • Kapasîteya avakirina perl bi pêkanîna operasyonên bi navgînek ku operasyona pir-mija (-Accflags='-DUSE_THREAD_SAFE_LOCALE') piştgirî dike zêde kir. Berê, pêkanînek wusa tenê di dema avakirina guhertoyek pir-mijara Perl de dihat bikar anîn, lê naha dikare ji bo her çêkirinê were çalak kirin;
  • Bihevxistina alayên "-Dv" (derketina nerastkirina pêşkeftî) û "-Dr" (debugkirina regex) naha dibe sedem ku hemî awayên xeletkirina birêkûpêk ên mumkun werin çalak kirin;
  • Taybetmendiyên ku berê hatibûn betalkirin hatin rakirin:
    • Naha wekî veqetandina rêzan û karakterên hovane peyda dibe destûr da tenê bikar bînin graphemes (Karakterên Unicode yên pêkhatî nayên destûr kirin).
    • Berdewam kirin piştgirî ji bo hin formên kevinbûyî yên bikaranîna karaktera "{" di bêjeyên birêkûpêk de bêyî ku jê birevin.
    • Ev qedexe ye fonksiyonên sysread(), syswrite(), recv() û send() bi rêkerên ":utf8" bikar tîne.
    • Qedexe ye ku meriv pênaseyên "min" di daxuyaniyên şertî yên xwerû yên derewîn de bikar bîne (mînak, "min $x heke 0").
    • Piştgiriya guhêrbarên taybetî "$*" û "$#" hate rakirin.
      Piştgiriya ji bo bangkirina nepenî ya fonksiyona dump() hate sekinandin (divê hûn nuha bi eşkere CORE::dump() diyar bikin).

    • Fonksiyona Pelê::Glob::glob hat rakirin (divê hûn Pelê::Glob::bsd_glob bikar bînin).
    • Li dijî vegerandina rêzikên Unicode yên çewt li pakêtê () parastin zêde kir.
    • Dawiya piştevaniya ji bo karanîna makroyên ku bi UTF-8-ê di koda XS (blokên C) de operasyonan pêk tînin, heya berdana din hate paşxistin.
  • Optimîzasyonên Performansê:
    • Xebatên wergerandinê ji UTF-8-ê ber bi sêwirana karakterê ve hatine lez kirin (xala kodê), bo nimûne, pêkanîna operasyona ord("\x7fff") niha %12 kêmtir talîmatan hewce dike. Performansa operasyonên kontrolkirina rastbûna rêzikên karakterên UTF-8 jî zêde bûye;
    • Bangên vegerî yên di fonksiyona finalize_op() de hatin rakirin;
    • Ji bo hilweşandina karakterên yeksan û diyarkirina çînên karakteran di biwêjên birêkûpêk de ji kodê re xweşbîniyên piçûk çêkir;
    • Optimized veguhertina pênaseyên tîpên îmzekirî li yên bê îmze (IV bo UV);
    • Algorîtmaya veguhertina hejmarên bêkêmasî di rêzekê de bi hilanîna du reqeman di yekcarê de li şûna yek hejmarê hatî lez kirin;
    • Pêşketin hatine kirin amade kirin li ser bingeha analîzên LGTM;
    • Di pelên regcomp.c, regcomp.h û regexec.c de koda xweşbînkirî;
    • Di vegotinên birêkûpêk de, pêvajokirina qalibên mîna "qr/[^a]/" bi tîpên ASCII bi girîngî bileztir bûye.
  • Piştgiriya ji bo platforma Minix3 hate vegerandin. Mimkun e ku meriv bi karanîna berhevkarê Microsoft Visual Studio 2019 (Visual C++ 14.2) ava bike;
  • Guhertoyên nûvekirî yên modulên ku di pakêta bingehîn de hene. Modul ji pêkhateya sereke hatine derxistin B:: Debug и Herêm::Kod.

Source: opennet.ru

Add a comment