Changes for version 0.004 - 2026-10-26
- BREAKING: the "brand" helper returns the controller when setting the brand, so that calls can be chained, e.g. $c->brand('acme')->render(...).
- BREAKING: unknown keys in the configuration and in "individual" make the plugin croak, e.g. "paths" from versions before 0.003.
- BREAKING: a brand set to undef removes the brand configured by an earlier registration, instead of being skipped.
- Roles are applied to the application's renderer and static file server, and the "brand" helper is added, only when "individual" has a "stash_key" or names a brand; global-only configurations leave them alone.
- A valid configuration no longer triggers $SIG{__DIE__} handlers.
- The template cache of each brand has the same class as the application's one, instead of always being a Mojo::Cache.
- Errors about invalid paths say where they are, e.g. "(brand 'acme', public)" or "(global)".
- An invalid configuration leaves the application untouched: "global" directories are only added once the whole configuration is valid.
Modules
Global and per-request branding of templates and public files
Provides
in lib/Mojolicious/Plugin/Branding.pm
in lib/Mojolicious/Plugin/Branding.pm
in lib/Mojolicious/Plugin/Branding.pm