Release Notes

version 0.5.2 - May 26, 2017

  • Pinned versions of dependencies to (hopefully) prevent this version series from breaking while I get v0.6.0 out the door at some point.

version 0.5.1 - May 28, 2014

  • Fixed issue with precompiled LESS files.
  • Updated documentation.

version 0.5.0 - April 10, 2014

  • The bundled Tweet library has been removed and all related settings have been deprecated. Twitter has discontinued its unauthenticated v1.0 API, so Tweet stopped working as of June 11, 2013. If you have suggestions for a replacement library or solution for Twitter integration please file an issue on Github.
  • The default setting of PERMALINK_STYLE has changed to pretty from fulldate.
  • Atom feeds are now generated in addition to RSS feeds. Atom feeds are now the default. As part of this change, customization of the RSS feed using a template is no longer supported.
  • New plugin added to support Markdown Lazy Links. This plugin is enabled by default, so you can start using lazy links immediately.
  • A new ‘experimental’ plugin permissions model is in place. More developer information is available at: Plugin Permissions.
  • Engineer’s Jinja2 environment can now be modified using plugins. See the JinjaEnvironmentPlugin documentation.
  • Jinja syntax can now be used in post content thanks to the new Jinja Post Processor Plugin.
  • A new tag is available for inserting images into posts. The output can be customized by themes.
  • You can now have Engineer automatically format your post metadata to be fenced (Jekyll-style) or unfenced using the METADATA_FORMAT setting.
  • User and environment variables are now expanded when they appear in Engineer settings. For example, you can now use ~/engineer/posts/ as your POST_DIR. Huzzah!
  • The POST_DIR setting can now automatically find posts in all subdirectories within a given path. See the docs for more details.
  • Themes can now include precompiled versions of LESS stylesheets which will be used by default. See Theme Stylesheets for more details.
  • As usual, this release contains a number of bug fixes and tweaks.

version 0.4.6 - February 19, 2014

  • Update to a new version of setuptools’ bootstrapper. This should ease installation pains for new users that have more recent versions of setuptools.

version 0.4.5 - October 2, 2013

  • Update to a new version of typogrify-engineer. Due to changes in the original typogrify package as well as in pip installer behavior, Engineer was failing to install properly from PyPI for new users.

version 0.4.4 - June 23, 2013

  • Addresses compatibility issue with more recent versions of html5lib (issue 63). A more comprehensive fix will come in a future version.

version 0.4.3 - December 10, 2012

  • Fixes issue 42 which managed to sneak into 0.4.2, causing an exception to be thrown for some configurations.

version 0.4.2 - December 10, 2012


Engineer no longer requires the zope.cachedescriptors and compressinja packages. You can uninstall these packages if you wish. If you’re using pip, simply type:

pip uninstall zope.cachedescriptors compressinja
  • The Post Renamer plugin is no longer on by default.


    If you wish Engineer to behave the way it did previously, simply set the POST_RENAME_ENABLED setting to true in you Engineer settings file.

  • Fixes issue #36 which caused cache corruption on Mac OS X Lion.

  • Fixes issue #39 which prevented the debug server from working properly on non-Windows operating systems.

version 0.4.1 - December 4, 2012

  • Finalization plugin: No longer writes files if their metadata has not changed. This should prevent a rather annoying behavior where post files would always be modified during a build regardless if they had changed or not. This broke sorting the post files by ‘last modified time’, among other things.
  • Fixes issues with automatic version handling.

version 0.4.0 - November 28, 2012

  • Added support for custom URL/permalink schemes with the PERMALINK_STYLE setting.


    Note that while the default has not changed in this release, it will in 0.5.0, so if you wish to continue to use the current Engineer URL scheme, you should update your settings files now.

  • Broad changes to post and metadata normalization. These features have been broken out into two separate plugins, the Metadata Finalization plugin and the Post Renamer. Accordingly, the settings NORMALIZE_INPUT_FILES and NORMALIZE_INPUT_FILE_MASK have been deprecated. See the documentation for the two new plugins for more details.

  • The Dark Rainbow and Ole B themes can now support comments using either Disqus or Intense Debate.

  • The Dark Rainbow and Ole B themes now support simple site search using Google.

  • Added the ACTIVE_NAV_CLASS setting to enable users to change the class that is applied to active navigation nodes. This should make it easier to integrate with CSS frameworks that use a different class name.

  • Theme creators can now more easily share content between several themes using the copy_content and template dirs theme manifest settings.

  • The post breaks plugin now outputs only the teaser content into the site RSS feed by default. This behavior can be changed using the FEED_FULL_CONTENT setting.

  • Added a new CommandPlugin class. This enables other developers to write plugins that add new command line commands to Engineer.

  • Standardized a set of common classmethods that are available to all plugins - handle_settings and get_logger.

  • Updated bundled less.js to version 1.3.1.

  • Lots of bug fixes.

