View source for 6.3 Change Log

===6.3===
(2026-07-18) ((commit:7e860c190bf06feb98f6207ea4d1b88365078669 7e860c1)) -> **Final** (++((/Dev/Release/R6.3/ReleaseNotes Release Notes)) | ((!/Chronological by release))++)
 
As work on WackoWiki 6.3 is ((/Dev/Release/R6.3/ToDo still underway)), this is an incomplete list of changes.

{{toc numerate=1 from="h3" to="h6"}}
 
====Features====
  * WikiEdit modernization
  * Phiki implementation
  * Composer support
  * Dark mode

====Configuration====

=====secondary config=====
  1. new
    * ##wikiedit_toolbar##



=====constants=====
  1. new



=====conf files=====
  1. changed
    1. ((source:master/src/config/autoload.conf autoload.conf))
    1. ((source:master/src/config/csp_custom.conf csp_custom.conf))
    1. ((source:master/src/config/csp.conf csp.conf))
    2. ((source:master/src/config/permissions_policy.conf permissions_policy.conf))
    2. ((source:master/src/config/router.conf router.conf))

====Core====
  * add cookie prefixes (RFC 6265bis)
  * add CSP nonces to JavaScript
  * replace Clipboard.js library with native Clipboard API script
  * move all external libs to the ((/Org/Tools/Composer Composer)) managed ##vendor## folder
  * add WackoWiki release builder (see ##community/devel/build-release.sh##)

=====Release Builder=====
((source:/master/community/devel/build-release.sh build-release.sh))
%%
Usage: ./build-release.sh [OPTIONS]

OPTIONS:
    --version=X.Y.Z    Version number for the release
                       (required unless building MASTER snapshot)

    --source=REF       Git reference to build from
                       Can be: HEAD, tag name, commit hash
                       Default: HEAD (current commit)

    --branch=NAME      Build from specific branch
                       (alternative to --source)

    --minimal          Build minimal package (src/ + vendor/)
                       This is the default

    --full             Build full package including docs
                       (src/ + vendor/ + README, LICENSE, etc.)

    --no-log           Disable logging to build.log

    -y, --yes          Auto-accept all prompts (for CI/CD)

    --help, -h         Show this help message

EXAMPLES:
    ./build-release.sh

    ./build-release.sh --version=6.2.2

    ./build-release.sh --version=MASTER

    ./build-release.sh --source=v6.2.2

    ./build-release.sh --branch=6.3 --version=6.3.0

    ./build-release.sh --version=6.2.2 --full

    ./build-release.sh --version=6.2.2 --yes

NOTES:
    - Script must be executed from repository root
    - composer.json must be present in root directory
    - Git remote should be configured (GitHub or Codeberg)
    - Script will check if local repo is up-to-date with remote
%%


=====Classes=====
  * added
    * ##CookiePrefix##

=====Methods=====
This is only a random selection.

  * 



=====Folders=====
new folder
  * ##vendor/## - is managed by ((/Org/Tools/Composer Composer)) and is only part of the distribution package

====Database====
added field
  * ##editor_height## INT(10) to user_setting table
  * ##autosave_draft## TINYINT(1) to user_setting table
  * ##dark_mode## TINYINT(1) to user_setting table
  * ##syntax_highlighting## TINYINT(1) to user_setting table
  * ##live_preview## TINYINT(1) to user_setting table
  * ##wikiedit_toolbar## VARCHAR(2048) to user_setting table


((/Dev/Release/R6.3/Database Database schema)) changes

====Installer====
  * the upgrade configuration array now takes updates to ##$wacko_config_defaults## into account and no longer relies on the configuration cache, which may be out of date
  

====Formatters====
  * fix setting ##$this->toc## and broken ##toc## generation for newly created pages
  * ((/Dev/NewFeatures/ExtendTableSyntax extend table markup))
    * ##""!| col | col |!""##
    * ##""#|(attr=value)""##
    * attributes:
      * ##""span = number""##
      * ##""side = [top|bottom]""##
      * ##""class = "alternate sticky defaultcenter col1left col4right" ""##
      * ##""type = table_style""##
    * CSS selectors
      * ##alternate## alternating row shading
      * ##sticky## for sticky header
      * ##""default[left|center|right|top|middle|bottom]""##
      * ##""colN[left|center|right|top|middle|bottom]""## N stands for the column number (1-25)
      * ##""col-N[left|center|right|top|middle|bottom]""## Align the cells in column N counting **from the right** (1-9).


====Actions====
  * ##tree##: 


====Handlers====
  * ##crfs##: dedicated handler for refreshing form tokens
  * ##rename##: add option to rename/move only selected subpages
  * fix possible invalid selector tokens for copy to clipboard
  * replace Clipboard.js library with native Clipboard API script
  * add double click edit for comments
  * add virtual ##_## prefix to handlers, e.g. ##page/_edit##

====Themes====
  * default theme
    * dark mode integration
  * wacko.css: 


====WikiEdit====
  * ES2023+ compatible
  * modularize WikiEdit into ES6 modules
  * add state management layer for WikiEdit
  * use AbortController in fetch calls to avoid memory leaks
  * refactor complex ##MarkUp()##, ##_LSum()##, ##_RSum()##, ##_TSum()## helpers 
  * add popup form for creating links and tables
  * fix autocomplete selection issue
  * new features
    * autosave functionality
    * full undo/redo stack
    * search & replace
    * fullscreen mode
    * zen (widescreen) mode
    * live preview
    * syntax highlighting
    * Markdown ↔ Wacko converter
    * option to resize the editor height
    * drag & drop + paste for images/files
    * toolbar customization
    * popup form for creating links and tables

%%
js/
├── core/                  # Foundational files (loaded very early)
│   ├── helpers.js
│   ├── init-captcha.js
│   ├── init-diag.js
│   ├── init-wikiedit.js
│   └── init-usersettings.js
│
├── editor/                # Everything related to WikiEdit
│   ├── autocomplete.js
│   ├── protoedit.js
│   ├── wikiedit.js
│   └── toolbar-customizer.js
│
├── components/            # Independent features / widgets
│   ├── upload.js
│   └── ... (future files)
│
├── utils/                 # Small utility scripts (optional)
│   ├── clipboard.js
│   └── ... 
│
└── default.js             # Main / global page behaviors (double-click edit, etc.)
%%
====Admin panel====
  * upgrade configuration array now takes updates to ##$wacko_config_defaults## into account and no longer relies on the configuration cache, which may be out of date

====Translations====
  * add translation for Croatian, Thai, Turkish, Vietnamese

====Packages====
updated
  * ((https://github.com/Bad-Behaviour/badbehaviour Bad Behaviour)) 2.3.2
  * ((/Dev/Components/Lib/Captcha freeCap)) 1.5.1
  * ((https://hashids.org/php/ Hashids)) 5.0.2 ++(((https://github.com/ivanakimov/hashids.php/blob/master/CHANGELOG.md Changelog)))++
  * ((https://github.com/WackoWiki/htmlsax3 HTMLSax3)) 4.1.3
  * ((https://github.com/JBlond/php-diff php-diff)) 2.5.2 ++(((https://github.com/JBlond/php-diff/blob/master/changelog.md Changelog)))++
  * ((https://github.com/PHPMailer/PHPMailer PHPMailer)) 7.1.1 ++(((https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md Changelog)))++
  * ((https://github.com/phikiphp/phiki Phiki)) 2.2.0
  * ((https://github.com/PHPThumb/PHPThumb PHP Thumb Library)) 2.5.0
  * ((https://github.com/WackoWiki/safehtml SafeHTML)) 1.4.3
  * ((https://simplepie.org/ SimplePie)) 1.9.0 ++(((https://github.com/simplepie/simplepie/blob/master/CHANGELOG.md Changelog)))++
  * ((https://github.com/darylldoyle/svg-sanitizer svg-sanitizer)) 0.22
  * ((/Dev/Projects/WikiEdit WikiEdit)) 3.26

See ((/Dev/Release/R6.3/Dependencies core dependencies))
----

Note that the changelog is usually incomplete, for a complete list of changes that went into R6.3, you can browse the Commit log, the ((https://wackowiki.org/bugs/changelog_page.php Bug Tracker Log)) and ((ToDo)) list.