Serendipity 1.0-beta1 released!

The Serendipity Team is proud to issue the first beta release of the upcoming Serendipity 1.0 version.

Serendipity's development has started nearly 3 years ago, and has undergone many fundamental changes in the past. Many feature enhancements and bug fixes have lead to a quite stable product that we feel very well with putting the "1.0" version tag on it. Don't let that version number fool you - other products may not have reached our stableness in their 2.x versions! ;-)

As for the new features since Serendipity 0.9.1, we have focussed on straighting out bugs and improving usability and more flexible templating and plugin handling:

  • Fixed Safari Browser issue with formatting and inserting media items
  • Fix templatechooser plugin to be nicer to browser caching
  • RFE #1387997 - Show amount of entries per archive period (archive sidebar plugin).
  • More abstraction for the serendipity_fetchEntries() call
  • Full PHPDOC function documentation
  • Plugin API: New "multiselect" plugin item type
  • Spamblock plugin improvements: Filter comment body, Check foreign Trackback URLs
  • Templating: New preview_iframe.tpl template for entry previews, new Smarty functions for fetching and printing entries within a template, RSS feeds can be templated
  • Fix not being able to create users of the same userlevel despite being admin
  • Fix bug #1371893: Category write permissions are not properly evaluated when writing into a category.
  • Fix bug #1371630: Write permissions to category are stored with input data of the 'Read permissions' author listing.
  • Plus many more things listed in our docs/NEWS file!

Upgrading from any version (also beta/alphas from previous versions) to Serendipity 0.9 is easy and can be done as before: Just unpack the release files to your existing directory, go to your admin panel and confirm the upgrade process. Serendipity automatically upgrades your database and tells you of important changes. Be sure to read our FAQ on http://www.s9y.org/ if you face any problems.

We are eagerly waiting for positive feedback or any problems you face with this new release on either this blog or via our Forums. The final 1.0 version is scheduled for February 15th.

Now what are you waiting for? Download latest release!

Add an icon to your serendipity page

You can now add an icon to your Serendipity template without any coding at all. I've extended the kubrickheader plugin -- which already changed the header image in Kubrick and Joshua templates -- to handle the default template as well. Since most templates simply extend one of these three, the plugin should be able to handle just about anything. To reflect these new capabilities, the SPARTACUS title has been changed to "Template Header / Logo Image".

While I was in there, I also added ".gif" to the list of image extensions, so if you specify a directory of images, a random icon will be chosen every time the page is loaded.

You can read the forum post for more information and directions.

Template chooser problems solved

A few of you have reported problems with the template chooser plugin in the past, where new selected templates would only show their true design after you've manually refreshed the page (F5 in most browsers).

The root of this problem was that browser cached the CSS stylesheet on their own, without making HTTP requests to check for changes. Since serendipity uses URL rewriting to achieve pretty URLs for stylesheets, this interfered with the one-time caching of stylesheets, even though their contents changed.

As a workaround, I've just committed a fix to our repository of the nightlies and an upcoming 0.9.2 maintenance release. This change makes the plugin always use a URL that contains the name of the stylesheet, and thus works around the caching issue by emitting individual stylesheets.

Favatars, Gravatars and Trackbacks

It seems that as a new mean against trackback spam, several blogs tend to use HTTP redirection for Trackback URL endpoints. Serendipity did not yet support this, since it didn't follow any HTTP header redirections.

This has been changed in recent snapshots of Serendpity 1.0-alpha, were we now utilize the PEAR HTTP::Request class to send trackbacks, which is able to follow HTTP redirections. Together with the plugin for sending manual trackbacks to specified URLs, this now allows you to again trackback to any blog that supports trackbacking.

Please have a try with those recent nightlies, if you are currently experiencing problems with sending trackbacks!

The other news is about the Gravatar plugin. A fellow user, Mattsches, sent me a patch for a favatar plugin (avatar icons based on the commenting user's homepage URL favicon). I took that one and implemented it into the existing gravatar plugin, which is now able to support both Gravatars and Favatars. It even uses a fallback method to use the other avatar type, if the first one failed. And of course it caches the results, so that your blog does not need to open many outgoing connections.

More Power to Smarty

I was pretty annoyed to see, that even though Serendipity is meant to be a blogging framework, there was no functionality to call a "print and fetch entry" function available within Serendipity.

Obviously, everyone was able to print his entries in a "blog-mannor" up today, with the default options to fetch and display entries. You had a lot flexibility by tweaking the entries.tpl template or by using Plugins. But now, we've taken it a bit further:

"More Power to Smarty" vollständig lesen

phpDoc: Serendipity Code-Documentation

Since someone constantly nagged me about documentation, I took the time the last few days to include a basic phpDoc style comment syntax into ALL of our Serendipity function declarations. Thanks for pushing me to that. It's a thing I never want to do again. ;-)

I have committed those files to the 1.0-alpha trunk, thus they are contained in tomorrows Snapshots. Everyone who thinks about contributing to Serendipity might like this, in addition to the documentation we have on www.s9y.org

Have fun and a nice weekend, Garvin