6.3 Change Log (chronological)

(Release Notes | by topic)



Unreleased

Minor feature and bug fix release for 6.3.x series


  • WikiEdit
    1. ES2023+ compatible
    2. modularize WikiEdit into ES6 modules
    3. add state management layer for WikiEdit
    4. use AbortController in fetch calls to avoid memory leaks
    5. refactor complex MarkUp(), _LSum(), _RSum(), _TSum() helpers
    6. add popup form for creating links and tables
    7. full undo/redo stack
    8. add autosave functionality
    9. add search & replace feature
    10. add fullscreen mode
    11. add widescreen mode
    12. add live preview feature
    13. fix autocomplete selection issue
    14. add syntax highlighting
    15. add Markdown ↔ Wacko converter
    16. add option to resize the editor height
    17. add drag & drop + paste for images/files
    18. add toolbar customization
  • replace Clipboard.js library with native Clipboard API script
  • add double click edit for comments
  • add dark mode
  • move most of the external libs to the Composer managed vendor folder
  • add cookie prefixes (RFC 6265bis)
  • add CSP nonces to JavaScript
  • add virtual _ prefix to handlers, e.g. page/_edit
    • Handler names occupy the same namespace as page clusters/subpages → conflicts when users want pages named Something/edit or new handlers clash with existing clusters.
  • fix possible invalid selector tokens for copy to clipboard
  • 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
  • fix setting $this->toc and broken toc generation for newly created pages
  • add col option to wrapper page
  • add new syntax highlighter (Phiki replaces Pear highlighter)
  • remove obsolete highlighters for css, ini, html, java, pascal, sql
    • replace them %%(css) -> %%(hl css) and so on via the admin_replace action
  • add table_attr() function
  • Typography:
    • Property Old  New  Notes
      font-size 14px 1em body, p 

  • 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).
  • Translations
    • add translation for Croatian, Thai, Turkish, Vietnamese
  • Libs

Since we are overhauling a large portion of the codebase, we are aiming for PHP 8.5.

Full Changelog: Diff:6.2.1...master