version 0.3.2 - August 18, 2012

  • Fixes a bug in the Markdown filter (used in Template Pages) that caused incorrect Markdown processing if there is leading white space in the Markdown content.
  • Add table styles to included themes.

version 0.3.1 - August 5, 2012

  • Fixes a rather nasty bug that would cause a fatal exception if there were non-ASCII characters in a post using the Teaser Content (post breaks) support that was added in version 0.3.0.
  • Minor style fixes to Dark Rainbow theme.

version 0.3.0 - July 22, 2012


The theme plugin model has changed with version 0.3.0. Installable themes will need to be changed to be compatible with the new model.

  • A new plugin model provides a more flexible way to integrate with Engineer.
  • Posts can now have custom metadata.
  • New Teaser Content (post breaks) support.
  • A sitemap is now generated automatically.
  • A custom RSS feed url can be specified using the FEED_URL setting.
  • Both Dark Rainbow and Ole B now include next/previous post links.
  • Site-relative URLs for posts are now included in the post metadata during post normalization. This is useful in some cases where you need to know the URL of a post (for example, to link to it in another post) but are offline or otherwise unable to get the URL. If you put a manual URL in the post metadata, it will be overwritten - it’s not used to actually allocate a URL for the post.
  • Post metadata now accepts either via-link or via_link. Normalized metadata will now use via-link instead of via_link since the former feels more natural in YAML.
  • The build process will now output a warning if there are pending posts in the site and PUBLISH_PENDING is False. This should help remind users that don’t run a build automatically that they will need to run another build at a later date/time if they want the pending post to actually become visible.
  • Bundled libraries updated:
    • LESS: version 1.3.0
    • jQuery: version 1.7.1
    • modernizr: version 2.5.3
  • Themes can now indicate whether they use the bundled Tweet library by setting the use_tweet property.
  • Fixed bug preventing some Template Fragments from being included properly in some themes.
  • The included Development server no longer restricts requests to those coming from the same machine.
  • Various build performance enhancements.
  • Several fixes to bundled theme styles, including better mobile styles in Dark Rainbow.

version 0.2.4 - May 27, 2012

  • A new theme, Ole B, has been added. This theme is based on Ole Begemann’s design and was created with his permission.
  • During rendering, a new variable called all_posts is passed. It is a PostCollection containing all the posts on the site and can be used to display links to related posts, similarly tagged posts, etc.
  • Themes can now be wrapped in a Python package, installed, and register themselves as a theme plugin.
  • Bug fixes related to sites hosted at non-root paths.

version 0.2.3 - May 6, 2012

  • External themes are now supported. You can place your custom theme either inside a themes directory in your site’s root directory or in any directory you’d like using the THEME_DIRS setting.
  • Themes can now specify settings defaults in their manifest.
  • Zipped themes are now supported.
  • Multiple verbosity levels are supported by the command line script now.
  • engineer serve now supports a --port option.
  • Build logs are now always written to a build.log file in the logs directory.
  • CSS/JS compression process is now more efficient.
  • Miscellaneous logging and cache fixes.

version 0.2.2 - April 30, 2012

  • Updated sample site to disable PREPROCESS_LESS by default. This way the site will still build even if you don’t have lessc installed or aren’t on Windows.

version 0.2.1 - April 28, 2012

  • Fixed corrupted LESS files that made it into v0.2.0.
  • Fixed bug that prevented attribution text and links from showing up in Dark Rainbow theme.

version 0.2.0 - April 22, 2012

  • Better post timezone handling.
  • Various fixes to Dark Rainbow theme.
  • Various fixes to the post cache mechanisms.
  • Preprocessing support for LESS.
  • Minification support for JS and CSS static files.
  • New commands - ‘clean’ and ‘init’.
  • Major documentation improvements. (In other words, there is now documentation.)

version 0.1.0 - March 13, 2012

  • Initial release.