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 (MVVC). You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the relationship between the view and model, 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.
A maintenance release. Further internal refactoring to improve the structure and extensibility, and updates to third party libraries. An XSS vulnerability present in Bootstrap 4.0 has been patched through an update to Bootstrap V4.1.3.
Add canonical URL link.
Clean up base URL / links on index page (remove unnecessary 'index.php').
Use title for image alt tag if no caption is set.
Refactor of methods towards smaller logical components and improved compliance with the single responsibility principle.
Removal of magic method accessors and mutators in favour of manual getters and setters.
Improved error messages to increase clarity.
Extended bad login count and retry delay to include 2-factor authentication.
Fixes to pagination control.
Implement admin side content object controller to clean up the admin script.
Fix https://tuskfish.biz conversions in content module.
Manually set cache limiter in some pages to avoid 'document expired' errors when using the browser back button.
Bugfix for taglinks being deleted when a tag is edited.
Update to FontAwesome 5.5.
Update Bootstrap to V4.1.3 and remove unnecessary files.
Remove popper.js library (now bundled in Bootstrap).
Tuskfish has been substantially refactored to improve its internal structure, and to make it easier to extend. Please note that due to changes in the database schema version 1.1 is not compatible with previous versions.
Static methods have been largely eliminated in favour of dependency injection.
Some reassignment of methods between classes, to improve compliance with the single responsibility principle.
Many methods and variables renamed to better indicate function and make code more self-describing.
Variables, properties and database columns have been converted to camel case for consistency.
Class and method documentation improved.
Restored manual type checking in methods to reinforce the strict types directive.
Modularised the structure to facilitate development of discrete expansions.
Reverted to Bootstrap-fileinput V4.4.7 due to issues with FontAwesome.
The baseline release of the Tuskfish content management system is now available for download. It requires PHP 7.2 or higher, with the sqlite3, PDO, pdo_sqlite, and gd extensions. Please refer to the installation guide and user manual.