Change Log
This file summarizes changes in WackoWiki releases. (Release Notes)
6.1
(05.10.2024) a401705 -> M26 (Release Notes)
As work on WackoWiki 6.1 is still underway, this is an incomplete list of changes.
Configuration
primary config
- new
-
db_vendor
-
- renamed
-
sql_mode_strict
tosql_mode
-
0
- server -
1
- session lax -
2
- session strict
-
-
secondary config
- new
-
email_confirmation
-
email_subject_prefix
-
forbidden_email_domains
-
jpeg_quality
-
login_notice
-
max_image_width
-
max_page_size
-
min_thumbnail_distance
-
news_structure
-
section_edit
-
session_notice
-
svg_sanitizer
-
theme_color
-
thumbnail_image_area
-
upload_allowed_exts
-
upload_translit_lower
-
xml_sitemap_gz
-
- renamed
-
default_typografica
->typografica
-
img_max_thumb_width
->max_thumb_width
-
img_create_thumbnail
->create_thumbnail
-
- removed
-
dst
-
footer_rating
-
theme config
-
custom_menus
- shows custom menu options (hide_toc, hide_index, tree_level)
constants
- new
-
COOKIE_SAMESITE
: 'Strict', 'Lax' (default), 'None' -
DB_ERROR_MODE
: 0 - silent (default), 1 - warning, 2 - exception
-
- renamed
-
UPLOAD_PER_PAGE_DIR
toUPLOAD_LOCAL_DIR
-
SQL_MODE_PERMISSIVE
toSQL_MODE_LAX
-
- removed
-
XML_HTMLSAX3
, see autoload.conf
-
conf files
Core
- added option to set the SameSite attribute, default
'Lax'
, see constants.phpWhile'Strict'
provides stronger protection against CSRF attacks, it actually prevents the user's session from being recognized when clicking a link from a notification e-mail, causing WackoWiki to start an anonymous session even if the user is already logged in.
- added thumbnail support
- use of new
str_contains()
,str_starts_with()
,str_ends_with()
functions and Match expression - use of PHP null coalescing assignment operator
??=
- added option to compress sitemap.xml
- writes
sitemap.xml
now by default into thexml/
folder-
Sitemap: https://wiki.example.com/xml/sitemap.xml.gz
-
- disables JavaScript in all SVGs via CSP directive
- COLLATE tag column case-insensitive for ORDER BY and LIKE
-
ORDER BY tag COLLATE utf8mb4_unicode_520_ci ASC
-
WHERE tag COLLATE utf8mb4_unicode_520_ci LIKE
-
- removed polls class
- uses now the IntlDateFormatter for localizing date and time formats & determining DST according the set timezone
- adds option to set DB error mode for MySQLi and PDO driver
- set missing
context
for comments and news feed - set system language for all feeds
- fixed various SQL Strict mode issues
- show file captions also in print handler
- added option to show the session termination notices (default: off)
- added option to show 'Welcome back ...' notices (default: off)
- removed
$this->user_table
assignment, usedb->table_prefix . 'user'
instead - new
$this->prefix
alias for$this->db->table_prefix
for better readability in Wacko class - fixed wrong encoding of
tag
in IRI format with mode_rewrite off - added ability to add custom message sets under
lang/custom.<lang>.php
apart from themes-
<?php $custom_translation = [ // my coffee action 'BuyMilk' => 'Milch kaufen', 'MakeCoffee' => 'Kaffee machen', 'AddSugar' => 'Zucker hinzufügen', ]
-
-
notify_watcher()
: adds direct link to diff mode in email body - removed deprecated usage of
Expires:
andPragma:
header - fixed
If-Modified-Since
conditional requests issues - fixed invalid
ETag
- fixed various
Cache-Control
header issues - re-check for anonymous user before storing cache
-
soft_login()
may setsess->user_profile
-
- removed redundant
setlocale()
call - fixed not showing read ACL
$
pages in the default menu for logged in users with no own bookmarks defined
Methods
This is only a random selection.
- added
-
number_format()
- uses intl
NumberFormatter
class
- uses intl
-
mark_read()
-
extract_sections($body, $section_id, $mode, $new_section = '')
-
get_favicon()
-
get_xml_file($name)
-
date_format($unix_time, $pattern)
- uses
IntlDateFormatter::format()
- for
$pattern
see ICU Dates and Times Format patterns
- uses
-
- modified
-
get_page_path($tag = '', $titles = false, $separator = '/', $linking = true, $root_page = false)
- added
$tag
as first argument, this changes the order of the parameters
- added
-
- renamed
-
binary_multiples()
->factor_multiples()
-
get_time_formatted()
->sql_time_format()
-
theme_*()
->theme_template($section, $mod = '')
-
- removed
- page rating related functions
Folders
- renamed folder
wacko
tosrc
Database
- added field
-
acl_id
INT(10) to acl table -
group_member_id
INT(10) to usergroup_member table -
typografica
TINYINT(1) to page table -
file_hash
CHAR(40) to file table
-
- changed field
-
timezone
toVARCHAR(100)
in user_setting table -
query
toVARCHAR(255)
in cache table -
category
toVARCHAR(255)
in category table -
category_description
toTEXT
in category table
-
- renamed field
-
lost_password_request_count
topassword_request_count
in user table -
uploaded_dt
tocreated
in file table -
modified_dt
tomodified
in file table -
name
tohash
in cache table
-
- removed field
-
footer_rating
from page table -
typografica
from user_setting table -
dst
from user_setting table
-
- added index
-
idx_user_id
to menu table -
idx_page_id
to menu table -
idx_lang
to menu table -
idx_user_id
to watch table -
idx_page_id
to watch table -
idx_file_name
to file table
-
- removed table
-
poll
-
rating
-
Database schema changes
Installer
- removed legacy code from upgrade process, requires now at least WackoWiki 6.0.22
- normalized inserting pages
- indicates now in the header that you're running a Installation or Upgrade
- adds option to set
sql_mode
anddb_vendor
Formatters
- added noinclude formatter
-
%%(noinclude) content not shown when embedded via include action %%
- The include action strips the content enclosed by the noinclude tags.
-
<!--noinclude-->
,<!--/noinclude-->
- for info boxes, navigation, etc.
-
-
- adds alternate grave accents
``
syntax to percent signs%%
syntax- allows to work around parsing conflicts, e.g. the text already contains percent signs, which may be mistakenly considered markup
- enables to wrap formatters in a formatter, e.g. wrapping a CSS highlighter in a details formatter
- fixed list regex for letters & Roman numerals
- Typografica
- corrector is now turned off by default (
typografica
) - fixed regex for quotes
- corrector is now turned off by default (
- Paragrafica: added missing
<dd>
and<dt>
wronginators - adds support for AVIF, requires LibGD 2.3.2 and PHP 8.2
- adds support for JPEG XL, LibGD and PHP support pending
- allows multi-line actions
-
{{action title="" info= ... }}
-
-
[[^ footnote]]
extended syntax for auto-generated footnote- you can mix individual denominators and auto-numbering (introductory footnotes & reference footnotes)
-
[[^§ footnote]]
allows you to define individual footnote denominators - allowed denominators are alphanumeric characters and
*, †, ‡, §, ‖, ¶
- If a already defined footnote denominator is reused, it defaults back to auto-numbering.
-
[[^#10 footnote]]
resets start for auto-numbering -
[[^c]]
an empty reference refers to an existing footnote, if there is one
Actions
- added
help=1
option to show all available parameters- optional localization is available
-
Description: Creates a link to the edit handler, if the user has the right to edit the given page. Usage: {{edit}} Options: [page="PageName"] [text="your text"]
-
hashid
: addsversion
parameter,0
links to page,1
links to version of the page (default) -
toc
: addsstart
parameter for toc numbering -
search
:- adds language filter to search in multi-language mode
- adds full words highlight mode (default), use
hl_simple=1
for ideographic languages such as Chinese and Japanese - remembers now 'Search in title only' selection across search pages
-
login
: removed check and rehash of legacy password formats -
adminupdate
: adds option to set missing MIME type for files and option to set missing file hash for uploaded files -
files
: added sorting and filter options to form, e.g.{{files form=1 options=1 all=1 media=1}}
- added
-
admin_replace
- allows administrators to do a global string find-and-replace on all wiki pages -
blog
- creates a blog in the namespace of your choice -
editsection
- mainly for internal use -
gallery
- moved from community folder -
navigation
- allows to set a backward and forward link to scroll between pages
-
- removed
-
polls
-
pollsadd
-
pollsarchive
-
pollspreview
-
mostrated
-
Handlers
-
edit
: added section editing- Users can enable an option that allows them to edit individual sections of an article (separated by headlines) instead of loading the entire article.
-
upload
:- added duplicate file notices
- allows now hyphen-minus in file name
- it adds uploaded files to file table in SQL strict mode again, changed default value for caption in file table to
DEFAULT NULL
- checks if the MIME type of the uploaded file matches the file extension (may result in false negatives)
-
moderate
: fixed unreachable sub-forum options to delete, move, rename and merge topics -
print
: sets numerated links always as absolute URL - removed
rate
handler -
new
: does no longer showsdb->root_page
as predefined cluster (as it is often mistaken as root)-
/NewPage
- new page/cluster in root -
/HomePage/NewPage
- possible, however the breadcrumbs navigation may incorrectly suggest that HomePage is the root directory
-
Themes
- assigns styles for table headers and columns via
:nth-child()
-
/* users table */ .users col:nth-child(n+1):nth-child(-n+3) { width: 5px; } .users col:nth-child(4), .users col:nth-child(n+6) { width: 20px; }
-
- CSS: uses
var()
for font-family, specific color attributions and similar - breadcrumbs: add the new first argument in the
$this->get_page_path($tag)
call in header.php-
-$tpl->breadcrumbs = $this->get_page_path(false, ' > ', true, true); +$tpl->breadcrumbs = $this->get_page_path(null, false, ' > ', true, true);
-
- provisional RTL support for
default
theme- added
[dir=rtl]
CSS classes
- added
- set visibility tag colors for access modes
- default theme
- print and source tab now takes the revision into account
- browser print mode: shows now only
<article>
content - uses
:focus-within
pseudo selector for dropdown menus
- added breeze icons for dark mode
WikiEdit
- ECMAScript 2015 Migration
- added Unicode support
- added button and icon for
[[^ footnote]]
and{{action}}
- added WikiEdit icons for dark mode
Admin panel
- pages: determines
news_levels
according to the given settings - upload:
- lets you now set other groups than
Admins
to allow file upload - added option to transliterate all file names to lowercase (new default: off)
- lets you now set other groups than
- appearance: added option to set a theme color for the address bar
- removed obsolete convert module
- sets
DEFAULT
for all fields in backup module script - restore: skips
is_executable()
check for Windows - changed format for backup.log to JSON
- You have to remove the backups you've created prior to 6.1.21 from the
file/backup/
folder or replace thebackup.log
with a new JSON formatted version.
- You have to remove the backups you've created prior to 6.1.21 from the
- added syndication module
Translations
- added Persian language
- complete Chinese Simplified translation
- uses now English as fallback for missing message sets
- now you can add message sets for your own scripts under
lang/custom.<lang>.php
- the user must create the files himself, e.g.
custom.fi.php
using$custom_translation = [];
- This way, the user's own message sets are not accidentally overwritten by updates.
- the user must create the files himself, e.g.
Packages
updated
- Bad Behaviour 2.2.25
- clipboard.js v2.0.11
- Hashids 5.0.2 (Changelog)
- php-diff 2.4.0 (Changelog)
- PHPMailer 6.9.2 (Changelog)
- PHP Thumb Library 2.3.1
- SafeHTML 1.3.13
- SimplePie 1.8.0 (Changelog)
- svg-sanitizer 0.20
- Text_Highlighter 0.8.0
- WikiEdit 3.23
Note that the changelog is usually incomplete, for a complete list of changes that went into R6.1, you can browse the Commit log, the Bug Tracker Log and ToDo list.
6.0
(10.03.2023) a31bc75 -> M37 (Release Notes)
Configuration
primary config
- changed
-
'db_charset' => 'utf8mb4',
-
'db_collation' => 'utf8mb4_unicode_520_ci',
-
- renamed
-
database_*
->db_*
-
secondary config
- new
-
upload_translit
-
source_handler
-
export_handler
-
canonical
-
base_path
-
opensearch
-
enable_counters
-
permissions_policy
-
news_structure
-
xml_sitemap_gz
-
- renamed
-
owners_can_change_categories
->categories_handler
-
- removed
-
antidupe
-
disable_tikilinks
-
outlook_workaround
-
constants
- new
-
DB_MIN_VERSION
-
- removed
-
TRANSLIT_DONTCHANGE
-
TRANSLIT_LOWERCASE
-
TRANSLIT_LOAD
-
TRANSLIT_DONTLOAD
-
conf files
Core
- converted all PHP files to UTF-8
- set
utf-8
as default encoding - removed unnecessary usage of HTML Unicode entities
- removed all
supertag
usage- with Unicode the supertag is not unique and therefor no longer suited
- removed obsolete translit functions and all related code
- removed depreciated SQL legacy functions
- set the
/u
flag for allpreg_*
regex handling Unicode - replaced all non Unicode safe functions with their
mb_
equivalent where necessary - added
utf8_
complementary multibyte string functions at lib/mb_extends/mb_extends.php - normalizes
file_name
,tag
anduser_name
to Form C (NFC) - new Unicode regex patterns
-
public const PATTERN = [ 'USER_NAME' => '[\p{L}\p{Nd}\.\-]+', 'USER_NAME_P' => '\p{L}\p{Nd}\.\-', 'TAG' => '[\p{L}\p{M}\p{Nd}\.\-\/]', 'TAG_P' => '\p{L}\p{M}\p{Nd}\.\-\/', 'UPPER' => '[\p{Lu}]', 'UPPERNUM' => '[\p{Lu}\p{Nd}]', 'LOWER' => '[\p{Ll}\/]', 'ALPHA' => '[\p{L}\_\-\/]', 'ALPHANUM' => '[\p{L}\p{M}\p{Nd}\_\-\/]', 'ALPHANUM_P' => '\p{L}\p{M}\p{Nd}\_\-\/', ];
- allows now full stop and hyphen-minus as part of the page tag, but only between alphanumeric characters as single character to not mess with the wiki syntax as well as the wiki link path, e.g.
page/sub-page/6.1/details
-
- fixed falsely setting the
description
text in page table to1
- added session heartbeat to edit and comment handler for logged in users
- implemented full support for relative path, e.g.
<a href="/wiki/WikiPage">
- the
link()
function tracks now also external links - added support for optional language tag sub-code, e.g.
en-NZ
oren-GB
- uses
<button>
element for submit, cancel and reset buttons - added option to disable hit counter
- added option for Permissions-Policy HTTP response header
-
Permissions-Policy: camera=(), microphone=(), midi=(), geolocation=(), interest-cohort=()
-
- added option to compress sitemap.xml
- writes
sitemap.xml
now by default into thexml/
folder - disables JavaScript in all SVGs via CSP directive
- COLLATE tag column case-insensitive for ORDER BY and LIKE
-
ORDER BY tag COLLATE utf8mb4_unicode_520_ci ASC
-
WHERE tag COLLATE utf8mb4_unicode_520_ci LIKE
-
- set missing
context
for comments and news feed - fixed some incompatible backports for PHP 7.3 - 7.4
Methods
This is only a random selection.
- added
-
Ut::normalize()
-
Ut::translit()
-
get_favicon()
-
- modified
-
href($method = '', $tag = '', $params = [], $addpage = false, $anchor = '', $alter = true, $encode = true, , $absolute = false)
- added
$encode
to URL-encode according to RFC 3986 - added
$absolute
to use absolute URL path
- added
-
save_page($tag, $body, $title = '', [...])
- changed order of 2nd and 3rd parameter, now
$body
is in second place
- changed order of 2nd and 3rd parameter, now
-
get_page_path($tag = '', $titles = false, $separator = '/', $linking = true, $root_page = false)
- added
$tag
as first argument, this changes the order of the parameters
- added
-
- renamed
-
slim_url()
->underscore_url()
- it is no longer used for transliteration
-
- removed
-
try_utf_decode()
-
do_unicode_entities()
-
utf8_to_unicode_entities()
-
translit()
-
get_description()
-
Folders
- renamed folder
wacko
tosrc
Database
- dropped support for MyISAM
- DB sessions are not compatible with MyISAM database engine.
- uses
utf8mb4
as default encoding - removed obsolete
supertag
field from all related tables - changed all lang fields to
VARCHAR(5)
to fit in the new language tag sub-code scheme - set collation for
tag
in page table toutf8mb4_bin
- makes the
tag
accent and case-sensitive
- makes the
- changed field
-
referrer
toVARCHAR(2083)
in referrer table -
email
toVARCHAR(254)
in user table -
query
toVARCHAR(255)
in cache table
-
- removed obsolete
hits
field from file table- the file hit counter worked only for non-image files in local namespace
Database schema changes
Installer
- adds all base pages now for all languages only once
- sets database collation to
utf8mb4_unicode_520_ci
as default - added localized default
site_name
- fixed wrong version sorting of upgrade array
Formatters
- new syntax for auto-generated footnote
[[^ footnote here]]
- moved BBcode formatter to community repo
- removed obsolete legacy image/ folder look up via
((image.png))
-
file:attachment.jpg
loads now only the local file, usefile:/attachment.jpg
for global attachments- all links to global files must have a slash after the colon
file:/
to work from now on
- all links to global files must have a slash after the colon
- removed support for Tiki-Links, e.g.
Wiki.Word
->Wiki/Word
- allows dot as part of namespace, e.g.
Release/6.0/Upgrade
- allows dot as part of namespace, e.g.
- added id for file backlink to media
- added lazy loading for images, e.g.
loading="lazy"
- fixed broken image resizing from external sources, e.g.
((https://example.com/image.png width=500 align=center))
- added details formatter
-
%%(details title="summary" open=1) Details info. %%
-
Summary
The HTML Details Element (<details>
) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label can be provided using the<summary>
element.
A disclosure widget is typically presented onscreen using a small triangle which rotates (or twists) to indicate open/closed status, with a label next to the triangle. If the first child of the<details>
element is a<summary>
, the contents of the<summary>
element are used as the label for the disclosure widget.
-
- added info formatter
-
%%(info type="warning" title="Warning") Formatter info.%%
-
Warning
Formatter info.-
type="default | error | example | important | note | question | quote | success | warning"
-
title="Title"
-
icon=1 | 0
-
-
- added chat formatter
- supports various date-username-message chat log formats
-
%%(chat type="[div|table]" user=[0|1]) chat log%%
-
User One Message text by User. 12:04 User Two Message text by Another User. Link in text https://example.com/ 12:05 User Three Message text by Yet Another User.
With
several lines
ot text!12:10
Wrapper
new arguments:
-
wrapper_type="default | error | example | important | note | question | quote | success | warning"
-
wrapper_title="Title"
-
col=1 | 0
box | shade | page | text | |
---|---|---|---|---|
type | + | + | – | - |
title | + | + | – | - |
alignment | + | –1 | –2 | + |
clear | + | + | – | – |
width | + | –1 | + | –3 |
column | – | + | – | + |
frame | + | + | – | – |
automatic line feed | + | + | + | – |
1 This option does not make sense, because the width of the block is always equal to the width of the page.
2 Only to the left.
3 If you don't put the line feeds yourself, the block width is fixed by the engine at approximately 90% of the page width.
%%(wacko wrapper="shade" wrapper_type="note" wrapper_title="Columns" col=4) content... %%
Columns
Unicode, in intent, encodes the underlying characters—graphemes and grapheme-like units—rather than the variant glyphs (renderings) for such characters. In the case of Chinese characters, this sometimes leads to controversies over distinguishing the underlying character from its variant glyphs (see Han unification).
In text processing, Unicode takes the role of providing a unique code point—a number, not a glyph—for each character. In other words, Unicode represents a character in an abstract way and leaves the visual rendering (size, shape, font, or style) to other software, such as a web browser or word processor. This simple aim becomes complicated, however, because of concessions made by Unicode's designers in the hope of encouraging a more rapid adoption of Unicode.
The first 256 code points were made identical to the content of ISO-8859-1 so as to make it trivial to convert existing western text. Many essentially identical characters were encoded multiple times at different code points to preserve distinctions used by legacy encodings and therefore, allow conversion from those encodings to Unicode (and back) without losing any information. For example, the "fullwidth forms" section of code points encompasses a full Latin alphabet that is separate from the main Latin alphabet section because in Chinese, Japanese, and Korean (CJK) fonts, these Latin characters are rendered at the same width as CJK characters, rather than at half the width. For other examples, see duplicate characters in Unicode.
Actions
- admin_utf8 - database UTF-8 conversion script
- fixed
urls_underscores
option breaks path to local file in various actions -
category
: shows now only categories with assigned records by default -
embed
: added optional parameteralign="left|center|right"
-
whatsnew
: added optional parameterpage="Cluster"
, it does not include files uploaded in global namespace -
feed
: added pagination -
adminupdate
: added option to reset legacy password hashes (only affects inactive legacy accounts used before R5.5) - renamed
-
flash
->embed
-
fileusage
->filelinks
-
- added
-
pagelinks
- the counterpart to backlinks -
blog
- creates a blog in the namespace of your choice
-
Handlers
- added option to disable the
source
handler - shows a notice in the
edit
handler, when you create a new page and a similar page already exists -
edit
: fixed selected categories were not saved with new page -
show
: added navigation between revisions -
categories
: removed auto-selection of parent category -
edit
: fixed HTML form nesting issue in preview mode -
diff
: added diff mode Merged - enables doubleclick edit now only in
show
handler -
file
: removed hit counter for local file -
remove
: added ability to remove / hide only certain revisions
Themes
- added
<link rel="canonical" href="...">
to common page header - added OpenSearch autodiscovery
- changed default font-size to 14px
- set
viewBox
and removedheight
andwidth
in all SVG files - reset nested list style in comments
-
.visuallyhidden
class hides non-visible form labels -
.no-print
class hides elements in print view
WikiEdit
- removed obsolete browser cases
- added button and icon for
<small>
- replaced 'Help' text with icon
- ECMAScript 2015 Migration
- added Unicode support
Admin panel
- added option to create user without setting email confirm token
- removed transliterate module
- stores admin panel menu in session
- data synchronization: added option to reparse all pages
- resync: fixed broken setting of resync_limit
- the panel now uses the language of the user account
- users: added option to resend email confirmation code
- backup: added missing column collation to backup script
- sets
DEFAULT
for all fields in backup module script
Translations
- all translation files are now encoded as UTF-8
- updated German, Russian and Spanish
- added support for Chinese, Hindi, Japanese, Korean and Persian
- work in progress, help from native speakers appreciated
Packages
updated
- Bad Behavior 2.2.24
- clipboard.js v2.0.11
- Hashids 4.1.0 (Changelog)
- php-diff 2.4.0 (Changelog)
- PHPMailer 6.6.2 (Changelog)
- PHP Thumb Library 2.1
- SafeHTML 1.3.12
- SimplePie 1.6.0 (Changelog)
- Text_Highlighter 0.8.0
- WikiEdit 3.21
.
Note that the changelog is usually incomplete, for a complete list of changes that went into R6.0, you can browse the Commit log, the Bug Tracker Log and ToDo list.
5.5
(31.12.2019) d2649d1 -> M17 (Release Notes)
Configuration
- disabled registration by default in config
primary config
- added
-
hashid_seed
-
sql_mode_strict
-
- removed
-
header_action
-
footer_action
-
classes_path
-
action_path
->ACTION_DIR
-
formatter_path
->FORMATTER_DIR
-
handler_path
->HANDLER_DIR
-
theme_path
->THEME_DIR
-
upload_path
->UPLOAD_DIR_GLOBAL
-
upload_path_per_page
->UPLOAD_DIR_PER_PAGE
-
upload_path_backup
->UPLOAD_DIR_BACKUP
-
cache_dir
->CACHE_DIR
-
secondary config
- renamed
-
session_expiration
->session_length
-
x_csp
->csp
-
policy_page
->terms_page
-
disable_autosubscribe
->autosubscribe
-
- new
-
allow_intercom
-
allow_massemail
-
allow_persistent_cookie
-
allowed_languages
-
anonymize_ip
-
approve_new_user
-
attachments_handler
-
default_diff_mode
-
diff_modes
-
enable_captcha
-
enable_referrers
-
ext_bad_behavior
-
footer_tags
-
help_page
-
hide_article_header
-
link_target
-
list_count
-
menu_items
-
nofollow
-
noreferrer
-
noreply_email
-
notify_diff_mode
-
notify_upload
-
privacy_page
-
pwd_admin_min_chars
-
referrer_policy
-
registration_delay
-
session_store
-
show_permalink
-
sorting_comments
-
- removed
-
x_frame_option
-
session_encrypt_cookie
-
allow_swfobject
-
revisions_hide_cancel
-
session_prefix
-
cookie_prefix
-
date_precise_format
->date_format
andtime_format_seconds
-
date_macro_format
->date_format
andtime_format
-
phpmailer
-
disable_npjlinks
-
meta_description
-
meta_keywords
-
tls_proxy
-
user settings
- new
-
sorting_comments
-
notify_minor_edit
-
notify_page
-
notify_comment
-
menu_items
-
diff_mode
-
- renamed
-
changes_count
->list_count
-
- removed
-
revisions_count
->list_count
-
constants
- new
-
ACTION_DIR
-
AP_LOCK
-
CACHE_CONFIG_DIR
-
CACHE_DIR
-
CACHE_FEED_DIR
-
CACHE_PAGE_DIR
-
CACHE_SESSION_DIR
-
CACHE_SQL_DIR
-
CACHE_TEMPLATE_DIR
-
CHMOD_DIR
-
CHMOD_FILE
-
CHMOD_SAFE
-
CONFIG_DEFAULTS
-
CONFIG_DIR
-
CONFIG_FILE
-
DAYSECS
-
FORMATTER_DIR
-
HANDLER_DIR
-
IMAGE_DIR
-
LINK_FILE
-
LINK_PAGE
-
OBJECT_FILE
-
OBJECT_PAGE
-
RECOVERY_MODE
-
SITEMAP_XML
-
SITE_LOCK
-
SQL_MODE_PERMISSIVE
-
SQL_MODE_STRICT
-
THEME_DIR
-
UPLOAD_BACKUP_DIR
-
UPLOAD_GLOBAL_DIR
-
UPLOAD_PER_PAGE_DIR
-
WACKO_ENV
-
XML_DIR
-
- renamed
-
TRAN_DONTCHANGE
->TRANSLIT_DONTCHANGE
-
TRAN_LOWERCASE
->TRANSLIT_LOWERCASE
-
TRAN_LOAD
->TRANSLIT_LOAD
-
TRAN_DONTLOAD
->TRANSLIT_DONTLOAD
-
ACTIONS4DIFF
->ACTION4DIFF
-
- removed
-
SQL_NULLDATE
-
CSP_CUSTOM
->csp_custom.conf
-
conf files
Features
- new session handler
- new URI router
- new template engine
- added auth and form token
- added Referrer-Policy HTTP header
- public registration moderation by admin
Core
- major refactoring of init system
- fixed missing slash in
LIKE
condition to clone, backup or rename cluster - using
password_hash()
andpassword_verify()
API - replaced the error prone use of KiB for upload quota with Bytes
- give all forms unique names
-
$_REQUEST
allows only$_GET
and$_POST
- uses self-closing tags (void elements) (HTML5):
<br>
<hr>
<img>
<input>
<link>
<meta>
- added config option:
allow_persistent_cookie
- added option to change the current SQL mode at runtime
-
file:attachment.ext
loads now the local file before the global file- it tries to load the local file first and only if there is none, it loads the global file
- to force the global file with the same name use
file:/attachment.ext
- added option to write sitemap only once in a given period
- automagic mod_rewrite detection
- Captcha works again out of the box
- set
<meta name="robots" content="noindex,nofollow">
for meta pages like page index, recent changes - fixed broken moderator notification
- switched diff mode for notify_watcher email to source diff
- fixed
DEFAULT
value error in save_revision function (STRICT_TRANS_TABLES SQL mode) - invalidate cache for pages with form tokens like login and registration:
$this->disable_cache = true;
inno_cache($client_only = false)
- removed deprecated X-Frame-Options in favor of the frame-ancestors directive from the CSP Level 2 specification
- saves now also page lang with revision
- unset PHP default_charset for page cache to avoid encoding disagrees
ini_set('default_charset', NULL);
- re-implemented
target="_blank"
as a user option for external links - set link to
((user:UserName UserName))
viaconfig['users_page']
in link() function - set link to
((group:GroupName GroupName))
viaconfig['groups_page']
in link() function - implemented file link tracking
file:we_track_reference_like_we_do_for_links.txt
- please notice that links inside a
%%
wrapper still get NOT parsed into the*_link
tables
- please notice that links inside a
- separate email address for sending emails
noreply_email
, Send From / No-reply address e.g.noreply@example.com
- added 'SameSite' cookie attribute:
SameSite=Strict
- removed obsolete TLS-Proxy support
- page cache takes now also user language into account
- ensure page via redirect for invalid namespace
- fixed
ensure_tls()
sends relative URL in endless loop
Methods
This is only a random selection.
- added
-
validate_email($email_address)
-
validate_form_token($form_name)
-
affected_rows($dblink, $results)
-
can_upload()
- checks if user has all rights required to upload files -
update_link_table()
-
set_user_trail($size = 5)
-
get_user_trail($titles = false, $separator = ' > ', $linking = true, $size)
-
binary_multiples_factor ($size, $prefix = true)
-
load_file_usage($file_id, $for = '')
-
set_cookie($name, $value, $persistent = false)
-
user_link($user_name, $account_lang = '', $linking = true, $add_icon = true)
-
group_link($group_name, $group_lang = '', $linking = true, $add_icon = true)
-
notify_moderator($page_id, $tag, $title, $user_name)
-
notify_watcher($page_id, $comment_on_id, $tag, $title, $page_body = '', $user_id, $user_name, $is_revision)
-
get_list_count($max, $default = 50)
-
print_pagination($pagination = '')
-
write_sitemap($write_site_map = false, $update = false)
-
form_autocomplete_off()
-
add_html()
-
get_html_addition()
-
preload_acls()
-
preload_categories()
-
preload_file_links()
-
- modified
-
http->no_cache($client_only = true)
- added option to disable also server cache for a page, default false (required for form tokens) -
form_open($form_name = '', [])
-
- renamed
-
get_translation()
->_t()
-
user_is_owner()
->is_owner()
-
load_recently_deleted()
->load_deleted()
-
load_recently_changed()
->load_changed()
-
load_recently_comment()
->load_comment()
-
get_time_string_formatted()
->get_time_formatted()
-
set_session_cookie()
->set_cookie()
-
set_persistent_cookie()
->set_cookie()
-
header()
->theme_header()
-
footer()
->theme_footer()
-
cache_links()
->preload_links()
-
track_link_to()
->track_link()
-
- removed
-
get_page_time_formatted()
->get_time_formatted($this->page['modified'])
-
Classes
- added
- see class folder ... plus add a short explanation
-
Dbal
- database abstract layer -
DbMysqli
-
DbPDO
-
Diag
-
Http
-
Installer
-
Session
-
SessionDbalStore
-
SessionFileStore
-
Settings
-
Templatest
- templatest compiler and factory -
TemplatestEscaper
-
TemplatestFilters
-
TemplatestSetter
-
TemplatestUser
-
UriRouter
- yet another uri router -
Ut
- assorted utility functions used throughout WackoWiki
- renamed
-
RSS
->Feed
-
- removed
-
Utility
->Ut
-
Folders
- added
-
_cache/session
-
_cache/template
-
action/template
-
handler/page/template
-
formatter/highlight/template
-
theme/default/appearance/template
-
- renamed
-
actions
->action
-
classes
->class
-
feeds
->feed
-
files
->file
-
formatters
->formatter
-
handlers
->handler
-
icons
->icon
-
images
->image
-
queries
->query
-
modules
->module
-
themes
->theme
-
- removed
-
db
-
Use singular for folder names, it describes a specific entity.
Template Engine
The new template engine provides support for templates, to separate visual code (HTML/CSS) from logic code (PHP).
example.php
$tpl->variable = 'Templatest is awesome.';
template/example.tpl
<p>[ ' variable | e ' ]</p>
classes
Template support is available for actions, handlers, formatters and themes.
URI router
Decouples the serve logic from Apache to be server-agnostic.
class
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment | ___________________|__ / \ / \ urn:example:animal:ferret:nose
// whole idea is to take URI path, _GET/_PUT/_SERVER data and other // meta-data, then process rules in this file sequentially, which // results in dispatched handler to process query, // and all arguments extracted from URI for further usage by those handlers // (e.g. you can extract parts of URI to _GET vars, etc.) // 'language' guide: // every line of code consists of regex which matched against URI, and // actions, all separated by whitespace. there are no possibility to // include whitespace in regex or action. // regex will be matched against URI, on success all actions executed, on failure - we go for next regex. // lines without regex is continuations for same regex, and will be executed sequentially if regex matched. // every single action can succeed or fail. if any one fails - all // variable assignments made by THIS line (even before failed action) is // discarded, and we go to next line. // two control action exist (all action line must succeed for them to act!) // _next! -- jump to next regex (skip next action lines with empty regex) // _ok! -- search terminated with success // if no _ok! executed ever - search fails and 404 emitted // that's all on control flow. // main regex: // http://php.net/manual/en/reference.pcre.pattern.syntax.php -- usual php preg_* regex syntax apply, including // delimiters and options after trailing delimiter. // convenience macros (defined by 'define' line, or supplied by wackowiki) expanded before matching. // used as {macro} - to be referenced as $1-vars then, or {var=macro} - for inline assignment. // macros cannot be used in ~-regexes // VARIABLES: // $0..$9 - fields matched by main regex. $0 is complete match, $1 and later - corresponding (...) parts // $a..$j - as $0..$9 but set by sub-matched (by ~ operator) patterns // Gname - _GET[name] // Pname - _PUT[name] // Sname - _SERVER[name] // others - local variables // predefined vars: // _tls - 1 or 0, tls session // _uri - parsed URI (it is matched against main regex, but can be changed by assignment) // _method - _SERVER[REQUEST_METHOD] // _rewrite - 1 or 0, mod_rewrite active // usage of undefined variables considered a failure (if not masked by @ in VALUE expansion, see later) // ACTIONS: // similar format used for all actions (not all fields apply for every action, and just ignored): // VARIABLE[:FUNCTION]operatorVALUE // value is a string, with expanded variables. expansions: // $0 .. $9 / $a .. $j -- see above // ${name} // @$... format can be used to mask undefined variable error // $$ - replaced by $ // $@ - replaced by @ // assignments: // FUNCTIONs can be used: tolower | toupper | int // var=$1 // var:tolower=$1 // var?=$2 -- assign if not set // var! == var=1 // dbg=$1,$2,$3 -- Ut::dbg printer ;) // pattern matching: // var~/regex/i -- sets $a..$j on success // var!~/regex/i // var~hashid:[1-9] -- hashid expansion, into $a... // var!~hashid:[1-9] // comparisons: // FUNCTIONS can be used: int -- both args converted to int before comparison // var==12 var!=12 var:int<12 var>12 var<=12 var>=12 // others: // var? -- isset // var- -- unset //define {method} name|name|name // predefined by wackowiki define {hashid} [0-9a-zA-Z]+ define {i} [0-9]+ define {h} [0-9a-fA-F]+ define {a} [0-9a-zA-Z]+ define {w} [\w]+ define {} [^/]* define {*} .*? define {**} .* //`^{hashid}$` $1~hashid:2 Gone=$a Gtwo=$b all=$0+${Gone} _ok! _tls!=0 _method~/g(e)t/i BIN:tolower=$b Pln=${_line} // desc=$0 term:tolower=MyMethod term!= Gmethod=show _ok! //`^{hashid}/{Op=*}/{Mode=**}$` // Op!~/^diff$/i &next! // $1~hashid:2 Gone=$a Gtwo=$b Gmethod:tolower=${Op} _ok! // test `^` SPATH_INFO!= _uri=${SPATH_INFO} _next! // if PATH_INFO available - use it _rewrite==0 _uri=@${Gpage} Gpage- // when rewrite mode is off - replace _uri by page _GET variable `^/*{_uri=*}/*$` // trim _uri of beginning & trailing slashes `^index\.(php|html)$` _uri= '^' route=static age=30 static=${_uri} `^robots\.txt$` _ok! `^sitemap\.xml$` _ok! age=0 `^(theme/{}/css|theme/_common|admin/style)/{}$` _ok! // css `^image/(wikiedit/)?{}$` _ok! // icons `^theme/default/icon/{}$` _ok! // icons `^js/(lang/)?{}$` _ok! // js `^file/global/{}$` _ok! // global uploads `^setup/(image|css)/{}$` _ok! unlock=1 // setup inlines `^xml/{}$` _ok! age=0 // feeds '^' _ok! _install!=0 route=install unlock=1 session=1 age- static- `^\.freecap$` _ok! route=freecap '^' engine=1 route=wacko `^admin\.php$` _ok! route=admin `^{}(/.*)?$` $1~hashid:2 page=$ax$b method=Hashid _ok! // $1~hashid:2 Gpage_id=$a Gversion_id=$b page= method=show redirect=301 _ok! //`^{i}rev{i}$` // page=$1x$2 method=Hashid redirect=301 _ok! //`^{page=}$` // method=show _ok! `^(|{page=**}/){method}(/.*?)?$`i method:tolower=$3 _ok! // catch-all `{page=**}` method=show _ok!
Database
- Database schema changes
Installer
- added option to select only a subset of the available languages with multilanguage mode on
- added option to set 'cp1257 Windows Baltic'
- set
noindex
true for all default pages except for Home and Admin page - removed obsolete secondary config settings
- use
version_compare()
scheme for upgrade, e.g.version_compare('5.5.rc', '5.5.beta2')
- fixed DEFAULT values errors for columns 'body_r' and 'body_toc' (STRICT_TRANS_TABLES SQL mode)
- added missing DEFAULT values in table creation scripts
- normalized SQL query arrays
- purges old cache files
- does not overwrites the provided '
site_name
' with the default value anymore - fixed wrong version sorting of upgrade array
Formatters
- uses new HTML5
<mark>
tag for??highlight text??
syntax - parses now audio and video links into their media tags
- added
- support for audio, video and SVG files
- option to add
rel=
noreferrer
andnofollow
to external links - added
<ignore>
tag as terminator for paragrafica -> bugs:375 - new formatter for command line:
%%(cl) %%
-
zypper dup --no-recommends
-
- anchor link to headings
- added
rel="noopener"
fortarget="_blank"
- added
file:/image.png?200x400&direct&caption
media parameters for- linking
-
direct
- to file -
nolink
- shows only the image -
linkonly
- shows only link -
meta
- to filemeta handler (default)
-
- alignment
-
right
-
left
-
center
-
- resizing
-
400x300
- width x height -
0x700
- height -
600
- width
-
- others
-
caption
- shows caption -
clear
- clears float
-
- linking
- removed
- double nested
pre
tag if highlighter class is used - redundant anchor
<a name="[p|h]1249-1">
- npjlink patterns
- icq highlighters -> chat highlighter
- double nested
- implemented
ACTION4DIFF
, sets allowed actions in DIFF - does not strip anymore whitespace (or other characters) at the beginning of a non-empty line
%% code example %%
- added new wrapper parameter
clear
-> clears float - made numbers settings accessible for Text_Highlighter:
-
%%(hl css numbers=1 start=2) code example %%
-
numbers
line numbering style:1
-> ol,2
-> table -
start
make the line numbers start at any number, rather than just 1 -
2 3
body {margin: 0; padding:5px;} .class {background:url("http://www.example.com/")}
-
- assigned custom CSS class to interwiki link for icon
- e.g.
source:master/wacko/index.php
-> source:master/wacko/index.php ->class="iw-source"
- e.g.
bugs:wacko/index.php
-> bugs:395 ->class="iw-bugs"
- add your CSS class and icon accordingly
a.iw-source .icon { background: rgba(0, 0, 0, 0) url('./../icon/repository.svg') no-repeat scroll left center; padding-left: 17px; } a.iw-bugs .icon { background: rgba(0, 0, 0, 0) url('./../icon/report-bug.svg') no-repeat scroll left center; padding-left: 17px; }
- e.g.
- fixed broken IRI link encoding
Actions
-
toc
: allow missing heading levels in table of content - fixed inconsistent use of alias 'page' for 'for' / 'root' in actions -> use
page=
from now on -
topics
: allow user to edit his forum posts per default -
include
: hide edit link in include if user has no rights to edit the included page -
menu
: fixed broken setting withsystem=1
(guests) -
files
:- fixed false reference for files_cache
- added parameter
track
(default off) - replaced parameter
picture
withmedia
-
search
: add categories in results and filter -
pageindex
: addedsystem=1
option to hide default pages -
whatsnew
: added pagination -
orphaned
: fixed broken orphaned pages selection -
adminupdate
: added routine to set missing ACL sets -
redirect
: added parametertemporary=1
to set HTTP status code to302
(new default:301
) - added templates for actions, see sub-folder
template/
- added
-
fileusage
-
hashid
-
lastedited
-
randomimage
-
- removed
-
permalinkproxy
-
permalink
-> successorhashid
-
Handlers
-
show
: fixed broken redirect after editing a page comment with active paging - renamed ms to
wordprocessor
-
diff
: added a link to switch directly between diff modes -
referrers
: added anchor for internal links -
_comments
: toggle setting that allows users to list comments either with the most recent OR the oldest comment at the top of the list of page comments -
upload
: added missing file path for local file in preview link - allowed Admin to fix e.g. typos in comments of other users
-
properties
: show keywords with related categories in page properties -
remove
: updates menu array in session after deleting a related page -
show
: moved page title (H1) from theme header to show handler- to suppress the page title you can set
hide_article_header
true in your action or theme
- to suppress the page title you can set
- added option to turn external referrers off or to show them only to administrators, off by default
- added
attachments
handler - added
filemeta
handler - added paging to
revisions
- added templates for handlers, see sub-folder
template/
Themes
- replaced GIF with PNG/SVG icons
- optimized SVG files with SVG Cleaner
- HTML5 Migration
- removed smooth scrolling JavaScript functions in default.js
-
body { scroll-behavior: smooth; }
-
- default theme
- use reverse hierarchy order in page titles
- bookmarks as dropdown
- added templates, see sub-folder
appearance/template/
- moved theme icons to default.css
- moved wiki link icons to wacko.css
- added viewport meta tag
<meta name="viewport" content="width=device-width, initial-scale=1">
WikiEdit
- localized WikiEdit
- language file folder for message sets:
js/lang/wikiedit.<lang>.js
- language file folder for message sets:
- moved toolbar icons to default.css
Admin panel
- now you must be logged in as Admin in the first place to access the admin panel
- recovery password login (in case of db corruption) -> requires to set
RECOVERY_MODE
to1
- fixed Admin Panel sets mode_rewrite always on
- fixed broken groups management
- backup & restore:
- fixed broken processing of default values with
''
and'timestamp'
- uses now the
DEFAULT
keyword to restore empty values - fixed broken backup and restore for cluster
- fixed broken processing of default values with
- added AP module
- to convert MyISAM to InnoDB
- for Bad Behavior extension
- for user approval
- to config appearance
- to config upload
- localized most of the message sets, please help to translate the English placeholders into your language
- loads separate lang files for Admin panel (see
admin/lang/ap.<lang>.php
) - data sync: added parameter to limit redirects and the number of pages per turn for re-rendering pages
Extensions
- added Bad Behavior extension
Translations
- Localization
- added new message sets
Packages
added
- Bad Behavior 2.2.23
- Hashids 3.0.0 (Changelog)
- php-diff 1.0
- clipboard.js v2.0.0
updated
- PHP Thumb Library 2.1
- Text_Highlighter 0.8.0
- SafeHTML 1.3.11
- WikiEdit 3.15
- SimplePie 1.5.4 (Changelog)
- PHPMailer 6.1.4 (Changelog)
removed
- SWFObject
Note that the changelog is usually incomplete, for a complete list of changes that went into R5.5, you can browse the Commit log, the Bug Tracker Log and ToDo list.
5.4
(12.07.2014) 3679c8e -> M3 (Release Notes)
Actions
- use nested list for table of content
- fixed broken menu session array after updating bookmarks via menu action bugs:367
- fixed broken reset password link with mode rewrite off
- exclude deleted pages from tree
- exclude deleted pages and comments from search
Configuration
- primary config
-
'database_charset' => '[latin1|cp1251|...]',
-
- constants
-
HTML_ENTITIES_CHARSET
'[ISO-8859-1|cp1251]'
-
Core
- removed depreciated MySQL API support
- PHP Version >= 5.4 patch for
htmlspecialchars()
,htmlentities()
,html_entity_decode()
- Changed default value of
default_charset
php.ini option fromISO-8859-1
toUTF-8
.
- Changed default value of
- replaced preg_replace() e modifier with preg_replace_callback
- exclude pages from XML sitemap with noindex '1'
- use field 'deleted ' to mark deleted pages, comments, files
- renamed function
cache_invalidate()
toinvalidate_page_cache()
- purges SQL queries cache after adding, renaming or deleting a page / comment
- show only the default language for selection in usersettings if multilanguage is set off
- hash the lost password and email confirm code/token in the database
- PHPMailer: added missing autoloader
Database
- added field '
cache_id
' to cache table - database: added missing default values
Installer
- added option to chose charset in DB config section (cp1251 | latin1 | latin2 | greek)
Bugfixes
- tree action: fixed broken nested list
- fixed loading other language with theme if multilanguage is set off
Handlers
- shows upload permissions only to user if uploads are allowed
- disallow page names with 'Comment[0-9]' and all sub pages
- added option to show referrers by time
Admin panel
- fixed broken backup and restore for cluster and set correct charset
- fixed deleted pages module
- show success message after saving changed config settings
- fixed broken groups management
- fixed: Error loading admin module "configupload.php"
Themes
- replaced GIF with PNG icons
Translations
- added message sets for resend the email confirmation code
- updated German, French
Packages
added
updated
- HTML_Safe to Release 0.10.1
- WikiEdit to Release 3.08
- SimplePie 1.3.1 (Changelog)
- PHPMailer 5.2.7 (Changelog)
Note that the changelog is usually incomplete, for a complete list of changes that went into R5.4, you can browse the Commit log, the Bug Tracker Log.
5.1
(17.06.2012) 686eb5b -> Final (Release Notes)
Core
- removed legacy code for R4.x versions
Installer
- removed upgrade routine for R4.x legacy versions
Bugfixes
- creates a new page not just with the default language
Formatters
-
##monospace##
now uses<code>
instead of<tt>
Handlers
- display link to show files / comments only if there is one or/and user has the right to add a new one
Translations
- updated German and French
Note that the changelog is usually incomplete, for a complete list of changes that went into R5.1, you can browse the Commit log, the Bug Tracker Log and ToDo list.
5.0
(01.12.2019) 95c416f -> M5 (Release Notes)
Database
- normalized database
Installer
- added option to chose InnoDB as MySQL database engine
Configuration
- renamed and moved wakka.config.php to config/config.php
- new available settings
-
abuse_email
-
allow_swfobject
-
allow_themes
-
allow_themes_per_page
-
allow_x11colors
-
antidupe
-
cache_sql
-
cache_sql_ttl
-
category_page
-
comment_delay
-
comments_count
-
date_format
-
date_macro_format
-
date_precise_format
-
debug_admin_only
-
debug_sql_threshold
-
default_create_acl
-
default_upload_acl
-
disable_bracketslinks
-
disable_formatters
-
disable_npjlinks
-
disable_wikilinks
-
disable_wikiname
-
edit_summary
-
email_from
-
email_priority
-
enable_comments
-
enable_email
-
enable_email_notification
-
enable_feeds
-
footer_rating
-
forum_cluster
-
forum_topics
-
groups_page
-
hide_index
-
hide_revisions
-
hide_toc
-
intercom_delay
-
ip_login_limit_max
-
keep_deleted_time
-
language
-
license
-
log_default_show
-
log_level
-
log_min_level
-
log_purge_time
-
maint_last_cache
-
maint_last_delpages
-
maint_last_log
-
maint_last_oldpages
-
maint_last_refs
-
max_login_attempts
-
minor_edit
-
name_date_macro
-
news_cluster
-
news_levels
-
noindex
-
numerate_links
-
owners_can_change_categories
-
permalink_page
-
phpmailer
-
phpmailer_method
-
policy_page
-
publish_anonymously
-
pwd_char_classes
-
pwd_min_chars
-
pwd_unlike_login
-
reverse_proxy
-
reverse_proxy_addresses
-
reverse_proxy_header
-
review
-
session_encrypt_cookie
-
session_expiration
-
session_match_ip
-
session_match_useragent
-
session_time_to_update
-
session_use_db
-
site_desc
-
site_name
-
smtp_connection_mode
-
smtp_host
-
smtp_password
-
smtp_port
-
smtp_username
-
store_deleted_pages
-
time_format
-
time_format_seconds
-
timezone
-
tls
-
tls_implicit
-
tls_proxy
-
tree_level
-
upload_quota_per_user
-
username_chars_max
-
username_chars_min
-
users_page
-
- removed settings
-
upload_max_per_user
-
Features
- added LaTeX export
- added Admin panel (beta)
- implemented PHPMailer (SMTP support)
- added page / comment title
- added change summary
- added timezone support
- support Content-Security-Policy (CSP)
- support Strict-Transport-Security header
Core
- Lots of bugfixes & enhancements, including:
- description showed next to uploaded file on the "upload successful" page.
- added line for new signature button in WikiEdit
- email notification if the ownership of a page is transfered
- implemented cache in NpjTranslit
- implemented cache for expensive SQL-queries (by default off)
- _cache folder has now the following subfolders
- /config
- /pages
- /queries
- /feeds (optional)
- merged acl and massacl handler
- merged rename and massrename handler
Actions
- added
-
adminupdate
-
authors
-
categories
-
category
-
deleted
-
feed
-
forums
-
groups
-
menu
-
mostcommented
-
mostrated
-
news
/newsinput
-
pagebreak
-
permalink
/permalinkproxy
-
polls
/pollsadd
/pollsarchive
/pollspreview
-
randompage
-
tagcloud
-
topics
-
userpages
-
users
-
whatsnew
-
- renamed
-
comments
->comment
-
recentlycommented
->commented
-
recentcomments
->comments
-
- removed aliases
-
a
->anchor
-
orphanedpages
->orphaned
-
recentchanges
->changes
-
showparagraphs
/p
->paragraphs
-
tableofcontents
->toc
-
wantedpages
->wanted
-
mywatchespages
->mywatches
-
searchfor
-
textsearch
-
topicsearch
-
- removed
-
lastusers
-
linkstree
-
Formatters
- Typografica:
- 'laquo' => 0, // angle quotes
- 'quotes' => 0,
- renamed
- comments -> comment
- extended Wacko Syntax
- footnotes
-
[[^ text of footnote here]]
-
- table header
-
#|
*|heading 1|heading 2|heading 3|*
||cell 1-1|cell 1-2|cell 1-3||
||cell 2-1|cell 2-2||
|#
-
- footnotes
Handlers
- added
-
categories
-
clone
-
purge
-
source
-
moderate
-
new
-
rate
-
review
-
latex
-
- merged
-
massacls
->acls
-
massrename
->rename
-
- renamed
-
acls
->permissions
-
files
->file
-
settings
->properties
-
Installer
- fixed usage of wrong encoding during upgrade
- sets SQL mode to permissive
Makros
- changed
::::
creates now((user:UserName UserName))
- you can set the path for user: in the interwiki.conf (e.g.
/User?profil=
orUser/
)
- you can set the path for user: in the interwiki.conf (e.g.
Translations
- Localization
- localized more remaining and new strings (Russian & English)
- renamed language files from wakka.<lang>.php to wacko.<lang>.php
- updated German, French, Russian, Greek and Spanish
- removed Moldavian
Themes
- added new default theme
- header.php
Packages
added
updated
- HTML_Safe to Release 0.10.1
- HTMLSAX3 to Release 3.0.0
- Text_Highlighter to Release 0.7.x (Changelog)
- added ABAP, HTML, JAVA, SH, VBSCRIPT
- WikiEdit to Release 3.08
- added separators
- SWFObject 2.2
- freeCap v1.4.1
Note that the changelog is usually incomplete, for a complete list of changes that went into R5.0, you can browse the Commit log.
4.3
(20.03.2011) e192369 (Release Notes)
Database
- added MySQLi support
- implementing PDO support
- yet only MySQL works, most of the core classes and actions are not abstracted from MySQL specific code
- requires vendor specific setup scripts for database
- For now we only support PDO MySQL. Other PDO dsns will be added in the near future with SQL Lite and PG SQL at the top of the list.
- yet only MySQL works, most of the core classes and actions are not abstracted from MySQL specific code
- ALTERed column
-
body
to MEDIUMTEXT in table pages and revisions -
body_r
to MEDIUMTEXT in table pages and revisions
-
Installer
- New installer has been implemented.
Configuration
- changed and new db settings
-
'database_driver" => 'mysql_legacy',
-
'database_host" => 'localhost',
-
'database_port" => ' ',
-
'database_database' => 'wacko',
-
'database_user' => 'wacko',
-
'database_password' => 'mypassword',
-
- new available settings
-
'session_prefix' => 'wacko43_',
-
'xml_sitemap' => 0,
-
'spam_filter' => 1,
- added
hide_files
andhide_comments
to config file - the hide_files and hide_comments config options now take
0
to not hide them,1
to hide them from all users and2
to hide them from non-registered users
-
- added captacha settings
-
'captcha_new_comment' => 1,
-
'captcha_new_page' => 1,
-
'captcha_edit_page' => 1,
-
'captcha_registration' => 1,
-
Features
- RSS feed for "recentcomments"
- added XML Sitemap Support
- Ability to turn XML Sitemap on and off via the config file
- AutoComplete feature — in place completion of wiki-links while pressing Ctrl+Space. MSIE users got pretty inplace menu, Mozilla users got toolbar indicator.
- redirect non logged in users to the language that suits their system as default (not yet implemented for cache)
- added optional spam bot protection: Captcha to new page, edit page, page comments and user registration.
Core
- Lots of bugfixes & enhancements, including:
- new pdf and rdf link and icon
- added support for bz2 and 7z to file links
- implemented cache in NpjTranslit
- set correct content type for graphics
- set correct content type for languages
- hide referrers page from non registered users
- hide settings page from users that don't have write permission
- now rename also associated files on filesystem when a page is renamed
- now remove also associated files on filesystem when a page is removed
- changed
wakka.php?wakka=
toindex.php?page=
- changed default ACL configuration values from
*
to$
for write and comments - Now we insert the logo image data into the uploads table during installation. The actual image file is stored in the /files directory. The homepage logo image link has been changed to point to it i.e.
file:wacko_logo.png
- Fixed: multiple installations on same domain sharing session data
- Fixed: Wanted Pages list has wrong count for referrers
- Fixed:
WantedPages
don't obey ACLs
Actions
- add
mygroups
and updated usergroups - add
nofiles
andallowfiles
- add
edit
andcomments
- add nomark attribute for backlinks
-
mostpopular
now works also for clusters and on subpages, add <fieldset><legend> and [nomark="1"] option - added "bydate" option for
mychanges
-
pageindex
by letter including result limiting, added two arguments to the PageIndex action. The first is "limit" which sets the maximum number of pages to show at any one time on each index page. The second argument is "letter" which lets you pick which pages to display based on their name starting with a specific letter. - update
flash
action to use SWFObject 2 - fixed
include
: Multiple insert of a page is now possible - added user level based outputting to the
usergroups
action i.e. see nothing if you're not logged in, see just the groups you belong to if you're a normal user and see all groups if you're an admin.
Translations
- localized more remaining and new strings (Russian & English)
- added Danish and Greek
- updated German, French, Russian, Greek, Spanish, all other languages still have English placeholders
Themes
- hide watch/unwatch icon and "powered by ..." from guests
- @import "../../common/X11ColorNames.css";
- localized search box in Tabs theme
- hide referrer tab from guests in tabs theme
- header.php
- added JS include line for autocomplete.js
- added JS include line for swfobject.js
- added JS include line for captcha.js
- include protoedit, wikiedit2, & autocomplete.js only on method==edit
- ../css/wakka.css
- added style for autocomplete button
- added new classes
- .debug
- .pageedit form textarea {width: 100%;height: 400px; }
- img {border:none;vertical-align: middle;}
- added "new" default theme, the old default theme is now called "wakka"
Packages
- update Safehtml to Release 1.3.7
- update HTMLSAX3 to Release 3.0.0
- update Text_Highlighter to Release 0.7.x (Changelog)
- added ABAP, HTML, JAVA, SH, VBSCRIPT
- update WikiEdit to Release 3.03
- added separators
- added SWFObject 2.1
- added freeCap v1.4.1
Removed Features
- delete outdated j.php action
Note that the changelog is usually incomplete, for a complete list of changes that went into R4.3, you can browse the Commit log and the Bug Tracker Log.
4.2
(27.03.2005)
- complete PHP 5.0 compatibility
- MySQL 4.1 compatibility (DB locale Latin-1 only)
- Dozen of XSS vulnerabilities fixed
- Import (accessible thru
{{import}}
action) & export (accessible from page`s properties) - Lots of bugfixes & enhancements, including:
- fixed bug on duplicated event email notification
- fixed anchor issue in InterWiki syntax
- HTML- & CSS-formatters now take care about Cyrillic characters
- more pages become XHTML valid.
- SafeHTML updated to version 1.3.1
- Source code comments are completely in English from now
- RSS autodiscovery feature added
- Actions:
-
pageindex
— Index action with paging support -
backlinks
fixed — empty links removed -
usergroups
lists contents of access groups
-
- Translations (language packs)
- Estonian
- Portuguese
- Български
- Formatters
-
icq
formatter: added History++ Miranda plug-in support - WackoFormatter: added up-to-3-digit ordered lists & coloring syntax highlight
- WackoFormatter: correct workaround of missed <table> closing tags
- introduced wrappers (try
%%(wacko wrapper=box)
) - introduced alignment in wrappers (like
%%(wacko wrapper=box wrapper_align=right)
)
-
- And stuff.
4.0
(31.07.2004)
- Fixed XSS in textsearch
- SafeHTML integrated – now you can enable
<# #>
syntax safely. No XSS =) - Text Formatting changes:
- Closing delimiter of header formatting (
==header==
) could contain any number of=
(more than 2) — there is no more need to enter exact amount of them as in opening delimiter. Fuf. - Email-like quotation formatting added (per-line
>
prefix) - Double quotes,
{{
and%%
now could be escaped with tilda (~
) - URLs are displayed as links in ICQ- and Email-highlighted text.
- Closing delimiter of header formatting (
- Moldavian and Polish translation updated.
- New action
{{admincache}}
for cache cleaning. - When
debug=1
Wacko reports, how much memory used for creating page. - Now administrator can change ACL of any page.
-
%%(box align=... width=...) text %%
- More XHTML compatibility
- Bugfixes
rc1 (14.07.2004)
- Automagical smooth scrolling between the anchors in a page.
- We're close to be fully XHTML 1.0 Transitional compliant
- Brand new static content cache for unregistered users. Can be turned on by
cache=1
config option. - Now you can turn off comments for any particular page:
{{nocomment}}
- Now you can change ACLs for whole cluster in two clicks (massacls handler).
- Option for disabling registration:
allow_registration
- Hurrah! Preview is back.
- New config option
owners_can_remove_comments
– allow page's owner to delete comments - Watches was broken for “locked” pages.
- New skin coffee by Konstantin Kolomeetz.
- New highlighter for css, diff, dtd, php, javascript, mysql, sql, python, xml.
- New highlighters: ini, html and css.
- Fixed a lot of bugs, including bug in ACLs.
- Fixed problem with Apache1 and lowercasing of page names
- Now we uses WikiEdit 2.0, with that cool toolbar
beta2 (15.04.2004)
- “Small” text syntax:
++small++
- “Definition” syntax:
(?RTFM Read The Fucking Manual?)
- “Footnotes” syntax: text
[[*]]
more text[[*1]]
[[#*]]
Footnote star
[[#1]]
Footnote digit
- More usable upload
- Global acl for rename:
rename_globalacl
- New config parameters
outlook_workaround
,disable_autosubscribe
- Bugs fixed
beta1 (27.02.2004)
- Flexible Upload feature
- Four new language packs (it, fr, pl, nl).
- Javascript-editor WikiEdit, that allows using shortcuts for quick insertion of wiki-formatting
- Multilingual support in single installation (pages can be written in different languages and thereby using different encodings — within single installation)
- Formatting enhancements:
- Wiki-formatter has now two passes. This feature keeps it from making mistakes.
- Paragrafica formatter – now HTML contains <p> in addition to <br> (e.g., it allows paragraphs auto-numbering)
- Formatters (highlighters) for SQL and Pascal or Delphi source code.
- Formatter for emails
- “Blockquote” syntax:
<[ text ]>
- New (additional) link syntax:
Actions.NewManual
- Support for
\\LAN\Path
andfile://
protocol
- Email validation & confirming
- Password changing, “Forgot password?” function
- Essential amount of refactoring “action” features (take a look on /Doc/English/Actions new syntax & capabilities). As a result, most of actions now works in a separate cluster of wikispace (for example, you could look on RecentChanges of a separate cluster)
- Individual “settings” for every page, where you can change language, META keywords and description
- New actions
-
flash
, for inserting flash movies -
hits
,mostpopular
– calculate and display the number of requests to pages
-
- User settings enhanced, in particular user can choose “theme” (design of wacko pages) from the list of preinstalled themes.
- IIS compatibility, preliminary.
- Millions of bugs fixed
3.5
(28.06.2003)
- FIRST THINGS FIRST: some XSS-holes fixed, delete-by-GET-request fixed, Information Disclosure Vulnerability bug fixed.
- Comment deletion implemented.
- Page renaming implemented.
- Comments are mailed to users “watching” the commented page now.
- Simple diff supplied in email notifications on page changes (for users “watching” the page)
- new formatters “icq”, “icq_m” & “icq_l” (ICQ, Miranda (nConvers plug-in) & ICQLite in that order) — to paste icq-logs.
Should be used as:
%%(icq_m) ... %%
( ... — paste your log here)
- Users of “Admins” group (in wakka.config.php) can delete (but not view/edit) any page.
- Usergroups & interwiki-links became case-insensitive.
- New URL syntax — underscores & first letters capital. Comments on this are appreciated.
- Various sort modes in
mypages
action - “Referrers” handler shows BackLinks also.
- New macros to inlining your WackoName and/or current date (use 4 colons or 31.07.2004 14:50 and KusoMendokusee /31.07.2004 14:50/)
- Diff enhanced one more time.
- Significant speed-up due caching of wacko-formatted text wherever it is possible.
- Tilded links gone deprecated & unsupported. Tilde (
~
) itself is used only to prevent linking to a WikiLink (like this) now. - In-page anchoring now supported due
((#Anchor_name))
syntax &{{anchor..}}
action - New syntax for semantic markup
??some text??
: some text
- Some actions look improved.
- LinksTree action is back & enhanced.
- meet new wakka.config.php options:
url_underscrores
,show_spaces
andshow_datetime
. - Time of last revision of the page is inserted in HTTP-header (search engines will feel better from now)
- Many-many errors fixed & unnecessary changes made. Backlinks which were broken in CVS for some time ago fixed too.
3.0
(30.04.2003)
- Multilingual installer
- Case-insensitive and language-insensitive page names (e.g. /Логин = /Login = /LoGin = /ЛогИн).
- Typografica — a tool to enhance text according some rules: “pretty quotes”, ©2003, ™, ® & soon.
- Links are accompanied with icons: email, foreign site link, lock (forbidden page) & key (page with limited access).
- Separate handler for MSWord export (separate CSS & <div> instead of <br> in line-breaks).
- “Themes” support — different interface designs w/o changing php-code. There is already two themes included: “default” & “tabs”.
- WackoClusters — now you can create sub-pages & group pages in so-called clusters (hierarchically classification & some adjacent features)
- Numerous caching issues that lead to significant performance improvement
- Some new actions, such as TableOfContents & unified Search
- Severe XSS problem fixed (there was a possibility to insert any HTML into double-double-quotes. Now this possibility still exists in Raw HTML?, but it is limited and can be completely turned off)
- Some extensions to formatter, such as
%%(noautolinks)...%%
& ability to create WikiLinks with spaces inside using((Page name== Text to place on page))
. - 100% correct work with mod_rewrite turned off.
- Numerous small improvements & bug fixes.
2.0
(25.03.2003)
- image insertion by posting link into the page
- enhanced “code” & “php” formatters
- foreign links & links to forbidden pages have different CSS-styles
- WakkaAliases – admin can arrange users in groups using wakka.config.php “Aliases” option
- spaces in WikiNames
- separate “print version” handler
- UserBookmarks – personal menu that user can add page links to
- page watching
- i18n, English & Russian translations
- complete support of Russian language (yes, that was a very urgent need for us)
- forget about
example.com/wiki/%D1%F2%E0%ED%E4%E0%F0%F2%FB%C2%E5%F0%F1%F2%EA%E8
— all links are converted into [a-z] range - Wakka formatter greatly enhanced:
- added table parsing
- headers syntax now compatible with OpenWiki
- bulleted/numbered list syntax now compatible with OpenWiki (old syntax still supported)
- added strikeout & center
- most of formatting features limited to one line
- tons of slight enhancements
- page deletion added
- some actions added too:
- Tree (LinksTree in R3 & greater)
- Include
- see Actions for details
- Much more powerful diff added
Wakka
Please note: The changes below are made in the dev version of Wakka and won't be available to the public until we prepare a new version (read: no public CVS, sorry), which of course will be posted here, too. So, for example, everything posted above "Released Wakka 0.1.1." won't be available until there's a bold line of text saying "Released Wakka 0.1.2." or something. Hendrik Mans
2003-02-16:
- Wakka 0.1.2 is out, containing the changes mentioned below. Sorry about the delay; a busy work schedule as well as a big server move prevented an earlier release. Thanks to everyone for sending in feedback and hacks; I'd love to include some of them in the 0.2 release.
2002-12-28:
- InterWiki links now work with non-WikiNames, i.e. links like WikiPedia:Thalamus or Google:example are autoconverted, too. CarlosZottman
2002-12-27:
- double slashes in URLs won't mess up the formatting anymore. CarlosZottman
- Revisions additionally available in RSS format now. CarlosZottman
- Wakka's XHTML 1.0 Transitional compliant now ("basic compliance" only, i.e. until the formatter is completely rewritten to intercept badly nested tags, the user still has to take care of good nesting, but as long as s/he does, it's compliant;)), and the default CSS file is valid CSS (external file now, the CSS is not hardcoded into actions/header.php anymore). CarlosZottman
- added static XML file output for RecentChanges page, updated at every page save/edit. CarlosZottman
- Actions can now have attributes. Action calls are much more fool-proof now and don't care about trailing/leading (white-)spaces anymore; the calls may look like this:
{{exampleaction}}
,{{ exampleaction }}
or{{exampleaction attribute1="test" attribute2="test0r", attribute3="test0sterone"}}
(attributes/parameters may be separated by comma or spaces or anything that's neither number nor letter; it's still two brackets as it is now, but I couldn't write them in the examples or Wakka would try to execute these example action calls). CarlosZottman
2002-12-26:
- Added global comments on/off switch in the config ("hide_comments"). CarlosZottman
2002-12-25:
- ACL change: "§" was added as placeholder for "registered users only". CarlosZottman
- Everybody give Carlo Zottmann a hug; he's now a co-developer for this little Wiki engine. :)
2002-11-26:
- Rumors of my death are greatly exaggerated! I've been super-ultra-busy the last couple of months and unfortunately didn't have any time to invest into Wakka. This isn't going to change significantly any time soon, I'm afraid, but I'll try to fix a couple of things here and there and get a 0.1.2 out within the next couple of weeks.
2002-09-14:
- The Wakka formatter now auto-links URLs.
- New formatting tag: ... for "notes" text. Looks like this!
2002-09-13:
- Fixed a minor-ish problem with the link tracking code.
- Fixed the silly comment sorting problem on RecentlyCommented.
- Fixed a text problem on the referrer pages.
- Fixed a couple of access control related problems. :|
- Added new
{{BackLinks}}
action. It inserts a list of all pages that link to the current page. Very useful for structuring your Wakka using categories.
2002-09-10:
- Released Wakka 0.1.1.
- Wakka now purges old page revisions. This is controlled by the new configuration parameter
pages_purge_time
(which should be set to the number of days old page revisions should be kept -- the default value is 90 days). -
referrers_purge_time
now uses days, not hours! If you've had it set at 24, change it to just 1. :) - Wakka doesn't use
<?= ... ?>
any longer. It was causing problems on systems with PHP'sshort_open_tag
disabled. Urk! - The web installer/updater now writes the correct configuration file if you've told Wakka to use a non-standard one. More on that, err, later. Yeah.
- Page previews now have a little "Preview" header at the top. Just in case.
- You can now lock your Wakka site by creating a file called locked in your Wakka's directory. This file should contain a cleartext password on its first line. Once the file is there, everybody who accesses your site will be asked for a password. You will have to enter the specified password and "admin" as the user name to get in. Note that this isn't supposed to be a quick & dirty password protection hack, but rather a simple way to temporarily protect your Wakka site while, say, upgrading to a new version.
2002-09-04:
- Fixed the magic_quote_gpc workaround. Oops!
- Released Wakka 0.1.
- Wakka now comes with a .htaccess file that should make "nice URLs" work automagically. (It'll still work if the .htaccess file isn't being used.)
- Hah. Hahaha. Hahahahhahaa.
- Added a workaround for the magic quote stuff. Grrrrr.
- You can now hide/display comments/comment forms. In UserSettings, you can control whether they should be displayed or hidden by default.
2002-09-03:
- New configuration variable:
navigation_links
. A piece of text that gets inserted at the top of the page by the default Header action. This way you can easily change the links at the top without overriding the complete action. (Note: may add something similar for CSS styles in a future version.) - New action/handler overriding mechanism: You can now define paths (
action_path
andhandler_path
) that will be searched, so you can specify directories containing your own stuff without getting it overwritten when upgrading to a new Wakka version. - Added two new functions:
Wakka::FormOpen()
andWakka::FormClose()
. It is heavily recommended that you use these when putting forms into actions/methods. - Added a nice web-based installer/updater. When Wakka recognizes that it's been updated or newly installed, it'll automatically fire up the thing. It'll first ask you to set your configuration values, and then install all necessary tables. In future versions of Wakka, it'll also do all necessary changes.
- Fix never-ending popup bug.
- Fixed the stupid little bug in RecentlyCommented with some stupid little code. Yes, stupid. I hate it. It's evil.
2002-08-29:
- Not saving empty comments any longer.
2002-08-28:
- Oh man. I'm really, really tired. I've been tired all day. Still, I think this has been the most productive day for Wakka so far. Today I converted Wakka from a straight-forward Wiki engine into a real website toolkit. I'm happy. (But tired.) :)
- I've kinda revamped the user login/signup page (on UserSettings on this site). You are now required to provide a password and an email address when signing up. Also, your user name has to be a WikiName. This rule may get relaxed at some point by making it a configuration option. Also, another upcoming configuration option will allow you to configure your Wakka site so users signing up will have to activate their accounts through an activation mail, for added security.
- Pages now have owners. Only the page owner can edit a page's access control lists. In the ACL editing screen, he can also pass on ownership of the page to another user. Owners are stored per-revision, so it's possible to trace back who owned the page at what time. Pages created by non-registered users are owned by nobody. Pages owned by nobody can be "claimed" by registered users. In other words: if you want to have control over your created pages, make sure you sign up for an account and log in!
- Added the ACL stuff. Good lord. It's in. It's easy to use. It rocks. See AccessControl for details.
- Now there is no comment box on pages that don't exist yet.
- Added some more comments stuff. There's now a
{{RecentlyCommented}}
action (see RecentlyCommented) that lists pages that have recently had comments attached to them. May be somewhat more useful than RecentComments. - You can now attach comments to pages. The functionality is pretty basic at the moment; I will probably change it so it only displays the comments from the last <n> days, or just the latest <n> comments. Probably the former, in order to "purge" stale discussion about possibly outdated page revisions. <n>, of course, will be a configurable value.
2002-08-27:
- You can now view a page's referres from within the last 24 hours. Actually, this number is configurable through the configuration value
referrers_purge_time
. - Oops! I neglected AlwaysTwoCharacters with the header formatting codes. I've changed them so the smallest header now uses
==...==
and the biggest======...======
. Yes, it's big! - Added a small TextSearch form in the footer action.
- InterWiki linking implemented.
- WantedPages can now display a list of pages linking to a wanted (non-existing) Wakka page.
- Added a basic plugin structure. Pages are now being handled by "handlers", which are similar to classes with methods. In a future version, it will be possible to specify a handler when creating a new page. This will open up a lot of new possibilities for Wakka plugins that go a long way beyond simple Wiki pages.
- The "header_action" and "footer_action" configuration values are now actually being used. Ahem.
- Bracketed links are now slacker friendly, supporting lazy links like
[[www.example.com]]
or[[webmaster@example.com]]
. - Added some crazy database optimizations! Wakka is finally as fast as it is supposed to be.
2002-08-25:
- Disabled auto-linking of URLs and email address, as this was causing some bad problems. :-(
- Crazy! You can now embed source code
%%like this%%
. You can specify a language after the first%%
enclosed into brackets. For example:%%(php)<?php actual PHP code ?>%%
. Right now, PHP is the only syntax highlighter available, but there will be more available soon, I'm sure. - URLs and email addresses are now HTMLified automagically.
- In unescaped text, HTML tags now can't be used any longer. < and > will automagically be converted to their corresponding HTML entities. If you really need to use raw HTML, you'll have to escape it (by putting it inside pairs of double quotes).
- When looking an old revision of a page, there now is a button that allows you to send that revision to the editor. This allows you to easily restore old revisions of pages.
- Rewrote the Wakka formatter. Now it's useful! ;)
- Added a very sexy Preview button to the editor.
- In your config file, you can now specify
meta_keywords
andmeta_description
. No need to explain what those are for, right? - New formatting tag:
##...##
formonospace text
. - Uh-oh, forced links now use
[[...]]
! Time to update some pages. :) - Actions are now
{{action}}
. - Bold, italic and underlined now use
**
,//
and__
. - You can now use
to force line breaks. This can be useful in list entries. - Wakka now checks for the existence of
$_REQUEST[]
to make sure it is running on a somewhat recent version of PHP. Without this check, it would go nuts on pre-4.1.0 versions. (Thanks GabeKruger.)
2002-08-23:
- Added formatting code for headers.
- Added formatting code for escaped text; text enclosed in double quotes will not be touched by the formatter at all. Unfortunately doesn't work over multiple lines yet.
- Clicking the page title will launch a full text search.
- Added a full text search at TextSearch.
- When you log in through UserSettings, you will be remembered through cookies. (ie, you don't have to log in again the next time to visit.)
- You can now disable the double-click editing if you don't like it. Also, it will now only work when you're viewing the page itself, not the editor or revision list.
- API stuff: added
Wakka::Redirect()
for HTTP redirects, andWakka::SetMessage()
to store a message that the next page can display (vanilla Wakka does this in a JavaScript alert box). - Added a new action:
UserSettings
-- implements basic user management. Basically, Wakka now allows you to create a user account (linked to a WikiUserName) that should, but doesn't have to be password protected. If you don't set a password, anyone can use your WikiUserName. Your name will be used on RecentChanges and maybe some other upcoming pages/actions. - Slightly revised the RecentChanges action. Inspired by WikkiTikkiTavi.
2002-08-22:
- On the revision list, you can now select two revisions that can be compared for differences.
- You can now access old versions of all pages.
- Added some more list types and normal indented text.
- Rewrote bulleted list code. Now uses tabs.
- Removed (these) links.
- Made tabs work in editor.
- First version online. :)