Recent CPAN uploads - MetaCPAN


Tree-STR-0.06

A Sort-Tile-Recursive tree index

Changes for 0.06

  • The query methods are now compatible with Tree::R, i.e. they accept an array ref and add to that if passed.

2026-02-27T03:13:13

Mail-DMARC-1.20260226

Perl implementation of DMARC

2026-02-27T03:07:47

Getopt-EX-Hashed-1.07

Hash object automation for Getopt::Long

Changes for 1.07 - 2026-02-27T02:39:17Z

  • Add REMOVE_ACCESSOR config parameter (default: 0)
  • DESTROY no longer removes accessors by default, fixing clone issues

2026-02-27T02:40:22

Langertha-0.301

The clan of fierce vikings with 🪓 and 🛡️ to AId your rAId

Changes for 0.301 - 2026-02-27T01:57:13Z

  • Rate limit extraction from HTTP response headers: new Langertha::RateLimit data class with normalized requests_limit, requests_remaining, tokens_limit, tokens_remaining, and reset fields plus raw provider-specific headers. Supported providers: OpenAI/Groq/Cerebras/OpenRouter/Replicate/HuggingFace (x-ratelimit-*) and Anthropic (anthropic-ratelimit-*). Engine stores latest rate_limit, Response carries per-response rate_limit with requests_remaining/tokens_remaining convenience methods.
  • New engine: HuggingFace — HuggingFace Inference Providers (OpenAI-compatible, org/model format, chat + streaming + tool calling)

2026-02-27T01:58:42

Dist-Zilla-Plugin-Git-Contributors-0.039

Add contributor names from git to your distribution

