===6.1===
(10.03.2023) ((commit:40a17a7b2475e9f5b17cf832a59cb72e1aeafcab 40a17a7)) -> **M19** ++(((/Dev/Release/R6.1/ReleaseNotes Release Notes)))++
As work on WackoWiki 6.1 is ((/Dev/Release/R6.1/ToDo still underway)), this is an incomplete list of changes.
{{toc numerate=1 from="h3" to="h6"}}
====Configuration====
=====secondary config=====
1. new
* ##max_page_size##
* ##news_structure##
* ##section_edit##
* ##session_notice##
* ##svg_sanitizer##
* ##theme_color##
* ##upload_allowed_exts##
* ##xml_sitemap_gz##
1. renamed
* ##default_typografica## -> ##typografica##
1. removed
* ##dst##
* ##footer_rating##
=====theme config=====
* ##custom_menus## - shows custom menu options (hide_toc, hide_index, tree_level)
=====constants=====
1. new
* ##DB_ERROR_MODE## : 0 - silent (default), 1 - warning, 2 - exception
=====conf files=====
1. changed
1. ((source:master/src/config/csp_custom.conf csp_custom.conf))
1. ((source:master/src/config/csp_.conf csp.conf))
1. ((source:master/src/config/autoload.conf autoload.conf))
2. ((source:master/src/config/router.conf router.conf))
====Core====
* use of new ##str_contains()##, ##str_starts_with()##, ##str_ends_with()## functions and Match expression
* use of PHP null coalescing assignment operator ##??=##
* added option to compress sitemap.xml
* writes ##sitemap.xml## now by default into the ##xml/## folder
* disables JavaScript in all SVGs via CSP directive
* COLLATE ((/Dev/Release/R6.0/BinaryTag tag column)) case-insensitive for ORDER BY and LIKE
* %%(sql) ORDER BY tag COLLATE utf8mb4_unicode_520_ci ASC %%
* %%(sql) WHERE tag COLLATE utf8mb4_unicode_520_ci LIKE %%
* removed polls class
* uses now the ((IntlDateFormatter)) for localizing date and time formats & determining DST according the set timezone
* adds ((ErrorMode option to set DB error mode for MySQLi and PDO driver))
* set missing ##context## for comments and news feed
* set system language for all feeds
* fixed various SQL Strict mode issues
* show file captions also in print handler
* added option to show the session termination notices (default: off)
* removed ##$this->user_table## assignment, use ##db->table_prefix . 'user'## instead
* new ##$this->prefix## alias for ##$this->db->table_prefix## for better readability in Wacko class
* fixed wrong encoding of tag in IRI format with mode_rewrite off
* added ability to add custom message sets under ##lang/custom.<lang>.php## apart from themes
* %%(php)<?php
$custom_translation = [
// my coffee action
'BuyMilk' => 'Milch kaufen',
'MakeCoffee' => 'Kaffee machen',
'AddSugar' => 'Zucker hinzufügen',
]
%%
=====Methods=====
This is only a random selection.
* added
* ##mark_read()##
* ##extract_sections($body, $section_id, $mode, $new_section = '')##
* ##get_favicon()##
* ##get_xml_file($name)##
* ##date_format($unix_time, $pattern)##
* uses ##IntlDateFormatter::format()##
* for ##$pattern## see ((https://unicode-org.github.io/icu/userguide/format_parse/datetime/ ICU Dates and Times Format)) patterns
* modified
* ##get_page_path($tag = '', $titles = false, $separator = '/', $linking = true, $root_page = false)##
* added ##$tag## as first argument, this changes the order of the parameters
* renamed
* ##get_time_formatted()## -> ##sql_time_formatted()##
* ##theme_*()## -> ##theme_template($section, $mod = '')##
* removed
* page rating related functions
=====Folders=====
* renamed folder ##wacko## to ##src##
====Database====
* removed table
1. ##poll##
1. ##rating##
1. added field
1. ##acl_id## INT(10) to acl table
2. ##group_member_id## INT(10) to usergroup_member table
3. ##typografica## TINYINT(1) to page table
4. ##file_hash## CHAR(40) to file table
* changed field
1. ##timezone## to ##VARCHAR(100)## in user_setting table
2. ##query## to ##VARCHAR(255)## in cache table
* renamed field
1. ##lost_password_request_count## to ##password_request_count## in user table
2. ##uploaded_dt## to ##created## in file table
3. ##modified_dt## to ##modified## in file table
* removed field
1. ##footer_rating## from page table
2. ##typografica## from user_setting table
3. ##dst## from user_setting table
* added index
1. ##idx_user_id## to menu table
2. ##idx_page_id## to menu table
3. ##idx_lang## to menu table
4. ##idx_user_id## to watch table
5. ##idx_page_id## to watch table
6. ##idx_file_name## to file table
((/Dev/Release/R6.1/Database Database schema)) changes
====Installer====
* removed legacy code from upgrade process, requires now at least WackoWiki **!!(green)6.0.22!!**
* normalized inserting pages
====Formatters====
* added **noinclude** formatter
* ##""%%(noinclude) content not shown when embedded via include action %%""##
* The include action strips the content enclosed by the noinclude tags.
* ##""<!--noinclude-->""##, ##""<!--/noinclude-->""##
* for info boxes, navigation, etc.
* Typografica: fixed regex for quotes
* adds alternate grave accents ##""``""## syntax to percent signs ##""%%""## syntax
* allows to work around parsing conflicts, e.g. the text already contains percent signs, which may be mistakenly considered markup
* enables to wrap formatters in a formatter, e.g. wrapping a CSS highlighter in a details formatter
* fixed list regex for letters & Roman numerals
* ((/Dev/Projects/Typografica Typografica)) corrector is now turned off by default (##typografica##)
* Paragrafica: added missing ##<dd>## and ##<dt>## wronginators
* adds support for AVIF, requires LibGD 2.3.2 and PHP 8.2
* adds support for JPEG XL, LibGD and PHP support pending
* allows multi-line actions
* %%{{action
title=""
info= ...
}}
%%
* ##""[[^ footnote]]""## ((Footnotes extended syntax for auto-generated footnote))
* you can mix individual denominators and auto-numbering (introductory footnotes & reference footnotes)
* ##""[[^§ footnote]]""## allows you to define individual footnote denominators
* allowed denominators are alphanumeric characters and ##*, †, ‡, §, ‖, ¶##
* If a already defined footnote denominator is reused, it defaults back to auto-numbering.
* ##~[[^#10 footnote]]## resets start for auto-numbering
* ##~[[^c]]## an empty reference refers to an existing footnote, if there is one
====Actions====
* ##hashid##: adds ##version## parameter, ##0## links to page, ##1## links to version of the page (default)
* ##toc##: adds ##start## parameter for toc numbering
* ##search##: adds language filter to search in multilanguage mode
* ##login##: removed check and rehash of legacy password formats
* ##adminupdate##: adds option to set missing MIME type for files and option to set missing file hash for uploaded files
* ##files##: added sorting and filter options to form, e.g. ##~{{files form=1 options=1 all=1 media=1}}## (still experimental)
* added
* ##admin_replace## - allows administrators to do a global string find-and-replace on all wiki pages
* ((/Doc/English/Actions/AdminReplace admin_replace beta version))
* ##editsection## - mainly for internal use
* ##blog## - ((/Doc/English/Actions/Blog creates a blog in the namespace of your choice))
* removed
* ##polls##
* ##pollsadd##
* ##pollsarchive##
* ##pollspreview##
* ##mostrated##
====Handlers====
* ##edit##: added section editing
* ##upload##: added duplicate file notices
* ##upload##: allows now hyphen-minus in file name
* ##upload##: it adds uploaded files to file table in SQL strict mode again, changed default value for caption in file table to ##DEFAULT NULL##
* ##moderate##: fixed unreachable sub-forum options to delete, move, rename and merge topics
* ##upload##: checks if the MIME type of the uploaded file matches the file extension
* ##print##: sets numerated links always as absolute URL
* removed ##rate## handler
* ##new##: does no longer shows ##db->root_page## as predefined cluster (as it is often mistaken as root)
* ##/NewPage## - new page/cluster in root
* ##/HomePage/NewPage## - possible, however the breadcrumbs navigation may incorrectly suggest that HomePage is the root directory
====Themes====
* assigns styles for table headers and columns via ##:nth-child()##
* %%(hl css) /* users table */
.users col:nth-child(n+1):nth-child(-n+3) {
width: 5px;
}
.users col:nth-child(4),
.users col:nth-child(n+6) {
width: 20px;
} %%
* CSS: uses ##var()## for font-family, specific color attributions and similar
* breadcrumbs: add the new first argument in the ##$this->get_page_path()## call in header.php
* %%(hl diff)
-$tpl->breadcrumbs = $this->get_page_path(false, ' > ', true, true);
+$tpl->breadcrumbs = $this->get_page_path(null, false, ' > ', true, true);
%%
* provisional RTL support for ##default## theme
* added ##[dir=rtl]## CSS classes
* set visibility tag colors for access modes
* default theme
* print and source tab now takes the revision into account
* browser print mode: shows now only ##<article>## content
* added breeze icons for dark mode
====WikiEdit====
* ((WikiEdit ECMAScript 2015 Migration))
* added Unicode support
* added button and icon for ##""[[^ footnote]]""##
* added wikiedit icons for dark mode
====Admin panel====
1. pages: determines ##news_levels## according to the given settings
2. upload: lets you now set other groups than Admins to allow file upload
2. appearance: added option to set a theme color for the address bar
3. removed obsolete convert module
4. sets ##DEFAULT## for all fields in backup module script
5. restore: skiped ##is_executable()## check for Windows
====Translations====
* added Persian language
* complete Chinese Simplified translation
* now you can add message sets for your own scripts under ##lang/custom.<lang>.php##
* the user must create the files on its own, e.g. ##custom.fi.php## using ##$custom_translation = [];##
* this way the users own message sets get not accidentally overwritten by updates
====Packages====
updated
* ((https://github.com/Bad-Behaviour/badbehaviour Bad Behaviour)) 2.2.25
* ((https://github.com/zenorocha/clipboard.js clipboard.js)) v2.0.11
* ((https://hashids.org/php/ Hashids)) 5.0.2 ++(((https://github.com/ivanakimov/hashids.php/blob/master/CHANGELOG.md Changelog)))++
* ((https://github.com/JBlond/php-diff php-diff)) 2.4.0 ++(((https://github.com/JBlond/php-diff/blob/master/changelog.md Changelog)))++
* ((https://github.com/PHPMailer/PHPMailer PHPMailer)) 6.8.0 ++(((https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md Changelog)))++
* ((https://github.com/darylldoyle/svg-sanitizer svg-sanitizer)) 0.16
* ((https://github.com/PHPThumb/PHPThumb PHP Thumb Library)) 2.2.1
* ((/Dev/Projects/SafeHTML SafeHTML)) 1.3.12
* ((https://simplepie.org/ SimplePie)) 1.8.0 ++(((https://github.com/simplepie/simplepie/blob/master/CHANGELOG.md Changelog)))++
* Text_Highlighter 0.8.0
* ((/Dev/Projects/WikiEdit WikiEdit)) 3.23
----
Note that the changelog is usually incomplete, for a complete list of changes that went into R6.1, you can browse the ((https://bitbucket.org/wackowiki/wackowiki/commits/all Commit log)), the ((https://wackowiki.org/bugs/changelog_page.php Bug Tracker Log)) and ((ToDo)) list.