Releases: Schlaefer/Saito
5.2.1
Noteworthy Changes
- ✓ Deleting an user doesn't properly clean-up the user's postings and leaves the entries table in a dirty state
Update Notes
An update to 5.2.1 is highly recommended. - Don't delete an user on version 5.0.0+ before updating to 5.2.1. A manual DB fix is possible and not very complicated, open an issue if you ran into this issue and require assistance.
For a quick in-place upgrade just update src/Model/Table/EntriesTable.php
and src/Lib/version.php
.
5.2.0
Noteworthy Changes
5.2 is a feature update with a considerably enhanced uploader and quality of life improvements for user management.
- + Image uploader is extended to a general purpose uploader #325
- + Privileged users may see the user-account activation status in user-profile and user-list
- + Privileged users may contact normal users even if the user has messaging disabled #336
- + Privileged users may directly set a user's password #108
- + Domain info after link takes Public Suffix List into account
- ✓ RSS feed item doesn't show username
- ✓ RSS feed item doesn't show correct date
- ✓ Bootstrap toasts are themed bright in night-theme
- ✓ Bootstrap toasts are placed beneath modal dialogs
- ✓ Domain info after link breaks on URLs with special chars
- ✓ i18n for deleting categories including German l10n
- Δ Increases font size of the default theme
- Δ Updates marionette.js to version 4
Update Notes
Uploader
Upload-settings in the admin panel have been removed. Write down your settings (max number of uploads per user) before updating. The Uploader is configured in config/saito_config.php
now. Individual file-types and file-size per type are configurable. The default settings allow uploading of common Internet media formats (images, audio , video and text-files).
Access-control
- +
saito.core.user.activate
- See activation status (default-groups: admin) - +
saito.core.user.password.set
- Change user password (default-groups: admin) - Δ
saito.core.user.view.contact
becomessaito.core.user.contact
- Allows viewing contact data and messaging via contact-form (default-groups: admin)
I forgot to mention the access-control permissions in the 5.0.0 release notes, didn't I? As I said: version 5 was a big update and most of it happened many moons ago. You'll find the meat here. While the forum is still shipping and tested with the default administrator, moderator, user, and anonymous groups, it is possible to configure those groups - or create your own if you feel adventurous.
5.1.0
Noteworthy Changes
5.1.0 is a bugfix and maintenance release.
- + bumps minimum required PHP Version from 7.1 to 7.2+
- ✓ Creating bookmarks not working on new 5.0.0 installation #334
- Δ Updating removes database compatibility to Saito 4.10 #323 #324
- Δ Default database charset and collation for new installation changes from utf8 to utf8mb4 #333
- Δ Rewritten installer #335
- Δ Refactored user-blocking internals
- Δ Updates libraries (esp. CakePHP 3.7 and Bootstrap 4.3)
Update Notes
Utf8mb4 is required for full Emoji-support. Existing installation have to update the table and columns to utf8mb4 manually. If you're fine without Emoji support just set encoding => 'utf8'
as connection parameter for the dabase in config/app.php
and everything is going to work as before.
See full change-log or the milestone
5.0.0
What's new
Hello!
Saito 5 is big rewrite of major parts of the forum. 90% of the work took place in late 2015, but I burned out at the end, so it didn't make it out of the door. The remaining 9.9% were done in the first half of 2018. 2019 sees the release – finally.
On the backend the update from CakePHP 2.x to CakePHP 3.x is the most noteworthy, which was a considerable effort.
The frontend-stack moved from bower, RequireJS, Marionette 1.x and Javascript over to yarn, webpack, Marionette 3.x with parts starting to migrate to Typescript. The UI is based on Bootstrap now, which should offer a more accessible theming-environment.
Overall there's a stronger separation between frontend and backend. The major theme is that the PHP-backend is going to provide a new JSON based API with JWT authentication which is accessed by a independent frontend JS application. The rewritten image-uploader and bookmarks features being the first incarnations of this transition.
Future-proving the code-base was the main goal, but there are also feature changes.
Users are able to set an avatar image now. The layout is better optimised for mobile devices. Category-access-rights are more fine grained. The image-uploader is rewritten and improved (auto-rotate images by EXIF-metadata, remove medata, compress images, thumbnails on index page). The posting form is a custom implementation, which allows more flexibility (sub-paragraph citations, better dialogs for inserting content and esp. for smilies). Embedding of rich 3rd-party content doesn't rely on an external provider anymore.
On the other hand less popular features didn't made the transition: Shoutbox, community-map, separate mobile-version, email-notifications on answers, admin-stats, …
Update
Migrating from 4.x
Saito 5.0.0 requires PHP 7.1 but is able to run on the same DB as Saito 4.10 (meaning that the DB updates for Saito 5 don't break 4.10). This allows you to move from PHP 5 to 7 with 4.10 and gently switch to Saito 5.
Saito 5 includes an automated database updater, so no more manually updating the DB with raw SQL commands. Yeah! But ... I can only hope that you applied the manual steps of the past by the letter. I also assume that your database structure is in the same state as a vanilla 4.10 installation. The automated updater may fail if it isn't ...
Please do a database-backup before updating! – This is not a drill!
The database connection is set in config/app.php
. Enter your existing security salt there too.
There's no support for table prefixes anymore. If prefixes were used in the past rename the tables to an unprefixed version.
Theming
The new default theme "Bota" replaces "Paz". It is implemented as a CakePHP 3 theme plugin and lives in plugins/Bota
. The UI is implemented as Bootstrap 4 theme.
To start your own theme I recommend using SASS and referencing and customizing the default theme.
// e.g. in "plugins/YourTheme/webroot/css/src/theme.scss"
// set YourTheme in config/saito_config.php
//// Change Bootstrap variables
$body-color: #222;
...
//// Include the main theme which will pick up the Bootstrap variable values
@import "../../../../../plugins/Bota/webroot/css/src/theme";
//// Additional customizations tweaking the default theme
@import "_your_customizations.scss";
body {
// more customizations
}
Otherwise you have to bring your own Bootstrap-theme and layout additional forum properties from scratch.
4.10.1
4.10.0
What's new
- + PHP 7.1 compatibility
- + Prepares update to Saito 5
- + adds new API-endpoint
users/online
- ✓ fixes smaller issues on MariaDB
- ✓ [mobile] fixes smilies und BBCode in Shoutbox
- ✓ [mobile] fixes issues on login and logout
- ✓ [mobile] fixes bugs when editing a posting starting a thread
- ✓ [mobile] fixes issues when trying to view non-existing threads
- Δ if embed.ly is disabled existing
[embed]
-tags will present a HTML-link
ALTER TABLE `user_blocks`CHANGE `by` `blocked_by_user_id` int(11) unsigned NULL DEFAULT NULL;
RENAME TABLE `user_read` TO `user_reads`;
ALTER TABLE `settings` ADD `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
INSERT INTO `settings` (`name`, `value`) VALUES ('db_version', '4.10.0');
ALTER TABLE `users` CHANGE `user_signatures_images_hide` `user_signatures_images_hide` TINYINT(1) NOT NULL DEFAULT '0';
It is possible your settings table already has an "id"-column. In that case make sure it's auto-increment and add a "db_version" key with value "4.10.0" manually.
4.8.0
- + show remaining chars for subject #312
- + set default format for youtube video fallback from 4:3 to 16:9 #316
- + add [quote] BBCode tag #317
- + show PHP-info in admin panel
- ✓ [mobile] improved reliability when starting the mobile app
- ✓ [mobile] app data isn't updated on Internet Explorer
- ✓ improve [float] BBCode-tag
- ✓ improve embed.ly embedding
- Δ relax CSRF protection when creating new postings
- Δ update CakePHP from 2.6.7 to 2.6.12
4.7.5
4.7.4
4.7.3
What's new
- + log user-agent in
saito-<*>.log
files - ✓ maps where not working because of API change on mapquest.com
- ✓ user is not shown in userlist-slidetab #307
- ✓ don't show ?mar in URL for non-aMAR users
- ✓ improves german localisation
- Δ updates CakePHP from 2.6.0 to 2.6.2
- Δ minor refactoring