Выпуск 10. Декабрь 2013

Что такое cpanfile? | Содержание | Интервью с Marc Lehmann. Часть 2

Обзор CPAN за ноябрь 2013 г.

Рубрика с обзором интересных новинок CPAN за прошедший месяц.

Статистика

  • Новых дистрибутивов — 214
  • Новых выпусков — 1004

Новые модули

  • Encode::Detect::Upload Модуль, который пытается определить кодировку отправленных данных веб-клиента, исходя из его ip-адреса (геолокация), переменных окружения HTTP_ACCEPT_LANGUAGE и HTTP_USER_AGENT. Несмотря на ориентированность на CGI, модуль можно использовать и в другом окружении.

  • AnyEvent::Delay Ещё один модуль для управления выполнением асинхронных задач. Модуль является аналогом Mojo::IOLoop::Delay, созданным на основе Ev (логичным было бы название Ev::Delay).

  • AnyEvent::Delay::Simple Модуль имеет то же назначение, что и AnyEvent::Delay, но имет более простой интерфейс и базируется на чистом AnyEvent.

  • HTML::CallJS Модуль, который позволяет безопасно вставлять в создаваемый html-документ javascript-код со сложными структурами данных, которые автоматически преобразуются в JSON:

    call_js('foo', {x => 1});
    # => <script class="call_js" type="text/javascript">foo({"x":1})</script>
  • AnyEvent::Promises Ещё одна реализация спецификации Promises, требующая для работы запущенной петли событий AnyEvent. В отличие от модуля Promises AnyEvent::Promises более полно следует спецификации Promises.

  • WL Данный модуль является Perl-обвязкой к протоколу Wayland — замена протокола системы X Window.

  • Ariba Реализация PSGI веб-сервера на основе Starman с поддержкой протокола SPDY.

  • App::Fetchware Приложение является пакетными менеджером для управления сборкой и установкой программ из исходных кодов.

  • Try::Tiny::Retry Небольшое расширение к Try::Tiny, которое вводит ключевое слово retry, которое в отличие от try пытается выполнить код повторно несколько раз в случае ошибки, количество повтров и время повторений может настраиваться.

  • Pistachio Модуль позволяет конвертировать текст с исходным кодом в html-фрагмент с подсветкой синтаксиса и нумерацией строк. Пока поддерживаются только язык Perl и стиль оформления Github. Из недостатков можно отметить использование встроенных стилей, что существенно увеличивает объём создаваемого html-кода.

Обновлённые модули

  • Coro 6.33 В новом релизе Coro исправлена ошибка при работе модуля в Perl 5.18, которая могла приводить к разыменованию нулевого указателя и краху процесса.

  • Mouse 2.0.0 Вышел новый мажорный релиз Mouse, который обусловлен появлением несовместимого изменения: раньше при подключении роли к классу конфликтующие методы заменяли существующие, теперь же конфликтующие методы роли игнорируются.

  • Devel::MAT 0.10 Обновлён модуль для анализа использования памяти Perl-приложениями, исправлены проблемы с работой на 64-битных системах и множество других улучшений. Модуль также содержит набор утилит, в том числе графический обозреватель всех символов процесса.

  • Padre 1.00 Наконец-то. Выпущен первый мажорный релиз Padre Perl IDE за более чем пятилетний период развития, который содержит небольшие исправления ошибок.

  • BerkeleyDB 0.54 Новый релиз BerkeleyDB устраняет ошибку с утечкой памяти при использовании механизма блокировки CDS.

  • IO::Socket::SSL 1.960 В ноябре вышло несколько новых версий модуля IO::Socket::SSL. Начиная с версии 1.956 появилось множество изменений в поведении модуля по умолчанию. В частности, усилен список используемых методов шифрования в пользу более безопасных, исключены MD5, а также методы анононимной идетификации. Это может привести к отказу в соединении со старыми менее безопасными реализациями. Добавлена поддержка TLSv11 и TLSv12 как протоколов согласования. Также была переработана схема проверки имён хостов, появилась поддержка wildcards в секции CN для протоколов SMTP, IMAP, POP3 и других. Кроме того wildcards теперь всегда должен совпадать хотя бы с одним символом (т.е. * теперь совпадает по действию с + в терминах регулярных выражений) и не может применяться для IDNA-имён.

  • Amon2 6.00 Вышел новый мажорный релиз веб-фреймворка Amon2. В новой версии произошёл переход на новую библиотеку для поддержки сессий HTTP::Session2.

  • lib::xi 1.02 lib::xi — это небольшой модуль, который позволяет автоматически загрузить и установить с помощью cpanm отсутствующие модули непосредственно во время исполнения программы. В новой версии исправлен вывод предупреждений на некоторых системах.

    $ perl -Mlib::xi script.pl
  • Plack 1.0030 В новой версии суперклея для веб-фреймворков и веб-серверов исправлены некоторые ошибки и выполнена оптимизация кода. HTTP::Server::PSGI больше не завершает аварийно работу, если заголовки или тело http-ответа содержат «широкие» символы.

  • Readonly 1.04 Старый, преданный забвению Readonly обрёл нового меинтейнера Sanko Robinson. Обновился файл TODO, в котором предложена «дорожная карта» дальнейшего развития модуля.

Владимир Леттиев


Что такое cpanfile? | Содержание | Интервью с Marc Lehmann. Часть 2
Нас уже 1393. Больше подписчиков — лучше выпуски!

Комментарии к статье