Revision history for WebDyne
3.005 - 2026-08-02
Major Version 3 release.
- Added PAGI runtime support through
WebDyne::PAGIand thewebdyne.pagiwrapper, including HTTP, server-sent event, WebSocket, and lifespan request handling. - Added a common request abstraction for standalone, Apache/mod_perl, PSGI, and PAGI execution environments.
- Refactored PSGI support into
WebDyne::PSGIand expanded runtime handling for document roots, default documents, directory indexes, static files, and API routes. - Added
webdyne.apachefor temporary local Apache/mod_perl execution without requiring a permanent system Apache configuration. - Expanded
wdapacheinitto support broader Apache installations, APXS discovery, installation and uninstall workflows, dry-run operation, and platform-specific configuration layouts. - Expanded
wdrenderto exercise multiple request backends, including fake, PSGI, PAGI, and mod_perl, with support for request methods, headers, parameters, response inspection, and comparison testing. - Added test-file modes to command-line compilation and rendering utilities.
- Added a bundled default stylesheet for generated WebDyne pages and improved the appearance of default directory index output.
- Added Docker runtime selection between PSGI and PAGI, with environment-variable tuning for server workers, timeouts, backlog, connection limits, and request body sizes.
- Improved request and static-file safety, including path traversal, upload, multipart, error handling, and binary response coverage.
- Reworked the documentation into a DocBook/MkDocs build with generated utility and module reference pages.
- Added extensive examples and expanded automated test coverage for runtime backends, wrappers, static handling, APIs, SSE, WebSockets, and command-line utilities.
- Removed the old
WebDyne::CGI::PSGIadapter in favour of the new request and runtime abstraction.
2.021 - 2025-11-07
- Added multi-line
<start_html>attributes for scripts, styles, and related inclusions. - Prevented WebDyne substitution inside executable JavaScript blocks.
- Added default viewport metadata and expanded head inclusion support, including array-valued includes.
- Added Alpine/Vue attribute compatibility handling.
2.018 - 2025-10-29
- Added the
<htmx>tag for request-aware HTML fragment rendering. - Made directory indexes and static files available by default through the PSGI wrapper.
- Improved HTML tree handling, constant importing, and error reporting.
2.017 - 2025-10-27
- Added the
<api>tag for lightweight JSON API responses usingRouter::Simplepath matching.
2.015 - 2025-10-22
- Added the
wdlintutility for checking Perl syntax in__PERL__sections of PSP files. - Added the default PSGI directory index page and
--indexsupport.
2.014 - 2025-10-18
- Replaced the CGI.pm-based HTML generation path with
CGI::SimpleandWebDyne::HTML::Tiny. - Refactored compilation and evaluation handling around the new HTML generation backend.
- Added the JSON tag, alternate div-based WebDyne syntax,
application/perlscript blocks, and expanded HTML5 tag handling. - Added PSGI/Plack support to the main WebDyne distribution, including command-line document-root and default-document selection.
- Added exported
WebDyne::html()andWebDyne::html_sr()functions for standalone PSP rendering. - Added
WebDyne::Templateto the core distribution and added PSGI static-file serving through--static. - Added
WEBDYNE_HEAD_INSERTfor injecting common content into generated document heads. - Added Docker build files and container-oriented development support,
including automatic dependency installation from a mounted
cpanfile.