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
- alpha1
- Alpha is for preview purposes only.
- it is intended to be a technology preview aimed at early adopters, testers, translators
- Do not use alpha releases on production systems!
- alpha2
- beta1
- Beta releases are appropriate for use with new development. Within beta releases, the features and compatibility should remain consistent. However beta releases may contain numerous and major unaddressed bugs.
- beta2
- is available for testers, extension developers, and other people who are curious to follow the development of the next release
- rc1
- Release Candidates are believed stable, having passed all internal testing, and with all known fatal runtime bugs fixed. However this release has not been in widespread use long enough to know for sure that all bugs have been identified.
- wait to declare something RC until code stabilizes and critical bugs are fixed
- feature freeze -> testing and debugging ->
- This release is ready for widespread testing, and we’re encouraging everyone to download and test the beta releases. Please run the release through your usual routine, and let us know about any bugs or other issues that you find. Remember that this is a beta release, and is not suitable for use on production systems.
- For translators, this is the first call to update the translations to the current set of strings, which should not change much until final.
- Release Candidates are believed stable, having passed all internal testing, and with all known fatal runtime bugs fixed. However this release has not been in widespread use long enough to know for sure that all bugs have been identified.
- rc2
- final
- also know as Production releases, are stable, having successfully passed through all earlier release stages and believed to be reliable, free of serious bugs, and suitable for use in production systems
- All users are advised to upgrade.
- m1
- Maintenance release
2. Issue tracker
- update issues in bugtracker
- set release date
3. Change Log
Feed Title: Release notes from wackowiki
6.3.0
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.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.0 | 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
4. Release Notes
- Upgrade from previous versions
- Component compatibility
- Configuration
- Highlights
- Call for Localization
- If you can help with languages other than English and German, it would be appreciated.
- Testing
- Most Annoying Bugs
- While many bugs have been eliminated since the last beta, we still have a few remaining (and new) bugs that testers should be aware of:
- Most Annoying Bugs
- Themes
- Hacks / Patches
5. Build packages
- tarball
- zip
- name the folder within the package according the release
- wacko.r6.0.38
- wacko.r6.2.1
- wacko.r7.0.1
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:
- On your local machine (or CI), run:
composer install --no-dev --optimize-autoloader
- Create a clean distribution archive that includes everything users need.
- 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.
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
6. Repository
- tag the release
- branch final release
7. Update Files
- Latest development version
- Latest released testing version
- Latest released stable version
7.1. Update file references
wackowiki-6.2.1.zip (2.9 MiB)
Development version
(see Repository)
Beta version
wackowiki-6.3.0-beta8.zip
8. Release notices and announcements
- SF.net file release system's e-mail notices
- Announcement -mailing list
- SF.net Project news
- Draft the new release on GitHub
- Web pages
- Feed