Tuskfish 2.1 is a feature release that adds an extensible system for creating and managing blocks (the equivalent of 'widgets' in Wordpress or 'modules' in Joomla). Three block types ship by default: A Spotlight block for highlighting a particular piece of content, and 'Recent Content' block that lists the last X pieces of content filtered by tag and type, and custom HTML blocks. The code base has been updated to use recent language features. The minimum PHP version is now 8.3.

Tuskfish 2.0.8 is an incremental update with a bunch of small fixes and refinements. New features include an alternate compact template option for collections that displays child content as a list, support for a 3rd Yubikey hardware token, and extension of html toggling of content online status extended to admin search results. There are several improvements to the video templates as well: They are now responsive, and alternate selectable templates are available for common aspect ratios including 16:9, 4:3, 21:9 and 1:1.

Optional support for ImageMagick V6 is now available. This gives much better quality thumbnails than PHP's native GD2 library, but at the cost of some manual configuration. You need to:

  • Have ImageMagic installed on your webserver (most hosting companies provide this).
  • Access to PHP's exec() function must be enabled (it is often disabled by default through the disable_functions setting in php.ini).
  • Swap in an alternative ResizeImage.php trait file (provided).
  • Configure the file path to an sRGB.icc colour profile on your server (you can download one if necessary).
  • Clear the image cache (html/cache), which will cause thumbnails to be rebuilt.

You can adjust the level of compression and sharpening in the trait file method createThumbnailWithExec().

Tuskfish 2.0.7 is a minor update to fix small bugs and add htmx support. Back end toggling of content on/offline now uses a htmx call to avoid reloading the whole page. This makes management easier when you have a large amount of content. The htmx library is now available in /vendor, but it is only used in the back end administrative theme.

Tuskfish 2.0.6 introduces automatic content expiry and sitemap update functionality, via a daily cron job script, updates third party libraries (jQuery 3.7.0, FontAwesome 6.4.0 and TinyMCE 6.4.2). A few bugs were fixed including custom RSS feed error if ID was empty, and indexing of soft 404 and enclosure links has been allowed.

Tuskfish 2.0.5 is a maintenance release with no new features, but updates to third party libaries (Bootstrap 5.2, DICE 4.03, FontAwesome 6.2, HTMLPurifier 4.14, jQuery 3.6.1). It includes one bugfix: .png compression was misconfigured (off), so automatic thumbnail generation in templates will now return vastly smaller file sizes.

Tuskfish 2.0.4 brings a user management module, which allows you to enrol trusted users in an Editorial role, so that they can create and edit content. The core structure has been refactored to improve modularity for development of new extensions. Internal login checks now test admin status against a surrogate password hash, rather than a simple session flag, which is a small security improvement: If an admin/editor changes their password at any time, any existing logged-in sessions are rendered invalid.

Tuskfish 2.0.3 brings compatibility with PHP 8.1, so if you want to wring the last few milliseconds of performance out of your site, use this version. New features include support for embedding Youtube videos, a sitemap generation facility, a 'minimum views' preference before displaying the views counter, and a live character counter for the meta description field. Third party libraries have also been updated, including adoption of Bootstrap 5.1.

A maintenance release, updating all third party libraries in use. No changes to core functionality, but the update of Bootstrap-fileinput has added a nice drag-and-drop target to image and media file uploads, which is something of an improvement. Upgraded libraries were: Bootstrap (v4.6), Bootstrap-datepicker (v1.9), Bootstrap-fileinput (v5.14), DICE (v4.0.2), FontAwesome (v5.15.2), HTMLPurifier (v4.13), jQuery (v3.5.1), TinyMCE (v5.6.2).

Tuskfish 2 is a rewrite of Tuskfish CMS to adopt a strict model-view-viewmodel (+ controller) architecture (MVVM + C). You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the model/view relationship, which improves flexibility and reuse of components. A front end controller and static router have been added to allow custom URL schemes. With the adoption of namespaces, Tuskfish 2 is now a very modern (if small) PHP application.