R6.0 Change Log

6.0

(15.03.2020) df22bdc -> M5 (Release Notes)



1. Configuration

1.1. primary config

  1. changed
    1. 'database_charset' => 'utf8mb4',
    2. 'database_collation' => 'utf8mb4_unicode_520_ci',

1.2. secondary config

  1. new 
    • upload_translit
    • source_handler
  2. removed
    • antidupe
    • disable_tikilinks

1.3. constants

  1. new 
    • DB_MIN_VERSION
  2. removed
    • TRANSLIT_DONTCHANGE
    • TRANSLIT_LOWERCASE
    • TRANSLIT_LOAD
    • TRANSLIT_DONTLOAD

1.4. conf files

  1. autoload.conf
  2. router.conf
  3. csp_custom.conf
  4. csp_defaults.conf

2. Core

  • converted all PHP files to UTF-8
  • set utf-8 as default encoding
  • removed usage of HTML Unicode entities
  • removed all supertag usage
  • removed depreciated SQL legacy functions
  • removed obsolete translit functions and related code
  • set the /u flag for all preg_* regex handling Unicode
  • replaced all non Unicode safe functions with their mb_ equivalent where necessary
  • normalizes file_name, tag and user_name to Form C (NFC)
  • new Unicode regex patterns
    •   $wacko_language['USER_NAME']		= '[\p{L}\p{Nd}\-\.]+';
        $wacko_language['UPPER']		= '[\p{Lu}]';
        $wacko_language['UPPERNUM']		= '[\p{Lu}\p{Nd}]';
        $wacko_language['LOWER']		= '[\p{Ll}\/]';
        $wacko_language['ALPHA']		= '[\p{L}\_\-\/]';
        $wacko_language['ALPHANUM']		= '[\p{L}\p{M}\p{Nd}\_\-\/]';
        $wacko_language['ALPHANUM_P']		= '\p{L}\p{M}\p{Nd}\_\-\/';
  • fixed falsly setting the description text in page table to 1

2.1. Methods

This is only a random selection.

  • added
    • Ut::normalize()
    • Ut::translit()
  • modified
    • href($method = '', $tag = '', $params = [], $addpage = false, $anchor = '', $alter = true, $encode = true)
      • added $encode to URL-encode according to RFC 3986
  • removed
    • try_utf_decode()
    • do_unicode_entities()
    • utf8_to_unicode_entities()
    • translit()

3. Database

  • dropped support for MyISAM
    • DB sessions are not compatible with MyISAM database engine.
  • uses utf8mb4 as default encoding
  • removed obsolete supertag field from all related tables
  • Database schema changes

4. Installer

  • adds all base pages now for all languages only once
  • sets database collation to utf8mb4_unicode_520_ci

5. Formatters

  • moved BBcode formatter to community repo
  • removed obsolete legacy image/ folder look up via ((image.png))
  • removed support for Tiki-Links, e.g. Wiki.Word -> Wiki/Word
  • fixed broken image resizing from external sources, e.g. ((http://example.com/image.png width=500 align=center))
  • added formatter info box :
    • %%(info type="warning" title="Warning") Formatter info.%%
    • Warning

      Formatter info.
      1. type="default | error | example | important | note | question | quote | success | warning"
      2. title="Title"
      3. icon=1 | 0

5.1. Wrapper

new arguments:

  1. wrapper_type="default | error | example | important | note | question | quote | success | warning"
  2. wrapper_title="Title"
  3. col=1 | 0

box  shade page text
type + +
title + +
alignment + 1 2 +
clear + +
width + 1 + 3
column + +
frame + +
automatic line feed + + +

1 This option does not make sense, because the width of the block is always equal to the width of the page.
2 Only to the left.
3 If you don't put the line feeds yourself, the block width is fixed by the engine at approximately 90% of the page width.


%%(wacko wrapper="shade" wrapper_type="note" wrapper_title="Columns" col=4) content... %%

Columns

Unicode has the explicit aim of transcending the limitations of traditional character encodings, such as those defined by the ISO 8859 standard, which find wide usage in various countries of the world but remain largely incompatible with each other. Many traditional character encodings share a common problem in that they allow bilingual computer processing (usually using Latin characters and the local script), but not multilingual computer processing (computer processing of arbitrary scripts mixed with each other).

Unicode, in intent, encodes the underlying characters—graphemes and grapheme-like units—rather than the variant glyphs (renderings) for such characters. In the case of Chinese characters, this sometimes leads to controversies over distinguishing the underlying character from its variant glyphs (see Han unification).


In text processing, Unicode takes the role of providing a unique code point—a number, not a glyph—for each character. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size, shape, font, or style) to other software, such as a web browser or word processor. This simple aim becomes complicated, however, because of concessions made by Unicode's designers in the hope of encouraging a more rapid adoption of Unicode.


A tiny part of the Unicode table


The first 256 code points were made identical to the content of ISO-8859-1 so as to make it trivial to convert existing western text. Many essentially identical characters were encoded multiple times at different code points to preserve distinctions used by legacy encodings and therefore, allow conversion from those encodings to Unicode (and back) without losing any information. For example, the "fullwidth forms" section of code points encompasses a full Latin alphabet that is separate from the main Latin alphabet section because in Chinese, Japanese, and Korean (CJK) fonts, these Latin characters are rendered at the same width as CJK characters, rather than at half the width. For other examples, see duplicate characters in Unicode.

6. Actions

7. Handlers

  • added option to disable the source handler

8. Themes

  • added link rel="canonical" to common page header
  • changed default font-size to 14px
  • set viewBox and removed height and width in all SVG files

9. WikiEdit


10. Admin panel

  1. removed transliterate module

11. Translations


12. Packages


updated




Note that the changelog is usually incomplete, for a complete list of changes that went into R6.0, you can browse the Commit log, the Bug Tracker Log and ToDo list.