The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз языка программирования Perl 5.28.0 "
Отправлено opennews, 25-Июн-18 12:06 
После 13 месяцев разработки состоялся (https://www.nntp.perl.org/group/perl.perl5.porters/2018/06/m...) релиз новой стабильной ветки языка программирования Perl - 5.28 (https://metacpan.org/release/perl). При подготовке нового выпуска было изменено около 730 тыс. строк кода, изменения затронули 2200 файлов, в разработке приняли участие 77 разработчиков.


Ветка 5.28 выпущена в соответствии с утверждённым пять лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.28.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.28.0. Одновременно с выходом Perl 5.28 прекращена поддержка ветки 5.24, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.29, на базе которой в апреле или мае или июне 2019 года будет сформирован стабильный релиз Perl 5.30.


Ключевые изменения (https://metacpan.org/pod/release/XSAWYERX/perl-5.28.0/pod/pe...):

-  С дополнительных bitwise-операторов (https://metacpan.org/pod/perlop#Bitwise-String-Operators) для побитовой работы со строками  (&. |. ^. ~.) и числами (& | ^ ~) снят статус экспериментальной функциональности. Так как новые числовые операторы теперь явно привязываются к контексту (например, "~" всегда рассматривает аргумент как число, а "~." как строку, т.е.  ~0 и ~"0" приведёт к одинаковому результату 2**32-1, а ~.0 и ~."0" выдаст "\xff"), они
доступны только при указании флага "use feature 'bitwise'" или "use v5.28", а также  при запуске интерпретатора с опцией "-E";

-  Повышена безопасность использования режима редактирования обрабатываемых файлов "perl -i" (например, вызов "perl -pi -e 's/TEST1/TEST2/g' test.txt" приведёт к замене всех строк TEST1 на TEST2 в файле test.txt, в то время как при запуске без "-i" изменённый вариант будет выдан в STDOUT, а исходный файл останется нетронут). Ранее перед началом сохранения результата входной файл переименовывался или удалялся, что могло привести к потере данных в случае сбоя во время сохранения результата, например, в случае переполнения диска. Отныне результат сохраняется в новый файл, который заменяет собой исходный файл только после успешного завершения записи;

-  Добавлена поддержка Unicode 10.0 (http://www.unicode.org/versions/Unicode10.0.0/);

-  Оператор "delete" теперь может применяться для удаления секций "%" в хэшах, помимо "$" и  "@", с возвратом ключей и значений удалённых элементов. Например, теперь можно использовать конструкции вида "my %sanitised_values = delete %input_values{@allowed_keys};"
-  Добавлен новый набор экспериментальных символьных синонимов для некоторых операторов регулярных выражений. Например, вместо "(?<=...)"  теперь можно указать "(*plb:...)" или "(*positive_lookbehind:...)", что значительно проще запомнить;
-  В регулярные выражения добавлены экспериментальные средства для выявления смешивания различных классов Unicode-символов в строке, например, когда в слове используются символы кириллицы и латиницы. Для ограничения области значений только одним типом символов можно использовать выражения вида "qr/(*script_run: \d+ \b )/x" или  "qr/(*sr: \b \w+ \b )/x";
-  Добавлена возможность инициализации постоянных лексических массивов и хэшей, используя выражение "state @a = qw(x y z)";
-  Функции изменения локали теперь можно безопасно использовать в многопоточных приложениях, если в операционной системе  локали адаптированы для многопоточной обработки (например, все системы с POSIX 2008 и Visual Studio 2005). Для определения подобных окружений добавлена новая системная переменная "${^SAFE_LOCALES}";
-  Реализация хэшей переведена по умолчанию на метод хэширования SBOX для ключей до 24 символов с применением для остальных ключей StadtX в 64-разрядных сборках и  Zaphod32 в 32-разрядных, что повысит стойкость хэшей к появлению в будущем новых атак, связанных с использованием коллизий. В общем виде предлагается четыре базовые реализации хэшей:
Siphash 2-4, Siphash  1-3, Zaphod32 и StadtX, а также SBOX32 для коротких строк;

URL: https://www.nntp.perl.org/group/perl.perl5.porters/2018/06/m...
Новость: https://www.opennet.ru/opennews/art.shtml?num=48837

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру