The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 4.0 - 2009-10-25

  • First release by new maintainer Marco d'Itri.
  • Fixed and improved the calendar template.
  • Removed debugging statements from posts_calendar().
  • Added support for FastCGI using CGI::Fast.
  • Use croak instead of exit in report_error() or FastCGI processes will die.
  • Made report_error() return status 500.
  • HTML-escape the text output by report_error().
  • Added a Renderer class which generates a Google sitemap using WWW::Google::SiteMap.
  • Use Template::Provider::Encoding to support non-ASCII posts.
  • Moved the Template Toolkit macros to a common file.
  • Added the ".tt2" extension to the calendar template.
  • Added macros to print DateTime objects as ISO 8601 and RFC 822 strings.
  • Updated the ATOM template to the 1.0 format.
  • Added a Bryar::Document::url() method useful in templates to get the relative URL of posts.
  • Fixed the permalinks when categories are used.
  • Added support to generate arbitrary HTTP headers. Templates can modify them by manipulating the bryar.http_headers hash.
  • Added support for caching the formatted pages using Cache::Cache.
  • Return a 404 error when no posts matching the parameters are available.
  • Treat all input and output streams as UTF-8.
  • Added to the URL parser support for requesting posts older than a certain date, using the format /before_<timestamp>. Updated the HTML template.
  • Cleaned up the default templates.
  • Removed from the Template::Toolkit environment the "recent" and "archive" variables. They are undocumented, not used in the example template and cost two extra runs of the collector.
  • HTML-escape errors reported by Template::Toolkit.
  • Added support for the If-Modified-Since HTTP validator.
  • Instantiate the renderer/source/collector/frontend classes if they have a constructor.
  • Ignore commented and empty lines in the configuration file.
  • Made the FlatFile data source not automatically replace a double \n with a <p> tag. This is an incompatible change.
  • Replaced some uses of die with report_error().
  • Optimization: cut two stat(2) calls from each call to make_document().
  • Optimization: cache getpwuid(3) calls because they parse /etc/passwd every time.
  • Example: render new posts as text and post them to a newsgroup.
  • Example: fastcgi daemon with a lighttpd configuration.
  • Example: a simple WYSIWYG editor for posts, based on fckeditor.


A modular, extensible weblog tool
Determine which documents to show
Represents a comment on a blog post
A set of configuration settings for Bryar
Base class for DataSources
Retrieve blog posts and comments from database
Blog entries from flat files, a la blosxom
Blog entries from flat files, a la blosxom
Represents a blog post
Base class for frontend classes
Common Gateway Interface to Bryar
FastCGI interface to Bryar
Apache mod_perl interface to Bryar
Static renderer for Bryar
Generate an XML sitemap using WWW::Google::SiteMap
Render a blog page with Template Toolkit


in lib/Bryar/DataSource/
in lib/Bryar/DataSource/