We've released Bolt 1.3: A recommended update for all Bolt users, with new features, improvements and bugfixes galore. This release contains some minor security-related fixes. Even though it has been less than two months since our last feature-release, we've made a lot of improvements and enhancements.

Apart from the new features and functional improvements (more on that below), we've done a lot of work on our documentation, and we've created a new page listing Bolt's significant features.

To upgrade an existing install, or to setup a new one, just follow the instructions for installation or for updating. When you do an upgrade, you will not overwrite your modified settings with the upgrade. You should still make a backup before doing an upgrade, though. Get the latest .tgz or .zip, or browse the folder with the distributions.

Major improvements and changes in this release, since Bolt 1.2:

  • We’ve added a new piece of functionality called “The Stack”. We've found that when you're working on content, almost all of the time you either need to upload a new file, of you need one that you've uploaded very recently. Our Stack functionality keeps track of your latest uploaded files, and allows you to access them as conveniently as possible.
  • Bolt now keeps a running log of all changes to the content. If you're working with a team of editors, you'll be able to see who edited which page on the website. You know, so you can blame whoever introduced a particularly embarrassing typo.
  • The automatic thumbnails are much more performant now. Generated thumbnails get saved to the filesystem, so the webserver can access them directly, thereby completely bypassing the entire PHP layer. Before version 1.3, Bolt already cached the resized images, but you still had the overhead of PHP. This change makes image-heavy sites feel a lot more responsive.
  • We’ve incorporated the acclaimed Symfony Developer Toolbar, and modified it to Bolt’s specific needs. When developing a website, the toolbar is invaluable to see which templates are used, which routes matched, what the environment variables are, which queries the database did, and how much time and memory it took to render the page.![](/files/2013-11/Screen Shot 2013-11-07 at 16.13.36.png)
  • We’ve made a bunch of improvements to our built-in search functionality:
    • The search algorithm works much better when having more than one search term. The index-scores of the individual search terms are added to each other, making the best results automatically float to the top.
    • Taxonomies (tags and categories) are also indexed now.
    • By default the search engine yields pretty good results, because the algorithm gives higher scores matches in titles than a match somewhere halfway down the content. However, you can manually override the search weights for fields and taxonomies for each individual one. This way, you can influence the scores how you want them.
  • We added a new RelatedContentByTags extension. This extension makes it very simple to add ‘related content’ links to any page. The algorithm calculates the relevance of other content (in the same or in another content type) based on the used tags. If you’re tagging your content consistently, the automatic results are very accurate.
  • Speaking of which: to aid in using tags consistently, we’ve added a tag selection cloud to the backend, as well as a autocomplete suggestion. This greatly reduces misspellings or variants of the same tag. No more “starwars”, “star wars” and “star-wars”!
  • You can now set global Swiftmailer settings in config.yml , for example to make Switmailer use STMP or a specific server.

All in all, there have been about 350 commits to our Github repository. Too much to list them all, but some of the other fixes and additions are:

  • Some security-related issues have been fixed:
    • Fixed a few (theoretical) XSS problems in both the frontend and backend of the site.
    • Better cleanup of user-submitted queries to prevent XSS and passing through of control-characters
    • Require POST instead of allowing GET for several functions in the backend
    • Added the option to use other (better) random number generators, for more randomness in generated keys, passwords and hashes.
  • Added more locations where you can upload files (in the WYSIWYG editors, in the file management screen, in the sidebar). Same goes for uploading and inserting documents in the editor.
  • Updated Symfony components to 2.3.6
  • Updated Silex to 1.1.1
  • Added Codeception testing framework, and added a bunch of functional tests that are run continously by Travis. This is still a work in progress: More tests are added over time.
  • Added Krumo, for easier dumping and debugging of variables.
  • Added new RSSAggregator extension. Thanks, @sekl
  • Sitemap extension automatically adds a header to the HTML
  • You can now use relative dates in the where-parts of {<span>% setcontent %</span>} , like “last monday” and “next year”
  • Added a ||| -parameter to the query part of set content, so we can use multiple columns as OR clauses
  • Fix for || and && in queries, when having more than two values.
  • Added ceil and floor filters, to round numerical values up or down to the nearest integer value.
  • Added slug filter, to dynamically create a “sluggified” version of any string.
  • Added Hungarian translations
  • Updated Finnish translations
  • Added Brazilian Portugese translation
  • Updated Spanish translation
  • Updated Italian translations
comments powered by Disqus