my little forum changelog

20250422.1 (2025-04-22)
-----------------------

- fix: when introducing the new feature of adding entries for existing but unmanaged uploads we changed a column name but forgot to change in in the upload processing script, corrected the column name
- fix: when introducing the new feature of adding entries for existing but unmanaged uploads we changed the column definition for the uploaders ID to store only NULL or IDs of existing users, this did not take into account entries from users that have since been deleted, check for such entries and set the uploaders ID to NULL before changing the column definition
- fix: when adding the attribute UNSIGNED to several index columns we forgot to define AUTO_INCREMENT for column mlf2_tags.id, this caused hiding of completely new tags behind an invalid index
- fix: remove a superfluous comma in a postings metadata in the template themes/default/subtemplates/entry.inc.tpl
- change: rework a few forms for providing the admins password and for creating new categories in the admin area
- change: replace all PNG- and GIF-icons, which are in use in the admin area, with SVG icons

20250323.1 (2025-03-23)
-----------------------

- feature: add database entries for uploaded images that was uploaded before the upload management was introduced, add new icons for it as SVG
- change: change the appearance of the sidebar toggle in its heading, add new icons for it as SVG
- change: replace a few occurences of JS-based focus setting to form fields with the corresponding HTML attributes
- change: all index columns and columns, that stores indexes as foreign keys are unsigned now, this doubles their value range
- change: new appearance of the templates for login, registration and sending forgotten passwords
- fix: added INTL time format strings to all language files according the languages own rules when known
- fix: remove the emtying of a search field when setting the focus to the field
- fix: display MySQL errors in the upgrade script, was broken before
- fix: a user list, restricted to logged-in users, was still displayed after users logout
- fix: several errors in the HTML structure in the posting form template

20241215.1 (2024-12-15)
-----------------------

- change: use modern form elements and field types, where it is appropriate
- change: set autofocus into the first input element of a form after loading the page, where it is appropriate
- change: add attribute required for form fields, that must be completed, this might prevent unnecessarily sending form contents
- change: rearrange the text input field and the formatting buttons in the posting form
- change: make the posting form behaviour better on mobile devices and for screen-reader programs
- change: rework of the popups for uploading images for use in postings and also the form for uploading avatar images
- change: reformatting of the thread tree items with breaking points to behave better in narrow viewports
- change: move the no-text icon from the end of the subject to the icon list after the metadata (author and date)
- change: set the posting date into a time element, enhances the machine readability
- fix: broken SQL query for selecting the postings of a specified category on a thread overview page
- fix: make images of type WebP appear in the uploaded images gallery in the upload images popup
- fix: restrict the sidebar in narrow viewports to its width
- fix: prevent the use of unhidden passwords for the AI training of browser vendors
- fix: added forgotten writing direction aware formatting for form elements
- fix: take the time of a posting and the time of registration of a user into account, when checking for a username collision
- fix: do not check for a username collision when an administrator or moderatior edits a posting of an unregistered forum user
- fix: remove tabindex attributes from form elements which caused a weird tab order on the posting form page

20240827.1 (2024-08-27)
-----------------------

- change: rewrite the styling (CSS) to support languages, written from right to left
- change: far better support of displaying the forum on mobile devices
- change: translate "Sidebar" to "Barre laterale" in italian language
- fix: display hours in 24-hours-format in german language
- fix: display date and time according to the syntax of the PHP DateTimeInterface in arabic language
- fix: include the column mlf2_entries.last_reply into the select, which is used in the ORDER-BY-clause
- fix: a few issues in the upgrade script

20240729.1 (2024-07-29)
-----------------------

- feature: lazy loading of images in forum entries, that are not in the viewport when loading a page with entries
- feature: add BB-codes [ins], [del] and [s], mainly intended to mark subsequent changes
- change: new upgrade script, from now on it is possible to use also version 2.4.19 as starting point of an upgrade
- change: apply database performance enhancements, this was provided by @joeiacoponi1 (thank you)
- change: enhancements and corrections in a few translations (simplified chinese, traditional chinese, danish, english, french, spanish)
- change: add new language arabic, this has been contributed by Abdul Salam in the project forum
- change: unify the use of the pagination link lists (from now on they are shown above and below the page content, where in use)
- change: set the new source URL for the MathJax CDN, that is recommended by the project
- change: remove the spam prevention method Bad Behavior because the projects seems to be dead since a longer time
- change: all tables use now the charset utf8mb4, the previously in some cases used utf8 (a.k.a. utf8mb3) will be deprecated by MySQL in one of the next server main versions
- change: use the SameSite attribute in cookies
- fix: resize the columns mlf2_useronline.ip and mlf2_logincontrol.ip to 128  bytes, mlf2_useronline.ip was 15 bytes long and caused HTTP-500-errors in case of visitors with IPv6
- fix: the mouse cursor should show up as pointer when hovering buttons
- fix: prevent passwords being sent for spell checking to Google when the content of a password field is shown as plain text
- fix: a few occurences of dates and times, that did not follow the new time formatting
- fix: add missing strings for the administration of the Bayes based spam prevention filter (B8)
- fix: correct a few errors in the HTML-structure of several templates
- fix: replace function imagerotate with imageflip in the captcha class because imagerotate failed to work in some cases
- fix: check for existince of a given category before using it in the template

20220803.1 (2022-08-03)
-----------------------

- feature: support the upload of WebP-images
- change: semantic HTML-elements on several places and modern CSS-rules (flexboxes instead floating boxes here and there)
- fix: remove outdated query partsthat tried to access column mlf2_entries.email_notifications
- fix: ensure, that suígnatures are reliably positioned under all content of a forum entry
- fix: putting the cursor into the empty search field in the page header and pressing [Enter] led to a PHP warning
- fix: (partially) When classifying entries in locked threads the get unlocked sometimes, happens more seldom now but there is a remaining corner case to inspect
- fix: wrong order of altering the column mlf2_userdata.user_email, defining the unique-key for this column before changing its charset to utf8 (without 'mb4') leads to the error of a to long index in some MySQL-versions
- fix: remove multiple definitions of unique indexes for the columns mlf2_userdata.user_name and mlf2_userdata.user_email in the installation and update scripts, the indexes does not break the structure but they are superfluous

20220529.1 (2022-05-29)
-----------------------

- feature: show an icon to admins and mods for entries that are not classified as ham or spam, if spam detection service B8 or Akismet is activated
- change: first overhaul of the main section of forum pages, affects mainly the main views (thread listings) and the administration start page
- fix: when deleting a user delete also the notification switch in the entries table, normally we use the subscriptions table for this but in forums with entries that was handled with the old subscription handling it may be possible, that there are old subscriptions for registered users left