Changes for 0.039 - 2026-02-27T01:49:00Z

  • fixed "remove" option to actually behave like a regex, as documented (RT#173385)

2026-02-27T01:50:39

PDL-Fit-Levmar-0.0108

Nonlinear fit and optimization routines for pdl

Changes for 0.0108 - 2026-02-27

  • fix tests' incorrect usage of xlinvals

2026-02-27T01:31:00

SPVM-File-Glob-0.024

The BSD glob Porting

Changes for 0.024 - 2026-02-27

  • Changes

2026-02-27T01:19:06

Amon2-6.17

lightweight web application framework

Changes for 6.17 - 2026-02-27T01:13:57Z

  • Remove jshint test from generated projects
  • Remove unused Try::Tiny dependency
  • Drop Amon2::Plugin::Web::MobileAgent references and Extended example app
  • Replace random_string implementation with Crypt::SysRandom
  • Bump minimum Perl version to 5.14 (IO::Socket::IP requires 5.14+)
  • Remove bundled JS libraries (jQuery, Bootstrap, etc.) from setup script
  • Rewrite XSRFTokenJS to vanilla JavaScript (no jQuery dependency)
  • Replace Bootstrap markup in templates with semantic HTML
  • Fix Crypt::CBC deprecation warning by specifying pbkdf => 'pbkdf2'

2026-02-27T01:14:59

Langertha-0.300

The clan of fierce vikings with 🪓 and 🛡️ to AId your rAId

Changes for 0.300 - 2026-02-26T21:03:33Z

  • Plugin system: Langertha::Plugin base class with lifecycle hooks (plugin_before_raid, plugin_build_conversation, plugin_before_llm_call, plugin_after_llm_response, plugin_before_tool_call, plugin_after_tool_call, plugin_after_raid) and self_tools support. Plugins can be specified by short name (resolved to Langertha::Plugin::* or LangerthaX::Plugin::*).
  • Langertha::Plugin::Langfuse: Langfuse observability as a plugin (alternative to engine-level Role::Langfuse), with cascading traces, generations, and tool call spans in the Raider loop.
  • Role::PluginHost: shared plugin hosting for engines and Raider, with plugin resolution, instantiation, and _plugin_instances caching.
  • Wrapper classes: Langertha::Chat, Langertha::Embedder, Langertha::ImageGen for wrapping engines with optional overrides (model, system_prompt, temperature, etc.) and plugin lifecycle hooks.
  • Class sugar: `use Langertha qw( Raider )` and `use Langertha qw( Plugin )` for quick subclass setup with auto-import of Moose and Future::AsyncAwait.
  • Image generation: Role::ImageGeneration with image_model attribute, OpenAICompatible image_request/image_response/simple_image methods, OpenAI now composes ImageGeneration role (default: gpt-image-1).
  • Role::KeepAlive: extracted keep_alive attribute from Ollama into a reusable role with get_keep_alive accessor.
  • Ollama: update to current API — use operationIds chat/embed/list/ps (was generateChat/generateEmbeddings/getModels/getRunningModels), embedding response uses embeddings[0] (was embedding).
  • NousResearch: reasoning_prompt is now a configurable attribute (was hardcoded string).
  • Groq, Mistral, OpenAI: consolidate `with 'Langertha::Role::Tools'` into the main role composition block.
  • Log::Any debug/trace logging in Role::Chat, Role::Embedding, Role::HTTP, Role::Tools, and Role::OpenAPI for request lifecycle visibility.
  • Add Log::Any to cpanfile runtime dependencies.
  • Update OpenAPI specs: openai.yaml, mistral.yaml, ollama.yaml to latest upstream versions.
  • Pre-computed OpenAPI lookup tables: ship Langertha::Spec::OpenAI (148 ops), Langertha::Spec::Mistral (67 ops), and Langertha::Spec::Ollama (12 ops) as static Perl data instead of parsing YAML + constructing OpenAPI::Modern at runtime. Startup cost drops from ~16s to <1ms.
  • New openapi_operations attribute in Role::OpenAPI with automatic fallback: engines that override _build_openapi_operations get the fast path; custom engines using openapi_file still work via the slow YAML/OpenAPI::Modern path.
  • Add maint/generate_spec_data.pl to regenerate Spec modules from share/*.yaml when specs are updated.
  • New tests: t/84_live_imagegen.t, t/87_raider_plugins.t, t/89_langertha_sugar.t, t/91_plugin_config.t, t/92_embedder.t, t/93_chat.t, t/94_plugin_langfuse.t, t/95_imagegen.t.

2026-02-26T21:04:45

Pod-Weaver-Section-SourceGitHub-0.59

Add SOURCE pod section for a github repository

Changes for 0.59 - 2026-02-26

  • Fix handing of repository schemes so that the POD will always have https:// links to github, even if configured with ssh or git scheme. (thanks Robert Rothenberg)

2026-02-26T20:37:21

Future-IO-0.21

Future-returning IO methods

Changes for 0.21 - 2026-02-26

  • CHANGES
  • BUGFIXES

2026-02-26T19:03:51

RRD-Fetch-0.1.0

Fetch information from a RRD file.

Changes for 0.1.0 - 2026-02-26

  • add RRD::Fetch::Helper and librenms_logsize_daily_stats as a example for it

2026-02-26T19:02:23

Storage-Abstract-0.008

Abstraction for file storage

Changes for 0.008 - 2026-02-26

  • Added '%opts' argument to is_stored method
  • is_stored method can now be used to check whether a directory exists
  • Added '%opts' argument to dispose method
  • dispose method can now be used to remove an empty directory
  • Added '$directory' and '%opts' arguments to list method
  • list method can now be used on a single directory, with extra options to control listing behavior
  • [Breaking change] list no longer returns recursive results by default
  • [Breaking change] memory driver no longer permits storing files and directories under the same name

2026-02-26T18:22:00

IO-Uring-0.012

io_uring for Perl

Changes for 0.012 - 2026-02-26T18:52:42+01:00

  • Add statx and fstatx functions

2026-02-26T17:53:15

Future-Uring-0.003

Future-returning io_uring functions

Changes for 0.003 - 2026-02-26T18:47:48+01:00

  • Remove *at functions
  • Add statx function and method
  • Fix rmdir exception generation

2026-02-26T17:48:56

File-StatX-0.003

StatX for Perl

Changes for 0.003 - 2026-02-26T18:47:02+01:00

  • Various documentation fixes

2026-02-26T17:47:27

IO-Async-Loop-FutureIO-0.02

use IO::Async with Future::IO

Changes for 0.02 - 2026-02-26

  • CHANGES

2026-02-26T17:39:26

Google-GeoCoder-Smart-v2.6.0

Simple Google Geocoding API client

2026-02-26T16:29:14

CtrlO-PDF-0.35

high level PDF creator

Changes for 0.35

  • Update tests to also pass with PDF::Builder 3.026 and 3.028

2026-02-26T15:39:42

HTTP-Session2-1.12

HTTP session management

Changes for 1.12 - 2026-02-26T14:46:34Z

  • Removed HTTP::Session2::ClientStore(deprecated at 2014)
  • Use Crypt::SysRandom to generate the session_id

2026-02-26T14:47:32