Changes for version 3.105 - 2026-05-24
- Bug Fixes
- PR #344 Cleanup Grammar factory singleton to prevent memory leak (GH #147)
- PR #370 Repair broken List plugin and harden Plugins.pm error matching (GH #358, #359, #360, #361, #362)
- PR #379 Allow .defined vmethod on undefined vars in STRICT mode (GH #170)
- PR #381 Add PRINTF support to PERL blocks (GH #138)
- PR #382 Preserve empty string values in URL plugin params (GH #125)
- PR #384 Use isa() instead of eq for stash root detection in _assign()
- PR #389 Handle nested tag pairs inside comments (GH #151)
- PR #390 Prevent infinite loop in Datafile plugin on empty/comment-only files
- PR #391 Use mtime instead of ctime for Image plugin modtime
- PR #392 Escape quotes in Dumper dump_html and document all options (GH #195)
- PR #395 Prevent trim and collapse VMethods from mutating stash variables
- PR #407 Skip spurious zero-length matches in replace vmethod (GH #171)
- PR #409 Fix text_expect typo in Template::Test POD (GH #96)
- PR #411 Fix uninitialized value warnings when XS=n (GH #410)
- Correct join() calls in Context debug messages
- Maintenance
- PR #388 Document string comparison semantics of == and != (GH #129)
- PR #398 Adopt defined-or operator; raise minimum Perl to 5.10
- PR #404 Fix non-deterministic test count in compile1.t (GH #399)
- PR #405 Skip t/date_utf8.t on UTC systems (GH #402)
- PR #406 Remove unconditional skip_all from plugin leak test (GH #403, #213)
- PR #408 Add List, Math, and View to Template::Manual::Plugins (GH #101)
- Declare MIN_PERL_VERSION 5.010 in Makefile.PL with CONFIGURE_REQUIRES on EUMM 6.48
- Use ExtUtils::MakeMaker::prompt in Makefile.PL (CPANTS kwalitee: no_stdin_for_prompting)
- Drop stale HACKING/INSTALL MANIFEST entries; add missing t/ files
- Bump perl-versions and install-with-cpm GitHub Actions to v2
- Add bump-version skill for release version updates
Documentation
Process templates from command line
Process entire directory trees of templates
Frequently Asked Questions about the Template Toolkit
Template Toolkit User Manual
Configuration options
Author and contributor credits
Template directives
Standard filters
Template Toolkit internals
Introduction to the Template Toolkit
Standard plugins
Directive syntax, structure and semantics
Virtual Methods
Template variables and code bindings
Template Toolkit views (experimental)
Template Toolkit Modules
Command Line Tools for the Template Toolkit
Process templates from command line
Process entire directory trees of templates
Template Toolkit Tutorials
Creating Data Output Files Using the Template Toolkit
Generating Web Content Using the Template Toolkit
Modules
Front-end module to the Template Toolkit
Backend of ttree
Base class module implementing common functionality
Factory module for instantiating other TT2 modules
Defines constants for the Template Toolkit
Runtime context in which templates are processed
Perl code generator for template directives
Compiled template document object
Exception handling class module
Post-processing filters for template blocks
Parser state/rule tables for the TT grammar
Data iterator used by the FOREACH directive
Compile time constant folding
LALR(1) parser for compiling template documents
Base class for Template Toolkit plugins
trap undefined values
Plugin to construct records from a simple data file
Plugin to generate formatted date strings
Plugin for generating directory listings
Plugin interface to Data::Dumper
Plugin providing information about files
Base class for plugin filters
Plugin to create formatting functions
Plugin to create HTML elements
Plugin access to image sizes
Plugin to create iterators (Template::Iterator)
Plugin providing mathematical functions
Plugin interface to Pod::POM (Pod Object Model)
Base class for procedural plugins
call object methods in scalar context
Object oriented interface for string manipulation
Plugin to present data in a table
Plugin to construct complex URLs
Plugin to create views (Template::View)
Plugin interface to Text::Wrap
Plugin provider module
Provider module for loading/compiling templates
General purpose template processing service
Magical storage for template variables
Experimetal stash allowing list/scalar context definition
High-speed variable stash written in C
Module for automating TT2 test scripts
Template Processing System
Virtual methods for variables
customised view of a template processing context
Provides
in lib/Template/Plugin/Assert.pm
in lib/Template/Plugin/Scalar.pm
in lib/Template/Filters.pm
in lib/Template/Plugin/Date.pm
in lib/Template/Plugin/Date.pm
in lib/Template/Config.pm