6 - CoreSplit and cutting a few older features
7 - GetText support/emulation replaces ewiki_t()
8 - full security review (htmlentities on bare $action and page $titles)
9 - getting rid of JavaScript for image uploads
17 * parts of the documentation have been moved into the new doc/ directory and
18 new information snippets have been added: AdminTasksSql, LinkSpammers,
19 MagicFields, SetupTool, Acronyms, ...
20 * all regular plugins are now accompanied by .meta description files for
21 more efficient management, dependency resolution and other purposes, a
22 description of the simplistic format is in [doc/PluginMetaData]
23 * three plugins (downloads, subpage) had to be renamed for filename uniquenes
24 * the older SetupWizard has been adapted
25 * a new console setup tool has been added, for faster config.php creation
26 and monsterwiki plugin melting
27 * the "ewiki.ini" scheme has been introduced for simpler configuration
28 * many syntax and typo fixes
29 * new fragments/ (printhint, head/core)
30 * clickableimages patch documented and fixed,
31 * new plugins: ini, diff_gnu_safemode (Menno Lodder), manpage export,
32 userdb_xprofile, ext_multi (database-multiplex), ext_subwiki (database
33 fragmentation and API level), debug/xerror, helptext, msg, limitlinks,
34 anacron, captcha, feedparse, xml, http, http_cache, sync, libxprofile,
35 webdav, upgrade.php (PHP5 compatibility/emulation), a_nofollow,
36 new_nofollow, link targets, tabel_colspan (Marc Schiffbauer), AddComment,
37 InlineFrame, FarInclude, RegisterSpam mpi, Syndicate (uses new feedparse
38 backend), antibot_captcha, anitbot_checkbox and other anti-spam triggers,
39 arrowadmin (Menno Lodder), pluginmetadata
40 * new _ARCHIVE flag introduced (yet unused)
41 * fixes in plugins: userdb_sql, toc, tex (Francois), email_protect (multi-
42 engaging now prevented)
43 * SqlQuery and BrainFuck mpi plugins are disabled again, escaping and
44 back-conversion were added in the mpi core
45 * multiple fixes to "db/any" for Postgres compatibility (a.o. Josh More/
47 * flat_files database backend had a non-critical fixed (redundant content:)
48 * introduction of _config[ua] string and X-Server response header
49 * the cron scripts have been extended and partly fixed
50 * t_revert was corrected
51 * introduced InterWiki plugins for neighbor pages, near links, sisterpages
52 (all using the metadb data file)
53 * completed first minimal WebDAV interface
54 * splitting of the ewiki.php core script (future ver) has been prepared
55 * internal changes: $title can be overriden from _interwiki() link tweak
56 plugins, interxhtml URL checking fixed, _script_url() has been tweaked
57 again (jbw), format bock 0x0040 flag handling fixed (Marc Schiffbauer),
58 fix for random {flags} clearing in _PROTECTED_MODE, slightly larger
59 default for "edit_box_size", WikiRegex underscore fix, image extension
60 URL check, fix in ewiki_db::GETALL, ewiki_stripentities(), ewiki_form(),
61 * patch for userdb_ldap and method_http authentication methods (AllianceT)
65 * the database interface was overhauled (much cOOler now)
66 * new CSS class names fragment the final pages more precisely
67 * some typecasting was introduced to work around PHP5s changed array_merge()
69 * introduced general html head includes in fragments/
70 ** "meta.php" inserts <meta> tags from entries of {meta}{meta} box
71 ** "core.php" adds NOINDEX to robots meta tags for old page ?versions=
72 * added "z.php" script as general dispatcher for application interfaces
73 like WikiToXmlRpc and OpenSearch, a general XML-RPC lib now is included
74 * OpenSearch interface for cross-site scanning was added (MySQL only)
75 * BannedLinks (defacing unwanted URLs) and BlockedLinks against vandalism,
76 optionally with future-proof whois lookups against commercial spammers
77 * spellcheck plugins were moved, and a new aspell variant was added
79 * rss action plugin and general RSS/Atom feed output support (with TCN)
80 * aview/aedit_ plugins were moved into their own edit/ directory
81 * blog support via multiple plugins or as mpi_ extension as contributed
83 * edit/ plugin for setting the AuthorName on the fly, one to set certain
84 page flags (_MINOR or _HIDDEN) and one to set changelog entries
85 * lock and warn plugins for concurrect edits
86 * link-validating RefererLog and PingBack plugins
87 * TimeStampMarkup, Short|Wiki links, support for for abbreviations in braces,
88 a plugin for TeX markup (uses MimeTeX and inserts .gif images)
89 * XFN plugin (XHTML Friends Network)
90 * mpi_honeypot, mpi_addlink, enhanced mpi_insert
92 * DocBook filter added for TextUpload plugin
93 * refreshed administration tools/ suite, which also introduced WikiCommander
94 (a NC-lookalike database control tool), an ewikictl web-based frontend,
95 and advent of the tools/cron.d/ scripts
97 * renewed init-pages/ and default (index) page name is now "FrontPage"
98 * PATH_INFO is enabled per default again for Apache servers
99 * added User-Agent logging
100 * {meta} info is now displayed more verbose on info/ pages
101 * commonly used ...&action=view URLs can now be enabled more easily
102 * produces more XHTML like tags (at least <br/> and <img/>)
103 * _DB_F_HTML flag is now preserved on changes
104 * new page rendering block flag 0x0400 to decode < and > again
105 * logging of failed auth calls
106 * CommunityWiki: and WikiFeatures: are now in the default interwiki list
107 * introduction of obscured (=numeric) error message numbers for security
108 leak misconfigurations
109 * Image resize plugins are now called regardless of filesize to allow for
110 resizing by width and height; a more advanced variant was added
111 * spages/ now holds AbandonedPages, HitCounter, LeastPopular, LinkLessPages,
112 OrphanedPages, PageLinks, PageRefs, PageSize, WantedPages and WordIndex,
113 but the "PageIndex" is now a core feature
114 * SetupWizard moved into tools/
115 * spages now tries to serve binary files (images)
117 * new _DB_F_MINOR page flag (respected on RecentChanges)
118 * ewiki_script_url() now works as enhanced alias to ewiki_script()
119 * _list_pages() got new list call parameter format
120 * extended ewiki_interwiki() for non-hyperlink uses (XML meta data, XFN)
121 * ewiki_author_html() deciphers the {author} field now
123 * fixed [noinlineimage.png#] support, ewikictl --rm pattern matching,
124 search_highlight to not downcase found words, serious bug in StaticPages
125 plugin, reworked link_regex to not break at question mark, sub-links and
126 fixed chunking on info/ page, removed dependency on mysql_ping, core
127 script made slightly more E_NOTICE clean, fixed action pages for emptied
128 page versions (not showing up on info/ and info/ now coming up instead of
129 edit/ box), and fixes for auth/ and in auth-liveuser/ plugins
133 * default page is now called "FrontPage" (previously just "ErfurtWiki")
134 * added Dutch page translations, as contributed by Koen Roggemans
135 * the new flat file database plugin 'dzf2' is quicker, stores compressed
136 files and is plattform intercompatible
137 * new, general and user interface plugins were added: markup/abbr, db/zip,
138 aedit_pageimage, aedit_templates, fpage_copyright, fpage_logo (Andy),
139 imgfile_naming (orig file names instead of md5md5md5-internal://),
140 subwiki (database fragmentation), instanturls, instanturl_find,
142 meta (new plugin framework) and builtincategories, f_title;
143 * also a usemod/moinmoin-lookalike RecentChanges page plugin together with
144 a plugin to specify a {meta} log entry;
145 * the new "raw" action plugin allows to retrieve the plain Wiki page source
146 * added markup plugins include: naturallists, table_rowspan, update_format
147 * mpi plugin framework was overhauled, new additions include: mpi_brainfuck,
148 mpi_embed, mpi_settitle, mpi_sqlquery, mpi_survey (for user polls)
149 * overhauled liveuser authentication plugin framework
150 * initial [.SubPage] linking support (suggested by Timm)
151 * init plugin now overrides builtin database INIT, email protection plugin
152 now mostly disables itself if human validated
153 * fixed licensing issues, GPL plugins now separate
154 * code fixes include: _script_url() web server port patch (Christian Buck),
155 fixes for PHPs incomplete session.trans_sid feature, _protected_mode and
156 security fixes, image linking fixed, and table markup is more forgiving
157 now (allows spaces after the trailing | dash, but not for the first row),
158 fileupload javascript error, corrected _preview newline handling,
159 space indentation closing and <p> code changed, _format() block splitting,
160 edit_box_size setting (missed $e_config), removal of all pass-by-reference
162 * internal/API changes: _UP_PARENTID for image uploads, ewiki_lowercase()
163 is now a core function (moved from PowerSearch), normalized <br> output
164 from ["edit_form_append"], new ewiki_new_data() to create empty page $data
165 hashes, CSS page (class) names are mangled for more standards compliance,
166 internal "create" action for auth plugins, introduction of _HIDDEN flag
167 * allowed for enumerated lists with html tag type="" attribute
168 * provide a RSS feed for UpdatedPages
169 * edit/ page <a class="cancel" href="...
170 * allowed for simplified [http://url/ titles] with space syntax
171 * the README was split into multiple shorter parts
172 * various fixes and enhancements in the formatting kernel (list markup
173 now has precedence over horiz bars)
174 * configurable QuestionMarkLinks
178 * the plugins/ directory structure has completely changed, but an upgrade
180 * the _format() kernel was overhauled, and now supports 'block' plugins
181 (now supports <pre>...</pre> parts, <code>, <html>, <htm>),
182 a list entry can now wrap over multiple lines (space in front)
183 * fixed _PAGE_INDEX problem and resulting database initialisation errors
184 * anydb plugin reworked and fixed, Postgres support now works, and there is
185 now UTF8 conversion glue
186 * ewiki_auth() and interfaces were overhauled and fixed
187 * new plugins: page_searchandreplace, page_textupload, cache, speed (for
188 conditional http requests), toc, autolinking (of ordinary words, if such
189 a page exists, like the GaGaParser), tour, linkexcerpts, appendonly,
190 appendwrite, appendcomments, the new auth-liveuser/ plugin package,
191 instanturls, instanturl_find, CreateNewPages, PublicallyEditableIntermap,
192 AuthorName can be specified on the fly, usemod-like LinkDatabase
193 * for the new rendering kernel: markup_asciitbl, markup_htmltable,
194 * removed: markup_code (which is now core functionality), markup_paragraphs
195 (also less useful now)
196 * renewed pluginloader, and added companion tools/mkpluginmap
197 * the PowerSearch plugin was corrected
198 * added tools/t_revert, which allows to undo changes made by a script attack
199 * added ["action_binary"] plugin hook
200 * ["edit_save"] plugins are now called with &$save and &$old data vars
201 * allowed absolute-URL action links (for injection by plugins)
202 * fixed errornously lowercased InterWiki:LinkUrls and buggy pre_scan_regex
203 * implemented _DB_F_APPENDONLY (with use of plugins)
204 * fixed [12345] - links with numbers in square brackets
205 * added tools/mkpageplugin, tools/t_revert
206 * TextUpload now has limited OpenOffice import capabilities
207 * new plugin hooks for linking behaviour manipulation
208 * separate _interwiki() function is now used in more places
209 * generated wiki page URLs can be customized better
210 * image links can now have a ?nocache attached
211 * database interfaces enhancements (pass-by-ref, integrated _HIDING support)
212 * fixed plugin-less _protected_mode
213 * patches/ subdirectory moved into fragments/
214 * generation of _backlinks() list is now separate and thus reusable
215 * ewiki can now do InterMapWalking
216 * page flag changing with the commandline 'ewikictl' tool was simplified
220 * bugfix for image links (meta field wasn't unserialized in _link_regex_cb)
221 * fixed html entity leaks for db page names, changes also in _make_title
222 * ewiki_t() now supports recursive transformation of text blocks containing
223 text snippet references of the form _{...}
224 * ewiki_auth_user() handles and simplifies the new ["auth_userdb"] plugins,
225 and sets the new global $ewiki_auth_user besides $ewiki_author
226 * rearranged fragments/ into subfolders
227 * new plugins: search_highlight, f_fixhtml, fun_upsidedown, fun_chef,
228 aedit_deletebutton, aview_subpages, page_hitcounter, page_wikinews,
229 tcn (language negotiation), jump (page redirects), plural (name matching),
230 aview_piclogocntl (subject images), aview_posts, aview_threads (completes
231 the posts plugin), page_wikidump (*.html tarball export of the whole Wiki)
232 * {author} field now holds the hostname and the IP address
233 * example auth plugins moved into own subdirectory plugins/auth/
234 * added auth plugin UserRegistry, which manages user accounts in ewiki db
235 * plugin auth_perm_unix adds user groups and UNIX fs like access rights
236 for WikiPages in conjuntion to one of the new userdb plugins
237 * parts of the README moved into plugins/auth/README.auth
238 * reduced size of icons in tools/index.html
239 * introduced absolute EWIKI_SCRIPT_URL and wrapper/guess function _script_url()
240 * plugins/db_any now works with PostgreSQL, anydb_*() now also uses the PHP
241 mysql_*() and pg_*() interfaces natively
242 * plugins/admin/control.php now also supports {meta} field editing and page
247 * database abstraction layer extended to make SEARCH and GETALL queries less
248 memory exhaustive, the MySQL database and flatfile backends already comply
249 to the new scheme; for all other backends a legacy layer gets enabled
250 * the new plugins/db_any can access SQL databases via PEARDB, ADOdb or dbx()
251 * WikiLinks are now case-insensitive (if not configured to old behaviour),
252 this however works reliable for SQL databases only (flat_files on UNIX
253 filesystems won't go)
254 * spanish translations (core messages and basic init-pages/) were added
255 (a contribution of Vladimir Támara)
256 * added plugins/markup_css.php to support <div> and <span> for CSS class and
257 style instructions with the new "@@" markup
258 * plugins/markup_css_singleat allows for CSS divs with a single @
259 * added plugins/patchsave to support concurrent page changes (GNU diff+patch)
260 * all www accessible tools/ have been renamed, the backup and the restore
261 tools are now wrappers around ewikictl
262 * new plugins: aview_imgappend, spages (read static pages from a directory),
263 title_calendar (Andy), action_extracttodo (Andy),
264 admin/control (for renaming pages and flag changing),
265 admin/page_searchcache (creates db text entries from dynamic pages)
266 * notify plugin is now language aware
267 * fix for ewiki_control_links() to honor the $action param (Andy), the
268 senseless </img> tag was removed (Culley), the {meta} field now gets
269 saved correctly for _TEXT database entries (Andy)
270 * introduction of $ewiki_config[] which strips some data things from the
271 $ewiki_plugins[] array, and will further replace some of the constants
272 * added plugin hooks ["list_transform"], ["page_final"]
273 * renaming of _page_title to _split_title, and _print_title to _add_title,
274 added _make_title() to return a html string with optional link per cfg.
275 * moved and renamed multiple plugins into plugins/contrib/, and also made
276 all mpi stuff go into plugins/mpi/
277 * added the GNU GPL with a note to the plugins/contrib/ directory
278 * extended email_protect plugin to hide addresses for diff/ and info/ also
279 * ewiki_page_view() now contains the printing code for ordinary wiki pages
280 * {meta} is now automatically un/serialized() in the database layer
281 * rendering_pre was replaced by markup_code
282 * most example layouts went into examples/, re-added examples/yourthemes.php
283 * php-patches/array_merge for PHP5 beta2 support (with lots of error messages)
288 ** typewriter like fonts will be used for text enclosed in ==
289 (previously spaces to the left were used for that)
290 ** text is now right aligned with ">>" to the left
291 ** added markup for preformatted text: <pre> at the very beginning of a line
292 starts a paragraph and a </pre> (also lowercase) ends it again
293 (the empty lines markup has been removed during development)
294 ** added SPACEs/TAB indentation support (CSS only)
295 ** anchors are now defined placing the hash sign before the square brackets
296 #[anchornane], and that anchor can then be jumped to using [#anchorname]
297 * fixed/removed define() from default config.php which prevented binary uploads
298 * fixed internal://md5sum filename generation for uploaded binary/image files
299 * new plugins are: aview_backlinks, link_target_blank, page_wantedpages,
300 page_interwikimap, aview_linktree (which shows path from current to index
301 page), page_wikiuserlogin (to add an author name for page savers),
302 markup_paragraphs, imgresize_magick, fun_wella, spellcheck2 (AndyFundinger),
303 aview_control2, link_css, link_icons, binary_store (keeps uploaded files
304 separate from real database), pluginloader (for action and page plugins)
305 * renamed plugins/downloads_view.php to aview_downloads.php
306 * added mpi_phpwiki, which emulates AllPages, AllUsers
307 * changed all EWIKI_T_ constants into an array, which can now be accessed
308 via the more flexible "ewiki_t()" function
309 * finished read only access with plugins/db_phpwiki13.php, guessworking
310 write access is now also available, but disabled per default
311 * the ewiki_log() function is now used for debug messages
312 * InterWiki:Links are working again (seems they got broken previously)
313 * changed _binary_save_image() to handle binary and image files different
314 * extracted the squirrel image from example-1.php, so it works in '97 browsers
315 * the new example-1 wiki wrapper has support for an editable MainMenu
316 * implemented core ewiki_auth() using permission levels in _PROTECTED_MODE,
317 added plugins: auth_user_array, auth_method_http, auth_perm_ring and
318 auth_perm_old for compatibility
319 * added/activated fragments/strike_register_globals.php
320 * the plugin task "url_link" has been renamed to "link_url" to follow the
321 new and more consistent naming scheme
322 * the admin interface scripts (tools/) are now access restricted per default
323 * added Last-Modified: HTTP header (edit date of current page)
324 * email_protect &version= bug fixed, cookie is now set once access is granted
325 * introduced reliable global $ewiki_id
326 * fixed some "&" page name problems
327 * fixed MySQL database action "SEARCH"
328 * ewiki_script() unifies URL generation from $action,$id,EWIKI_SCRIPT and
329 also allows to work around some design flaws and unreliabilities
330 * fixed Refresh: HTTP header, which lead IE to reload constantly after save
331 * plugins/calendar.php localized to en_ (APF)
332 * the meaning of the EWIKI_LOGLEVEL setting has changed
336 * USE_PATH_INFO now defaults to off, due to the many broken Apache versions
337 * added str_rot17 to make email_protect links valid for one session only
338 * fixed string conversion bug in _p_ordered_list once more (Carsten)
339 * added initial db_phpwiki13.php plugin (read-only)
340 * added page_since_updates.php (Carsten)
341 * renaming of plugins/fancy_indexing.php to listpages_tbl.php
342 * added listpages_br.php, listpages_ul.php (previously part of core ewiki.php)
343 * allowed for ~PhpWiki13 ~WikiWordEscaping
344 * new markup for [http://link "entitling"], because dashes hurt table markup
345 * international characters` html entities (Ӓ) are now reconverted
346 * added page version holes support in db_flat_files
347 * added DELETE and SQL subfunctions in db interface (for tools/)
348 * db field 'meta' is now a serialized() array with http headers / bonus data
349 * added plugins/downloads.php, which allows files to be saved and retrieved
350 * added plugins/mime_magic.php (GPL code)
351 * changes in default distribution: index.php removed, config.php added, and
352 example-1.php is now set as DirectoryIndex in .htaccess and .nwaccess
353 * added otherwise unused EWIKI_VERSION constant (as requested by Beate ;)
354 * merged db_fast_files into db_flat_files (both formats can be used together)
355 * added plugins/page_aboutplugins.php
356 * now allows for wiki page title splitting (as seen in other WikiWare)
357 * extended download plugin to support page attachments
358 * renamed plugins/pagediff.php to diff.php
359 * added plugins/downloads_view.php to show attachments below a page
360 * added plugins/page_scandisk.php
361 * fixed the missing email_protection of the edit box
362 * added redirection after edit/save
363 * added plugins/notify.php which can send a mail whenever a page gets edited
364 * added page diff plugin which is powered by the GNU diff util (more reliable)
365 * added page anchor support (define [#anchor] and link [WikiPage#anchor])
366 * added tools/ewikictl
367 * added plugins/fancy_list_dict.php to enhance WordIndex and PageIndex
368 * renamed most ["page"] plugins to plugins/page_*.php
369 * reworked _binary_save_image() and moved _resize_image_gd() into a plugin
370 * added image width= and height= support in _link_regex_callback() and
371 the database plugins for mysql and adodb (dba and dbff are unsupported)
372 * images can now be rescaled by appending "?x=..&y=.." to [url] references
373 * fixed a _scan_wikiwords / pre parsing bug with colons
377 * db_fast_files for serialized()/gzencoded() files contributed by Carsten Senf
378 * added error output for database initialization
379 * added edit mode cancel link
380 * added edit-textarea resizing JavaScript link
381 * added small README.de
382 * fixed bug with repeatedly reconcatenated $ewiki_author string
383 * fixed fputs() bug in db_flat_files, which lead to PHP4.1 incompatibility
384 (reported by Beate Paland)
385 * workaround for PATH_INFO bug of Apache+CGI_PHP
386 * added page plugin: RandomPage
387 * added spellcheck plugin, which is accessible with the [preview] button
388 (it uses the ispell/aspell programs or PHP's pspell extension)
389 * added diff plugin, which shows changed parts between two page versions
390 * added markup emulation plugin for parts of BBcode (from phpBB)
391 * fixed Win32 filenames bug in db_flat_files / db_fast_files (Carsten)
392 * added dba/dbm database plugin
393 * added plugins/calendar.php (Carsten)
394 * made uploading of binary files now possible by config constant
395 * added email address protection plugin (against automated spambots)
396 * fixed ?edit=1&forced_version= bug
397 * added (markup) for image alignment
398 * added support for ^Oldwikilink markup
402 * added plugins: PageIndex, ImageGallery, PowerSearch
403 * added plugins to emulate markup of PhpWiki, sfWiki, miki
404 * added mpi_multimedia plugin to reference non-image files
405 * added markup plugin for generating footnotes
406 * added tools/ewiki_backdown.php (for inserting backup/initial pages)
407 * added shared tools/ewiki_tools_config.php (database activation)
408 * added Content-Disposition (2183) HTTP header output for easier page saving
409 * HTTP "From:" request header gets now saved if $ewiki_author is unset
410 * made "/cgi/request.php?WikiPageName" possible (ISINDEX method)
411 * fixed double "FIND" database query, now the arrays to be queried for are
412 merged rather than the resulting arrays of the db query - speed improvement
413 * tools/ewiki_backup.php now can save in different formats
414 * lowercased all generated HTML
415 * renamed complex tables plugin
416 * added more pages in .de lang
417 * urlencoding and decoding now configurable (for PATH_INFO usage)
418 * added http authentication include script
419 * the format core now searches and renders email-addresses in the text
423 * wikimarkup for tables now included
424 * added interWiki links (simple variant)
425 * allowed chars in WikiPageNames now configurable (for l10n purposes)
426 * rudimentary but general pluginterface for various tasks
427 * unified $internal_pages and $page_actions into the pluginterface
428 * plugin for LikePages (as in WardsWiki:)
429 * db_flat_files is now a plugin
430 * fancy lists plugin (<ul> replacement for internal/generated pages)
431 * plugin for "mpi" markup/inline plugins from Hans B Pufal
432 * mpi plugins: calendar, insert, environment, page_flags, plugins-list
433 * complex tables plugin (code from Hans B Pufal)
434 * error_reporting(0) now in the ewiki.php source code
435 * bugfix in the SEARCH action of the MySQL database interface
436 * fixed bug to reallow markup with |<html>
437 * bugs fixed which hurt the rescue_html code, now also faster
438 * ADDPARAMDELIM now attaches the more correct &
439 * demo and download site moved to http://erfurtwiki.sourceforge.net/
443 * db_flat_files for saving wiki contents in plain text files, where
444 no database is available (saves it in message/rfc822 style)
445 * example private homepage wrapper script (authenticated wiki)
446 * time to fix lots of bugs in the README, as there were none in ewiki ;-P
447 * caching of images now possible
448 * some of the config constants were renamed
449 * rescaling of uploaded images added (may be buggy for palette images)
450 * new wikimarkup for small text (µµ)
451 * wikimarkup for definition lists
452 * more changes in ewiki_format() for speed purposes
453 * configurable HTML preserving (allows only very simple tags)
456 R1.00a - initial version - 25-02-2003
458 * ewiki_localization()
460 * ewiki_page(), ewiki_page_...()
461 * ewiki_binary() with support for easy image uploads
462 * README, examples, phpnuke integration module
463 * tools/ for backup and flag modification