1 MoinMoin Version History
   2 ========================
   3 
   4 Please completely read CHANGES text until you reach the version you were
   5 using until now. Otherwise you might miss some important upgrading and
   6 configuration hints.
   7 
   8 Starting with 1.5.3, update installation hints are marked with HINT.
   9 They assume you are upgrading from the last release version before (e.g. from
  10 1.5.2 to 1.5.3).
  11 
  12 This release has known bugs (see MoinMoin:MoinMoinBugs), but we think it is
  13 already better than the previous stable release. Our release policy is not
  14 trying to make a "perfect release" (as that release might NEVER get released),
  15 but to make progress and don't delay releases too much.
  16 
  17 Known main issues:
  18 
  19   * The GUI WYSIWYG editor has still some issues and limitations.
  20     If you can't live with those, you can simply switch it off by using:
  21     editor_force = True
  22     editor_default = 'text'  # internal default, just for completeness
  23 
  24   * TWikiDraw may have some issues - we need some JAVA guy caring for it!
  25 
  26   * "Backup" and especially "Restore" action (both new in 1.5) have some
  27     issues, so please DON'T USE THEM except if you want to help debugging
  28     and improving it and after having made a backup with some other, proven
  29     method. USE BOTH ON YOUR OWN RISK!
  30 
  31 Version 1.5.8:
  32   New features:
  33     * Added timing.log to help performance debugging. Use cfg.log_timing = True
  34       to update <data_dir>/timing.log (default is False, meaning no logging).
  35 
  36       Example log entries:
  37 
  38 
  39       Timestamp       PID   Timing Flag action     URL
  40       -----------------------------------------------------------------------------
  41       20070512 184401 22690 vvv         None       moinmoin.wikiwikiweb.de/RssFeeds
  42       20070512 184401 22690 0.267s    - show       moinmoin.wikiwikiweb.de/RssFeeds
  43 
  44       Timestamp: YYYYMMDD HHMMSS (UTC)
  45       PID: the process ID of the moin process
  46       Timing: when action starts, it will be "vvv"
  47               when it ends, it logs the total time it needed for execution
  48       Flag (some are only logged at end of action):
  49       +   Page exists
  50       -   Page does not exist
  51       B   user agent was recognized as bot / spider
  52       !x! Action took rather long (the higher the x, the longer it took - this
  53           makes it easy to grep for problematic stuff).
  54       Action: action name (None is when no action was specified, moin assumes
  55               "show" for that case)
  56       URL: the requested URL
  57 
  58       For more information about tuning your moin setup, see:
  59       http://moinmoin.wikiwikiweb.de/PerformanceTuning
  60     * Added support for ircs, webcal, xmpp, ed2k and rootz protocols - we
  61       moved all protocols to config.url_schemas, so this is not empty any more.
  62       It is possible to use these protocols now on wiki pages and in the
  63       navi_bar. We just generate the URLs, it is up to your browser what it
  64       does when clicking on those links.
  65     * cfg.traceback_show (default: 1) can be used to disable showing tracebacks.
  66       cfg.traceback_log_dir (default: None) can be used to set a directory
  67       that is used to dump traceback files to. Your users will get a notice to
  68       which (random) file in that directory the traceback was been written.
  69       NOTE: while you can feel free to set traceback_show = 0 and
  70       traceback_log_dir = None, we will also feel free to reject bug reports
  71       when you (or your site's users) don't give us enough information (like a
  72       traceback file) to debug the problem. If you set traceback_show = 0,
  73       we recommend pointing traceback_log_dir to a directory with reasonable
  74       free space and putting a page onto your wiki that describes who has to
  75       get contacted (usually the wiki server admin) in case a traceback happens.
  76       The admin can then locate the traceback file and submit it to moin
  77       development, if the bug is not already known (see MoinMoin:MoinMoinBugs).
  78       Of course we will also need all the other details of a bug report, not
  79       only the traceback file.
  80 
  81   Other changes:
  82     * Updated spider agents list.
  83     * Reduce bot/spider cpu usage for SystemInfo, OrphanedPages, WantedPages,
  84       PageHits, PageSize, WordIndex macros (we just return nothing for bots).
  85 
  86   Bugfixes:
  87     * XSS fixes, see http://secunia.com/advisories/24138/ (item 1 and 2).
  88     * ACL security fixes:
  89       * MonthCalendar respects ACLs of day pages now.
  90       * Check the ACL for the rst markup include directive.
  91     * Fixed cleaning of edit comments (control chars in there could damage
  92       edit-log).
  93     * Fixed in-process caching of antispam patterns (didn't update the cache
  94       for multi-process, persistent servers).
  95     * Correct encoding/decoding for surge-log data, fixes leftover
  96       surge-logXXXXXXX.tmp files in data/cache/surgeprotect.
  97     * Fixed mode of cache files (mkstemp creates them with 0600 mode).
  98     * Symbolic entities with numbers (like &sup2;) did not work, fixed.
  99     * We open data/error.log earlier now and we also use it for FastCGI.
 100     * Fixed unicode cfg.page_group_regex.
 101     * Fixed moin.spec to use english date format.
 102     * GUI converter: fixed conversion of relative wiki links.
 103     * Fixed NewPage macro button label to not be formatted as wiki text.
 104 
 105 Version 1.5.7:
 106   New features:
 107     * added url_prefix_local which is used for stuff that must be loaded from
 108       same site as the wiki engine (e.g. FCKeditor GUI editor applet), while
 109       url_prefix can be a remote server serving the static files (css/img).
 110       If not set (or set to None), url_prefix_local will default to the value
 111       of url_prefix.
 112     * We save some CPU and disk I/O by having EditTemplates and LikePages macro
 113       (both used on MissingPage) check whether the requesting entity was
 114       identified as a spider (e.g. search engine bot) and do nothing in that
 115       case. Normal users won't see any difference.
 116     * For AttachFile, you can now choose to overwrite existing files of same
 117       name (nice for updating files).
 118 
 119   Bugfixes:
 120     * XSS Fixes:
 121       * fixed unescaped page info display.
 122       * fixed unescaped page name display in AttachFile, RenamePage and
 123         LocalSiteMap actions
 124     * WantedPages listed existing pages that are not readable for the user,
 125       but are linked from pages that ARE readable for the user (so this is NOT
 126       a privacy/security issue). We now don't list those pages any more as it
 127       is pointless/confusing, the user can't read or edit there anyway.
 128     * MoinMoin:MoinMoinBugs/TableOfContentsUsesNonExistingIncludeLinks
 129     * MoinMoin:MoinMoinBugs/ActionsExcludedTriggerError
 130     * GUI editor/converter:
 131       * ignore <col>/<colgroup>/<meta> elements
 132       * support <a> within blockquote
 133     * Remove generated=... attribute from pagelink html output (this attr is
 134       for internal use only). w3c validator is now happier again.
 135     * Fixed css class "userpref" (not: "userprefs") of the Login form.
 136     * Fixed the version number check in the xslt parser for 4suite >= 1.0.
 137     * We reset the umask to the wanted value every request. This should fix
 138       wrong file modes when used with Twisted (twistd uses a hardcoded 0077
 139       umask in daemonize()).
 140     * Avoid trouble when saving pages with antispam function when MoinMaster
 141       wiki is having troubles (catch xmlrpc Fault).
 142 
 143   Other changes:
 144     * Standalone server does not do reverse DNS lookups any more (this is a
 145       standard feature of BaseHTTPServer stdlib module, but we override this
 146       now and just print the IP).
 147     * We moved the IE hacks to theme/css/msie.css that gets included after all
 148       other css files (but before the user css file) using a conditional
 149       comment with "if IE", so it gets only loaded for MSIE (no matter which
 150       version). The file has some standard css inside (evaluated on all MSIE
 151       versions) and some * html hacks that only IE < 7 will read.
 152       HINT: if you use custom themes, you want to update them in the same way.
 153     * Improved ldap auth:
 154       * cfg.ldap_name_attribute was removed because of new cfg.ldap_filter.
 155         If you had ldap_name_attribute = 'sAMAccountName' before, just use
 156         ldap_filter = '(sAMAccountName=%(username)s)' now.
 157       * New cfg.ldap_filter used for the ldap filter string used in the ldap
 158         search instead of the rather limited, partly hardcoded filter we used
 159         before. This is much more flexible:
 160         ldap_filter = '(sAMAccountName=%(username)s)'
 161         You can also do more complex filtering expressions like:
 162         '(&(cn=%(username)s)(memberOf=CN=WikiUsers,OU=Groups,DC=example,DC=org))'
 163       * Added some processing to filter out result entries with dn == None.
 164       * We set REFERRALS option to 0 before initializing the ldap server
 165         connection (this seems to be needed for Active Directory servers).
 166       * We support self-signed ssl certs for ldaps - completely untested.
 167       * New cfg.ldap_surname_attribute (usually 'sn'), was hardcoded before.
 168       * New cfg.ldap_givenname_attribute (usually 'givenName'), hardcoded before.
 169       * New cfg.ldap_aliasname_attribute (usually 'displayName') - if this
 170         attribute is not there or empty (in the results of the ldap lookup for
 171         the user), we just make up the aliasname from surname and givenname
 172         attribute.
 173       * We only request the attributes we need from ldap (was: all attrs).
 174       * We deny user login (and break out of auth chain) for the following cases:
 175         * if a user is not found by ldap lookup
 176         * if we find more than one matching entry
 177         * if the password is empty or incorrect
 178         * if some exception happens
 179       * Please note that there is an updated ldap sample config in directory
 180         wiki/config/more_samples/.
 181       * Added experimental LDAP SSL/TLS support (untested, please help testing),
 182         see also the sample config.
 183     * Work around a IE7 rendering problem with long pages getting more and
 184       more narrow. We just applied the same "fix" as we used for IE6, using
 185       "display: none" for span.anchor for IE browsers.
 186     * RSS feed related:
 187       * We used to emit a <link> tag for the action=rss_rc RSS feed on any
 188         page. This was changed, we now emit that link only on RecentChanges and
 189         the current user's language translation of RecentChanges.
 190         This was changed because Google Toolbar requests the RSS feed linked
 191         by such a link tag every time it sees one. Thus, if you used the wiki
 192         normally, it requested the RSS feed every few seconds and caused
 193         problems due to surge protection kicking in because of that.
 194       * HINT for custom theme users: if your theme code calls
 195         rsslink(), then you need to change that to rsslink(d) for 1.5.7+.
 196 
 197 
 198 Version 1.5.6:
 199   A general security notice:
 200       Check your Python version, there was a buffer overflow issue in Python
 201       recently! Details: http://moinmoin.wikiwikiweb.de/PythonUnicodeEscapeBug
 202 
 203   Bugfixes:
 204     * Fix AttributeError traceback with Standalone server (if_modified_since)
 205     * Fix AttachFile "304 not modified" and redirect status code for Twisted
 206     * http auth: we now decode username and password to unicode (using
 207       config.charset == utf-8). Same for SSL client cert auth and CN.
 208     * Avoid infinite recursion in Page.parsePageLinks.
 209     * Fixed standalone server failing to shutdown if interface == "".
 210     * Now MoinMoin does not think anymore that every page links to various user
 211       homepages.
 212     * Made the irssi parser more tolerant (Thanks to "TheAnarcat").
 213     * Now multiple formatters can be used per request, the send_page code was
 214       not reentrant to this regard. Fixes "empty" search results.
 215     * Fixed problem with "=" in ImageLink macro links.
 216     * Not a moin bug, but a silly stdlib os.tempnam function made trouble to
 217       some people because it lets you override the path given in the code
 218       by setting the environment variable TMP(DIR). We now use a different
 219       function to avoid renaming trouble when TMP(DIR) points to a different
 220       file system.
 221     * Fixed antispam update on every save (Thanks to "TheAnarcat").
 222     * GUI converter: don't throw away rowclass for tables.
 223     * GUI editor formatter: allow height for table cells.
 224     * GUI editor formatter: comment texts are output using the formatter now. 
 225 
 226   New features:
 227     * Mail notifications contain a link to the diff action so the user
 228       can see the coloured difference more easily. Thanks to Tobias Polzin.
 229     * FeatureRequests/MoveAttachments - you can move attachments from one
 230       page to another (and also rename the attachment at the same time).
 231       Thanks to Reimar Bauer.
 232     * Added support for linking to attachment: and inline: URLs with ImageLink.
 233     * Added UNIX socket support for FastCGI, just set the port to some (socket)
 234       filename. Details see: MoinMoin:FeatureRequests/FastCgiUnixSocket
 235     * [[Attachlist(pagename,mimetype)]] lists attachments of pagename (default:
 236       current page) with optional mimetype restriction (default: all).
 237       Thanks to Reimar Bauer.
 238 
 239   Other changes:
 240     * Minor performance improvements (might be noticeable if you have many
 241       custom navi_bar entries and high server load).
 242     * Avoid usage of no-cache because it breaks attachment download on IE6.
 243       This is a IE bug, not a moin bug.
 244     * Added XHTML to the unsafe list.
 245     * Changed the rst parser to be compatible to the new docutils interface
 246       for directives.
 247     * Updated EmbedObject macro.
 248 
 249 Version 1.5.5a:
 250   Bugfixes:
 251     * fixed ticket creation to only use constant values
 252 
 253 Version 1.5.5:
 254   HINT: read docs/README.migration.
 255   HINT: there was NO change in the underlay/ pages since 1.5.4.
 256   HINT: If you experience problems with the reStructured Text (rst) parser,
 257         please downgrade docutils to "0.4" because there were major interface
 258         breaking API refactorings on the docutils trunk.
 259 
 260   Bugfixes:
 261     * GUI editor fixes:
 262       * Fixed MoinMoinBugs/GuiEditorModifiesInterwikiPreferred.
 263       * Fixed MoinMoinBugs/TableAlignmentProbsWithGUI.
 264     * Not a moin bug, but it severely annoyed IE users and also was less
 265       comfortable for users of other browser: since about 1.5.4, we served
 266       attachments with Content-Disposition: attachment - so that the user has
 267       to save them to disk. This was to fix a possible XSS attack using attached
 268       HTML files with Javascript inside for stealing your moin cookie or doing
 269       other nasty things. We improved this by using different behaviour depending
 270       on the potential danger the attached file has when served inline:
 271       The config option contains a few mimetypes that are known to be inherently
 272       unsafe to this regard. If you know more dangerous stuff, please just
 273       add the mimetypes there to protect your users and file a bug report
 274       telling us what we missed.
 275     * Fixed MoinMoinBugs/ReStructuredTextRelativeLinksBroken, thanks to Stefan
 276       Merten.
 277     * Make tickets used for some actions more safe.
 278 
 279   New features:
 280     * edit_ticketing [True] - we protect page save by a ticket (same stuff we
 281       already use for DeletePage and RenamePage action).
 282       NOTE: If you don't use your browser for editing, but some tool like
 283             "editmoin" or "MoinMoin plugin for jEdit", you'll need an update
 284             of them supporting the ticket.
 285             Alternatively, you can use edit_ticketing = False setting - this
 286             is not recommended for internet wikis as it will make spamming them
 287             easier.
 288     * If we detect some spammer, we kick him out by triggering surge protection
 289       (if surge protection is not disabled).
 290 
 291 Version 1.5.5rc1:
 292   Bugfixes:
 293     * Fixed MoinMoinBugs/XmlRpcBrokenForFastCgi - thanks to Johannes Berg.
 294     * Fixed gui editor converter confusing of `` and {{{}}} markup.
 295     * Fixed emission of HTTP headers (esp. Vary: Cache-Control:).
 296     * Fixed a bad crash that happens (on ANY page!) when you put a *Dict
 297       page's name as a member into a *Group page.
 298     * Fix MyPages action title to use an unformatted string.
 299     * Fix double quoted-printable encoding in generated emails (note: this is
 300       not a moin bug - this just works around bugs in python stdlib).
 301     * Fix mode of drawing files (use config.umask).
 302     * Fix trouble with /?action= urls by dropping getPageNameFromQueryString
 303       code. 
 304     * Fixed sre unpickle issues seen on some machines by avoiding to pickle
 305       the regex.
 306     * Fix Clock code, add more timers.
 307     * Worked around FastCGI problem on Lighttpd: empty lines in the error log.
 308     * Fix (add) locking for caching's .remove() call, small fixes to lock code.
 309     * Print error message when --target-dir=path is missing from moin export
 310       dump command.
 311 
 312   New features:
 313     * Added support for "304 not modified" response header for AttachFile get
 314       and rss_rc actions - faster, less traffic, less load.
 315     * Limit rss with full diffs to 5 items.
 316     * Allow surge_action_limits = None to disable surge protection.
 317     * moin.fcg improved - if you use FastCGI, you must use the new file:
 318       * can self-terminate after some number of requests (default: -1, this
 319         means "unlimited lifetime")
 320       * the count of created threads is limited now (default: 5), you can use
 321         1 to use non-threaded operation.
 322       * configurable socket.listen() backlog (default: 5)
 323     * Added indonesian i18n (id).
 324     * Some measures against spammers trying to brute force their spam into moin.
 325     * EmbedObject macro: added mov, mpg and midi support
 326     * moin ... export dump --target-dir=PATH --page=PAGENAME_REGEX
 327       You must specify --target-dir (where dump will write the html files to)
 328       and you may specify --page and either a page name or a regex used to
 329       match all pages you want to export. Default is to export all pages.
 330 
 331   Other changes:
 332     * Tuning:
 333       * more efficient locking code on POSIX platforms, we do much less I/O
 334         for locking now
 335       * removed most chmod calls in favour of a single os.umask call
 336     * Improved Python 2.5 compatibility. Note: if you think that MoinMoin
 337       is using too much RAM, you might want to look at Python 2.5 because
 338       of its improved memory management.
 339     * Throw away SAVE comments longer than 200 chars (you can't enter those by
 340       the user interface, so only spammer using automatic POSTs do them).
 341     * Updated spider user agent list.
 342     * BadContent and LocalBadContent now get noindex,nofollow robots header,
 343       same as POSTs.
 344     * Standalone opens it logfile unbuffered from now on, thanks to
 345       Carsten Grohmann.
 346     * Avoid trouble when request.write() data contains None, just skip it -
 347       thanks to Juergen Hermann.
 348     * Instead of showing a ConfigurationError, moin now emits "404 Not found"
 349       http headers and a hint about what could be wrong. This won't fill up
 350       your logs just because of typos and spiders still trying old URLs.
 351 
 352 
 353 Version 1.5.4:
 354   Bugfixes:
 355     * GUI editor / converter:
 356       * Fixed vanishing strike markup after gui editor usage.
 357       * Fixed deletion of empty Interwiki links ([wiki:MoinMaster: mm entry page]).
 358       * Fixed MoinMoin:MoinMoinBugs/GuiEditorDeletesNewBulletText.
 359       * Fixed MoinMoin:MoinMoinBugs/HtmlTextConvertTables.
 360       * Hopefully fixed MoinMoin:MoinMoinBugs/text_html_text_x_moin.
 361     * cfg.editor_quickhelp was not parsed with the wiki parser when customized
 362       or when string was missing from translation.
 363     * Allow "-" in usernames (fixes "Invalid user name" msg).
 364     * Fixed MonthCalendar macro for non-ASCII pagenames (thanks to Jonas
 365       Smedegaard).
 366     * Fixed the forgotten password email login URL and also properly encode the
 367       email body. Thanks to Robin Dunn for the patch.
 368     * Remove 'search' and 'google' from bot user agent list and add some more
 369       specific terms.
 370     * Applied a patch by Matthew Gilbert for increased compatiblity with
 371       latest docutils.
 372     * Fixed show_version to show it in the same way as SystemInfo.
 373     * Fixed mod_python attachment upload bug (thanks to Nick Phillips).
 374     * Updated ImageLink macro.
 375 
 376   New Features:
 377     * Included EmbedObject macro for embedding shockwave flash, mp3, visio, ...
 378     * cfg.log_reverse_dns_lookups [default: True] - you can set this to False
 379       if rev. dns lookups are broken in your network (leading to long delays
 380       on page saves). With False, edit-log will only contain IP, not hostname.
 381     * ?action=sitemap emits a google sitemap (XML), listing all your wiki pages
 382       and the wiki root URL.
 383       Page                      Priority / Frequency / Last modification
 384       --------------------------------------------------------------------
 385       /                         1.0 / hourly / <now>
 386       cfg.page_front_page       1.0 / hourly / page last edit
 387       TitleIndex,RecentChanges  0.9 / hourly / <now>
 388       content pages             0.5 / daily / page last edit
 389       system/help pages         0.1 / yearly / page last edit
 390     * Added thread_monitor debugging aid. It can be activated using:
 391       from MoinMoin.util import thread_monitor; thread_monitor.activate_hook()
 392       and then triggered by requesting URL ...?action=thread_monitor - please
 393       be aware that monitoring threads has a big performance impact on its own,
 394       so you only want to temporarily enable this for debugging.
 395       By default, it dumps its output to the data_dir as tm_<timestamp>.log,
 396       you can change this at bottom of action/thread_monitor.py if you want to
 397       see output in your browser.
 398     * Updated translations: i18n strings, system and help pages.
 399       The system and help pages already contain some descriptions of moin 1.6
 400       features. It was not planned to update s/h pages with 1.5.4, but some
 401       translators did lots of changes there and also in the *.po files, thus
 402       we had to include them to avoid inconsistencies. If a feature is marked
 403       with "1.6", it will NOT be available in the 1.5.4 release.
 404 
 405   Other Changes:
 406     * Increased maxlength of some input fields from 80 to 200.
 407     * Performance improvement: removed Twisted request object reverse dns lookup.
 408     * Added a (less broken) MoinMoin.support.difflib, details see there.
 409 
 410   Developer notes:
 411     * We switched to Mercurial SCM, see here for more infos:
 412       http://moinmoin.wikiwikiweb.de/MoinDev/MercurialGuide
 413 
 414 
 415 Version 1.5.3:
 416   New Features:
 417     * Added CSS classes for TableOfContents macro.
 418 
 419   Bug Fixes:
 420     * GUI editor / GUI editor converter:
 421       * Fixed missing GUI editor link in edit bar.
 422       * Fixed table/row/cell style spaces.
 423       * Changed <p> generation for macros.
 424       * Fixed handling of subpages.
 425       * Fixed processing of complex list elements (thanks to Craig Markwardt).
 426       * Fixed processing of html \n (thanks to Craig Markwardt).
 427       * Fixed joining of comment lines with text below them.
 428       * Fixed table height attribute crash.
 429     * Fixed sslclientcert auth.
 430     * Added some missing files to i18n processing, translatable strings more
 431       complete now.
 432     * Change <p> generation from self-closing (<p />) to auto-closing (only
 433       emit <p>, let browser find place for </p>).
 434     * Fix eating of newline before tables.
 435     * Fixed incorrect login hint for not logged-in users trying a disallowed
 436       action.
 437     * Fixed nasty missing or double </a> formatter bug (mostly happening when
 438       user has enabled questionmarks for nonexisting pages).
 439 
 440   Other Changes:
 441     * We catch and ignore html to wiki conversion errors in case of hitting
 442       the cancel button, so you can get out of the error screen.
 443 
 444 Version 1.5.3-rc2:
 445   New Features:
 446     * Modified SystemInfo macro to give human readable units and disk usage
 447     * cfg.editor_quickhelp makes the quick help below the editor configurable
 448       (at least as far as the default_markup is concerned). If set to None,
 449       it doesn't display any quickhelp. Thanks to Seth Falcon for the patch.
 450 
 451   Bugfixes:
 452     * Fixed double class attribute for nonexistent links
 453     * Fixed double </a> with qm_noexist option
 454     * Fixed table xxx="yyy" style attribute parsing
 455     * If not (editor_force and editor_default == 'text') then display GUI mode
 456       switch button (this is only a partial fix, but enough to deny the GUI
 457       mode to your users completely)
 458     * Fixed XSS issue which could lead to cookie theft etc.
 459     * Fixed definition list "same level" indenting.
 460     * Fixed pagename in log for PackagePages action.
 461     * Made <p> self-closing and line-anchors more well-behaved, thanks to
 462       Martin Wilck for the patch. I didn't apply the <ol> patch, because this
 463       is no real problem, just a problem of a bad standard.
 464     * Fixed gui editor *bgcolor crash.
 465     * Support/Fix tableclass attr with gui editor.
 466 
 467   Other changes:
 468     * Moved back UserPreferences action link from menu to top of page (renaming
 469       it to "Preferences"), added "Cancel" button to make it possible to return
 470       to the previous page without saving preferences.
 471     * Removed formatter.url "attrs" keyword arg that took premade html, we use
 472       separate kw args per attribute now.
 473     * Moved broken tests to MoinMoin/_tests/broken (= disabling them).
 474       All "active" tests run ok now.
 475       If you want to compare, I included the output of this test run:
 476       $ make test >tests/make_test.out
 477 
 478  
 479 Version 1.5.3-rc1:
 480 
 481   New features:
 482     * HINT: please read README.migration
 483     * Login and Logout are actions now, therefore you stay on the page where
 484       you were before.
 485     * UserPreferences is also an action now and moved from top border (in
 486       modern theme) to the "more actions" dropdown menu. You also stay on the
 487       same page.
 488     * There is also a [[Login]] macro now. You can put it on any page you want
 489       and if the user is not logged in, it renders the login form. If the user
 490       is logged in, it doesn't render anything.
 491     * We check cfg.superuser to be a list of user names (as documented) and
 492       deny superuser access if it is not. This avoids security issues by
 493       wrong configuration.
 494     * auth methods changed:
 495       HINT: if you wrote own auth methods, please change them as you see in
 496             MoinMoin/auth.py and test them again before relying on them.
 497       * now get a user_obj kw argument that is either a user object returned
 498         from a previous auth method or None (if no user has been made up yet).
 499         The auth method should either return a user object (if it has
 500         determined one) or what it got as user_obj (being "passive") or None
 501         (if it wants to "veto" some user even if a previous method already has
 502         made up some user object).
 503       * return value of continue_flag is now True in most cases (except if
 504         it wants to "veto" and abort).
 505       * moin_cookie auth method now logs out a user by deleting the cookie and
 506         setting user_obj.valid = 0. This makes it possible to still get the
 507         user's name in subsequent auth method calls within the same request.
 508       * added ldap_login and smb_mount auth methods, see MoinMoin/auth.py and
 509         wiki/config/more_samples/ldap_smb_farmconfig.py
 510     * MonthCalendar now takes an additional argument for specifying a template
 511       to use to directly invoke the page editor when clicking on non-existing
 512       day pages.
 513     * Added ImageLink macro. Thanks to Jeff Kunce, Marcin Zalewski, Reimar
 514       Bauer and Chong-Dae Park for working on it.
 515     * Lupy stuff (still experimental, partly broken and disabled by default):
 516       * Attachment search using lupy (lupy_search = 1 in your config)
 517         Title search will also search attachment filenames.
 518         Full text search will also search attachment contents.
 519       * Indexing filter plugins, see MoinMoin:FiltersForIndexing
 520         Some filters depend on external converters that might not be available
 521         for any platform (see Depends: line in filter plugin).
 522         Feel free to contribute more filter plugins, especially if you wrote
 523         some nice platform independant filter in Python for some popular file
 524         format! Filters implemented so far (depending on):
 525         MS Word, RTF, MS Excel (antiword, catdoc)
 526         PDF (pdftotext)
 527         OpenOffice.org XML based data formats (-)
 528         XML, HTML (-)
 529         text/* (-)
 530         JPEG's EXIF data (-)
 531         Binary generic (-)
 532       * As you might know, Lupy is "retired" (that means it isn't developped
 533         by its authors any more). We are currently evaluating Xapian as new
 534         indexing search engine in moin.
 535         If we succeed, we will replace Lupy stuff by some Xapian interface
 536         code in moin.
 537         But: the filters will likely stay, as we also need them with Xapian.
 538     
 539     * A new MoinMoin script interface was introduced:
 540       
 541       Syntax: moin [options] <cmdmodule> <cmdname> [options]
 542       
 543       For example:
 544       moin --config-dir=/my/cfgdir --wiki-url=wiki.example.org/ \
 545            export dump --page=WikiSandBox
 546       
 547       This will call the "moin" script, which will use the --config-dir and
 548       --wiki-url options to initialize, then it will go to MoinMoin.script
 549       module, import the export.dump module from there and run it, providing
 550       the additional --page value to it.
 551 
 552       The old scripts that have not been migrated to this new interface can
 553       still be found in MoinMoin/script/old/ - including the old migration
 554       scripts.
 555     * moin ... account create --name=JoeDoe --email=joe@doe.org
 556     * moin ... account disable --name=JoeDoe
 557     * moin ... acount check     <-- this is what usercheck script was before
 558     * moin ... maint cleancache <-- this is what cachecleaner script was
 559     * moin ... maint cleanpage  <-- this is what pagescleaner script was
 560 
 561   Bugfixes:
 562     * cookie_lifetime didn't work comfortable for low values. The cookie was
 563       created once on login and never updated afterwards. So you got logged
 564       out cookie_lifetime hours later, no matter whether you were active at
 565       that time or not. This has been changed, we update the cookie expiry now
 566       on every request, so it will expire cookie_lifetime after your last
 567       request (not after login).
 568     * Fixed logout problems when using cfg.cookie_path.
 569     * Fixed cookie_path for root url wikis.
 570     * Lupy search now behaves a bit less funky. Still no guarantees...
 571     * We lowered the twisted server timeout to 2 minutes now (was: 10) because
 572       it just used up too many files (open TCP connections until it timeouts)
 573       on our farm.
 574     * The algorithm used for processing the farmconfig.wikis list was changed
 575       to work for big farms (>= 50 wikis), too. This works around the python
 576       "re" module limitation of having a maximum of 100 named groups in a RE.
 577     * Fixed a TypeError which occurred for formatters that dislike None values.
 578       (cf. http://moinmoin.wikiwikiweb.de/MoinMoinBugs/PythonErrorEditingFrontPage)
 579     * Fixed GUI editor converter error for https:... image URLs.
 580     * ThemeBase (use by modern/rightsidebar): removed duplicate AttachFile from
 581       actions menu (we already have it in editbar).
 582     * Speedup group/dicts scanning for persistent servers.
 583     * Implemented HEAD requests for standalone server, this should fix some of
 584       the strange effects happening when using "Save as" on attachments.
 585     * Not a moin bug, but rather a workaround for non-standard non-ASCII DNS
 586       hostnames: we just use the IP instead of crashing now.
 587     * Spurious cyclic usage error in i18n fixed.
 588     * Fixed antispam for python 2.5a xmlrpclib.
 589     * I18n for linenumber toggle in listings.
 590     * All action menu entries are translatable now.
 591 
 592   Other:
 593     * Added css classes for the rst admonitions. Thanks to TiagoMacambira!
 594 
 595 Version 1.5.2:
 596 
 597   New features:
 598     * Added FullSearchCached macro which is statically cached.
 599       Use it if you do not depend on fresh search results but prefer raw speed.
 600     * Added surge protection, see HelpOnConfiguration/SurgeProtection.
 601     * Allow hex and symbolic entities.
 602     * If there is a user with empty password, we just generate a random one
 603       when he requests it getting sent by mail. Thanks to Reimar Bauer.
 604     * The superuser now can switch to another user using UserPreferences -
 605       nice to help your users when they forgot their password or need other
 606       help. You need to logout/relogin to use your own userid afterwards.
 607       This function only works correctly if you use moin_cookie authentication.
 608       Thanks to Reimar Bauer.
 609     * Add new markup for bulletless lists: just use a "." instead of "*".
 610 
 611   Other changes:
 612     * Added "voyager" to bot useragent list.
 613     * Added locking for caching subsystem.
 614     * Deron Meranda's formatter API cleanup.
 615     * Added div and span to formatter API.
 616     * Removed old unfinished form and export code.
 617     * updated i18n
 618 
 619   Fixes:
 620    * Fixed table attribute parsing.
 621    * Fixed cookie handling wrt properties adherance.
 622    * The new "." list markup makes it possible to have a bulletless list with
 623      elements on the same level. Before this change and only using indentation
 624      with blanks, that would get merged into a single paragraph.
 625    * It is possible now to have multiple paragraphs in the same list element,
 626      just leave an empty line in between the paragraphs.
 627    * Fixed GAP processing for ordered lists.
 628    * Fix text_gedit formatter's invalid list nesting.
 629    * Fixed hr crash in blockquote (but needs more work).
 630    * Fixed FootNote's formatter usage.
 631    * Fixed rst's headline levels.
 632    * Fixed MoinMoinBugs/WikiParserThinksItIsInsidePreWhenItIsNot
 633    * Fixed MoinMoinBugs/ListItemGeneratedOutsideList
 634    * Fixed that macros were followed by a wrong <p>.
 635    * Added <blockquote> to the block elements in the text_html formatter,
 636      so it does not close it erratically when you close a inner <p>.
 637    * GUI editor converter now also accept http: urls without // (relative or
 638      same server urls).
 639    * Fixed the DocBook parser in cases where the pagename was non-ascii.
 640    * Fixed MoinMoinBugs/ProcessInlineDontSupportUlElement
 641 
 642 
 643 Version 1.5.1:
 644 
 645   Fixes:
 646     * Fixed rst parser docutils version check
 647     * Repaired attachment unzipping feature.
 648     * Fixed the AddRevision command of the PackageInstaller.
 649     * improved the migration scripts (used to migrate pre-1.3 wikis to 1.3+):
 650       * do not crash on empty lines in event log
 651       * fix edit log format for very old moin data (like 0.11)
 652       * workaround for an ugly win32 operating system bug leading to wiki text
 653         file mtime not matching edit logs timestamp values if there was some
 654         timezone change since last edit (e.g. a daylight saving tz switch),
 655         but differing 3600s.
 656         This affected pre-1.3 moin wiki servers running on win32 OS only.
 657         We now try to correct those inconsistencies in mig05 by fuzzy matching.
 658     * fixed bracketed link scheme icon (css class)
 659     * we included a modified copy of Python 2.4.2's copy.py as some previous
 660       python versions seem to have problems (2.3.x, x < 5 and also 2.4[.0]),
 661       see: http://moinmoin.wikiwikiweb.de/MoinMoinBugs/DeepCopyError
 662       Our own copy.py was slightly modified to run on 2.3.x and 2.4.x.
 663     * Fixed the problem of not being able to change the date/time format back
 664       to "Default" (UserPreferences).
 665     * We generate the GUI editor footer now the same way as the text editor
 666       footer.
 667     * Include a CSS workaround for yet another IE bug, see:
 668       MoinMoinBugs:InternetExplorerPeekABooBugInRightSideBar
 669     * classic theme: added GUI editor link
 670     * classic theme: added pagename header to editor screen
 671     * the "mail enabled" check now also checks whether mail_from is set
 672 
 673   Other changes:
 674     * Updated FCKeditor to current CVS (2006-01-08 == 2.2+)
 675     * Split up show_hosts into show_hosts and show_names
 676     * attachment:file%20with%20spaces.txt in attachment list
 677     * added support for file:// in GUI editor link dialogue, see also:
 678       MoinMoin:FileLinks
 679     * cfg.mail_smarthost now supports "server:port" syntax, the default port
 680       is 25, of course.
 681     * removed unused kwargs showpage/editable/form from wikiutil.send_footer
 682     * updated i18n (translation texts, additional languages)
 683     * removed interwiki:pagename from print view's top of page, added it to
 684       the "lasted edited" line at bottom right.
 685 
 686 
 687 Version 1.5.0:
 688   HINT: 1.5.0 uses the same data/pages format as 1.3.x. The only thing you want
 689         to check is whether the 1.5.x version you are upgrading to has NEW mig
 690         scripts compared to the version you are running now (e.g. in 1.3.5 we
 691         added some scripts that fixed some small problems).
 692         See the MoinMoin/scripts/migration/ directory.
 693         You must run every mig script in sequence and only ONCE ever.
 694   Fixes:
 695     * Fix <x=y> table attributes parsing. Thanks to Reimar Bauer.
 696     * Fixed a few bugs in the reStructured text parser. Note that you
 697       need to install docutils 0.3.10 or newer (snapshot from December 2005
 698       or newer) to make reStructuring parsing work:
 699      * Case preservation for anonymous links
 700      * MoinMoin links get the appropriate CSS class
 701      * Images do not get special CSS markup anymore
 702      Thanks to Matthew Gilbert.
 703     * Fixed a bug in the WSGI code which led to incorrect exception handling.
 704     * Removed all nationality flags. They used to be used for indicating some
 705       specific language (NOT nationality) and this was simply wrong and a bad
 706       idea.
 707     * Fixed some header rendering issues (CSS).
 708     * SystemAdmin macro now checks against cfg.superuser list.
 709 
 710   Other changes:
 711     * Added turkish i18n. To be considered as alpha as it got in last minute.
 712 
 713 
 714 Version 1.5.0rc1:
 715   This is the first release candidate of MoinMoin 1.5.0.
 716   
 717   Fixes:
 718     * fixed broken logs when a DeletePage (maybe also RenamePage) comment
 719       contained CR/LF characters (could happen when using copy&paste)
 720     * fixed GUI editor MoinEditorBackup page containing HTML instead of wiki
 721       markup
 722     * fixed invalid HTML in FootNotes
 723     * fixed HTML source in EditorBackup after canceling GUI editor
 724     * Footnotes of included pages are not shown at the bottom of the including page.
 725     * Bug in Dict handling that often breaks first entry
 726 
 727 Version 1.5.0beta6:
 728   Authentication:
 729     * Added SSO module for PHP based apps. Currently supported: eGroupware 1.2.
 730       No need to login in two systems anymore - MoinMoin will read the PHP session
 731       files.
 732 
 733   Fixes:
 734     * Improved rendering of bullet lists and external links in Restructured text.
 735       Thanks to Matthew Gilbert.
 736     * Fixed modern theme rendering, including some fixes and workarounds for
 737       broken MS IE.
 738     * When checking for email uniqueness, do not compare with disabled user
 739       profiles.
 740     * Fix sending of HTTP headers for Despam action.
 741     * Add some margin left and right of the link icons.
 742 
 743   Other changes:
 744     * Made it easier for auth methods needing a user interface (like ldap or
 745       mysql stuff). Unlike http auth, they usually need some "login form".
 746       We made UserPreferences login form values (name, password, login, logout)
 747       available as kw args of the auth method, so it is easy and obvious now.
 748     * Make login and logout show at the same place. Is only shown when
 749       show_login is True (default).
 750     * Disabled login using &uid=12345.67.8910 method. Please use name/password.
 751     * Made builtin moin_cookie authentication more modular: the cookie is now
 752       touched by MoinMoin.auth.moin_cookie only, with one minor discomfort:
 753       When creating a user, you are not automatically logged in any more.
 754     * We now use the packager for additional help and system pages in all other
 755       languages except English. The packages are attached to SystemPagesSetup
 756       page and can be installed from there after getting "superuser" powers.
 757       The "extra" package contains a collection of orphan pages not listed on
 758       some SystemPagesIn<Language>Group page.
 759 
 760 
 761 Version 1.5.0beta5:
 762   Fixes:
 763     * Fixed a minor user interface bug: it showed RenamePage and DeletePage
 764       actions in the menu if you only had write rights and then complained
 765       when you really tried when you had no delete rights additionally.
 766     * We don't remove RenamePage and DeletePage from menu any more if user is
 767       unknown. This stuff is only driven by ACLs now.
 768     * Some fixes to Despam action.
 769     * Fixed moin_dump (broken by some recent theme init change).
 770     * Fixed a few tests by moving the theme init from moin_dump to RequestCLI.
 771     * removed old_onload reference from infobox.js
 772     * Fixed MoinMoin logo for IE.
 773     * search: fixed whitespace handling in linkto: search terms
 774     * Increased stability of the tests system by outputting results to sys.stdout
 775       instead of request. Note that this changes the semantics for e.g. mod_py or
 776       mod_fcgi.
 777     * Fixed packaging system in the case of AddRevision that does not alter the page.
 778     * Fixed a few bugs in the XML formatters (dom_xml, text_xml, xml_docbook).
 779     * Fixed link icons. We now just use a.xxx.before where xxx is the link scheme,
 780       e.g. a.http.before. See theme's common.css.
 781     * Hopefully fixed some issue with non-ASCII attachment filenames.
 782     * Workaround for Opera 8.5 making silly "No addition" categories.
 783     * Do not show GUI editor for non-wiki format pages, because we only have a
 784       converter from html to wiki right now.
 785     * Fix the modern CSS issues for editbar, when it shifted content far right.
 786       Also removed the absolute height value that never was right.
 787     * Fix mod_python adaptor bugs failing to handle Location correctly.
 788       See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339543
 789 
 790   Other changes:
 791     * Added irc:// to the builtin supported link schemas. You can remove it
 792       from config.url_schemas in case you have patched it in there.
 793     * Added cfg.user_autocreate (default: False). Use True to enable user
 794       profile autocreation, e.g. when you use http authentication, so your
 795       externally authenticated users don't need to create their moin profile
 796       manually. The auth method (see cfg.auth list) must check this setting
 797       if it supports auto creation.
 798     * Added user_autocreate support for auth.http and auth.sslclientcert.
 799     * Added "." and "@" to allowed characters in usernames. This is needed
 800       e.g. when using mod_pubcookie for authentication. mod_pubcookie returns
 801       userids like "geek@ANDREW.CMU.EDU" (e.g. the Kerberos domain is part of
 802       the id). Thanks to Brian E. Gallew for his patch, which we used for
 803       inspiration for user autocreation changes.
 804     * Changed auth method to return a tuple (user_obj, continue_flag), see
 805       comments in auth.py.
 806     * auth methods now create user objects with kw args auth_method and
 807       auth_attribs, so that moin knows later how the user was authenticated
 808       and which user object attributes were determined by the auth method.
 809     * Added MoinMoin/scripts/import/IrcLogImporter.py to import supybot's
 810       IRC logs into a moin wiki. We use MonthCalendar compatible page names,
 811       so you can use the calendar for showing / navigating the logs.
 812     * Removed packager binary from FCKeditor (fixing a Debian policy problem).
 813     * Worked around .png transparency bugs of IE with the new logo. We ship
 814       two logos: moinmoin.png without an alpha channel (IE compatible) and
 815       moinmoin_alpha.png which has an alpha channel and looks better on
 816       browsers with full .png support.
 817     * Allow a .zip file to have a directory in it if it is the only one.
 818 
 819 Version 1.5.0beta4:
 820   Fixes:
 821     * use <span class="anchor"> instead of <a> for line-xxx anchors, this
 822       fixes some rendering problems on IE
 823     * Fixed the ReStructured text parser when it was used with non-HTML
 824       formatters. Increased compatiblity with new docutils code.
 825       (Thanks to Matt Gilbert.)
 826   Other changes:
 827     * cfg.stylesheets = [] (default). You can use this on wiki or farm level
 828       to emit stylesheets after the theme css and before the user prefs css.
 829       The list entries must be ('screen', '/where/ever/is/my.css') style.
 830     * Added sample code for auth using an external cookie made by some other
 831       program. See contrib/auth_externalcookie/*. You need to edit it to
 832       fit whatever cookie you want to use.
 833 
 834 Version 1.5.0beta3:
 835   Fixes:
 836     * fixed editor preview throwing away page content for new pages
 837     * require POST for userform save and create* action
 838     * use request.normalizePagename() while collecting pagelinks
 839     * do not offer gui editor for safari
 840   Other changes:
 841     * tell user if account is disabled
 842     * added support for linking to .ico and .bmp
 843     * attachment methods for the text_xml and xml_docbook formatters
 844     * new favicon
 845     * updated i18n (fixed nl, did nobody notice this?) and underlay
 846     * changed show_interwiki default to 0
 847 
 848 Version 1.5.0beta2:
 849   Fixes:
 850     * fix wrong _ in title links (MoinMoinBugs/AddSpaceWikiNameAtHead)
 851     * fix gui editor (converter) crash on save
 852     * MoinMoinBugs/PageHitsFails
 853     * MoinMoinBugs/PackagePagesFailsBecauseAllowedActionsMissing
 854     * Avoid destroying existing page content if editor is called with
 855       template parameter for an existing page.
 856     * fix countdown javascript for browser status line in editor
 857     * added page title display for editor
 858     * added header div for classic theme
 859 
 860   Authentication and related:
 861     * Added a WhoAmI.py wiki xmlrpc plugin to check whether auth works
 862       correctly for xmlrpc. There is a counterpart script WhoAmI.py that
 863       uses http auth when calling the xmlrpc plugin, so you can use it to
 864       check http auth.
 865 
 866 Version 1.5.0beta1:
 867     * Requirements changed to require Python >= 2.3. We recommend that
 868       you use the latest Python release you can get. The reason we
 869       dropped 2.2.2 support is because no developer or tester uses this
 870       old version any more, so incompatibilities crept in the code
 871       without anybody noticing. Using some recent Python usually is no
 872       real problem, see there for some hints in case you still run an
 873       old python: http://moinmoin.wikiwikiweb.de/NewPythonOnOldLinux
 874       The hint also does apply to other POSIX style operating systems,
 875       not only Linux.
 876     * We recommend you use MoinMoin/scripts/cachecleaner.py to clean the
 877       wiki's cache (see comments at top of the script).
 878       The cache will automatically be rebuilt (some operations may take
 879       some time when first being used, e.g. linkto: search, so be patient!).
 880 
 881   Config Changes:
 882      * see MoinMoin/multiconfig.py (just read, don't edit) for configuration
 883        settings you might not know, see also HelpOnConfiguration in your local
 884        wiki
 885      * new defaults:
 886        * page_front_page old: u"FrontPage" new: u"HelpOnLanguages"
 887          please just read the help page in case you see it :)
 888        * bang_meta old: 0 new: 1
 889        * show_section_numbers old: 1 new: 0
 890        * some regexes that used to be [a-z]Uxxxx$ are now [a-z0-9]Uxxxx$
 891        * navi_bar has no page_front_page as first element any more
 892      * removed settings and code [new behaviour]:
 893        * acl_enabled [1]
 894        * allow_extended_names [1]
 895        * allow_numeric_entities [1]
 896        * backtick_meta [1]
 897        * allow_subpages [1]
 898      * new settings:
 899       * cfg.mail_sendmail = "/usr/sbin/sendmail -t -i" can be used if sending
 900         via SMTP doesn't work on your server. Default is None and that means
 901         using SMTP.
 902       * language_default replaces the old default_lang setting (just renamed).
 903       * language_ignore_browser = True can be used to let moin ignore the
 904         user's browser settings (e.g. if you run a local-language only wiki
 905         and your users use misconfigured or buggy browsers often). Default is
 906         False. Don't forget to set language_default when using this.
 907  
 908     * Wiki Editor changes / new WYSIWYG editor
 909      * fully imported the javascript based LGPLed FCKeditor (many thanks
 910       to Fred CK for his great work). See http://fckeditor.net/ for details.
 911      * config for FCKeditor is at wiki/htdocs/applets/moinfckeditor.js
 912      * added cfg.interwiki_preferred (default = []) to set a list of wikis to
 913        show at the top of the wiki selection list when inserting an
 914        interwiki link (just use the same wiki name as in interwiki
 915        map). If the last list item is None, then the preferred wikis
 916        will not be followed by the entries of the interwiki map.
 917     * moved save/preview/... buttons to the top so that they can be
 918       easily reached
 919     * reduced edit_rows default to 20 lines
 920     * Added support for edit by doubleclick in the diff view
 921 
 922     * Improved wiki farm support
 923      * make user files sharable between several wikis in a farm
 924       * allow/use interwiki subscriptions
 925       * use interwiki links in page trail
 926       * save bookmark per wiki name
 927      * cfg.cookie_domain can be used to set a cookie valid for a complete
 928        domain (default: None == only for this host). If you use '.domain.tld',
 929        the cookie will be valid for all hosts *.domain.tld - good for host
 930        based wiki farms.
 931      * cfg.cookie_path can be used to set a cookie valid for a wiki farm under
 932        some base path (default: None == only for this wiki's path). If you use
 933        '/wikifarm',  the cookie will be valid for all wikis
 934        server.tld/wikifarm/* - good for path based wiki farms.
 935      * Interwiki user homepage (if you have MANY users)
 936        Generated links for usernames are interwiki now, use cfg.user_homewiki
 937        (default: 'Self') to specify in which wiki the user home pages are
 938        located. Note: when pointing this to another wiki, the /MoinEditorBackup
 939        functionality will be disabled.
 940        @SIG@ also uses interwiki when needed.
 941 
 942     * Authentication, ACLs and related
 943      * Modular authentication: cfg.auth is a list of functions that return a
 944        valid user or None, use it like this:
 945            from MoinMoin.auth import http, moin_cookie
 946            auth = [http, moin_cookie]
 947      * cfg.auth_http_enabled was removed, please use cfg.auth instead.
 948      * http auth now supports "Negotiate" scheme, too
 949      * Added sslclientcert auth method (Apache: untested, Twisted: not
 950        implemented, IIS: no idea). See MoinMoin/auth.py for details.
 951        Submit a patch if you have improvements.
 952      * cfg.superuser is a list of unicode usernames. It is used by some
 953        critical operations like despam action or PackageInstaller.
 954      * removed allowed_actions, we now use actions_excluded only and it
 955        defaults to [], that means, no action is excluded, everything is
 956        allowed (limited by ACLs). In case of RenamePage and DeletePage,
 957        this shouldn't be a problem as both can be reverted. In case you
 958        did not allow attachments, you now have to use:
 959        actions_excluded = ['AttachFile']
 960      * special users (All, Known, Trusted) in Groups are now supported
 961      * MoinMoin.util.autoadmin SecurityPolicy added
 962        When using this security policy, a user will get admin rights on his
 963        homepage (where pagename == username) and its sub pages. This is needed
 964        for the MyPages action, but can also get used for manual ACL changes.
 965        It can also be used for Project page auto admin functionality, see the
 966        comments in the script for details.
 967        Further it can automatically create the user's group pages when the
 968        user saves his homepage.
 969      * there is a UpdateGroup xmlrpc call, see MoinMoin/xmlrpc/UpdateGroup.py -
 970        you can use this to update your *Group pages e.g. when generating them
 971        from an external group database.
 972 
 973     * UserPreferences changes
 974      * Alias name: is used for display purposes, when "name" is cryptic. It is
 975        shown e.g. in the title attribute of userid links (displayed when
 976        moving the mouse over it).
 977      * "Publish my email (not my wiki homepage) in author info" - use this
 978        if you don't have a wiki homepage, but if you want to be contactable
 979        by email. When you edit a page, your email address will be published
 980        as mailto: link on RecentChanges, at bottom of page (last editor) and
 981        in page info. If the wiki runs publically on the internet, be careful
 982        using this or your email address might be collected by spammers.
 983      * Preferred Editor: whether you want to use the text editor (as in
 984        previous moin versions), the gui editor (new!) or both (you will get
 985        2 edit links in that case).
 986      * a user can add/remove the current page to/from his quicklinks with an
 987        appropriate action now
 988      * if cfg.user_email_unique = False, we don't require user's email
 989        addresses to be unique
 990      * removed show_fancy_links user preferences setting to simplify code and
 991        caching. Displaying those icons is now done by CSS styles (see
 992        common.css). Maybe needs fixing for non-standard themes and RTL langs.
 993 
 994     * Markup
 995      * added strikethrough markup: --(striked through text here)--
 996      * @ME@ expands to just the plain username (no markup added) on save
 997     
 998     * User homepages
 999      * when a user accesses his own non-existing homepage (pagename ==
1000        username), the wiki will present the MissingHomePage system page
1001        content, explaining what a user homepage is good for and offer
1002        one-click editing it with content loaded from HomepageTemplate
1003      * creation of homepage subpages is assisted by the MyPages action, which
1004        offers rw, ro page creation (and a related group) or creation of private
1005        pages. If you are not in the user_homewiki, you will get redirected
1006        there first.
1007 
1008   Other changes/new features:
1009     * Added PackageInstaller and unzipping support (see wiki page
1010       HelpOnActions/AttachFile for further details).  PackageInstaller requires
1011       the user to be in cfg.superuser list.
1012      * Added an PackagePages action to simplify the package creation.
1013     * Added location breadcrumbs - when you are on some subpage, the page
1014       title parts link to the corresponding parent pages, the last part does
1015       the usual reverse linking.
1016     * added WSGI server support, thanks to Anakim Border, see:
1017       wiki/server/moinwsgi.py (moin as WSGI app, uses the flup WSGI server,
1018                                see http://www.saddi.com/software/flup/)
1019       MoinMoin/server/wsgi.py (adaptor code)
1020     * added a "Despam" action to make de-spamming a wiki easy (mass revert
1021       bad changes done by a single author or bot). You need to be in
1022       cfg.superuser to use it.
1023     * Better diffs with links to anchors to the changed places
1024     * Enhanced table support in the DocBook formatter.
1025     * Added 'moin' daemon script, that let you run moin standalone
1026       server as daemon and control the server with simple command line
1027       intreface: moin start | stop | restart | kill
1028     * Add 'restart' option to mointwisted script
1029     * Add properties option to standalone server config. Allow
1030       overriding any request property like in other server types.
1031     * Add support for running behind proxy out of the box with out
1032       manual url mapping.
1033       See HelpOnConfiguration/IntegratingWithApache
1034     * added a WikiBackup action, configure it similar to this:
1035       data_dir = "/path/to/data"
1036       backup_include = [data_dir, ] # you can add other dirs here
1037       backup_users = ["BackupUserName", ] # only TRUSTED users!
1038       You usually don't need to change the default backup_exclude setting.
1039       The default backup_include list is EMPTY and so will be your
1040       backup in case you don't configure it correctly.
1041       If you put your data_dir there, the backup will contain private
1042       user data like email addresses and encrypted passwords.
1043     * Added a SubscribeUser action which allows the administrator to subscribe users to the
1044       current page.
1045     * Added thread count to SystemInfo macro.
1046     * Added Petr's newest patch against the DocBook code. It allows you to use macros (esp. the include macro) in DocBook pages in order to build larger documents.
1047     * Added a RenderAsDocbook action which redirects to the DocBook formatter.
1048     * Added searching for wiki-local words lists under <data_dir>/dict/.
1049       They are used additionally to the global lists in MoinMoin/dict/.
1050     * moin_dump now also dumps attachments referenced from the page.
1051       It doesn't dump stuff that is just attached, but not referenced!
1052     * On RecentChanges we now force the comment to be breakable, this improves
1053       rendering of over-long words or on narrow browser windows - especially
1054       for themes with limited content width like rightsidebar.
1055     * We now have the "new" icon on RecentChanges clickable, just links to the
1056       page.
1057     * Print view now shows "interwikiname: pagename" (for show_interwiki = 1).
1058 
1059   International support:    
1060     * mail_from can be now a unicode name-address 
1061       e.g u'Jürgen wiki <noreply@jhwiki.org>'
1062 
1063   Theme changes:
1064     * logo_string is now should be really only the logo (img).
1065       If you included your wiki's name in logo_string you maybe want to remove
1066       it now as it is shown as part of the location display now anyway (if
1067       you set show_interwiki = 1).
1068     * You maybe want to remove page_front_page from your navi_bar - we link to
1069       that page now from the logo and (new, if you set show_interwiki = 1) from
1070       the interwiki name displayed in location display, so you maybe don't need
1071       it in navi_bar, too.
1072     * If you have a custom theme, you should / may:
1073      * sync modern/css/screen.css #pagelocation #pagetrail stuff to your
1074        screen.css or pagelocation display (title()) will look strange (like a
1075        list).
1076      * remove "#title h1 ..." CSS (or any other CSS assuming h1 is a page
1077        title and not just a first level heading), it is not used any more.
1078      * we now render = heading = as <h1> (was <h2> before 1.5),
1079        == heading == as <h2> (was <h3>), etc.
1080      * maybe move both title() and trail() to header area, like the builtin
1081        themes do it.
1082      * there is a new interwiki() base theme method that optionally (if
1083        show_interwiki = 1) shows the interwiki name of this wiki and links to
1084        page_front_page. The css for it is #interwiki.
1085 
1086   Developer notes:    
1087     * Plugin API was improved. When plugin module is missing,
1088       wikiutil.PluginMissingError is raised. When trying to import a
1089       missing name from a plugin module, wikiutil.PluginMissingError is
1090       raised. You must update any code that use wikiutil.importPlugin.
1091       Errors in your plugin should raise now correct tracebacks. See
1092       http://moinmoin.wikiwikiweb.de/ErrorHandlingInPlugins
1093     * pysupport.importName was changed, it does not check for any
1094       errors when trying to import a name from a module. The calling
1095       code should check for ImportError or AttributeError. Previous
1096       code used to hide all errors behind None.
1097     * Its easier now to customize the editbar by overriding
1098       editbarItems() in your theme, and returning a list of items to
1099       display in the editbar. To change a single editbar link, override
1100       one of the xxxLink methods in your theme.
1101 
1102   Internal Changes:
1103     * request.formatter (html) is available for actions now
1104     * theme API's d['page_home_page'] is gone (sorry) and replaced by
1105       d['home_page'] which is either None or tuple (wikiname,pagename).
1106       It is better to use the base classes function for username/prefs anyway.
1107     * introduced cfg.hacks for internal use by development, see comment in
1108       multiconfig.py and file HACKS.
1109     * added IE7 (v0.9) from Dean Edwards (see http://dean.edwards.name/IE7/) -
1110       that should fix quite some IE bugs and annoyances (on Win32).
1111       * for enabling IE7, use cfg.hacks = { 'ie7': True }
1112     * reducewiki now also copies all attachments (we use that to make underlay
1113       directory from moinmaster wiki's data_dir)
1114 
1115   Fixes:  
1116     * Fixed a typo in xslt.py which led to a traceback instead of an
1117       error message in case of disabled XSLT support.
1118     * Fixed crash in twisted server if twisted.internet.ssl is not
1119       available.
1120     * Fixed wrong decoding of query string, enable wiki/?page_name urls
1121       with non ascii page names.
1122     * Fixed wrong display of non ascii attachments names in
1123       RecentChanges and page revision history.
1124     * Fixed a crash when trying to run standalone server on non posix os.
1125     * Fixed highlight of misspelled words in Check Spelling action.
1126     * Fixed case insensitivity problems on darwin (Mac OS X). See
1127       MoinMoinBugs/MacHfsPlusCaseInsensitive
1128     * Added RecentChanges (only the english one) to the pages getting
1129       html_head_index headers
1130     * text_html cache files written with this code will invalidate themselves
1131       if they detect to be older than the wikiconfig. Note: you should remove
1132       all old text_html cache files once after upgrading, they will then be
1133       rebuilt automatically with the new code.
1134     * Fixed MoinMoinBugs/12_to_13_mig10_Walk
1135     * Fixed the word_rule: a word like AAAbbAbb isn't teared into two parts
1136       any more (was: AA<link>AbbAbb</link>)
1137     * Fixed false positive InterWiki markup for languages like Finnish.
1138       InterWiki links are only rendered if the left side has an appropriate
1139       entry in the interwiki map, otherwise it is rendered as simple text.
1140     * Fixed unicode error when uploding non-ascii file name using mod
1141       python.
1142     * Fixed error handling of wikirpc requests, should give more
1143       correct errors and prevent no error output and blocking the
1144       client in some cases.
1145     * Fixed the "lost password" mail processing. If a user entered some email
1146       address unknown to the system, he was not notified of this, but just got
1147       a useless mail with no account data in it. Now the system directly tells
1148       the user that he entered an unknown email address.
1149     * Fixed SystemInfo, it now also lists parsers in data/plugin/parser dir.
1150     * Fix error handling on failure, improved error display
1151     * Fix error handling when importing plugins or importing modules
1152       dynamically. The fix is not backward compatible with older plugins.
1153     * Fix chart action, returns a page with error message when chart
1154       can not be created.
1155     * Fixed formatter usage in the ShowSmileys macro.
1156     * Fixed updating pagelinks cache for [:page:text] or [wiki:Self:page text],
1157       fixes display of LocalSiteMap and rendering of such links.
1158     * Hopefully fixed urllib problems (esp. with py 2.4.2, but also before) by
1159       using our own urllib wrapper that handles encoding/decoding to/from
1160       unicode, see wikiutil.py. Also made a similar fix for making and parsing
1161       query strings.
1162     * Fixed MonthCalendar tooltips when containing special chars like quotes.
1163     * Added html escaping for diff text for RSS feed with diff=1.
1164     * The distance between page content beginning and the first = heading =
1165       was much too much. Fixed.
1166     
1167 Version 1.4:
1168 
1169     We used that version number for an internal and early development version
1170     for what will be called moin 2.0 at some time in the future.
1171     There will never be a 1.4.x release.
1172 
1173 
1174 Version 1.3.5 (2005-08-04, Revision moin--main--1.3--patch-883)
1175 
1176 Fixes:
1177     * small CSS fix for rightsidebar theme
1178     * applied some Debian patches (thanks to Jonas!):
1179       * de i18n spelling fixes
1180       * AttachFile fix, we strip CR in .draw files now
1181       * when loading spellcheck dictionaries, we want utf-8, but we make
1182         a 2nd try with iso-8859-1 encoding.
1183 
1184 New Features:
1185 
1186     * enabled using https with the Twisted server:
1187       You need to use port 443, have PyOpenSSL (+ ssl libs it depends on)
1188       installed and have some site key and certificate PEM files configured in
1189       your twistedmoin.py file:
1190       sslcert = ('/whereever/cert/sitekey.pem', '/whereever/cert/sitecert.pem')
1191 
1192 
1193 Version 1.3.5rc1 (2005-07-31, Revision moin--main--1.3--patch-865)
1194 
1195 Fixes:
1196 
1197     * Fixed security bug when acl of deleted page was ignored. See:
1198       http://moinmoin.wikiwikiweb.de/MoinMoinBugs/ACLIgnoredAfterDelete
1199     * AttachFile did not display the original filename plus there
1200       was a confusion in input field labelling ('Rename to').
1201     * Fixed shortcut link non-existent page detection.
1202     * Fixed non-working bookmark function on python 2.2.x.
1203     * Fixed wikirpc getPageInfo call on python 2.2.x.
1204     * Fixed the failing import of plugins from the data/plugin/
1205       directories if run in zipimport environments.
1206     * Fixed traceback which occurred on negated searches.
1207     * Fixed crash when trying to render error message on twisted, fast
1208       cgi and modpy.
1209     * Fixed error message with modpy, used to show wrong errors below
1210       the real message.
1211     * Fixed search and goto text fields for better compatibility with
1212       dark themes and better control through css.
1213     * Show an edit link if MissingPage is missing and a warning in the
1214       server log.
1215     * Fixed missing footer in the editor.
1216     * Fixed indented (invalid) headings with broken links in table of
1217       contents.
1218     * Fixed crash when file name is too long, show standard error message.
1219     * Save trail file in a safe way, should be enough for normal use.
1220     * Fixed remember_last_visit user preferences option when show_trail
1221       is not selected.
1222     * Fixed the tests for Standalone, Twisted, FastCGI and Mod_Python.
1223       Run with ?action=test from any page.
1224     * Fixed rare bug when wrong search type was performed when pasting
1225       search term in Safari.
1226     * Fixed crash for custom formatters and dom_xml (which occurred if
1227       smileys were in the page).
1228     * Editor opens on double click in pages with single quote in the
1229       name, like "Ben's Wiki".
1230     * '/.' in page names are not replaced any more by '/(2e)'
1231     * Fixed the long delays while saving pages using RequestCLI.
1232     * Fixed variable expanding for users with non WikiName.
1233     * Fixed MonthCalendar's calculation of "today" to use the user's
1234       time zone setting.
1235     * Fixed moin_dump script, use same configuration options as other
1236       scripts.
1237     * Fixed url_mappings to work in proxied setups and sent mails
1238       again. Also fixed for image links. Thanks to JohannesBerg.
1239     * Fixed page shown after saving a drawing (esp. when saved from a
1240       sub page). Fixed help link for drawings.
1241     * Fixed mig10 script to run on Python < 2.3.
1242     * The twisted server defaulted to a socket timeout of 12 hours!
1243       We reduced that to a more sane 10 minutes, that should still be more
1244       than enough. This fixed the "too many open files" problem we
1245       encountered quite often recently. Thanks to Helmut Grohne!
1246 
1247 Other Changes:
1248 
1249     * Added {hu} flag.
1250     * Added cz, pt and pt-br i18n.
1251     * We send a 404 http status code for nonexisting wiki pages now,
1252       maybe this will repell some search engines from requesting gone
1253       pages again and again. The wiki user still sees the MissingPage
1254       wiki stuff, so a user usually won't notice this change.
1255     * Return 500 error code on failure and exceptions.
1256     * Added some more bot / leech tool user agent strings.
1257     * Prevent page floating elements from floating out of the page over
1258       the footer, in modern, rightsidebar and classic themes.
1259     * Encode URLs in a safer way
1260     * We allow usernames with ' character in them now (like Tim O'Brian).
1261     * Added support for the new security flags in docutils 0.3.9.
1262     * @MAILTO@ expands now to safer [[MailTo()]] macro.
1263     * Clarified and i18ned lost password mails.
1264     * Added 'TitleIndex' and 'SiteNavigation' (+ translation) to the
1265       list of pages that use html_head_index (so that robots
1266       "index,follow").  Please make sure to have either FindPage,
1267       TitleIndex or SiteNavigation in your navi_bar or in your
1268       page_front_page content if you want search engines to find all
1269       your pages.
1270     * Make it possible to send account data when being logged in (for
1271       future reference or whatever purpose).
1272     * Speed up when running with persistent servers, the wiki config
1273       does only get loaded once and misc. stuff is being cached between
1274       requests now.
1275     * The unit tests are disabled when using multi threading, because
1276       the wiki configuration is shared between diffrent threads.
1277     * The main code path (using standalone server) of MoinMoin runs on
1278       PyPy now.
1279     * Formatters do automatically transform HTML to plain text if they are
1280       called with raw HTML code.
1281     * Using larger socket backlog on Standalone and FastCGI servers
1282       should be more reliable on high load.
1283     * We now strip leading path from attachments uploaded by IE (this is
1284       a bug in IE, not in MoinMoin). Better use a sane browser, like Firefox.
1285     * added "teleport" to the user agent blacklist
1286 
1287 New Features:
1288 
1289     * Integrated Lupy indexer for better search performance. It is disabled
1290       by default as of 1.3.5 as it still has known issues.
1291       See multiconfig.py if you want to test it.
1292     * Integrated MonthCalendar 2.1, with some new features:
1293       * a mouseover bubble that shows first level headlines of the linked
1294         day page
1295       * all calendars with same pagename move when using cal navigation,
1296         thanks to Oliver Graf
1297       * included AnnualMonthlyCalendar patch of Jonathan Dietrich
1298         (use [[MonthCalendar(Yearly,,,+1,,6,1)]] syntax for birthdays and
1299         other annually repeating stuff)
1300       Make sure you remove old MonthCalendar.* from data/plugin/macro so that
1301       moin will use the new code in MoinMoin/macro/MonthCalendar.py.
1302       Maybe also clear the text_html cache.
1303     * Added the new XSLT parser and the DocBook parser. This should increase
1304       the 4suite compatiblity. See HelpOnXmlPages for details.
1305       It now should run on 4suite 1.0a4 and 1.0b1. Thanks to Henry Ho!
1306     * Added the DocBook formatter. This will let you generate DocBook markup
1307       by writing simple wiki pages. It needs PyXML.
1308     * It is now possible to customize parts of the UserPreferences page in
1309       your wikiconfig (changing defaults, disabling fields, removing fields):
1310       * Use user_checkbox_* for the checkboxes.
1311       * Use user_form_* for other fields.
1312       * See MoinMoin/multiconfig.py for the built-in defaults.
1313     * New standalone server classes: ThreadPoolServer using pool of
1314       threads, ThreadingServer with thread limit and ForkingServer.
1315     * New standalone server configuration options: serverClass,
1316       threadLimit, requestQueueSize.
1317     * Use "PythonOption Location" in mod_python setup to solve script_name
1318       problems.
1319 
1320 Developer notes:
1321     
1322     * Theme can now override maxPagenameLength() method to control page
1323       name shortening.
1324     * A search Match now provides access to the full re match via
1325       the re_match attribute (use to access groups of the match)
1326     * Underlay is not managed by arch any more. The tree contains an
1327       underlay tarball, and you should untar after you update from main.
1328     * "make update-underlay" will untar underlay
1329     * "make merge" will star-merge main into your tree
1330     * "make test" will now create and run in a fresh testwiki instace
1331     * "make clean" options added
1332     * _tests module does not have a global request any more. To refer to
1333       the current request in a test, use self.request.
1334     * _tests.TestConfig class require a request in the constructor.
1335     * "python tests/runtests.py test_module" will run only test_module
1336     * request.cfg stays between requests (for persistent servers).
1337 
1338 
1339 Version 1.3.4 (2005-03-13, Revision moin--main--1.3--patch-666)
1340 
1341 Fixes:
1342 
1343     * Fixed ACL check in LikePages macro that caused links to unreadable 
1344       pages to show.
1345     * Fixed ACL check in newpage action.
1346     * Fixed a security problem when admin policy defined in a custom
1347       SecurityPolicy class was ignored.
1348     * Fixed ACL check in action=show so that a user who may not read a page
1349       also can't find out WHEN the protected page was updated.
1350     * Workaround on Windows 95, 98, ME in order to clear the dircache.
1351       This fixes some bugs related to an outdated page list and newly created
1352       pages that did not appear immediately.
1353     * Fixed decoding issues of page names on Windows, finally.
1354       http://moinmoin.wikiwikiweb.de/MoinMoinBugs/BrokenUmlautsInLinksIn131
1355     * Fixed traceback on IIS.
1356       http://moinmoin.wikiwikiweb.de/MoinMoinBugs/request%2epy_broken_on_IIS
1357     * Fixed wikirpc for standalone server.
1358     * Other fixes (encoding and str/unicode data type related) to wikirpc
1359       server, fixing some non-ascii issues hopefully.
1360     * Fixed broken query strings for Standalone installations.
1361     * Fixed backlinks - the result did not always show all links, often it 
1362       showed too many irrelevant matches (MoinMoinBugs/BacklinksAreBroken).
1363     * Fixed the acceptance of the show_hosts setting. Now you should be able
1364       to hide any IP or host name from being published by MoinMoin by enabling
1365       this option.
1366     * Fixed wrong line endings on email messages.
1367     * Fixed MoinMoinBugs/StandaloneUnquotesTooMuch.
1368     * Fixed crash when trail file is missing.
1369     * Fixed a traceback when searching for single ( or ).
1370     * Added mig10 script to fix crashes with uncoverted edit-locks and file
1371       attachments. Just use it as you did with mig1..mig9 before.
1372     * Added mig11 script to add __init__.py files to data/plugin (and below).
1373     * added some fixes for the xslt parser (thanks to fanbanlo), it might be
1374       still broken, but someone with deeper knowledge about xslt should fix it.
1375     * Replaced image link with W3C's "html 4.01 compliance" icon by a simple
1376       text link to avoid https: or config trouble.
1377     * Catch OverflowError backtrace when illegal date strings (e.g. <1970 or
1378       >2038) are fed to moinmoin's time routines. It will just output current
1379       date / time in those cases.
1380     * UserPreferences now also set a date_fmt preference and Date macro
1381       honours it. You may have to reset your UserPreferences value for that.
1382     * Fixed free parent and subpage links in interwiki notation.
1383       http://moinmoin.wikiwikiweb.de/MoinMoinBugs/FreeParentLinksAreBroken
1384     * Fixed a traceback for invalid ReST markup.
1385     * Fixed UnicodeError in SystemAdmin's Attachment Browser.
1386 
1387 Other Changes:
1388 
1389     * Optimized the IRC parser.
1390     * Support for zipimport of the MoinMoin package. This allows you to use
1391       py2exe and similar programs.
1392     * Show the editor's name in the mail subject.
1393     * Added the pragmas description and keywords. They will add <meta> headers
1394       if used.
1395     * Added MoinMoin/scripts/xmlrpc-tools/putPageTest.py example script, useful
1396       as a starting point for importing data using wiki xmlrpc.
1397     * Optimised display on Opera browser.
1398 
1399 New features:
1400 
1401     * The search modifier "linkto:" was introduced. You can use it to search
1402       for links.
1403     * The NewPage macro now can take a PageTemplate parameter, see HelpOnMacros.
1404     * New config settings (so you don't need to edit wikirpc.py any more):
1405       xmlrpc_putpage_enabled = 0 (if 1, enables writing to arbitrary page names)
1406       xmlrpc_putpage_trusted_only = 1 (if 0, doesn't require users to be
1407        authenticated by http auth - DANGEROUS, DO NOT SET TO 0!!!)
1408     * Added support for Digest and NTLM authentication with CGI (e.g. if you
1409       use those Apache modules)
1410     * The datetime string accepted by Date and DateTime macros was extended to
1411       accept a timezone specification, so now +/-HHMM is also valid, e.g.:
1412       2005-03-06T15:15:57Z (UTC, same as +0000)
1413       2005-03-06T15:15:57+0000 (UTC)
1414       2005-03-06T16:15:57+0100 (same time given as local time for time zone
1415                                 with offset +0100, that is CET, e.g. Germany)
1416       2005-03-06T10:15:57-0500 (same time given as local time for time zone
1417                                 with offset -0500, EST, US Eastern Std. Time)
1418       The values given as macro argument will be transformed to UTC internally
1419       and then adapted again according to viewing user's UserPreferences, so
1420       the user will see the same moment in time but shown in his local time
1421       zone's time (at least if he set his UserPreferences correctly and didn't
1422       forget changing them twice a year for DST and non-DST).
1423     * Readded (now optional) editlink footer to Include macro. Add
1424       ',editlink' to call to enable this.
1425     * star "smileys" e.g. {*}{*}{*}{o}{o}
1426 
1427 
1428 Version 1.3.3 (2005-01-24, Revision moin--main--1.3--patch-595)
1429 
1430 Fixes:
1431 
1432     * fixed ACL security problem in search
1433     * fix for IIS with CGI allowing page names that contain chars
1434       that are not in the system code page
1435     * fixed MoinEditorBackup revisions to start with 1 now
1436     * improved page locking ('current' file)
1437     * Unittests (normally shown at end of action=test output) are currently
1438       disabled for everything except CGI, because they only work reliably with
1439       CGI, giving wrong results for other request methods.
1440 
1441 
1442 Version 1.3.2 (2005-01-23, Revision moin--main--1.3--patch-587)
1443 
1444 Fixes:
1445 
1446     * ACL bugfix for deleted pages with ACL protection.
1447     * ACL bugfix for "Default" acl.
1448     * Fixed updating of groups and dicts
1449     * Python 2.2.x related fixes (worked on 2.3+)
1450       * Fixed traceback in RecentChanges.
1451       * Fixed traceback with links browser.
1452     * Fixed 0 revision display in 'Show changes'.
1453     * Fixed traceback in Antispam which occurred when it could not connect
1454       to MoinMaster. Log the errors to stderr or error.log.
1455     * Fixed bug in Page init (no date, use rev). Fixes problem with
1456       #deprecated PI.
1457     * Fixed empty lists in empty search results.
1458     * Cosmetic fix for modern theme (when viewed with Internet Explorer).
1459     * Fixed migration 9 script, do not drop newline, do not drop error.log, 
1460       note about missing error.log.
1461     * Fixed repair_language.py script, keep ending newline on revisions.
1462     * Show headings and macro content in correct direction when mixing content 
1463       in several directions in the same page and using caching.
1464     * Fixed bug in standalone re farmconfig.
1465     * Fixed DOS condition in antispam code.
1466     * Use smaller margin in print mode to get better results with 
1467       Mozilla/Firefox.
1468     * Fixed some user input escaping issues.
1469     * Fixed a problem when one wiki plugin override other wikis plugins in 
1470       same farm.
1471     * Fixed some broken tests.
1472     * Fixed recursive include in pstats.
1473     * Fixed bug in standalone - HTTP result code was 200 even when the access
1474       was forbidden.
1475     * Fixed traceback when trying to login with non-ascii password.
1476     * Fixed traceback when xml is not available, reported on Python 2.2.?
1477     * Fixed slideshow to show slides in sorted order again.
1478     * Fixed serving multiple wikis on same IP/different ports with twisted and
1479       farmconfig.
1480     * It is possible to run with data_underlay_dir = None for special
1481       application, but be aware that the wiki won't be usable unless you have
1482       at least some of the system pages from underlay/ available.
1483     * Files with Unicode characters in their filename are possible now.
1484     * Bugfix for broken [:page#anchor:text] links.
1485     * Workaround an instability of the gdchart module leading to
1486       stalled servers etc.
1487     * Fixed some event-log decoding issues that affect charts rendering.
1488 
1489 Other changes:
1490 
1491     * Major speed improvement over 1.3.1. Many times faster title search,
1492       creating new page, opening page editor and any operation that list pages.
1493       See http://moinmoin.wikiwikiweb.de/MoinBenchmarks
1494     * Improved README.migration.
1495     * Cleaner design for login/register interface, login is always the default
1496       button when the user click Enter.
1497     * If there are problems found in the configuration, log the error
1498       and display helpful error messages in the browser.
1499     * More forgiving unicode configuration policy, you must use the u'string' 
1500       format only for unicode values.
1501     * Added profiling to CGI.
1502     * The content of farmconfig.py is similar to wikiconfig.py now.
1503     * Unexpected errors while loading cache files are logged.
1504     * i18n for icon ALT tags.
1505     * Include request initialization code in the profile in standalone server.
1506     * When creating new theme, style sheets are inherited correctly, no need
1507       to override style sheets just to get them working.
1508     * Many times faster plugin system. Typical pages are about 35% faster, 
1509       pages with many plugins can be many times faster. 
1510     * Spiders are allowed to fetch attachments.
1511     * Old user files containing password hash encoded in pre 1.3 charset
1512       are auto repaired on first login.
1513     * data_dir defaults to './data', underlay_data_dir to './underlay' now.
1514       It is a good idea to replace those by absolute pathes in wikiconfig.py.
1515     * Renamed "Refresh" to "Delete Cache" - it was misused by users. The action 
1516       was also moved into the action menu in the modern and rightsidebar themes.
1517     * Added a workaround for TableOfContents missing some links by making it
1518       uncacheable via a "time" dependency.
1519     * Removed interwiki icon and title attribute for wiki:Self:... links.
1520     * Unittests (normally shown at end of action=test output) are currently
1521       disabled because they worked unreliably, giving wrong results sometimes.
1522 
1523 New features:
1524 
1525     * Create new pages easily using configurable interface and page templates 
1526       with the new NewPage macro.
1527     * ReStructuredText (rst) support is built-in now. See HelpOnParsers.
1528     * New experimental feature in mointwisted.py - each interface may 
1529       specify a port: '12.34.56.78:80'. Without a port, the port option
1530       is used.
1531 
1532 API changes:
1533 
1534     * For a complete list of changes, see MoinMoin:ApiChanges.
1535     * wikiutil.importPlugin's first argument is now a wiki config instance 
1536       (request.cfg) and there is no path keyword.
1537     * Wiki plugins always override MoinMoin plugins. wikiutil.importPlugin
1538       implements this override.
1539     * util.pysupport.importName does not accept path - you should call 
1540       it with correct module name, e.g 'wikiconfig.plugin.parser.wiki' for 
1541       wiki plugins, or 'MoinMoin.parser.wiki'. 
1542     * wikiutil.extensionPlugin was renamed to wikiPlugins and it gets config 
1543       instance instead of path.
1544     * New function wikiutil.importWikiPlugin used to import wiki plugins 
1545       using a cache in a thread safe way.
1546     * New config option config.use_threads is used to activate thread 
1547       safe code.
1548     * New keyword arguments for getPageList, enable 10X faster operation
1549       for common cases by controlling page filtering.
1550     * New up to 100X times faster getPageCount
1551 
1552 
1553 Version 1.3.1 (2004-12-13, Revision moin--main--1.3--patch-434)
1554 
1555 Fixes:
1556 
1557     * Fixed "Error Cyclic usage" crash when user had Italian (it), Korean
1558       (ko), Serbian (sr) or Vietnamese (vi) as user interface language.
1559     * Fall back to en (instead of crashing) when user uses a language moin
1560       does not support / does not support any more (like pt,sv,fi,sr).
1561     * In 1.3.0, people accidentally put iso-8859-1 chars into wiki configs,
1562       but those where expected to be pure utf-8 and thus it crashed.
1563       Fixed by using unicode strings (varname = u'whatever'), a matching
1564       encoding setting (see top of script comment) and, when decoding strings,
1565       using decode to ASCII with replace mode (this replaces non-ASCII chars,
1566       but at least it won't crash - and you get a warning to better use
1567       Unicode strings).
1568     * Fixed long time broken table formatting. ||<style="see css spec" a||b||
1569       Now even generates valid HTML! The old markup for align, valign, width,
1570       bgcolor still works, but synthesizes style attribute data.
1571     * SystemAdmin macro shows attachments of ALL pages now.
1572     * Users without write acl rights will be able to see attachments again and
1573       also have AttachFile action in menu.
1574     * Fixed wrong match count in search results, find all matches in page 
1575       titles, show all matches in contents in some rare cases.
1576     * Run about 200% faster with long running processes (standalone, Twisted), 
1577       about 20% faster with cgi, by better internal data handling in wikidicts.
1578     * On SF, the dict files use utf-8 encoding now. We included them also in
1579       distribution, see contrib/dict/.
1580     * Fixed permissions to shared template stuff.
1581     * Speeded up search, fixed wrong match counts.
1582     * Speeded up internal data handling (wikidicts).
1583     * Fixed rare unicode error after deleting a page (reported only on SuSE
1584       Linux 9.0 / Python 2.3.0).
1585     * Fixed file permissions of files in the data dir.  
1586     * Fixed some cosmetic problems in migration scripts and use sys.path.insert
1587       to get latest moin code when executing them.
1588 
1589 Other Changes:
1590 
1591     * Improved docs, system and help pages.
1592     * Updated translation files.
1593 
1594 Known Bugs:
1595 
1596     * Internet Explorer renders our HTML/CSS in a suboptimal way.
1597       (MoinMoin:MoinMoinBugs/InternetExplorer)
1598       Workaround: use a non-broken browser like FireFox / Mozilla.
1599       Fixed in MoinMoin 1.3.2.
1600     * Passwords using non-ascii do not work.
1601       (MoinMoin:MoinMoinBugs/NonAsciiPasswordsBroken)
1602     * The TOC macro is broken partly.
1603       (MoinMoinBugs/TableOfContentsBrokenForIncludedPages,
1604        MoinMoinBugs/TableOfContentsLacksLinks)
1605     * See also: http://moinmoin.wikiwikiweb.de/MoinMoinBugs
1606       
1607 
1608 Version 1.3.0 (2004-12-06, Revision moin--main--1.3--patch-400)
1609 
1610     As you see from the length of the 1.3 changes below, 1.3 is a major(!)
1611     upgrade. We could have also named it "2.0", but we decided against.
1612     So take the time for reading the informations thoroughly and do the
1613     migration exactly as we tell you - this is no 5 minutes upgrade!
1614 
1615     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1616     !!! We heavily changed configuration, data encoding, dir layout:    !!!
1617     !!!  * the default encoding changed to utf-8.                       !!!
1618     !!!  * also, we changed the escaping for special chars to %XX%YY in !!!
1619     !!!    URL and (xxyy) in file system.                               !!!
1620     !!!  * layout of data dir changed completely                        !!!
1621     !!! If you upgrade an existing wiki, you must run the migration     !!!
1622     !!! scripts or you will get data corruption or other problems.      !!!
1623     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1624 
1625     HINT: Upgrading your wiki - critical information
1626 
1627       If you are NOT starting from scratch, you MUST convert your existing
1628       data - see README.migration for details.
1629 
1630       If you use ##language: xx comments on your OWN pages, you should also run
1631       repair_language script. Not needed for help/system pages as we already
1632       have done that for you.
1633 
1634       MoinMoin uses Unicode internally now (UCS-2 with 16 bits or UCS-4 with
1635       32 bits, depending on your Python installation). The encoding used
1636       for page files and html output is set by config.charset.
1637 
1638       Moin 1.3 uses utf-8 encoding only, there is NO SUPPORT for using a
1639       charset different from utf-8 with 1.3. If you try, you are on your own.
1640 
1641     Directory layout
1642 
1643       Directory layout was heavily changed. Each page now is a directory,
1644       containing page revisions, attachments, cache files and edit-log.
1645       
1646       You can delete a page or move a page from one wiki to another
1647       easily. Look at the wiki/data directory to see.
1648       
1649       Example:
1650         old: data/text/FrontPage
1651         new: data/pages/FrontPage/revisions/00000042
1652              data/pages/FrontPage/current (contains: 00000042)
1653         old: data/backup/FrontPage.xxxxxxxx
1654         new: data/pages/FrontPage/revisions/00000023
1655 
1656       For cleaning up cache files, use MoinMoin/scripts/cachecleaner.py 
1657       (see comments in script).
1658 
1659    Python / Libs
1660       
1661       * For using RSS, you need to have PyXML installed:
1662         Python 2.4*   -> PyXML 0.8.4 (cvs version)
1663         Python 2.3.x  -> PyXML 0.8.3
1664         Python 2.2.2+ -> ???
1665         This will also make "Live Bookmarks" of Mozilla Firefox working.
1666         New: if you don't have PyXML installed, the RSS icon on RecentChanges
1667         will not be displayed any more. Python with no PyXML installed
1668         generates invalid RSS XML.
1669 
1670    Page names handling
1671 
1672       * Handling of special characters in file names changed from _xx format
1673         to (xx...) format.
1674       * In URLs, moin now uses %xx%yy quoting, (because this is supported by 
1675         browsers), and sub pages use "/" instead of the ugly "_2f".
1676       * Underscore character "_" is used now as a space character " " both 
1677         in file names and URLs. " " and "_" will be handled equivalent at most
1678         places in the future (represented as "_", rendered as " ").
1679       * To prevent wiki abuse and user typing errors, page names are normalized 
1680         in URLs, query strings, the "go" box and when renaming pages. This 
1681         include leading, trailing and multiple slashes and white space. Certain 
1682         invisible unicode characters are removed from page names.
1683       * Group page names are restricted even more, any non unicode alpha-numeric
1684         character is removed. This is done to enable changing acl syntax in 
1685         the future. The restriction might be loosen on future versions.
1686       * You can edit config.page_invalid_chars_regex to control which characters
1687         are allowed in page names (Changing it is not supported).
1688       * When you enter page name, it is normalized and you are redirected to
1689         the normalized page, or if nothing left (e.g '/////'), to FrontPage.
1690       * When renaming a page to a name that can be normalized to an empty string,
1691         the new page name will be "EmptyName" and the user will not get an
1692         error message.
1693        
1694    Underlay directory
1695 
1696      * Pages (especially system and help pages) are now located in an underlay
1697        directory (data_underlay_dir). You will see the pages there if they are
1698        NOT covered (overlayed) by a page in the normal pages directory
1699        (as set using data_dir).
1700        MAKE SURE THAT data_underlay_dir IS CORRECT OR YOU WILL SEE MANY EMPTY
1701        PAGES ONLY IN A NEW WIKI.
1702      * If you edit a page that is shown from underlay directory, it will be
1703        copied to the normal page directory on save (copy-on-write).
1704      * You can use one copy of the underlay directory shared by many
1705        wiki instances. Each wiki will then have only your local, self-made
1706        wiki pages in its data directory, and only system and help pages in the
1707        single, shared underlay directory - this simplifies upgrades a lot.
1708      * It is recommended to keep your underlay system and help pages immutable
1709        using acl, so you can upgrade your wiki easily. The default help and
1710        system pages already have those ACLs (using MoinPagesEditorGroup).
1711      * Do not forget to remove your old help and system pages after migrating
1712        your wiki. We don't provide a script for that as that would be
1713        dangerous for edited pages. Just use some file manager (e.g. mc) to
1714        clean the data/pages/ directory. As soon as you have removed the
1715        system pages there, you will see the new pages in the underlay dir.
1716        See the EditedSystemPages page for a list of pages that exist in both
1717        data and underlay directory (use this page as admin!).
1718 
1719     Multiple languages
1720 
1721       * New file name quoting method allow 50% longer page names in languages
1722         that use more than one byte per character, like Hebrew, Korean etc.
1723       * Configuration file uses 'utf-8' encoding now. Certain values that are
1724         marked with [Unicode] can use any character in your language. Examples 
1725         are page names in navi_bar, page types regular expressions and site name.
1726       * For configuration examples adopted to your language, check ConfigMarket 
1727         in the MoinMoin wiki.
1728       * The system and help pages that come with moin are now in utf-8.
1729       * MissingPage system page localized, should display in your language.
1730       * We did many i18n (translation) updates.
1731       * CSS file use utf-8 encoding. User css is also expected to be utf-8.
1732         This is relevant only if you use non-ASCII values in the CSS file.
1733       * config.upperletters and config.lowerletters were removed.
1734         We now use a pre-made ucs-2 spanning set and you usually don't have to
1735         change it. See MoinMoin/util/chartypes.py if you're interested.
1736       * ACL works with any user name or group name in any language, even names 
1737         with spaces.
1738       * Now you can use any charset in config.charset. Note: only utf-8 is 
1739         a supported configuration!
1740       * Improved url handling, now creating pages directly from the browser 
1741         url box with non-ascii names works in most cases, even when 
1742         config.charset is not utf-8.
1743       * When using non-utf-8 config.charset, characters in URLs that does
1744         fit in the charsets are replaced with "?" (instead of crashing).
1745       * All themes and most macros and actions are Right to Left friendly.
1746         Full RTL support planned for 1.3 release.
1747       * If page language is specified with #language processing instruction
1748         the page is displayed in the correct direction. Pages without
1749         language are displayed using the wiki default_lang.
1750 
1751     Multiple configurations
1752 
1753       * You can run multiple wikis from the same wiki directory or server. 
1754         For example, you can run one Twisted server that serve multiple wikis, 
1755         instead of running multiple servers. Samples of the new configuration
1756         are supplied in wiki/config/*.
1757       * You can't just use your old moin_config.py file. It is now called
1758         wikiconfig.py and the config variables now have to be in a class
1759         "Config" and that class must inherit from
1760         MoinMoin.multiconfig.DefaultConfig - see the provided wikiconfig.py
1761         sample for details.
1762         This is very useful, e.g. you could derive a GermanConfig from
1763         DefaultConfig. After that, you can derive configs for wikiA and wikiB
1764         from that GermanConfig.
1765       * farmconfig.py contains a mapping attribute called "wikis" with pairs of
1766         wikiconfig module name and regular expression. The regular expression
1767         is matched against the URL of the request and the first matching entry
1768         determines the config module to be imported by MoinMoin.
1769       * If you use farmconfig.py's "wikis" mapping, then any wiki has a private
1770         config module, named after the wiki - e.g. wiki named moinmoin would
1771         use moinmoin.py.
1772       * If you only have a single wiki, you do not need farmconfig.py. just make 
1773         a wikiconfig.py and it will be used no matter what URL is requested. 
1774       * There is one common global "config" that holds sitewide settings (like
1775         umask or charset) - you do not need to change settings there.
1776         This file is located in the MoinMoin code: MoinMoin/config.py.
1777       
1778     General configuration
1779 
1780       * SecurityPolicy now uses "write" instead of "edit" (so it is may.write
1781         now). This is to get it in sync with ACLs.
1782       * SecurityPolicy now automatically can use everything in acl_rights_valid.
1783       * There is a new config option "config_check_enabled". It will warn about
1784         any unknown variable name (probably typo) to stderr or error.log. 
1785         If something doesn't work at all and changing the config does no 
1786         difference, switch it on and look at the error message. 
1787       * The sample config file comes with config_check_enabled = 1. If you 
1788         introduce additional variables yourself, you definitely want to switch 
1789         that check off or it will fill your log.
1790       * If you define "page_front_page" variable, this name will show in the 
1791         navigation bar now, instead of the default "FrontPage".
1792 
1793     New search engine
1794 
1795      * Full text and title search do support multiple search terms now - 
1796        see HelpOnSearching for details.
1797      * Regular expressions are still supported but have to be turned on per
1798        search term. Search terms in macros using regular expressions will have
1799        to be fixed.
1800      * The URL interface of the search engine has also changed. Links that 
1801        point directly to search actions may be broken.
1802 
1803     User names
1804 
1805       * User names can not use group names, even if ACLs are not enabled.
1806         This will prevent error later, if you start to use acl in the future
1807         (acl is going to be mandatory in 1.5).
1808       * User names are not restricted any more to only CamelCase. 
1809       * To prevent imposing as other users, leading, trailing and multiple 
1810         whitespace in user names is not allowed. Only Unicode alpha numeric 
1811         characters are allowed, with optional one space character between 
1812         words.
1813       * When a user name with a group name or "bad" name is trying to 
1814         access the wiki, he is redirected to the UserPreferences page and 
1815         asked to create a new account.
1816       * When trying to login or create a new account with a bad name, 
1817         correct error message is displayed in all cases.   
1818 
1819     CGI
1820 
1821       * You can not use your old moin.cgi file, as we removed cgimain.py 
1822         (was deprecated since 1.2). Copy the new file from the server dir.     
1823 
1824     Moin servers - Twisted and standalone
1825 
1826       * Configuration self checking on startup. Will raise an error in case
1827         of bad configuration or non-accessible directories.
1828       * Both use shorter and identical configuration options.
1829       * Server scripts contain detailed comments and examples.
1830       * Configuration defaults changed to fit most users.
1831       * There is memory profiler option for debugging, switched off by default.
1832       * If you perform a standard install, server scripts should run out
1833         of the box or with minimal change.
1834 
1835     Twisted server
1836 
1837       * All code moved into the new server package, the server script
1838         contains only configuration options.
1839       * Listen to more than one interface with "interfaces" list.
1840       * Code updated to new Twisted API.
1841       * Use mointwisted script to start and stop the server, using 
1842         "mointwisted start" and "mointwisted stop".
1843       * The Twisted server runs as daemon by default.
1844       * All moin Twisted files are called now mointwisted instead of 
1845         moin_twisted.
1846       * Fixed getting username from Twisted request (http auth)
1847 
1848     Standalone server
1849 
1850       * Configuration moved from moin_config.py to moin.py.
1851       * If run as root, you can set both user and group for the server.
1852       * Can use logfile instead of logging to stderr.
1853       * Fixed missing unquoting of query string (caused problems in rare cases).
1854 
1855     mod_python server
1856 
1857      * moin_modpy server files renamed to moinmodpy.
1858 
1859     Wiki Markup
1860 
1861      * '''strong''', ''em'' and __underline__ have now paragraph scope. You can
1862        set these attributes on words level. For multiple paragraphs, wrap each 
1863        with needed markup.
1864      * If you leave unclosed ''', '' and __  markup, its is closed when the 
1865        paragraph ends.
1866 
1867     User interface
1868 
1869      * Due to many changes in CSS files, the wiki may look "broken" until
1870        your reload once or twice, or empty your browser cache.
1871      * The "Send mail notification" checkbox is replaced by "Trivial change"
1872        checkbox. The default behavior did not change - regular edit is not
1873        a trivial change, and mail will be sent to subscribes. If you check
1874        trivial change, mail will be sent only to users who selected to 
1875        get trivial changes in their user preferences.
1876      * New theme "modern" has been added, and used as default theme. 
1877      * classic and rightsidebar improved.
1878      * viewonly theme removed, as any theme can be use now as viewonly
1879        by using #acl All:read in the wikiconfig.
1880      * All themes use new navibar, displaying both wiki links, user links
1881        and the current page.
1882      * navibar and pagetrail use now shortened page names, so very long
1883        names does not break the interface visually.
1884      * All themes have improved search interface at the top of the window.
1885      * Only avaiable actions are displayed, so most situations when a user
1886        try to do something he can't do are prevented.
1887      * When creating a new page, no action is available until the page 
1888        is created. You can't attach files to non-existing page any more.
1889      * Non registered users get a "login" link. Registered uses get
1890        "username" link to their home page, and "user preferences" link.
1891      * Messages more clear using bold type, designed by css.
1892      * Few useless messages removed (but there are many more)
1893      * Default wiki logo uses the wiki name instead of the MoinMoin troll 
1894        logo.
1895 
1896     Other fixes and changes
1897     
1898      * Most generated html code is valid "html 4 strict". There are still
1899        some problems that still have to be fixed, mainly macros, table
1900        attributes, and inline markup crossing (<a><b></a></b>).
1901      * WantedPages can include and exclude system pages, which makes it 
1902        much more useful.
1903      * Fixed a bug in TitleIndex where not all system pages are excluded.    
1904      * RenamePage action now renames everything, including backups, page
1905        history, attachments. It does not change toplevel editlog, though.
1906        After you rename a page, you are redirected to the new page.
1907      * Syntax colorization supports more languages (Java, C++, Pascal)
1908      * Inline: display of attachments was extended. A Parser now knows which
1909        extensions it can handle.
1910      * TableOfContents and Include macros now cooperate a bit better. There
1911        are still problems with multiple Includes of the same page.
1912      * Excluded actions at bottom of page are not displayed any more.   
1913      * Editor: removed the columns size setting, just using 100% of browser
1914        window width (it didn't work because of that anyway). Also removed that
1915        "reduce editor size" link at top of editor as you would lose your
1916        changes when using it.
1917      * Removed the option to choose text smileys instead of images, this made
1918        more trouble than it was worth. The text version is still given in ALT
1919        attribute.
1920      * Moved stuff from contribution/ to MacroMarket page on MoinMoin wiki
1921      * Some nasty people try to use a running moin as a proxy (at least they
1922        did on moinmaster.wikiwikiweb.de:8000, maybe due to the magic port
1923        number). We changed the code to check for that and just return 403
1924        in that case. Moin can not be used as a proxy anyway.
1925      * moin.cgi?test was removed in favor of a new buildin test
1926        action. It works for all deployments, just use ?action=test.
1927      * Sending mail does use tls if server supports it.
1928 
1929     3rd party developer notes
1930 
1931      * Themes should be now sub class of MoinMoin.theme.ThemeBase. Sub
1932        classes will get automatically all new improved user interface
1933        elements for free.
1934      * Theme authors should update their theme for 1.3. Some keys removed
1935        from them dict. See ThemeBase class in MoinMoin/theme/__init__.py. 
1936      * Actions writers should call request.setContentLangauge with the 
1937        correct language used by the action. This enable themes and other
1938        code to use correct direction.
1939      * The Formatter interface was changed. Formatters and parsers using 
1940        the formatter interface have to be adjusted.
1941      * started deprecation of Processors: they are still recognized, but
1942        implementors should start to rewrite their Processors as Parsers.
1943        A processor with the same name as a parser in a pre #! section is
1944        currently preferred. This will change in the next release.
1945 
1946     Deprecation notes
1947 
1948      * Processors are deprecated, see section above.
1949 
1950      * Using the cookie (or the login url with ID) only and not setting (or
1951        setting and not remembering) your email/password in UserPreferences
1952        is DEPRECATED. Those quite unsecure methods will likely be dropped
1953        in next moin version.
1954 
1955      * Operating with acl_enabled = 0 is also DEPRECATED. Due to some other
1956        improvements planned, we will have to operate with ACLs enabled ONLY
1957        in a future moin version, so this setting will likely be dropped.
1958        So clean up your user accounts (see moin_usercheck.py) and switch ACLs
1959        on NOW.
1960        There are no drawbacks, so you will like it. Having ACLs enabled
1961        doesn't mean you really have to USE them on wiki pages...
1962 
1963      * allow_extended_names = 0 is deprecated (default was/is 1).
1964        Future versions will be able to use extended names (aka free links) in
1965        any case and the config setting will be removed.
1966 
1967      * allow_subpages = 0 is deprecated (default was/is 1).
1968        Future versions will be able to use subpages in any case and the config
1969        setting will be removed.
1970 
1971      * attachments = {...} - we would like to remove that setting because of
1972        several reasons:
1973        * when not being extremely careful, this can easily lead to security
1974          problems (like when uploading a .php exploit and then executing it
1975          by accessing it directly via web server)
1976        * makes code more complicated - code that we want to change completely
1977          in next version
1978        If you need that feature, speak up now and tell us your reasons WHY you
1979        need it.
1980 
1981 
1982 Version 1.2.4 (2004-10-23, Revision 1.187)
1983 
1984 This will probably be the last 1.2.x release as we are soon doing release
1985 candidates for 1.3 release (with big internal changes) and are expecting
1986 release 1.3 in december 2004.
1987 
1988 Fixes:
1989     * fixed "None" pagename bug in fullsearch/titlesearch
1990     * fixed projection CSS usage
1991     * the compiled page is removed when a page is deleted, so no ghost page
1992       appears after deletion
1993     * fixed AbandonedPages day-break problem
1994     * fixed [[GetVal(WikiDict,key)]]
1995     * the msg box is now outside content div on PageEditor, too
1996     * privacy fix for email notifications: you don't see other email addresses
1997       in To: any more. mail_from is now also used for To: header field, but
1998       we don't really send email to that address.
1999     * privacy fix for /MoinEditorBackup pages that were made on previews of
2000       pages that were not saved in the end
2001     * fix double content div on PageEditor preview
2002 
2003 Other changes:
2004     * workaround for broken Microsoft Internet Explorer, the page editor now
2005       stops expanding to the right (e.g. with rightsidebar theme).
2006       Nevertheless it is a very good idea to use a non-broken and more secure
2007       browser like Mozilla, Firefox or Opera!
2008 
2009     * from MoinMoin.util.antispam import SecurityPolicy in your
2010       moin_config.py will protect your wiki from at least the known spammers.
2011       See MoinMoin:AntiSpamGlobalSolution for details.
2012 
2013     * xmlrpc plugin for usage logging, currently used for antispam accesses
2014 
2015     * (re-)added configurable meta tags:
2016         * html_head_queries = '''<meta name="robots" content="noindex,nofollow">\n'''
2017         * html_head_posts   = '''<meta name="robots" content="noindex,nofollow">\n'''
2018         * html_head_index   = '''<meta name="robots" content="index,follow">\n'''
2019         * html_head_normal  = '''<meta name="robots" content="index,nofollow">\n'''
2020 
2021     * i18n updates/fixes
2022 
2023     * New UserPreferences switch:
2024       you may subscribe to trivial changes (when you want to be notified about ALL
2025       changes to pages, even if the author deselected to send notifications).
2026 
2027     * New AttachList and AttachInfo macros - thanks to Nigel Metheringham and
2028       Jacob Cohen.
2029 
2030 Version 1.2.3 (2004-07-21, Revision 1.186)
2031 
2032 Fixes:
2033     * fixed NameError "UnpicklingError" in user.py
2034     * fixed version number in moin.spec
2035     * reverts done by bots or leechers
2036       There was a bad, old bug that triggered if you did not use ACLs. In that
2037       case, moin used some simple (but wrong and incomplete) function to
2038       determine what a user (or bot) may do or may not do. The function is now
2039       fixed to allow only read and write to anon users, and only delete and
2040       revert to known users additionally - and disallow everything else.
2041     * avoid creation of unneccessary pages/* directories
2042     * removed double content divs in general info and history info pages
2043     * fixed wiki xmlrpc getPageHTML
2044     * fixed rightsidebar logout URL, also fixed top banner to link to FrontPage
2045     * use config.page_front_page and .page_title_index for robots meta tag
2046       (whether it uses index,follow or index,nofollow), not hardcoded english
2047       page names
2048     * ACL security fix for PageEditor, thanks to Dr. Pleger for reporting
2049     * default options for new users are same as for anon users
2050 
2051 Version 1.2.2 (2004-06-06, Revision 1.185)
2052 
2053 Fixes:
2054     * python related:
2055      * own copy of difflib removed
2056        Until moin 1.2.1 we had our own copy of python 2.2.3's difflib coming
2057        with moin. This was to work around some problems with broken older 2.2
2058        python installations. We removed this now because if you have py 2.3,
2059        there is even a better difflib coming with python (and that fixes an
2060        extremely slow diff calculation happening in some rare cases).
2061        So the good news is that when you run python 2.3, you don't need to do
2062        anything and it will run great. If you run python 2.2.3, it will mostly
2063        work good and you also don't need to do anything. The bad news is that
2064        if you run an old and broken 2.2 installation (2.2.1, maybe 2.2.2) you
2065        will have to fix it on your own (just copy difflib.py from python 2.2.3
2066        over to your python 2.2.x installation).
2067        But better upgrade to python 2.3 (for debian woody, there's a backport),
2068        as 2.3 generally runs better and faster than 2.2.
2069      * scripts changed to use #!/usr/bin/env python (not /usr/bin/python2.2)
2070 
2071     * user accounts and ACLs:
2072      * we now require the user to specify a password for a new account (you
2073        were not able to login without a password anyway)
2074      * it is not allowed any more to create user accounts with user names
2075        matching config.page_group_regex - please check manually that you do
2076        not already have such users existing (like a user named "AdminGroup"):
2077        cd data/user ; grep name=.*Group *  # there should be no output!
2078      * subscription email sending now honours ACLs correctly
2079 
2080     * markup / rendering / user interface fixes:
2081      * fixed merging multiple lines indented by the same amount of blanks
2082      * ## comments don't break tables in two parts
2083      * added a "remove bookmark" link to RecentChanges
2084      * fixed action=titleindex (added \n after each entry)
2085 
2086     * RSS fixes:
2087      * non-ASCII characters should work now
2088      * RSS feed (Recentchanges?action=rss_rc) gives UTC timestamps now
2089      * removed attribute breaking RSS feed on RecentChanges
2090 
2091     * better email generation:
2092      * if you use python >=2.2.2, we add a Message-ID header to emails
2093      * if you use python 2.2.1, there is no email.Header. Instead of crashing
2094        (like previous moin 1.2.x releases), we just use the subject "as is" in
2095        that case. If it is not ASCII, this is not standards compliant.
2096      * If you have >=2.2.2 it will use email.Header to make standards compliant
2097        subject lines.
2098      * use config.mail_from as sender address when sending "lost my password"
2099        emails
2100 
2101     * file attachments:
2102      * fixed for standalone server
2103      * attachment URLs (when handled by moin) don't include server name
2104      * fixed some wrong &amp;amp; in html src
2105     
2106     * better themeability:
2107      * some entries in dict "d" where only present in header theme calls, some
2108        only in footer theme calls. Now almost all is present in both calls.
2109      * added some missing "content" divs so sidebar themes look better
2110 
2111     * fixed some crashes producing backtraces:
2112      * no IOError when diffing against deleted page
2113      * no backtrace in xml footnote generation
2114      * no SystemInfo crash when no editlog exists in new wikis
2115      * xmlrpc.getRecentChanges fixed
2116 
2117     * MoinMoin.util.filesys.rename is now a wrapper around os.rename that
2118       fixes os.rename on broken win32 api semantics
2119 
2120 Other Changes:
2121     * saving traffic and load by improved robot meta tag generation:
2122      * "noindex,nofollow" on queries and POSTs
2123      * "index,follow" on FrontPage and TitleIndex (give robots a chance ;))
2124      * "index,nofollow" on all other pages (hopefully saving lots of senseless
2125        requests for page?action=...) 
2126      * removed config.html_head_queries (was used for same stuff)
2127     * added russian i18n (utf-8)
2128     * misc. other translation updates / fixes
2129     * added rightsidebar theme
2130     * TitleIndex now folds case, so "APage" and "anotherPage" are both under
2131       letter "A".
2132     * added macro/PageHits.py - it calculates the hits each page gets since
2133       beginning of logging
2134 
2135 
2136     * Full text and title search do now support multiple search terms - 
2137       see HelpOnSearching for details
2138  
2139     * The Formatter interface was changed. Formatter and parser using 
2140       the formatter interface have to be adjusted.
2141 
2142 Version 1.2.1 (2004-03-08, Revision 1.184)
2143 
2144 Fixes:
2145     * minimum requirement to run moin 1.2/1.2.1 is python 2.2.2
2146      * not: 2.2(.0), as this does not have True/False
2147      * not: 2.2.1, as this does not have email.Header. You maybe can work
2148        around that one by:
2149       * getting the python 2.2.x (x>=2) /usr/lib/python2.2/email directory
2150       * putting it into directory 'x' (whereever you like)
2151       * doing a sys.path[0:0] = ['x'] in moin.cgi [or other appropriate place]
2152       No guarantee, this is untested.
2153     * Twisted: the http headers missed the charset data, fixed
2154     * mod_python: fixes for mod_python 2.7
2155     * wiki/data/plugin/__init__.py added - fixes not working plugin modules
2156     * plugin processors work now, too
2157     * fixed displaying non-existent translations of SiteNavigation in footer
2158     * fixed zh-tw iso name (wrong zh_tw -> correct zh-tw)
2159     * fixed reversed diffs in RecentChanges RSS
2160     * fixed "last change" info in footer (wasn't updated)
2161     * fixed event.log missing pagename (and other) information
2162     * fixed horizontal line thickness >1
2163     * fixed setup.py running from CVS workdir
2164     * fixed crash when doing action=info on first revision of a page
2165     * fixed hostname truncation in footer
2166     * minor css fixes
2167     * fixed clear msg links (they missed quoting, leading to strange page
2168       names when you click on some of them)
2169     * fixed python colorizer processor
2170     * fixed quoting of stats cache filenames
2171     * catched "bad marshal data" error when switching python versions
2172 
2173 Other changes:
2174     * updated danish (da) i18n
2175     * updated japanese (ja) i18n
2176     * added serbian (sr) i18n
2177     * added chinese (zh) i18n
2178     * added a simple "viewonly" theme based on classic theme - you can use
2179       this as default theme, so anonymous users won't get the usual wiki stuff,
2180       but a far simpler (and less powerful) user interface.
2181       It also displays the navibar at the left side.
2182     * added moin.spec for building RPMs
2183     * included MoinMoin/i18n/* into distribution archive (nice for translators)
2184     * included some stuff under MoinMoin/scripts - xmlrpc-tools and account
2185       checking stuff. removed some version control clutter from the dist
2186       archive, too.
2187 
2188     * code colorization was refactored and some new languages (Java, C++,
2189       Pascal) where added.
2190     * inline: display of attachments was extended. A Parser now knows which
2191       extensions it can handle.
2192 
2193 Version 1.2 (2004-02-20, Revision 1.183)
2194 
2195 New features:
2196     * MoinMoin now requires Python >=2.2.2.
2197       You get even better results with Python2.3 (20-30% more speed,
2198       sometimes even much more).
2199     * by refactoring request processing, we made it possible to run moin under
2200       persistent environments:
2201         * twisted-web (http://twistedmatrix.com)
2202         * httpdmain.py (use moin.py for starting this mini server)
2203         * mod_python
2204         * FastCGI
2205       Of course, CGI is still possible.
2206     * wiki pages will be compiled to bytecode now (by default), so no need for
2207       slow parsing/formatting on every view ("WASP", see caching_formats)
2208     * when using a persistent environment (like twisted) and WASP, you get up
2209       to 20x speed - compared to CGI and moin 1.1
2210     * added support for diffs between arbitrary revisions.
2211     * removed requirement of the external diff utility
2212     * config.auth_http_enabled (defaults to 0) - use this to enable moin
2213       getting your authenticated user name from apache (http basic auth,
2214       htpasswd) - if you enable this, your basic auth username has to be the
2215       same as your wiki username.
2216       Should work with CGI, FCGI and maybe even with mod_python.
2217       Does not change behaviour of moin under twisted or standalone server.
2218     * config.tz_offset = 0.0 sets a default timezone offset (in hours
2219       from UTC)
2220     * config.cookie_lifetime (int, in hours, default 12) sets the lifetime of
2221       the MOIN_ID cookie:
2222         == 0  --> cookie will live forever (no matter what user has configured!)
2223         > 0   --> cookie will live for n hours (or forever when "remember_me")
2224         < 0   --> cookie will live for -n hours (forced, ignore "remember_me"!)
2225     * added themeing and some themes (if you improve the existing themes or
2226       make nice new ones, please contribute your stuff!). The default theme is
2227       set by config.theme_default (and defaults to 'classic').
2228     * now supporting plugin directory for parsers, processors, themes, xmlrpc.
2229     * action=info now defaults to showing page revision history again
2230     * all actions accessing the logfile (as RecentChanges or history) are now
2231       much faster
2232     * #refresh processing instruction, config.refresh
2233         * config.refresh = (minimum_delay, target_allowed)
2234             * minimum delay is the minimum waiting time (in seconds) allowed
2235             * target_allowed is either 'internal' or 'external', depending on
2236               whether you want to allow only internal redirects or also
2237               external ones. For internal redirects, just use the Wiki pagename,
2238               for external, use http://... url.
2239         * #refresh 3                    == refresh this page every 3 seconds
2240         * #refresh 5 FrontPage          == internal redirect to FrontPage in 5s
2241         * #refresh 5 http://google.com/ == redirect to google in 5s
2242       Use very carefully! Allowing a low minimum_delay and putting a #refresh
2243       on RecentChanges might slow down your wiki significantly, when some
2244       people just let their browser refresh and refresh again. Also, it does
2245       cause quite some traffic long-term. So better do not use this without
2246       good reason! Default is None (switched off).
2247     * hide most UserPreferences options before user has logged in, less
2248       confusing for new users
2249     * "config.page_dict_regex" defines what pages are dictionary definitions
2250       Currently dictionaries are used for UserHomePage/MyDict where you can
2251       define key:: value pairs that get processed like @DATE@ expansion when
2252       saving a page. The 2 "@" will be added to your keys automatically.
2253       Please do not use @xxx@ strings on the right side (value), results may
2254       vary if you do.
2255       You can also access wiki dictionaries by using the internal macro
2256       [[GetVal(page,key)]]" - that will go to page "page" and return the
2257       value (right side) corresponding to "key".
2258       Implementation note: groups are a subset of the dictionary functionality.
2259     * standalone server should work now (see server/moin.py), so you don't
2260       need to setup apache or twisted for a local personal wiki, you only need
2261       python and moin for that now, no additional stuff any more!
2262     * if you run your wiki with charset = "utf-8" (the default is still
2263       iso8859-1), you might want to have a look at contributions/utf8-pages/
2264       to see if there are already translated system pages for your language.
2265 
2266 Fixes:
2267     * new importPlugin routine (the old one didn't work correctly)
2268     * removed 0xA0 characters breaking utf-8
2269     * system page recognition now uses wiki groups (see AllSystemPagesGroup),
2270       fixing the long-time broken system page exclusion on TitleIndex.
2271     * mostly HTML 4.01 Strict compliant HTML
2272     * design is done by CSS now, HTML is semantic markup only 
2273     * removed target attribute from links, also [^NewWindow] markup - this
2274       is a HTML 3.2 feature and not valid in HTML 4.01
2275     * updated TWikiDrawPlugin to 20021003 version, with further modifications
2276       including source. It can draw imagemaps now!
2277     * fixed email headers and encoding
2278     * Changed moin-usercheck to adhere to scripting standards; no
2279       proprietary config changes needed any more (added --config);
2280       --wikinames is now part of the usage message.
2281     * config.umask now defaults to 0770 - if you give world r/w access, ACLs
2282       could be rather pointless...
2283 
2284 Other:
2285     * lots of internal code refactoring and optimization
2286     * began moving src code documentation to epydoc, see "make epydoc"
2287 
2288 Known problems:
2289     * theme support is neither complete (although covering most important
2290       stuff) nor perfect - work on that will continue...
2291     * we removed some html from system messages (the boxes at top of page you
2292       get after some actions), so it currently looks less nice than before.
2293     * html is not completely validating and it is not xhtml - this will be
2294       fixed as soon as we have the infrastructure for that (other parser, DOM)
2295     * problems with rtl (right-to-left) languages, will be fixed in 1.3
2296     * if you change moin_config or switch themes, moin will still use already
2297       cached page content. For the config this can be fixed by touching
2298       MoinMoin/version.py (or simply deleting everything in
2299       data/cache/Page.py). If you get more annoyed by this than pleased by
2300       caching speedup, you can also switch off caching (see docs on
2301       caching_formats).
2302 
2303 
2304 Version 1.1 (2003-11-29, Revision 1.178)
2305 
2306 New features:
2307   Configuration:
2308     * config.default_lang lets you set a default language for users not
2309       having specified language in their browser or UserPreferences
2310     * "config.page_category_regex" defines what pages are categories
2311     * replaced `config.page_template_ending` by a more flexible setting
2312       named `config.page_template_regex`
2313     * the same with config.page_form_regex
2314     * "config.page_group_regex" defines what pages are group definitions
2315       Currently groups are used for "user groups" (see ACLs) and "page
2316       groups" (see AllSystemPagesGroup).
2317     * robot exclusion from all pages except the standard view action,
2318       via the config.ua_spiders regex (reduces server load)
2319     * "maxdepth" argument for the TableOfContents macro
2320     * config.title1, config.title2, config.page_footer1,
2321       config.page_footer2 can now be callables and will be called with
2322       the "request" object as a single argument (note that you should
2323       accept any keyword arguments in order to be compatible to future
2324       changes)
2325     * "config.html_pagetitle" allows you to set a specific HTML page
2326       title (if not set, it defaults to "config.sitename")
2327     * navi_bar / quicklinks can now contain free-form links, i.e.
2328       entries of the form "[url linktext]" just like in wiki pages
2329     * if a quick link starts with '^', it opens in a new window; help
2330       now opens in a new window also
2331     * `config.smileys` for user-defined smileys
2332     * `config.hosts_deny` to forbid access based on IP address
2333     * `config.mail_login` can be set to "user pwd", if you need to
2334       use SMTP AUTH
2335     * `config.edit_locking` can be set to None (old behaviour, no
2336       locking), 'warn <timeout mins>' (warn about concurrent edits, but
2337       do not enforce anything), or 'lock <timeout mins>' (strict locking)
2338     * optionally showing a license text on editor page, use:
2339       config.page_license_enabled = 1
2340       Optionally use these to customize what is shown there:
2341       config.page_license_text = "... your text ..."
2342       config.page_license_page = "MyLicensePage"
2343       See the default values in MoinMoin/config.py for details and
2344       override them in moin_config.py, if needed.
2345     * `config.shared_intermap` can be a list of filenames (instead of a
2346       single string)
2347 
2348   Authenticaton / Authorization:
2349     * added ACL support, written by Gustavo Niemeyer of Conectiva and
2350       Thomas Waldmann. See HelpOnAccessControlLists for more infos.
2351       You should use MoinMoin/scripts/moin_usercheck.py before activating
2352       ACLs or some users with bad or duplicate accounts might get into
2353       trouble.
2354     * A user account can be disabled using moin_usercheck.py or
2355       UserPreferences page. Disabling, but keeping it is good for edit
2356       history.
2357     * changed security default: deletion only available to known users
2358     * support for Basic authentication (Apache style: AUTH_TYPE="Basic",
2359       REMOTE_USER="WikiUserName"). If authentication is there, user
2360       will be in ACL class "Trusted".
2361     * support for username / password login
2362       The username / password login will ONLY work, if you define a
2363       password. With an empty password, username / password login is not
2364       allowed due to security reasons. Passwords are stored encrypted
2365       (format similar to Apache SHA) and can also be entered in the
2366       UserPreferences form in this format. When requesting login
2367       information by email, the password is also sent in this encrypted
2368       format (use copy&paste to fill it in the form).
2369       ...?action=userform?uid=<userid> is still possible, so if you have
2370       bookmarks, they will still work). The input field for the ID was
2371       dropped.
2372       NOTE: using the userid for login purposes is DEPRECATED and might
2373             be removed for better security soon.
2374     * after logging in, you will get a cookie valid until midnight.
2375       The next day, the cookie will expire and you will have to login
2376       again. If you don't want this, you can check the "remember me
2377       forever" option in UserPreferences.
2378     * if the page file is read-only, you get a message (i.e. you can now
2379       protect pages against changes if you're the wiki admin).
2380       Note: you can do that easier using ACLs.
2381 
2382   Markup / Macros / Actions:
2383     * RandomQuote macro (and even parses Wiki markup now)
2384     * `[[Navigation]]` macro for slides and subpage navigation
2385     * [[ShowSmileys]] displays ALL smileys, including user-defined ones
2386     * the Include macro has new parameters (from, to, sort, items) and
2387       is able to include more than one page (via a regex pattern)
2388     * `MailTo` macro for adding spam-safe email links to a page
2389     * if a fancy link starts with '^' (i.e. if it has the form
2390       "[^http:... ...]"), it's opened in a new window
2391      * because of that, the NewWindow macro was removed from contrib
2392     * "#pragma section-numbers 2" only displays section numbers for
2393       headings of level 2 and up (similarly for 3 to 6)
2394     * ../SubPageOfParent links
2395 
2396   User interface:
2397     * new fancy diffs
2398     * Page creation shows LikePages that already exist
2399     * editor shows the current size of the page
2400     * editor returns to including page when editing an included page
2401     * Visual indication we're on the editor page (new CSS style)
2402     * selection to add categories to a page in the editor (use preview
2403       button to add more than one category)
2404     * if user has a homepage, a backup of save/preview text is saved as
2405       a subpage UsersHomePage/MoinEditorBackup
2406     * added "revert" link to PageInfo view (which makes DeletePage more
2407       safe in public wikis, since you can easily revive deleted pages
2408       via revert)
2409     * Selection for logged in users (i.e. no bots) to extend the listing
2410       of recent changes beyond the default limits
2411     * Activated display of context for backlinks search
2412     * Subscriber list shown on page info
2413     * LikePages shows similar pages (using difflib.get_close_matches)
2414     * last edit action is stored into "last-edited" file, and
2415       displayed in the page footer
2416     * reciprocal footnote linking (definition refers back to reference)
2417     * "Ex-/Include system pages" link for title index
2418       Note: system/help pages algorithm is still mostly broken.
2419     * list items set apart by empty lines are now also set apart
2420       visually (by adding the CSS class "gap" to <li>)
2421     * "save" check for security.Permissions
2422     * Added Spanish, Croatian and Danish system texts
2423     * Added flag icons for the languages supported in "i18n"
2424     * updated help and system pages, more translations, see also
2425       AllSystemPagesGroup
2426     * there was quite some work done on wiki xmlrpc v1 and v2 - it
2427       basically works now.
2428 
2429   Tools and other changes:
2430     * moin-dump: New option "--page"
2431     * there are some scripts MoinMoin/scripts/* using wiki xmlrpc for
2432       backup and wiki page copying applications
2433     * Updated the XSLT parser to work with 4Suite 1.0a1
2434     * more infos in cgi tracebacks
2435     * UPDATE.html is a HTML version of MoinMaster:HelpOnUpdating
2436 
2437 Unfinished or experimental features:
2438     * user defined forms
2439     * XML export of all data in the wiki
2440     * RST parser (you need to install docutils to use this)
2441     * SystemAdmin macro
2442 
2443 Privacy fixes:
2444     * do not use / display user's email address in public places
2445 
2446 SECURITY FIXES:
2447     * Removed two cross-site scripting vulnerabilities reported by "office"
2448 
2449 Bugfixes:
2450     * Bugfix for PageList when no arguments are given
2451     * Disallow full-text searches with too short search terms
2452     * [ 566094 ] TitleIndex now supports grouping by Hangul Syllables
2453      * fix for multibyte first char in TitleIndex
2454     * Footnotes were not HTML escaped
2455     * Numbered code displays are now in a table so that you can cut the
2456       code w/o the numbers
2457     * Bugfix for wrong mail notifications
2458     * Create unique anchors for repeated titles
2459     * [ 522246 ] Transparently recode localized messages
2460     * [ 685003 ] Using "preview" button when editing can lose data
2461     * use gmtime() for time handling
2462     * fixed negative gmtime() arguments
2463     * [[Include]] accepts relative page names
2464     * fixed ||NotInterWiki:||...||
2465 
2466 -----------------------------------------------------------------------------
2467 Version 1.0 (2002-05-10, Revision 1.159)
2468 
2469 THIS IS THE LAST RELEASE WITH PYTHON 1.5.2 SUPPORT! If severe bugs
2470 should occur, a maintenance release will fix them.
2471 
2472 New features:
2473     * security fix: "allow_xslt" has to be set to 1 in order to enable
2474       XSLT processing; note that this defaults to 0 because XSLT is able
2475       to insert arbitrary HTML into a wiki
2476     * "action=content" for transclusion into static web pages; emits the
2477       pure page content, without any <html>, <head>, or <body> tags
2478     * "?action=links&mimetype=text/plain" works like MeatBall:LinkDatabase
2479     * "Preferred language" and "Quick links" user settings
2480     * Added "processor" concept, processors work on the data in "code
2481       displays" and are called by a bangpath in the first line of data
2482     * Processors: Colorize, CSV (see HelpOnProcessors)
2483     * New icons: "{OK}", "(./)", "{X}", "{i}", "{1}", "{2}" and "{}"
2484       (see HelpOnSmileys)
2485     * FullSearch now displays context information for search hits
2486     * DeletePage offers a textentry field for an optional comment
2487     * Email notifications are sent in the user's language, if known from
2488       the preferences
2489     * @PAGE@ is substituted by the name of the current page (useful
2490       for template pages)
2491 
2492 Unfinished features:
2493     * user defined forms
2494     * XML export of all data in the wiki
2495     * RST parser (you need to install docutils to use this)
2496     * XMLRPC interface
2497 
2498 Bugfixes:
2499     * Syntax warning with Python 2.2 fixed
2500     * Macro-generated pagelinks are no longer added to the list of links
2501     * error codes returned by "diff" are reported
2502     * fix for attachments on pages with non-USASCII names
2503     * correct handling of spaces in attachment filenames and URLs
2504 
2505 -----------------------------------------------------------------------------
2506 Version 0.11 (2002-03-11, Revision 1.151)
2507 
2508 Most important new features: file attachments, definition list markup
2509 (glossaries), change notification via email, variable substitution when
2510 saving pages, edit preview, and improved documentation.
2511 
2512 Note that the RSS features require a recent PyXML (CVS or 0.7) due to
2513 bugs in the namespace handling of xml.sax.saxutils in earlier versions.
2514 This is (hopefully) automatically detected on every installation.
2515 
2516 Statistical features are NOT designed to work with Python 1.5.2 and
2517 require Python 2.0 or higher. Overall, MoinMoin 0.11 is not explicitely
2518 tested for 1.5.2 compatibility.
2519 
2520 New features:
2521     * XML formatting now (most often) produces well-formed, and, depending
2522       on proper layout of the wiki page, valid StyleBook XML
2523     * Headers are now automatically numbered, unless you set the config
2524       item 'show_section_numbers' to 0
2525     * "#pragma section-numbers off" (or "0") switches that off explicitely,
2526       and "on" or "1" enables numbering 
2527     * Added a "contributions" directory for 3rd party extensions
2528     * AttachFile action, contributed by Ken Sugino; note that you have
2529       to enable this action because of the possibility of DoS attacks
2530       (malicious uploads), by adding this to your moin_config:
2531             allowed_actions = ['AttachFile']
2532     * "attachment:" URL scheme allows access to attachments, to get files
2533        from other pages use "attachment:WikiName/filename.ext".
2534     * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to
2535       display a timestamp according to system/user settings
2536     * Variable substitution when a page is saved, note that saving
2537       template pages does NOT expand variables. Supported are:
2538         @DATE@      Current date in the system's format
2539         @TIME@      Current date and time in the user's format
2540         @USERNAME@  Just the user's name (or his domain/IP)
2541         @USER@      Signature "-- loginname"
2542         @SIG@       Dated Signature "-- loginname date time"
2543         @MAILTO@    A fancy mailto: link with the user's data  
2544     * Copied some new emoticons from PikiePikie
2545         || {{{ :-? }}} || :-? || tongue.gif ||
2546         || {{{ :\  }}} || :\  || ohwell.gif ||
2547         || {{{ >:> }}} || >:> || devil.gif  ||
2548         || {{{ %)  }}} || %)  || eyes.gif   ||
2549         || {{{ @)  }}} || @)  || eek.gif    ||
2550         || {{{ |)  }}} || |)  || tired.gif  ||
2551         || {{{ ;)) }}} || ;)) || lol.gif    ||
2552     * AbandonedPages macro
2553     * Added definition list markup: {{{<whitespace>term:: definition}}}
2554     * Added email notification features contributed by Daniel Saß
2555     * SystemInfo: show "Entries in edit log"
2556     * Added "RSS" icon to RecentChanges macro and code to generate a
2557       RecentChanges RSS channel, see
2558           http://www.usemod.com/cgi-bin/mb.pl?UnifiedRecentChanges
2559       for details
2560     * Added config.sitename and config.interwikiname parameter
2561     * Better WikiFarm support:
2562       * <datadir>/plugin/macro and <datadir>/plugin/action can be used
2563         to store macros and actions local to a specific wiki instance
2564       * config.shared_intermap can contain a pathname to a shared
2565         "intermap.txt" file (i.e. one stored outside the datadir)
2566     * added `backtick` shortcut for {{{inline literal}}} (has to be
2567       enabled by "backtick_meta=1" in the config file); note that ``
2568       is then a shorter replacement for '''''' escaping
2569     * added inline search fields (at the bottom of each page)
2570     * Added preview to the editor, including spell checking
2571     * New languages: Chinese (Changzhe Han) and Portuguese (Jorge
2572       Godoy), updated French (Lucas Bruand), added Korean (Hye-Shik
2573       Chang) and Italian (Lele Gaifax)
2574     * New SystemAdmin macro
2575     * `[[Anchor(anchorname)]]` macro to insert anchors into a page,
2576       and [#anchorname Anchor Links].
2577     * User option to open editor view via a double-click
2578     * Added commentary field to editor, recent changes and page info
2579     * Page trails (user option)
2580     * UserPreferences: checkboxes for double-click edit, page trail,
2581       fancy links, emoticons, jump to last page visited, and some
2582       other yes/no options
2583     * "config.nonexist_qm" is now the default for a user setting
2584     * `[[GetText(text)]]` macro loads I18N texts (mainly intended
2585       for use on Help pages)
2586     * table attributes via "||<attrlist> ... ||", more details on
2587       http://purl.net/wiki/moin/HelpOnTables
2588     * PythonFaq interwiki tag and support for $PAGE placeholder
2589     * event logging, as the basis for future statistics
2590     * "moin-dump" command line tool to create a static copy of
2591       the wiki content
2592     * "config.external_diff" allows to set an exact path to the
2593       command, or change the name to for example "gdiff" if GNU
2594       diff is not a native command in your UNIX flavour
2595     * `[[PageSize]]` macro
2596     * the interwiki name "Self" now always points to the own wiki
2597     * config.title1 and config.title2 are inserted into the output
2598       right before and after the system title html code (title1
2599       is right after the <body> tag and normally undefined, title2
2600       defaults to the "<hr>" above the page contents)
2601     * Additional link on diff pages to ignore whitespace changes
2602     * Subpages (config.allow_subpages, config.page_icons_up)
2603     * super^script^, sub,,script,, and __underline__ markup
2604     * `[[FootNote]]` macro
2605     * many other new config options, see HelpOnConfiguration for
2606       a complete list
2607     * [[StatsChart(type)]] shows statistical charts (currently
2608       defined types: hitcounts, pagesize, useragents)
2609     * 'inline:' scheme works like 'attachment:', but tries to
2610       inline the content of the attachment into the page;
2611       currently knows about "*.py" sources and colorizes them
2612     * support for Java applet "TWikiDrawPlugin" via
2613       drawing:<drawingname> URL scheme (you need to activate
2614       the AttachFile action if you want drawings)
2615     * numeric entities (&#nnnnn;) are now optionally NOT escaped,
2616       which allows you to insert more characters into a Latin-1
2617       page, especially the Euro symbol
2618     * navi_bar is now a list of page names which should be linked
2619       on every page
2620     * test.cgi is now rolled into moin.cgi, and can be called
2621       by adding "?test" to the wiki base URL. Also, as a security
2622       feature, the server's environment is only shown for requests
2623       local to the web server.
2624 
2625 Unfinished features:
2626     * user defined forms
2627     * XML export of all data in the wiki
2628 
2629 Documentation:
2630     * extended the online help ("Help*" pages)
2631     * German help pages (thanks to Thomas Waldmann)
2632 
2633 Bugfixes:
2634     * #425857: python Parser bug on the second call
2635     * #424917: Caching control
2636     * #465499: Two HTTPS problems
2637     * #491155: FrontPage hardcoded
2638     * Handling of inbound UTF-8 encoded URIs (only with Python >= 2.0)
2639     * Fix for subtle changes in "re" of Python 2.2
2640     * User-provided URLs are now never URL-escaped, which allows appending
2641       #anchors and using %20 for spaces in InterWiki links
2642 
2643 -----------------------------------------------------------------------------
2644 Version 0.10 (2001-10-28, Revision 1.134)
2645 
2646 This version is still Python 1.5.2 compatible, but it's not extensively
2647 tested for that version and some parts of the system might not work
2648 there, especially seldom used macros and actions. Bug reports welcome!
2649 
2650 New features:
2651     * "#deprecated" processing instruction
2652     * config entry "SecurityPolicy" to allow for customized permissions
2653       (see "security.py" for more)
2654     * added distutils support
2655     * though not extensively tested, the standalone server now does POST
2656       requests, i.e. you can save pages; there are still problems with
2657       persistent global variables! It only works for Python >= 2.0.
2658     * "bang_meta" config variable and "!NotWikiWord" markup
2659     * "url_mappings" config variable to dynamically change URL prefixes
2660       (especially useful in intranets, when whole trees of externally
2661       hosted documents move around)
2662     * setting "mail_smarthost" and "mail_from" activates mailing
2663       features (sending login data on the UserPreferences page)
2664     * very useful for intranet developer wikis, a means to view pydoc
2665       documentation, formatted via a XSLT stylesheet, for details see
2666       http://purl.net/wiki/python/TeudViewer?module=MoinMoin.macro.TeudView
2667       or MoinMoin/macro/TeudView.py
2668     * "LocalSiteMap" action by Steve Howell <showell@zipcon.com>
2669     * Added FOLDOC to intermap.txt
2670 
2671 Bugfixes:
2672     * Full config defaults, import MoinMoin now works w/o moin_config.py
2673     * Better control over permissions with config.umask
2674     * Bugfix for a UNIX time billenium bug (affecting RecentChanges
2675       sorting and page diffs)
2676     * data paths with directory names containing dots caused problems
2677 
2678 -----------------------------------------------------------------------------
2679 Version 0.9 (2001-05-07)
2680 
2681 New features:
2682     * XML page input (pages that start with "<?xml") and XSLT formatting
2683     * Page caching, for now limited to XSLT processing (where it's
2684       absolutely needed); new code & API to add the "RefreshCache" link
2685     * Selection of common date/time formats in UserPreferences
2686     * New action "titleindex" to support wiki introspection (MetaWiki);
2687       see the new links below the index bar in "TitleIndex"
2688     * UserPreferences: editable CSS URL for personal styles
2689     * PageInfo: the editor's name or IP is shown for each change
2690     * WantedPages: a new macro that lists links to non-existent pages
2691     * OrphanedPages: a new macro that lists pages no other page links to
2692     * Extensions to the FullSearch macro (see HelpOnMacros)
2693     * Python syntax highlighting
2694     * "DeletePage" action (has to be activated, see MoinMoinFaq)
2695     * "Remove trailing whitespace from each line" option in the editor
2696     * I18N (currently German and Swedish)
2697     * Config option "url_schemas" to extend the supported URL types
2698     * Improved tracebacks by using Ka-Ping's "cgitb"
2699 
2700 Bugfixes:
2701     * The editor now sends a "no-cache" HTTP header
2702     * "PageList" results are now sorted
2703     * New config parameter "html_head_queries": send additional header
2704       for all pages EXCEPT the "normal" view; main usage is to have
2705       only the normal pages indexed by a spider, not the edit, print,
2706       etc. views (which cause multiple hits on the same information)
2707     * Store the modification time of the page file in the editlog, not
2708       the current time when the log entry is created
2709 
2710 -----------------------------------------------------------------------------
2711 Version 0.8 (2001-01-23)
2712 
2713 New features:
2714     * Page templates (create a new page using a template page, by Richard)
2715     * Pluggable actions (by Richard)
2716     * Added "diff since bookmark"
2717     * Only "normal" URLs (outside of brackets) are converted to inline images
2718     * Show number of backups in SystemInfo macro
2719     * Show info on installed extension macros and actions
2720     * New macro: [[BR]] for line breaks
2721     * New action "LikePages" (again, Richard)
2722     * Highlighting of search results, and of bad words when spellchecking
2723     * Support for "file:" URLS
2724     * "SpellCheck" action (Richard, me, and Christian)
2725     * [[Include]] macro (you guessed it, Richard)
2726 
2727 Bugfixes:
2728     * Update bookmark with load time, not click time
2729     * Changed CSS styles to better suit Netscape's broken handling of CSS
2730 
2731 -----------------------------------------------------------------------------
2732 Version 0.7 (2000-12-06)
2733 
2734 New features:
2735     * RecentChanges bookmarking
2736 
2737 Bugfixes:
2738     * SECURITY FIX
2739     * Non-greedy extended WikiNames
2740 
2741 -----------------------------------------------------------------------------
2742 Version 0.6 (2000-12-04)
2743 
2744 New features:
2745     * [[UserPreferences]] macro and associated functions
2746     * [[TableOfContents]] macro
2747     * Mechanism for external macros (user extensions)
2748     * Numbered list types and start offsets
2749 
2750 Bugfixes:
2751     * Search dialogs did not work on the FrontPage
2752     * Add newline to text if last line has none (better diffs)
2753 
2754 -----------------------------------------------------------------------------
2755 Version 0.5 (2000-11-17)
2756 
2757 New features:
2758     * Major refactoring: code is now broken up into modules within the
2759       "MoinMoin" package
2760     * Diagnosis of installation via a "test.cgi" script
2761     * Smileys
2762     * "#format" processing instruction
2763     * "##comment"
2764     * [[RandomPage]] and [[RandomPage(number)]] macro
2765     * configurable footer ("page_footer1" and "page_footer2")
2766     * "#redirect" processing instruction
2767 
2768 Bugfixes:
2769     * Bugfix for broken CGI environment of IIS/4.0
2770     * URLs and InterWiki links are now less greedy (punctuation at the end
2771       is excluded, and "<" ends them, too)
2772 
2773 -----------------------------------------------------------------------------
2774 Version 0.4 (2000-11-01)
2775 
2776 New features:
2777     * Table markup "||a||b||c||"
2778     * Headlines "= H1 =", "== H2 ==", and so on up to H5
2779     * [[PageCount]] macro
2780     * Added [[Icon(image)]] macro and macro arguments
2781     * [[PageList(title-regex)]] macro
2782     * New help system (set of help pages describing all features)
2783 
2784 Bugfixes:
2785     * Create complete URL for "Clear message" link
2786     * Inline code spans needed cgi.escape
2787     * Better fix for Python 1.6 "re" problems
2788     * Fix for uppercase extensions in inline images ("foo.JPG")
2789     * Fixed colspan in RecentChanges
2790     * HR size is now limited to 8
2791     * "}" ends an URL pattern (fixes URLs right at the end of code displays)
2792 
2793 -----------------------------------------------------------------------------
2794 Version 0.3 (2000-10-25)
2795 
2796 New features:
2797     * Check for inline images with InterWiki links (Spam:eggs.gif)
2798     * New config variable "allow_extended_names", which enables markup for
2799       wiki names containing ANY character like this: ["any chars"] 
2800     * New config variable "html_head"
2801     * New macro [[SystemInfo]]
2802     * Added inline code ("{{{" and "}}}" on the same line)
2803     * Support for new config variable "max_macro_size"
2804 
2805 Bugfixes:
2806     * Don't treat sequences with a double colon (CPP::Namespace) as an
2807       InterWiki link
2808     * The local part of InterWiki links is now correctly URL-escaped
2809     * Quickfix for a bug in 1.6's regular expressions
2810     * Fixed "SpamSpamSpam" bug (multiple entries in word list)
2811     * Anchor names get quoted in WordIndex and TitleIndex
2812     * Filtering of filenames in page_list() corrected
2813     * Escape &, <, > when sending the editor
2814     * Final(?) fix for japanese wiki names
2815 
2816 -----------------------------------------------------------------------------
2817 Version 0.2 (2000-08-26)
2818 
2819 New features:
2820     * When saving, a datestamp saved in the form and that of the file are
2821       compared now; so, accidently saving over changes of other people is
2822       not possible anymore (saving still needs file locking though, for
2823       race conditions)
2824     * if the directory "backup" exists in the data dir, pages are saved
2825       there before a new version is written to disk
2826     * Removed the "Reset" button from EditPage
2827     * Added "Reduce editor size" link
2828     * Added Latin-1 WikiNames (JürgenHermann ;)
2829     * Speeded up RecentChanges by looking up hostnames ONCE while saving
2830     * Show at most 14 (distinct) days in RecentChanges
2831     * Added icons for common functions, at the top of the page
2832     * Added a printing preview (no icons, etc.)
2833     * Added bracketed (external) URLs
2834     * Added support for quoted URLs ("http://...")
2835     * Added styles for :visited links to CSS
2836     * Embed image if an URL ends in .gif/.jpg/.png
2837     * No markup detection in code sections
2838     * Grey background for code sections
2839     * Added handling for numbered lists
2840     * the edit textarea now grows in width with the browser window
2841       (thanks to Sebastian Dauß for that idea)
2842     * Added page info (revision history) and viewing of old revisions
2843     * Added page diff, and diff links on page info
2844     * Added InterWiki support (use "wiki:WikiServer/theirlocalname"; the list
2845       of WikiServers is read from "data/intermap.txt")
2846     * Added "normal" InterWiki links
2847     * Added "action=raw" to send the raw wiki markup as text/plain (e.g. for
2848       backup purposes via wget) 
2849 
2850 Bugfixes:
2851     * Removed an exception when saving empty pages
2852     * Fixed bold nested into emphasis ('''''Bold''' Italic'')
2853 
2854 -----------------------------------------------------------------------------
2855 Version 0.1 (2000-07-29)
2856 
2857 Improvements over PikiPiki 1.62:
2858     * Moved configuration to "moin_config.py"
2859     * Added "edit_rows" setting
2860     * Added navigation bar
2861     * Improved HTML formatting
2862     * Added timing comment (page created in xx secs)
2863     * ISO date and time formats by default
2864     * Formatted RecentChanges with HTML tables
2865     * Uppercase letters for the index pages
2866     * Added PythonPowered logo
2867 
2868 Bugfixes:
2869     * Javadoc comments now get formatted properly in {{{ }}} sections
2870     * Remove \r from submitted pages (so we get PORTABLE wiki files)
2871     * chmod(0666) eases manual changes to the data dir
2872 
2873 -----------------------------------------------------------------------------
CHANGES.txt

For older CHANGES, see MoinMoinRelease1.3/CHANGES.

MoinMoin: MoinMoinRelease1.5/CHANGES (last edited 2008-01-21 23:32:39 by ThomasWaldmann)