Пасля 11 месяцаў распрацоўкі адбыўся рэліз новай стабільнай галіны мовы праграмавання Perl 5.30. Пры падрыхтоўцы новага выпуску было зменена каля 620 тыс. радкоў кода, змены закранулі 1300 файлаў, у распрацоўцы прынялі ўдзел 58 распрацоўшчыкаў.
Ветка 5.30 выпушчана ў адпаведнасці з зацверджаным шэсць гадоў таму фіксаваным графікам распрацоўкі, які прадугледжвае выпуск новых стабільных галін раз у год і карэкціруючых рэлізаў - раз у тры месяцы. Прыкладна праз месяц плануецца выпусціць першы які карэктуе рэліз Perl 5.30.1, у якім будуць выпраўленыя найболей значныя памылкі, выяўленыя падчас укаранення Perl 5.30.0. Адначасова з выхадам Perl 5.30 спынена падтрымка галінкі 5.26, для якой у будучыні могуць быць выпушчаны абнаўленні толькі ў выпадку выяўлення крытычных праблем з бяспекай. Таксама пачаўся працэс распрацоўкі эксперыментальнай галіны 5.31, на базе якой у маі 2020 года будзе сфарміраваны стабільны рэліз Perl 5.32.
У рэгулярныя выразы дададзена эксперыментальная падтрымка аперацый.(?‹!pattern)»І«(?‹=pattern)»для абмежаванага звароту да раней апрацаваных найменных шаблонаў. Вызначэнне шаблону павінна быць у межах 255 сімвалаў ад месца звароту;
Да 65534 павялічана максімальнае значэнне спецыфікатара памеру ("n") у блоках "{m,n}" рэгулярных выразаў;
Дададзена абмежаваная падтрымка масак для вылучэння пэўных катэгорый сімвалаў у рэгулярных выразах, ахопліваючы розныя наборы Unicode. Напрыклад, выраз «qr! \p{nv= /(?x) \A [0-5] \z / }!» дазваляе вылучыць усе Unicode-знакі, вызначальныя лічбы ад 0 да 5, уключаючы тайскія ці бенгальскія варыянты напісання лічбаў;
Падтрымка спецыфікацыі Unicode абноўлена да версіі 12.1. Знята прыкмета эксперыментальнай распрацоўкі з выклікаў sv_utf8_downgrade і sv_utf8_decode, якія выкарыстоўваюцца пры распрацоўцы пашырэнняў на мове Сі;
Дададзена магчымасць зборкі perl з рэалізацыяй аперацый з лакаллю, якая падтрымлівае працу ў шматструменным рэжыме (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). Раней падобная рэалізацыя выкарыстоўвалася толькі пры зборцы шматструменнага варыянту Perl, а зараз можа быць уключана для любых зборак;
Спалучэнне сцягоў "-Dv" (пашыраная адладкавая выснова) і "-Dr" (адладка рэгулярных выразаў) зараз прыводзіць да ўключэння ўсіх магчымых рэжымаў адладкі рэгулярных выразаў;
Выдалены магчымасці, раней абвешчаныя састарэлымі:
У якасці сімвалаў-падзельнікаў радкоў і шаблонаў зараз дапускаецца выкарыстанне толькі графем (забаронены складовыя знакі Unicode).
Спынена падтрымка некаторых даўно састарэлых формаў ужывання ў рэгулярных выразах знака «{» без яго экранавання.
забаронена выкарыстанне функцый sysread(), syswrite(), recv() і send() з апрацоўшчыкамі ":utf8".
Забаронена выкарыстанне азначэнняў "my" ў першапачаткова ілжывых умоўных аператарах (напрыклад, "my $x if 0").
Выдалена падтрымка спецпераменных "$*" і "$#".
Спыненая падтрымка няяўнага выкліку функцыі dump() (цяпер трэба відавочна паказваць CORE::dump()).
Выдалена функцыя File::Glob::glob (трэба выкарыстоўваць File::Glob::bsd_glob).
У pack() дададзена абарона ад звароту некарэктных паслядоўнасцяў Unicode.
Да наступнага выпуску адкладзена спыненне падтрымкі выкарыстання ў кодзе XS (блокі на Сі) макрасаў, якія выконваюць аперацыі з UTF-8.
Аптымізацыі прадукцыйнасці:
Паскорана выкананне аперацый трансляцыі UTF-8 у раскладку сімвалаў (кодавы пункт), напрыклад, выкананне аперацыі ord(«x7fff») зараз патрабуе выканання на 12% менш інструкцый. Таксама павялічана прадукцыйнасць аперацый праверкі карэктнасці паслядоўнасцяў сімвалаў UTF-8;
Выключаны рэкурсіўныя выклікі ў функцыі finalize_op();
Унесены невялікія аптымізацыі ў код згортвання ідэнтычных знакаў і вызначэнні класаў сімвалаў у рэгулярных выразах;
Аптымізаваны пераўтварэнні знакавых вызначальнікаў тыпу ў беззнакавыя (IV у UV);
Паскораны алгарытм пераўтварэння цэлых лікаў у радок за кошт апрацоўкі зараз дзвюх лічбаў замест адной;
Унесены паляпшэнні, падрыхтаваныя па выніках аналізу кампаніяй LGTM;
Аптымізаваны код у файлах regcomp.c, regcomp.h і regexec.c;
У рэгулярных выразах значна паскорана апрацоўка шаблонаў выгляду "qr/[^a]/" з знакамі ASCII.
Адноўлена падтрымка платформы Minix3. Забяспечана магчымасць зборкі з выкарыстаннем кампілятара Microsoft Visual Studio 2019 (Visual C++ 14.2);
Абноўлены версіі модуляў, якія ўваходзяць у базавую пастаўку. З асноўнага складу выдалены модулі B::Debug и Locale::Codes.