Changes for version 6.18 - 2026-02-28
- Switch setup templates to use Plack::Middleware::Session with CSRF tests
- 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'
Documentation
setup script for amon2
Modules
lightweight web application framework
Default configuration file loader
Amon2 Declare Class
HTML::FillInForm::Lite
JSON plugin
NoCache(DEPRECATED)
(DEPRECATED)
streaming support for Amon2
[EXPERIMENTAL]WebSocket plugin for Amon2
Abstract base class for flavors.
Basic flavor selected by default
Flavor with admin pages
Minimalistic flavor suitable for benchmarking
Trigger system for Amon2
Web Application Base.
Sinatra like dispatcher for Amon2
Router::Boom bindings
Router::Simple binding for Amon2
Amon2 Request Class
web response class for Amon2
[EXPERIMENTAL]callback style psgi response for Amon2
WebSocket support for Amon2
Provides
in lib/Amon2/ContextGuard.pm
in lib/Amon2/Plugin/Web/Streaming.pm
in lib/Amon2/Setup/Asset/Blueprint.pm
in lib/Amon2/Setup/Asset/XSRFTokenJS.pm
in lib/Amon2/Setup/VC/Git.pm
in lib/Amon2/Util.pm
Examples
- eg/Hello/Hello.psgi
- eg/Hello/Makefile.PL
- eg/Hello/config/development.pl
- eg/Hello/htdocs/static/css/main.css
- eg/Hello/lib/Hello.pm
- eg/Hello/lib/Hello/ConfigLoader.pm
- eg/Hello/lib/Hello/DB.pm
- eg/Hello/lib/Hello/DB/Schema.pm
- eg/Hello/lib/Hello/Web.pm
- eg/Hello/lib/Hello/Web/C/Root.pm
- eg/Hello/lib/Hello/Web/Dispatcher.pm
- eg/Hello/lib/Hello/Web/Request.pm
- eg/Hello/lib/Hello/Web/Response.pm
- eg/Hello/script/make_schema.pl
- eg/Hello/sql/sqlite.sql
- eg/Hello/t/01_root.t
- eg/Hello/t/02_mech.t
- eg/Hello/tmpl/include/footer.tt
- eg/Hello/tmpl/include/header.tt
- eg/Hello/tmpl/index.tt
- eg/Hello/xt/01_podspell.t
- eg/Hello/xt/02_perlcritic.t
- eg/Hello/xt/03_pod.t
- eg/Hello/xt/perlcriticrc
- eg/LongPoll/Makefile.PL
- eg/LongPoll/chat.psgi
- eg/apps/DeepNamespace/DeepNamespace.psgi
- eg/apps/DeepNamespace/Makefile.PL
- eg/apps/DeepNamespace/lib/DeepNamespace.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Config.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/V/MT.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/V/MT/Context.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/Admin.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/Admin/C/Root.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/Admin/Dispatcher.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/User.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/User/C/Root.pm
- eg/apps/DeepNamespace/lib/DeepNamespace/Web/User/Dispatcher.pm
- eg/apps/DeepNamespace/t/01_root.t
- eg/apps/DeepNamespace/tmpl/base.mt
- eg/apps/DeepNamespace/tmpl/index.mt
- eg/apps/SampleApp/SampleApp.psgi
- eg/apps/SampleApp/lib/SampleApp.pm
- eg/apps/SampleApp/lib/SampleApp/Config.pm
- eg/apps/SampleApp/lib/SampleApp/V/MT/Context.pm
- eg/apps/SampleApp/lib/SampleApp/Web/C/Root.pm
- eg/apps/SampleApp/lib/SampleApp/Web/Dispatcher.pm
- eg/apps/SampleApp/tmpl/base.mt
- eg/apps/SampleApp/tmpl/index.mt
- eg/realtime-chat/chat.psgi