WackoWiki: Release Process

https://wackowiki.org/doc     Version: 63 (06/22/2026 13:53)

Release Process

Release early, release often. This is a mantra from free software communities. It's accurate. You want to do your design work in the open, and get critical feedback as early as possible.


1. Stages


2. Issue tracker

3. Change Log

XML

Feed Title: Release notes from wackowiki[link1]


6.3.0[link2]

WackoWiki v6.3.0 — Major Feature Release

This release represents a massive 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.js dependency; uses modern navigator.clipboard with 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 the admin_replace action 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 page now accepts col option.

Internationalization (i18n)

New complete translations added:

  • 🇭🇷 Croatian (hr)
  • 🇹🇭 Thai (th)
  • 🇹🇷 Turkish (tr)
  • 🇻🇳 Vietnamese (vi)

Dependency Updates

Library Version Status
Phiki 2.2.0 New (Replaces Pear)
Legacy Highlighters Removed

Upgrade Guide

  1. Run Composer: composer install --no-dev (populates vendor/).
  2. Run Migrations: Execute the installer script.
  3. Migrate Highlighters: Run the admin_replace action to convert %%(lang)%%(hl lang).
  4. Check Routes: If you have custom handlers or pages named edit, show, properties, etc., verify they resolve correctly under the new page/_* namespace.
  5. Clear Cache: Delete cache/config/ and cache/template/ (or run admincache action).
  6. Test CSP: Verify your web server passes the Content-Security-Policy header 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

4. Release Notes

5. Build packages


Set back error reporting level in constants.php
const PHP_ERROR_REPORTING			= 0;		


Set back error SQL mode to server in config.php
'sql_mode' => '0',		


Workflow:
  1. On your local machine (or CI), run:
    composer install --no-dev --optimize-autoloader		

  2. Create a clean distribution archive that includes everything users need.
  3. Upload the resulting .zip / .tar.gz as an asset to a new GitHub Release.

5.1. Create the Distribution Package

Place the script in your project root folder and run it. Ensure you've installed Composer[link3].

Basic usage (default):
./build-release.sh --version=6.3.0 - pulls HEAD of master branch
Build from tag:
./build-release.sh --version=6.3.0 --source=6.3.0 - pulls version with 6.3.0 tag
Build from commit hash:
./build-release.sh --version=6.3.1-dev --source=b0061efba26b793a044f0af4bd8611ce92244760 - pulls version with the provided hash

build-release.sh[link4]

6. Repository

7. Update Files

7.1. Update file references

wackowiki-6.2.1.zip[link5] (2.9 MiB)


Development version
(see Repository[link6])


Beta version
wackowiki-6.3.0-beta8.zip


8. Release notices and announcements