View source for 6.1 Change Log

===6.1==
(01.07.2022) ((Commit:9449557885e675d004e2c2bba25b6e0b965f7944 9449557)) -> **M12**   ++(((/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
    * ##news_structure##
    * ##session_notice##
    * ##theme_color##
    * ##xml_sitemap_gz##
  1. removed
    * ##dst##
    * ##footer_rating##

=====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))

====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 turn the session termination notice on and off

=====Methods=====
This is only a random selection.
  * added
    * ##get_favicon()##
    * ##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()##
  * 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
  * 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

((/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====
  * adds support for AVIF, requires LibGD 2.3.2 and PHP 8.1
  * 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====
  * ##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 
  * added
    * ##blog## - ((/Doc/English/Actions/Blog creates a blog in the namespace of your choice))
  * removed
    * ##polls##
    * ##pollsadd##
    * ##pollsarchive##
    * ##pollspreview##
    * ##mostrated##


====Handlers====
  * ##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
  * ##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

====WikiEdit====
  * ((WikiEdit ECMAScript 2015 Migration))
  * added Unicode support
  * added button and icon for ##""[[^ footnote]]""##

====Admin panel====
  1. pages: determines ##news_levels## according to the given settings
  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

====Translations====
  * added Persian language
  * complete Chinese Simplified translation


====Packages====
updated
  * ((https://bad-behavior.ioerror.us/ Bad Behavior)) 2.2.24
  * ((https://github.com/zenorocha/clipboard.js clipboard.js)) v2.0.11
  * ((https://hashids.org/php/ Hashids)) 4.1.0 ++(((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.6.2 ++(((https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md Changelog)))++
  * ((https://github.com/PHPThumb/PHPThumb PHP Thumb Library)) 2.2.1
  * ((/Dev/Projects/SafeHTML SafeHTML)) 1.3.12 
  * ((https://simplepie.org/ SimplePie)) 1.6.0 ++(((https://github.com/simplepie/simplepie/blob/master/CHANGELOG.md Changelog)))++
  * Text_Highlighter 0.8.0
  * ((/Dev/Projects/WikiEdit WikiEdit)) 3.22

----

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.