Выпуск 25. Март 2015
← Модули в Perl 6 | Содержание | Интервью с Владимиром Леттиевым →Обзор CPAN за февраль 2015 г.
Рубрика с обзором интересных новинок CPAN за прошедший месяц.
Статистика
- Новых дистрибутивов — 202
- Новых выпусков — 815
Новые модули
Crypt::U2F::Server
Модуль Crypt::U2F::Server
является обёрткой к C-библиотеке libu2f-server. Модуль реализует серверную часть протокола U2F, предназначенного для универсальной реализации двухфакторной аутентификации, когда пользователь помимо ввода пароля в браузере использует ещё физическое устройство (например, USB-донгл), которое доступно браузеру через специальное Javascript API.
Plack::Middleware::Antibot
Antibot
— это набор фильтров для PSGI-приложений, которые позволяют бороться с отправкой форм роботами:
- FakeField — проверка, что было отправлено скрытое поле;
- Static — проверка, что был загружен статический файл (например, css-стили) до отправки формы;
- TextCapcha — проверка, что была правильно решена текстовая капча;
- TooFast — проверка, что форма была отправлена очень быстро;
- TooSlow — проверка, что форма была отправлена через большой интервал времени.
Inline::Perl6
Inline::Perl6
, как следует из названия, позволяет выполнять из Perl 5 код на языке Perl 6, а также загружать модули и выполнять методы объектов Perl 6. Для работы модуля требуется установить Rakudo с включённым бекендом MoarVM.
Promises6
Promises6
— довольно любопытная реализация спецификации Promises/A+, предоставляющая синтаксис обещаний в соответствии со спецификацией ECMAScript 6. Модуль требует для работы Perl не ниже 5.20.0.
AnyEvent::TLS::SNI
AnyEvent::TLS::SNI
— это модуль, который добавляет поддержку TLS-расширения SNI в AnyEvent::TLS
. Указав параметр host_name
, можно задать имя сервера, к которому будет производиться подключение. Поддержка SNI работает только для стороны клиента.
use AnyEvent::HTTP;
use AnyEvent::TLS::SNI;
AnyEvent::HTTP::http_get
'https://www.goggle.com/',
tls_ctx => {
verify => 1,
verify_peername => 'https',
host_name => 'www.google.com'
},
...
Обновлённые модули
Gtk2 1.2495
Обновление Perl-интерфейса к библиотеке Gtk2
вышло в конце января 2015, но только в феврале вендоры обратили внимание, что исправленная ошибка с некорректным управлением памятью в Gtk2::Gdk::Display::list_devices
может потенциально быть использована для выполнения произвольного кода. Всем пользователям рекомендуется обновиться.
perl 5.20.2
Вышел корректирующий релиз стабильной версии Perl 5.20.2.
- Обновлён модуль
Data::Dumper
, в котором исправлена проблема CVE-2014-4330, приводящая к рекурсии при дампе глубоко вложенных структур данных. - Исправлен крах в
PerlIO::Sacalar
при задании файловой позиции за пределами скаляра. - Появился новый документ perlunicook, который содержит исчерпывающую информацию о работе с Юникодом в Perl.
- Восстановлена работоспособность сборки на платформах IRIX и Tru64.
- Исправлены несколько ошибок assert в отладочных сборках Perl.
- Исправлен крах при вызове gmtime() с параметром NaN.
- Исправлено переполнение буфера и крах при компиляции определённых шаблонов в регулярных выражениях.
- Устранена утечка памяти в некоторых регулярных выражениях, появившаяся в Perl 5.20.1.
Role::Tiny 2.000000
Вышел второй мажорный релиз модуля для создания классов-ролей Role::Tiny
. Основное несовместимое изменение — теперь Role::Tiny
не делает предупреждения фатальными для классов-ролей, созданных с его помощью. Прагмы strict
и warnings
по-прежнему включены.
strictures 2.000000
Вслед за Roly::Tiny
новая версия прагмы strictures
отказывается от полной фатализации предупреждений. Следующие виды предупреждений больше не вызывают аварийное завершение работы:
- exec
- recursion
- internal
- malloc
- newline
- experimental
- deprecated
- portable
Mojolicious 6.0
Выпущен шестой мажорный релиз веб-фреймворка Mojolicious с кодовым названием «Clinking Beer Mugs» (звенящие пивные кружки). Вопреки традиции, разработчики не стали ждать мая (последние мажорные релизы выпускались с промежутком около одного года). Удалён внушительный список устаревших методов, переименовано множество других методов. Будьте внимательны при обновлении.
Plack 1.0034
В новом релизе «суперклея» для веб-фреймворков Plack
исправлена проблема в безопасности при использовании Plack::App::File
на платформе Win32. Дело в том, что в некоторых версиях Windows возможно использование больше двух точек в фрагменте пути для перехода в вышестоящие каталоги.
Compress::Bzip2 2.22
Вышел новый релиз обёртки к библиотеке сжатия Bzip2. Новая версия содержит исправление крупной утечки памяти, возникавшей при декомпрессии.
Perl::Critic 1.124
Новый релиз модуля для проверки исходного Perl-кода на соответствие принятым стандартам Perl::Critic
содержит обновление для политики ProhibitUnusedPrivateSubroutines
(запрет на неиспользуемые приватные подпрограммы), в которой появилась возможность задать исключение для некоторых файлов с помощью опции skip_when_using
, если они используют определённый модуль. Это может быть полезно для классов-ролей, где определённые приватные методы могут использоваться в классах, использующих эту роль.
Кроме того, политики RequireUseStrict
и RequireUseWarnings
теперь учитывают, что Moose
, Moo
, Mouse
, Dancer
, Mojolicious
и некоторые другие модули автоматически включают прагмы strict и warnings.
← Модули в Perl 6 | Содержание | Интервью с Владимиром Леттиевым →