View source for 6.1 Release Notes

===R6.1===
(12.04.2024) ((commit:c55334f002cc4c48f2aff359454bf5f0a1995cdc c55334f)) -> **M25** ++(((/Dev/Release/R6.1/ChangeLog Change Log)))++

{{toc numerate=1 from="h3" to="h6"}}

This is a major release. 
The 6.1 release serves mainly two purposes: Implement new  PHP 8 functionality and improve GUI usability.

file:/logo_php8.svg?right&100
====Notable in this release====
  1. new PHP 8 functionality and compatibility
  2. (?RTL Right-to-left?) theme support
  3. complete Chinese Simplified translation
  1. section edit support
  2. thumbnail creation
  3. global string find-and-replace action

milestones
  * stable - 04.09.2021
  * m25 - 12.04.2024


====Download====
**((https://downloads.sourceforge.net/wackowiki/wackowiki-6.1.25.zip wackowiki-6.1.25.zip))**
  * File updated to change set ##9dd6e8a1be7b53750c3a5ef19f98c5557d5c5415##

**Repo files** (including ((source:master/community community)) folder)
  * **6.1.25 ((https://bitbucket.org/wackowiki/wackowiki/get/6.1.25.zip  zip)) ((https://bitbucket.org/wackowiki/wackowiki/get/6.1.25.tar.gz gz)) ((https://bitbucket.org/wackowiki/wackowiki/get/6.1.25.tar.bz2 bz2))**


Clone repo (((/Org/Tools/Repository see Repository)))
%%git clone -b 6.1.25 https://github.com/WackoWiki/wackowiki.git%%

====Upgrade path====
((/Dev/Release/R6.1/Upgrade R6.0 –> R6.1)) (requires **PHP >= 8.0**)
  * requires at least WackoWiki **!!(green)6.0.22!!**

Please read the **((/Dev/Release/R6.1/Upgrade upgrade notices))** carefully.

====Installation====
((/Doc/English/Installation Installation guide))

=====Requirements=====
((/Dev/Release/R6.1/Dependencies requires now))
  * PHP 8.0 - 8.3 (PHP 8.2 recommended)
  * PHP Extensions
    * bcmath, ctype, gd, iconv, intl, json, mbstring, openssl, pcre, spl
  * Apache >= 2.4 / Nginx
    * mod_rewrite (recommended)
  * SQL database system, one of:
    * MariaDB >= 10.4
    * MySQL >= 8.0

Step by step as **((/Doc/English/Installation/Screenshots Installer Screenshots))**.

Preparing the Database for Installation
%%(sql)CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;%%


=====File Permissions=====
((/Doc/English/FilePermissions Change the permissions)) on the following files and directories to be writable

Example:
##touch config/config.php##
##chmod 666 config/config.php config/lock config/lock_ap##

##chmod 0755 _cache/config/ _cache/feed/ _cache/page/ _cache/query/   _cache/session/ _cache/template/ file/backup/ file/global/ file/perpage/ file/thumb/ file/thumb_local/ xml/##

reset after installation / upgrade
##chmod 644 config/config.php##

=====Path for session values=====
Check if the provided path for ##CACHE_SESSION_DIR## is correct. The default value is ##/tmp## but may vary in your environment. 
Furthermore, you can change this folder to a ((/Dev/Components/SessionHandling custom folder)) for the application (e.g. ##_cache/session##).

**constants.php**: 
%%const CACHE_SESSION_DIR				= '/tmp';%%

=====RewriteBase=====
If your webserver's URLs are not directly related to physical file paths, you will need to use ((https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase RewriteBase)) in every .htaccess file where you want to use ((/Doc/English/ModRewrite RewriteRule directives)). 
%%
RewriteBase /folder/
%%

=====New config settings=====
Please check the ((/Dev/Release/R6.1/ChangeLog Change Log)) for more details.

====((/Doc/English/AdminPanel Admin panel))====
  * to login define the ##recovery_password## in the config.php file first
    1. call the ##""{{admin_recovery}}""## action as Admin and generate the password hash for your recovery_password
    2. add the password hash: ##'recovery_password' => 'add hash here',##
  * Don't forget to delete the _cache/config/config.php afterwards.
  * **you must be logged in as member of the Admin group** in the first place **to access the admin panel**
  * call yourwiki/admin.php
  * enter your recovery_password

If your Admin panel gets locked reset **config/lock_ap** from ##1## to ##0##

====Themes====
{{anchor href="theme_migration"}}
If you want to keep your layout, you have to use a program like Meld or WinMerge to merge your CSS and other theme files with the new files in the folder **((source:master/src/theme/default wacko/theme/default))**.

You can write or adapt your theme also without using the ((/Dev/Projects/Templatest/Usage template engine)).

-> ((/Dev/Themes Themes))
-> ((/Doc/English/ThemeGuide Theme guide with example templates))

====Extensions====
Action
  * ((/Dev/PatchesHacks/MassRegexReplace Mass Regex Replace))
  * ((/Dev/PatchesHacks/Gallery Gallery))

Formatter
  * ((/Dev/PatchesHacks/GeSHi GeSHi Code Highlighting))
  * ((/Dev/PatchesHacks/Highlight.js Highlight.js))
  * ((/Dev/PatchesHacks/CSV CSV))
  * ((/Dev/PatchesHacks/MathJax MathJax))
  * ((/Dev/PatchesHacks/Timeline Timeline))

====Backwards Compatibility====
We dropped compatibility code for older PHP and MySQL versions. R6.1 requires at least PHP 8.0 and MariaDB 10.4  or MySQL 8.0. To use WackoWiki with older PHP or MySQL versions, use the older branch of ((/Dev/Release/R6.0/ReleaseNotes 6.0.x releases)), which you can find on the ((/Download/LegacyVersions download page)). 

====Known Issues====
All ((ToDo known issues)) are tracked in our ((https://wackowiki.org/bugs/ Bug Tracker.))
  1. **MySQL 8**: Remove the ##NO_AUTO_CREATE_USER## in your constants.php, e.g.
    %% const SQL_MODE_PERMISSIVE			= 'NO_ENGINE_SUBSTITUTION'; %%
    Otherwise it will throw a Fatal error: Uncaught mysqli_sql_exception: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' in /setup/install-database.php:180
  1. ((/Dev/Release/R6.0/UnicodeIssues/ngramFull-TextParser ngram Full-Text Parser)), used to support Chinese, Japanese, Korean word segmentation is currently only available for MySQL.
  1. **((/Dev/Release/R6.0/ToDo/SessionTimedOut Session duration issue))** - FIXED partially
  2. WikiEdit Autocomplete selection ain't working (help needed, can someone fix it)
  1. Missing route cases (needs fix)
    2. CSS files in RECOVERY mode

====Developers====

=====Debug functions=====
  1. to write a parameter in the debug log
    * ##Ut::dbg('debug_variable', $parameter);##
  1. add debug output to DEBUG file and popup-window in browser
    * ##Diag::dbg($parameter);##
    * to highlight the debug output in the console add ##'[BLUE|GOLD|ORANGE|RED]'## as the first argument 
      * e.g. ##Diag::dbg('GOLD', $parameter);##

In both cases it writes the ##$parameter## to the log in the main directory ##src/DEBUG## when the config ##debug## is enabled. 
Be aware the log isn't emptied automatically. **Ensure** that the file ##src/DEBUG## can be created and is writable.
%%
touch DEBUG
chmod 0664 DEBUG
%% 

====Documentation====
  * URL: https://wackowiki.org
  * ((/Org/Tools/Repository Repository)) ##~https://github.com/WackoWiki/wackowiki.git##
  * Documentation https://wackowiki.org/doc/

====What's Planned====
WackoWiki is pretty usable now. There are of course few peculiarities and bugs, some old ones and some new ones which are waiting to be fixed. Now the main task is to make the Wiki engine better and reduce bugs.

Apart from that following features are ((/Dev/Roadmap planned to be implemented)):
  1. extended ACLs
  1. WackoFormatter rewrite
  1. responsive device-agnostic theme
  1. improve GUI usability
  2. filter for lists
  1. faceted search
  1. archive table
  1. guest settings

====Contribute====
Those interested in following and contributing to the development of WackoWiki can check out the repository, and participate in the discussions on the WackoWiki Development and contribute patches. Policies and the current state of the project and plans are available in the ((/Dev Dev section)) of the wiki.

  * ((/Org/Tools/Repository Repositories))
  * ((https://wackowiki.org/bugs/ Bug Tracker))
  * ((/Forum Forum))
  * ((/Dev/Translations Translations))
  * ((/Dev/Release/R6.1/ToDo ToDo))

====Feedback====
{{comment page="/Dev/Release/R6.1/ReleaseNotes/" text="Leave a comment here"}} if something is not clear or you have further questions.

====Credits====

  * ((user:Elar9000 Elar9000)) -- developer, translation, support
  * ((user:EoNy EoNy)) -- translation, documentation, screenshots, support
  * ((user:brianko brianko)) - English translation
  * ((user:EvaggelosBalaskas Evaggelos Balaskas)) - Greek translation
  * ((user:qianmengnet qianmengnet)) - Chinese Simplified translation
  * ((user:yanjiew 王彥傑)) - Chinese Traditional translation
  * João Sefhriloff - Português translation