SQL Speedup patch / Plugin API performance

Thanks to Isotopp I discovered today that the load_plugin() method of the Plugin API did perform some unneccessary SQL queries when loading/searching for a plugin.

I have created this patch (can be applied to both 0.9 SVN and 0.8.1) - it will properly detect the plugin path setting and now only perform the SQL query when needed.

This should cut down one SQL query per plugin that is loaded; in a standard install with 14 plugins this is 14 less SQL queries. But thanks to MySQL and other caching systems, the impact of those superfluous small queries is not that large.

The patch will be part of a possible 0.8.2 release and has been committed to the CVS backport and SVN branches already.

(Update: Some more changes to the patch)

Custom Permalink URLs, Part 2

As a follow-up to Custom Permalinks I have created an update to the patch here: permalink2.diff (diff against 0.9-alpha1)

Its structure is now a bit cleaner, and I have added config directives for most of our other permalinks (categories, authors, feeds, paths) and enhanced the detection routine.

It still needs a LOT of testing, but I like the general direction of it. I would be happy to hear as many feedback reports of it as possible. :-)

Serendipity 0.8.1 released

The Serendipity Team is happy to announce the immediate availability of the 0.8.1 maintenance release.

This new release mostly addresses some bugs and security issues discovered in Serendipity 0.8.

Serendipity users who are running their blog with multiple and maybe not trustworthy authors are urged to upgrade to this new Release because of authors being able to upload special files without privileges.

The other important fix addresses possible XSS injections for the templatedropdown and shoutbox plugins.

Other non-critical fixes include:

  • Fix pagination of entries by author
  • Fix RSS 1.0 feed validation
  • Deactivated GZIP encoding in certain environments
  • Fix some missing allowed BBCode special characters
  • Some IIS/Windows server compatibility fixes

No new features of our 0.9 development release have been ported into this release. If you are eager to try our new features like viewing/selecting multiple categories to read, new plugin hooks for the media selector, uploading X images in one go and others - feel free to try our nightlies available on www.s9y.org

On top to that new release, the following new plugins have been published since the release of Serendipity 0.8:

  • serendipity_event_aggregator: A "Planet"-like plugin that turns a Serendipity installation into a RSS Aggregator
  • serendipity_event_customarchive: A user-sortable view on your archived entries
  • serendipity_event_cachesimple: A full-page caching plugin
  • serendipity_event_todolist: A todolist sidebar plugin with maintanable project/todo states
  • serendipity_event_userprofiles: Display and maintain personal user profiles

The upgrade from a previous release is as easy as ever: Download the new version, unpack the files into your existing directory, open your Blog's admin interface and you will see the automatic upgrader. No SQL updates or function calls need to be made for this maintenance release, so the upgrade will only update your serendipity_config_local.inc.php file to set your new version string to 0.8.1.

Download Link

Have fun with the new release, The Serendipity Team.

Hardware going hard on me

Last night the server started getting a little cranky. We are assuming there's something funky going on with the hardware (cpu? ram?) and working on it. The server is back right now, but don't rely on it too much for now...

I'll let you know about any news once I got 'em. Sorry for any inconvenience.

Customizable Entries Archive

I have just committed the Plugin serendipity_event_customarchive to the additional_plugins Repository.

This plugins displays a simple external page (like http://blog/pages/archive.html) where the visitor can select a range of options to display/search for older articles and see a full representation of your entries.

This is especially useful for people having many older entries and for visitors who want to have a full overview through all entries according to their search options.