Change Log Feed
In chronological order, the change log of the last 10 releases.
Feed Title: Release notes from wackowiki
6.3.0
WackoWiki 6.3.0 — Major Feature Release
This release represents a architectural overhaul, bringing modern JavaScript tooling, a completely rewritten editor experience, hardened security defaults, and a flexible new syntax highlighter.
Headline Features
WikiEdit: Complete Rewrite (ES2023 + ES Modules)
The editor has been modularized into ES6 modules with a dedicated state management layer and a AbortController for all fetch calls.
| Feature | Description |
|---|---|
| Autosave | Never lose drafts again; automatic background persistence. |
| Full Undo/Redo Stack | Deep history management across sessions. |
| Search & Replace | Full regex-supported find/replace inside the editor. |
| Live Preview | Real-time rendering as you type. |
| Syntax Highlighting | Code blocks highlighted inside the editor. |
| Fullscreen / Zen Mode | Distraction-free writing (widescreen centered). |
| Drag & Drop + Paste Images | Upload assets directly into the edit buffer. |
| Markdown ↔ Wacko Converter | Seamless format switching via toolbar. |
| Popup Forms | Guided modals for complex Links and Tables. |
| Toolbar Customization | Add/remove/reorder buttons via config. |
| Resizable Editor | Drag handle to adjust height. |
Dev Note: Complex legacy helpers (
MarkUp,_LSum,_RSum,_TSum) have been refactored. Autocomplete selection bugs are fixed.
Security & Platform Hardening
- Content Security Policy (CSP) Nonces: All inline scripts now use strict nonces.
- Cookie Prefixes (RFC 6265bis):
__Host-and__Secure-prefixes applied for session integrity. - Native Clipboard API: Removed
Clipboard.jsdependency; uses modernnavigator.clipboardwith robust fallback. - Fixed Invalid Selector Tokens: Patched potential broken "Copy to Clipboard" handlers.
Core Architecture & Routing
| Change | Impact |
|---|---|
Virtual _ Handler Prefix | Handlers moved to page/_edit, page/_show, etc. Fixes namespace collisions where user pages named Something/edit clashed with core handlers. |
Composer vendor Folder | All external PHP libraries moved out of lib/ into vendor/ (managed via Composer). |
| Config Array Upgrade | Configuration updates now respect $wacko_config_defaults live, ignoring potentially stale cache. |
| TOC Generation Fix | $this->toc logic repaired for newly created pages. |
UI & Theming
- Dark Mode: First-class support with OS detection (
prefers-color-scheme) and manual toggle. - Double-Click Edit Comments: Rapid inline editing for comment sections.
Syntax & Markup Extensions
Phiki Highlighter (v2.2.0)
Replaces the legacy Pear highlighter. Fast, modern, supports 350+ languages via TextMate grammars.
Migration Required: Obsolete highlighters removed (
css,ini,html,java,pascal,sql).
Action: Run theadmin_replaceaction to auto-migrate:%%(css) → %%(hl css) %%(sql) → %%(hl sql) ... etc
Table Markup Improvements
New attribute system for rows, cells, and tables.
New Syntax:
!| col | col |! # Header row with attributes #|(attr=value) # Row attributes Supported Attributes:
| Attribute | Values | Scope |
|---|---|---|
span | number | Cell/Colspan |
side | top | bottom | Header/Foot position |
class | alternate, sticky, default[left|center|right...], colN[left|right...], col-N[left|right...] | Styling hooks |
CSS Selectors Added:
.alternate— Zebra striping.sticky— Fixed header on scroll.default[left|center|right|top|middle|bottom]— Global cell alignment.colN[...]— Column N alignment (1–25).col-N[...]— Column N from right alignment (1–9)
Helper Functions
- New
table_attr()parser for the extended markup. - Wrapper
pagenow acceptscoloption.
Internationalization (i18n)
New complete translations added:
- 🇭🇷 Croatian (
hr) - 🇹🇭 Thai (
th) - 🇹🇷 Turkish (
tr) - 🇻🇳 Vietnamese (
vi)
Dependency Updates
| Library | Version | Status |
|---|---|---|
| Phiki | 2.2.1 | New (Replaces Pear) |
| Legacy Highlighters | — | Removed |
Upgrade Guide
- Run Composer:
composer install --no-dev(populatesvendor/). - Run Migrations: Execute the installer script.
- Migrate Highlighters: Run the
admin_replaceaction to convert%%(lang)→%%(hl lang). - Check Routes: If you have custom handlers or pages named
edit,show,properties, etc., verify they resolve correctly under the newpage/_*namespace. - Clear Cache: Delete
cache/config/andcache/template/(or runadmincacheaction). - Test CSP: Verify your web server passes the
Content-Security-Policyheader with nonces.
Credits
Huge thanks to contributors for the Phiki integration, the translation teams for HR/TH/TR/VI, and everyone testing the WikiEdit rewrite.
Full Changelog: 6.2.1...6.3.0
Documentation: wackowiki.org
6.2.1
Minor feature and bug fix release for 6.2.x series
- extend table markup allowing table caption, cell spans, width and cell attributes
?| table caption |?^| header | cell |||| cell ^ header ||||(attr=value) cell | cell ||- attributes:
align = [center|left|right|justify]bgcolor = [blue|red|green|x11colors]colspan = numberid = id_namerowspan = numberscope = [row|col|rowgroup|colgroup]valign = [top|middle|bottom]width = number[px|%|em|rem]
- allows now
[px|%|em|rem]withwrapper_width - change markup syntax for subscript to
,,subscript,, - make
sess->date_patterndependent on$this->user_lang - x11colors.css
- replace
.mark-[blue|green|red]with[xblue|xgreen|xred]to not overwrite default definitions in wacko.css
- replace
- miscellaneous minor fixes
- Libs
- PHPMailer 7.0.2
Full Changelog: 6.2.0...6.2.1
6.2.0
Major feature release
- SQLite support
- add
DbSqliteclass - add backup & restore in admin panel for SQLite
- rewrote SQL queries to work with MySQL as well as SQLite
- register custom regexp function to use
REGEXPwith SQLite - add functions to abstract SQL syntax and function differences between MySQL and SQLite
utc_dt()date_sub(int $value, string $interval)binary()collate()limit()
- add
- fix missing route case for CSS files in
RECOVERY_MODE - validates the namespace to prevent users from creating inaccessible pages when
mode_rewriteis enabled - add binary string search action (see community folder)
- adds exact or regex search for registered users
- installer
- add SQLite table creation script
- add
_t()function for$lang[]array- installer uses now English as fallback for missing message sets
- add mandatory installer password protection
- It is imperative to set the password for the installer in the
config/lock_setupfile.
- It is imperative to set the password for the installer in the
- add new system page with
whatsnewaction - add private system page with with the
admincacheandadmin_recoveryaction and set it as bookmark for the admin - the installer sets now bookmarks for the admin account, therefore it no longer shows the default bookmarks for the admin in the menu by default
- actions
menu: fix not showing 'Set a bookmark' formwhatsnew:- add filter for pages, comments and files
- show also edited comments in list
- no longer use
linktable formostcommentedandmostpopularaction
- miscellaneous minor fixes
- WikiEdit
- replace
varwithconstandlet
- replace
- update libs
- php-diff 2.5.0
- PHPMailer 7.0.1
- PHP Thumb Library 2.3.3
- SimplePie 1.9.0
Full Changelog: 6.1.29...6.2.0
6.1.25
Minor feature and bug fix release for 6.1.x series
- removed deprecated
Pragma: no-cacheandExpires:header - fixes
If-Modified-Sinceconditional requests issues - fixes invalid
ETag - fixes various
Cache-Controlheader issues - fixes missing height width value for external img links
- adds option to transliterate filenames to lowercase
- adds
navigationaction - adds option to set the
SameSiteattribute , see constants.php - adds option
login_noticeto hide recurring 'Welcome back' notice - adds full words highlight mode
- miscellaneous minor fixes
- update libs
- PHPMailer 6.9.1
- svg sanitizer 0.18
Full Changelog: 6.1.24...6.1.25
6.1.26
Minor feature and bug fix release for 6.1.x series
- adds
file_metaforfile_cache - uses
:focus-withinpseudo selector for dropdown - adds CSS class
btn-smandbtn-md - English message sets fixes
- initial language files for Tamil
- re-check for anonymous user before storing cache
soft_login()may setsess->user_profile
- removes redundant
setlocale()call - adds
db_vendorto primary config - installer auto-detects
db_vendor- either
mariadbormysql - uses server SQL mode for installer by default
- in
debugmode thedb_vendorcan be selected in the db config page along with the SQL mode - mainly to solve SQL mode incompatibilities between MariaDB and MySQL
- either
- renames
sql_mode_stricttosql_mode0- server (default)1- session lax2- session strict
- fixes not showing read ACL
$pages in the default menu for logged in users with no own bookmarks defined - miscellaneous minor fixes
- update libs
- svg sanitizer 0.19
- PhpThumb 2.3.1
Full Changelog: 6.1.25...6.1.26
Feed Title: Recent Commits to wackowiki:master
bulk actions execute via single queries and redirect to manage
bulk actions execute via single queries and redirect to manage Six dispatcher paths rewritten to call adapter batch methods instead of N+1 inline SQL/loops. Two latent bugs in the bulk-action form also fixed.
minor fixes
minor fixes
add Per-ResultCode breakdown to bb_summary
add Per-ResultCode breakdown to bb_summary
add message sets for BB module
add message sets for BB module
minor fix
minor fix