= MoinMoin Version History =

Version 1.3.5 (2005-08-04, Revision moin--main--1.3--patch-883)

Fixes:
    * small CSS fix for rightsidebar theme
    * applied some Debian patches (thanks to Jonas!):
      * de i18n spelling fixes
      * AttachFile fix, we strip CR in .draw files now
      * when loading spellcheck dictionaries, we want utf-8, but we make
        a 2nd try with iso-8859-1 encoding.
    * fixed "lost password" mail
    * We allow _ in usernames now. Be aware that underscores get some special
      processing, e.g. page names with underscore (like your home page in that
      case) get rendered with a blank instead of the underscore. Links with a
      blank in the same place as another link with an underscore will link to
      the same page.

New Features:

    * enabled using https with the Twisted server:
      You need to use port 443, have PyOpenSSL (+ ssl libs it depends on)
      installed and have some site key and certificate PEM files configured in
      your twistedmoin.py file:
      sslcert = ('/whereever/cert/sitekey.pem', '/whereever/cert/sitecert.pem')


Version 1.3.5rc1 (2005-07-31, Revision moin--main--1.3--patch-865)

Fixes:

    * Fixed security bug when acl of deleted page was ignored. See:
      http://moinmoin.wikiwikiweb.de/MoinMoinBugs/ACLIgnoredAfterDelete
    * AttachFile did not display the original filename plus there
      was a confusion in input field labelling ('Rename to').
    * Fixed shortcut link non-existent page detection.
    * Fixed non-working bookmark function on python 2.2.x.
    * Fixed wikirpc getPageInfo call on python 2.2.x.
    * Fixed the failing import of plugins from the data/plugin/
      directories if run in zipimport environments.
    * Fixed traceback which occurred on negated searches.
    * Fixed crash when trying to render error message on twisted, fast
      cgi and modpy.
    * Fixed error message with modpy, used to show wrong errors below
      the real message.
    * Fixed search and goto text fields for better compatibility with
      dark themes and better control through css.
    * Show an edit link if MissingPage is missing and a warning in the
      server log.
    * Fixed missing footer in the editor.
    * Fixed indented (invalid) headings with broken links in table of
      contents.
    * Fixed crash when file name is too long, show standard error message.
    * Save trail file in a safe way, should be enough for normal use.
    * Fixed remember_last_visit user preferences option when show_trail
      is not selected.
    * Fixed the tests for Standalone, Twisted, FastCGI and Mod_Python.
      Run with ?action=test from any page.
    * Fixed rare bug when wrong search type was performed when pasting
      search term in Safari.
    * Fixed crash for custom formatters and dom_xml (which occurred if
      smileys were in the page).
    * Editor opens on double click in pages with single quote in the
      name, like "Ben's Wiki".
    * '/.' in page names are not replaced any more by '/(2e)'
    * Fixed the long delays while saving pages using RequestCLI.
    * Fixed variable expanding for users with non WikiName.
    * Fixed MonthCalendar's calculation of "today" to use the user's
      time zone setting.
    * Fixed moin_dump script, use same configuration options as other
      scripts.
    * Fixed url_mappings to work in proxied setups and sent mails
      again. Also fixed for image links. Thanks to JohannesBerg.
    * Fixed page shown after saving a drawing (esp. when saved from a
      sub page). Fixed help link for drawings.
    * Fixed mig10 script to run on Python < 2.3.
    * The twisted server defaulted to a socket timeout of 12 hours!
      We reduced that to a more sane 10 minutes, that should still be more
      than enough. This fixed the "too many open files" problem we
      encountered quite often recently. Thanks to Helmut Grohne!

Other Changes:

    * Added {hu} flag.
    * Added cz, pt and pt-br i18n.
    * We send a 404 http status code for nonexisting wiki pages now,
      maybe this will repell some search engines from requesting gone
      pages again and again. The wiki user still sees the MissingPage
      wiki stuff, so a user usually won't notice this change.
    * Return 500 error code on failure and exceptions.
    * Added some more bot / leech tool user agent strings.
    * Prevent page floating elements from floating out of the page over
      the footer, in modern, rightsidebar and classic themes.
    * Encode URLs in a safer way
    * We allow usernames with ' character in them now (like Tim O'Brian).
    * Added support for the new security flags in docutils 0.3.9.
    * [[MailTo(ThomasWaldmann@gmx.de)]] expands now to safer [[MailTo()]] macro.
    * Clarified and i18ned lost password mails.
    * Added 'TitleIndex' and 'SiteNavigation' (+ translation) to the
      list of pages that use html_head_index (so that robots
      "index,follow").  Please make sure to have either FindPage,
      TitleIndex or SiteNavigation in your navi_bar or in your
      page_front_page content if you want search engines to find all
      your pages.
    * Make it possible to send account data when being logged in (for
      future reference or whatever purpose).
    * Speed up when running with persistent servers, the wiki config
      does only get loaded once and misc. stuff is being cached between
      requests now.
    * The unit tests are disabled when using multi threading, because
      the wiki configuration is shared between diffrent threads.
    * The main code path (using standalone server) of MoinMoin runs on
      PyPy now.
    * Formatters do automatically transform HTML to plain text if they are
      called with raw HTML code.
    * Using larger socket backlog on Standalone and FastCGI servers
      should be more reliable on high load.
    * We now strip leading path from attachments uploaded by IE (this is
      a bug in IE, not in MoinMoin). Better use a sane browser, like Firefox.
    * added "teleport" to the user agent blacklist

New Features:

    * Integrated Lupy indexer for better search performance. It is disabled
      by default as of 1.3.5 as it still has known issues.
      See multiconfig.py if you want to test it.
    * Integrated MonthCalendar 2.1, with some new features:
      * a mouseover bubble that shows first level headlines of the linked
        day page
      * all calendars with same pagename move when using cal navigation,
        thanks to Oliver Graf
      * included AnnualMonthlyCalendar patch of Jonathan Dietrich
        (use [[MonthCalendar(Yearly,,,+1,,6,1)]] syntax for birthdays and
        other annually repeating stuff)
      Make sure you remove old MonthCalendar.* from data/plugin/macro so that
      moin will use the new code in MoinMoin/macro/MonthCalendar.py.
      Maybe also clear the text_html cache.
    * Added the new XSLT parser and the DocBook parser. This should increase
      the 4suite compatiblity. See HelpOnXmlPages for details.
      It now should run on 4suite 1.0a4 and 1.0b1. Thanks to Henry Ho!
    * Added the DocBook formatter. This will let you generate DocBook markup
      by writing simple wiki pages. It needs PyXML.
    * It is now possible to change the UserPrefernces checkbox defaults in
      wikiconfig or even to disable some of the checkboxes. Look for
      user_checkbox_defaults and user_checkbox_disable options
    * New standalone server classes: ThreadPoolServer using pool of
      threads, ThreadingServer with thread limit and ForkingServer.
    * New standalone server configuration options: serverClass,
      threadLimit, requestQueueSize.
    * Use "PythonOption Location" in mod_python setup to solve script_name
      problems.

Developer notes:
    
    * Theme can now override maxPagenameLength() method to control page
      name shortening.
    * A search Match now provides access to the full re match via
      the re_match attribute (use to access groups of the match)
    * Underlay is not managed by arch any more. The tree contains an
      underlay tarball, and you should untar after you update from main.
    * "make update-underlay" will untar underlay
    * "make merge" will star-merge main into your tree
    * "make test" will now create and run in a fresh testwiki instace
    * "make clean" options added
    * _tests module does not have a global request any more. To refer to
      the current request in a test, use self.request.
    * _tests.TestConfig class require a request in the constructor.
    * "python tests/runtests.py test_module" will run only test_module
    * request.cfg stays between requests (for persistent servers).


Version 1.3.4 (2005-03-13, Revision moin--main--1.3--patch-666)

Fixes:

    * Fixed ACL check in LikePages macro that caused links to unreadable 
      pages to show.
    * Fixed ACL check in newpage action.
    * Fixed a security problem when admin policy defined in a custom
      SecurityPolicy class was ignored.
    * Fixed ACL check in action=show so that a user who may not read a page
      also can't find out WHEN the protected page was updated.
    * Workaround on Windows 95, 98, ME in order to clear the dircache.
      This fixes some bugs related to an outdated page list and newly created
      pages that did not appear immediately.
    * Fixed decoding issues of page names on Windows, finally.
      http://moinmoin.wikiwikiweb.de/MoinMoinBugs/BrokenUmlautsInLinksIn131
    * Fixed traceback on IIS.
      http://moinmoin.wikiwikiweb.de/MoinMoinBugs/request%2epy_broken_on_IIS
    * Fixed wikirpc for standalone server.
    * Other fixes (encoding and str/unicode data type related) to wikirpc
      server, fixing some non-ascii issues hopefully.
    * Fixed broken query strings for Standalone installations.
    * Fixed backlinks - the result did not always show all links, often it 
      showed too many irrelevant matches (MoinMoinBugs/BacklinksAreBroken).
    * Fixed the acceptance of the show_hosts setting. Now you should be able
      to hide any IP or host name from being published by MoinMoin by enabling
      this option.
    * Fixed wrong line endings on email messages.
    * Fixed MoinMoinBugs/StandaloneUnquotesTooMuch.
    * Fixed crash when trail file is missing.
    * Fixed a traceback when searching for single ( or ).
    * Added mig10 script to fix crashes with uncoverted edit-locks and file
      attachments. Just use it as you did with mig1..mig9 before.
    * Added mig11 script to add __init__.py files to data/plugin (and below).
    * added some fixes for the xslt parser (thanks to fanbanlo), it might be
      still broken, but someone with deeper knowledge about xslt should fix it.
    * Replaced image link with W3C's "html 4.01 compliance" icon by a simple
      text link to avoid https: or config trouble.
    * Catch OverflowError backtrace when illegal date strings (e.g. <1970 or
      >2038) are fed to moinmoin's time routines. It will just output current
      date / time in those cases.
    * UserPreferences now also set a date_fmt preference and Date macro
      honours it. You may have to reset your UserPreferences value for that.
    * Fixed free parent and subpage links in interwiki notation.
      http://moinmoin.wikiwikiweb.de/MoinMoinBugs/FreeParentLinksAreBroken
    * Fixed a traceback for invalid ReST markup.
    * Fixed UnicodeError in SystemAdmin's Attachment Browser.

Other Changes:

    * Optimized the IRC parser.
    * Support for zipimport of the MoinMoin package. This allows you to use
      py2exe and similar programs.
    * Show the editor's name in the mail subject.
    * Added the pragmas description and keywords. They will add <meta> headers
      if used.
    * Added MoinMoin/scripts/xmlrpc-tools/putPageTest.py example script, useful
      as a starting point for importing data using wiki xmlrpc.
    * Optimised display on Opera browser.

New features:

    * The search modifier "linkto:" was introduced. You can use it to search
      for links.
    * The NewPage macro now can take a PageTemplate parameter, see HelpOnMacros.
    * New config settings (so you don't need to edit wikirpc.py any more):
      xmlrpc_putpage_enabled = 0 (if 1, enables writing to arbitrary page names)
      xmlrpc_putpage_trusted_only = 1 (if 0, doesn't require users to be
       authenticated by http auth - DANGEROUS, DO NOT SET TO 0!!!)
    * Added support for Digest and NTLM authentication with CGI (e.g. if you
      use those Apache modules)
    * The datetime string accepted by Date and DateTime macros was extended to
      accept a timezone specification, so now +/-HHMM is also valid, e.g.:
      2005-03-06T15:15:57Z (UTC, same as +0000)
      2005-03-06T15:15:57+0000 (UTC)
      2005-03-06T16:15:57+0100 (same time given as local time for time zone
                                with offset +0100, that is CET, e.g. Germany)
      2005-03-06T10:15:57-0500 (same time given as local time for time zone
                                with offset -0500, EST, US Eastern Std. Time)
      The values given as macro argument will be transformed to UTC internally
      and then adapted again according to viewing user's UserPreferences, so
      the user will see the same moment in time but shown in his local time
      zone's time (at least if he set his UserPreferences correctly and didn't
      forget changing them twice a year for DST and non-DST).
    * Readded (now optional) editlink footer to Include macro. Add
      ',editlink' to call to enable this.
    * star "smileys" e.g. {*}{*}{*}{o}{o}


Version 1.3.3 (2005-01-24, Revision moin--main--1.3--patch-595)

Fixes:

    * fixed ACL security problem in search
    * fix for IIS with CGI allowing page names that contain chars
      that are not in the system code page
    * fixed MoinEditorBackup revisions to start with 1 now
    * improved page locking ('current' file)
    * Unittests (normally shown at end of action=test output) are currently
      disabled for everything except CGI, because they only work reliably with
      CGI, giving wrong results for other request methods.


Version 1.3.2 (2005-01-23, Revision moin--main--1.3--patch-587)

Fixes:

    * ACL bugfix for deleted pages with ACL protection.
    * ACL bugfix for "Default" acl.
    * Fixed updating of groups and dicts
    * Python 2.2.x related fixes (worked on 2.3+)
      * Fixed traceback in RecentChanges.
      * Fixed traceback with links browser.
    * Fixed 0 revision display in 'Show changes'.
    * Fixed traceback in Antispam which occurred when it could not connect
      to MoinMaster. Log the errors to stderr or error.log.
    * Fixed bug in Page init (no date, use rev). Fixes problem with
      #deprecated PI.
    * Fixed empty lists in empty search results.
    * Cosmetic fix for modern theme (when viewed with Internet Explorer).
    * Fixed migration 9 script, do not drop newline, do not drop error.log, 
      note about missing error.log.
    * Fixed repair_language.py script, keep ending newline on revisions.
    * Show headings and macro content in correct direction when mixing content 
      in several directions in the same page and using caching.
    * Fixed bug in standalone re farmconfig.
    * Fixed DOS condition in antispam code.
    * Use smaller margin in print mode to get better results with 
      Mozilla/Firefox.
    * Fixed some user input escaping issues.
    * Fixed a problem when one wiki plugin override other wikis plugins in 
      same farm.
    * Fixed some broken tests.
    * Fixed recursive include in pstats.
    * Fixed bug in standalone - HTTP result code was 200 even when the access
      was forbidden.
    * Fixed traceback when trying to login with non-ascii password.
    * Fixed traceback when xml is not available, reported on Python 2.2.?
    * Fixed slideshow to show slides in sorted order again.
    * Fixed serving multiple wikis on same IP/different ports with twisted and
      farmconfig.
    * It is possible to run with data_underlay_dir = None for special
      application, but be aware that the wiki won't be usable unless you have
      at least some of the system pages from underlay/ available.
    * Files with Unicode characters in their filename are possible now.
    * Bugfix for broken [:page#anchor:text] links.
    * Workaround an instability of the gdchart module leading to
      stalled servers etc.
    * Fixed some event-log decoding issues that affect charts rendering.

Other changes:

    * Major speed improvement over 1.3.1. Many times faster title search,
      creating new page, opening page editor and any operation that list pages.
      See http://moinmoin.wikiwikiweb.de/MoinBenchmarks
    * Improved README.migration.
    * Cleaner design for login/register interface, login is always the default
      button when the user click Enter.
    * If there are problems found in the configuration, log the error
      and display helpful error messages in the browser.
    * More forgiving unicode configuration policy, you must use the u'string' 
      format only for unicode values.
    * Added profiling to CGI.
    * The content of farmconfig.py is similar to wikiconfig.py now.
    * Unexpected errors while loading cache files are logged.
    * i18n for icon ALT tags.
    * Include request initialization code in the profile in standalone server.
    * When creating new theme, style sheets are inherited correctly, no need
      to override style sheets just to get them working.
    * Many times faster plugin system. Typical pages are about 35% faster, 
      pages with many plugins can be many times faster. 
    * Spiders are allowed to fetch attachments.
    * Old user files containing password hash encoded in pre 1.3 charset
      are auto repaired on first login.
    * data_dir defaults to './data', underlay_data_dir to './underlay' now.
      It is a good idea to replace those by absolute pathes in wikiconfig.py.
    * Renamed "Refresh" to "Delete Cache" - it was misused by users. The action 
      was also moved into the action menu in the modern and rightsidebar themes.
    * Added a workaround for TableOfContents missing some links by making it
      uncacheable via a "time" dependency.
    * Removed interwiki icon and title attribute for wiki:Self:... links.
    * Unittests (normally shown at end of action=test output) are currently
      disabled because they worked unreliably, giving wrong results sometimes.

New features:

    * Create new pages easily using configurable interface and page templates 
      with the new NewPage macro.
    * ReStructuredText (rst) support is built-in now. See HelpOnParsers.
    * New experimental feature in mointwisted.py - each interface may 
      specify a port: '12.34.56.78:80'. Without a port, the port option
      is used.

API changes:

    * For a complete list of changes, see MoinMoin:ApiChanges.
    * wikiutil.importPlugin's first argument is now a wiki config instance 
      (request.cfg) and there is no path keyword.
    * Wiki plugins always override MoinMoin plugins. wikiutil.importPlugin
      implements this override.
    * util.pysupport.importName does not accept path - you should call 
      it with correct module name, e.g 'wikiconfig.plugin.parser.wiki' for 
      wiki plugins, or 'MoinMoin.parser.wiki'. 
    * wikiutil.extensionPlugin was renamed to wikiPlugins and it gets config 
      instance instead of path.
    * New function wikiutil.importWikiPlugin used to import wiki plugins 
      using a cache in a thread safe way.
    * New config option config.use_threads is used to activate thread 
      safe code.
    * New keyword arguments for getPageList, enable 10X faster operation
      for common cases by controlling page filtering.
    * New up to 100X times faster getPageCount


Version 1.3.1 (2004-12-13, Revision moin--main--1.3--patch-434)

Fixes:

    * Fixed "Error Cyclic usage" crash when user had Italian (it), Korean
      (ko), Serbian (sr) or Vietnamese (vi) as user interface language.
    * Fall back to en (instead of crashing) when user uses a language moin
      does not support / does not support any more (like pt,sv,fi,sr).
    * In 1.3.0, people accidentally put iso-8859-1 chars into wiki configs,
      but those where expected to be pure utf-8 and thus it crashed.
      Fixed by using unicode strings (varname = u'whatever'), a matching
      encoding setting (see top of script comment) and, when decoding strings,
      using decode to ASCII with replace mode (this replaces non-ASCII chars,
      but at least it won't crash - and you get a warning to better use
      Unicode strings).
    * Fixed long time broken table formatting. ||<style="see css spec" a||b||
      Now even generates valid HTML! The old markup for align, valign, width,
      bgcolor still works, but synthesizes style attribute data.
    * SystemAdmin macro shows attachments of ALL pages now.
    * Users without write acl rights will be able to see attachments again and
      also have AttachFile action in menu.
    * Fixed wrong match count in search results, find all matches in page 
      titles, show all matches in contents in some rare cases.
    * Run about 200% faster with long running processes (standalone, Twisted), 
      about 20% faster with cgi, by better internal data handling in wikidicts.
    * On SF, the dict files use utf-8 encoding now. We included them also in
      distribution, see contrib/dict/.
    * Fixed permissions to shared template stuff.
    * Speeded up search, fixed wrong match counts.
    * Speeded up internal data handling (wikidicts).
    * Fixed rare unicode error after deleting a page (reported only on SuSE
      Linux 9.0 / Python 2.3.0).
    * Fixed file permissions of files in the data dir.  
    * Fixed some cosmetic problems in migration scripts and use sys.path.insert
      to get latest moin code when executing them.

Other Changes:

    * Improved docs, system and help pages.
    * Updated translation files.

Known Bugs:

    * Internet Explorer renders our HTML/CSS in a suboptimal way.
      (MoinMoin:MoinMoinBugs/InternetExplorer)
      Workaround: use a non-broken browser like FireFox / Mozilla.
      Fixed in MoinMoin 1.3.2.
    * Passwords using non-ascii do not work.
      (MoinMoin:MoinMoinBugs/NonAsciiPasswordsBroken)
    * The TOC macro is broken partly.
      (MoinMoinBugs/TableOfContentsBrokenForIncludedPages,
       MoinMoinBugs/TableOfContentsLacksLinks)
    * See also: http://moinmoin.wikiwikiweb.de/MoinMoinBugs
      

Version 1.3.0 (2004-12-06, Revision moin--main--1.3--patch-400)

    As you see from the length of the 1.3 changes below, 1.3 is a major(!)
    upgrade. We could have also named it "2.0", but we decided against.
    So take the time for reading the informations thoroughly and do the
    migration exactly as we tell you - this is no 5 minutes upgrade!

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!! We heavily changed configuration, data encoding, dir layout:    !!!
    !!!  * the default encoding changed to utf-8.                       !!!
    !!!  * also, we changed the escaping for special chars to %XX%YY in !!!
    !!!    URL and (xxyy) in file system.                               !!!
    !!!  * layout of data dir changed completely                        !!!
    !!! If you upgrade an existing wiki, you must run the migration     !!!
    !!! scripts or you will get data corruption or other problems.      !!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Upgrading your wiki - critical information

      If you are NOT starting from scratch, you MUST convert your existing
      data - see README.migration for details.

      If you use ##language: xx comments on your OWN pages, you should also run
      repair_language script. Not needed for help/system pages as we already
      have done that for you.

      MoinMoin uses Unicode internally now (UCS-2 with 16 bits or UCS-4 with
      32 bits, depending on your Python installation). The encoding used
      for page files and html output is set by config.charset.

      Moin 1.3 uses utf-8 encoding only, there is NO SUPPORT for using a
      charset different from utf-8 with 1.3. If you try, you are on your own.

    Directory layout

      Directory layout was heavily changed. Each page now is a directory,
      containing page revisions, attachments, cache files and edit-log.
      
      You can delete a page or move a page from one wiki to another
      easily. Look at the wiki/data directory to see.
      
      Example:
        old: data/text/FrontPage
        new: data/pages/FrontPage/revisions/00000042
             data/pages/FrontPage/current (contains: 00000042)
        old: data/backup/FrontPage.xxxxxxxx
        new: data/pages/FrontPage/revisions/00000023

      For cleaning up cache files, use MoinMoin/scripts/cachecleaner.py 
      (see comments in script).

   Python / Libs
      
      * For using RSS, you need to have PyXML installed:
        Python 2.4*   -> PyXML 0.8.4 (cvs version)
        Python 2.3.x  -> PyXML 0.8.3
        Python 2.2.2+ -> ???
        This will also make "Live Bookmarks" of Mozilla Firefox working.
        New: if you don't have PyXML installed, the RSS icon on RecentChanges
        will not be displayed any more. Python with no PyXML installed
        generates invalid RSS XML.

   Page names handling

      * Handling of special characters in file names changed from _xx format
        to (xx...) format.
      * In URLs, moin now uses %xx%yy quoting, (because this is supported by 
        browsers), and sub pages use "/" instead of the ugly "_2f".
      * Underscore character "_" is used now as a space character " " both 
        in file names and URLs. " " and "_" will be handled equivalent at most
        places in the future (represented as "_", rendered as " ").
      * To prevent wiki abuse and user typing errors, page names are normalized 
        in URLs, query strings, the "go" box and when renaming pages. This 
        include leading, trailing and multiple slashes and white space. Certain 
        invisible unicode characters are removed from page names.
      * Group page names are restricted even more, any non unicode alpha-numeric
        character is removed. This is done to enable changing acl syntax in 
        the future. The restriction might be loosen on future versions.
      * You can edit config.page_invalid_chars_regex to control which characters
        are allowed in page names (Changing it is not supported).
      * When you enter page name, it is normalized and you are redirected to
        the normalized page, or if nothing left (e.g '/////'), to FrontPage.
      * When renaming a page to a name that can be normalized to an empty string,
        the new page name will be "EmptyName" and the user will not get an
        error message.
       
   Underlay directory

     * Pages (especially system and help pages) are now located in an underlay
       directory (data_underlay_dir). You will see the pages there if they are
       NOT covered (overlayed) by a page in the normal pages directory
       (as set using data_dir).
       MAKE SURE THAT data_underlay_dir IS CORRECT OR YOU WILL SEE MANY EMPTY
       PAGES ONLY IN A NEW WIKI.
     * If you edit a page that is shown from underlay directory, it will be
       copied to the normal page directory on save (copy-on-write).
     * You can use one copy of the underlay directory shared by many
       wiki instances. Each wiki will then have only your local, self-made
       wiki pages in its data directory, and only system and help pages in the
       single, shared underlay directory - this simplifies upgrades a lot.
     * It is recommended to keep your underlay system and help pages immutable
       using acl, so you can upgrade your wiki easily. The default help and
       system pages already have those ACLs (using MoinPagesEditorGroup).
     * Do not forget to remove your old help and system pages after migrating
       your wiki. We don't provide a script for that as that would be
       dangerous for edited pages. Just use some file manager (e.g. mc) to
       clean the data/pages/ directory. As soon as you have removed the
       system pages there, you will see the new pages in the underlay dir.
       See the EditedSystemPages page for a list of pages that exist in both
       data and underlay directory (use this page as admin!).

    Multiple languages

      * New file name quoting method allow 50% longer page names in languages
        that use more than one byte per character, like Hebrew, Korean etc.
      * Configuration file uses 'utf-8' encoding now. Certain values that are
        marked with [Unicode] can use any character in your language. Examples 
        are page names in navi_bar, page types regular expressions and site name.
      * For configuration examples adopted to your language, check ConfigMarket 
        in the MoinMoin wiki.
      * The system and help pages that come with moin are now in utf-8.
      * MissingPage system page localized, should display in your language.
      * We did many i18n (translation) updates.
      * CSS file use utf-8 encoding. User css is also expected to be utf-8.
        This is relevant only if you use non-ASCII values in the CSS file.
      * config.upperletters and config.lowerletters were removed.
        We now use a pre-made ucs-2 spanning set and you usually don't have to
        change it. See MoinMoin/util/chartypes.py if you're interested.
      * ACL works with any user name or group name in any language, even names 
        with spaces.
      * Now you can use any charset in config.charset. Note: only utf-8 is 
        a supported configuration!
      * Improved url handling, now creating pages directly from the browser 
        url box with non-ascii names works in most cases, even when 
        config.charset is not utf-8.
      * When using non-utf-8 config.charset, characters in URLs that does
        fit in the charsets are replaced with "?" (instead of crashing).
      * All themes and most macros and actions are Right to Left friendly.
        Full RTL support planned for 1.3 release.
      * If page language is specified with #language processing instruction
        the page is displayed in the correct direction. Pages without
        language are displayed using the wiki default_lang.

    Multiple configurations

      * You can run multiple wikis from the same wiki directory or server. 
        For example, you can run one Twisted server that serve multiple wikis, 
        instead of running multiple servers. Samples of the new configuration
        are supplied in wiki/config/*.
      * You can't just use your old moin_config.py file. It is now called
        wikiconfig.py and the config variables now have to be in a class
        "Config" and that class must inherit from
        MoinMoin.multiconfig.DefaultConfig - see the provided wikiconfig.py
        sample for details.
        This is very useful, e.g. you could derive a GermanConfig from
        DefaultConfig. After that, you can derive configs for wikiA and wikiB
        from that GermanConfig.
      * farmconfig.py contains a mapping attribute called "wikis" with pairs of
        wikiconfig module name and regular expression. The regular expression
        is matched against the URL of the request and the first matching entry
        determines the config module to be imported by MoinMoin.
      * If you use farmconfig.py's "wikis" mapping, then any wiki has a private
        config module, named after the wiki - e.g. wiki named moinmoin would
        use moinmoin.py.
      * If you only have a single wiki, you do not need farmconfig.py. just make 
        a wikiconfig.py and it will be used no matter what URL is requested. 
      * There is one common global "config" that holds sitewide settings (like
        umask or charset) - you do not need to change settings there.
        This file is located in the MoinMoin code: MoinMoin/config.py.
      
    General configuration

      * SecurityPolicy now uses "write" instead of "edit" (so it is may.write
        now). This is to get it in sync with ACLs.
      * SecurityPolicy now automatically can use everything in acl_rights_valid.
      * There is a new config option "config_check_enabled". It will warn about
        any unknown variable name (probably typo) to stderr or error.log. 
        If something doesn't work at all and changing the config does no 
        difference, switch it on and look at the error message. 
      * The sample config file comes with config_check_enabled = 1. If you 
        introduce additional variables yourself, you definitely want to switch 
        that check off or it will fill your log.
      * If you define "page_front_page" variable, this name will show in the 
        navigation bar now, instead of the default "FrontPage".

    New search engine

     * Full text and title search do support multiple search terms now - 
       see HelpOnSearching for details.
     * Regular expressions are still supported but have to be turned on per
       search term. Search terms in macros using regular expressions will have
       to be fixed.
     * The URL interface of the search engine has also changed. Links that 
       point directly to search actions may be broken.

    User names

      * User names can not use group names, even if ACLs are not enabled.
        This will prevent error later, if you start to use acl in the future
        (acl is going to be mandatory in 1.4).
      * User names are not restricted any more to only CamelCase. 
      * To prevent imposing as other users, leading, trailing and multiple 
        whitespace in user names is not allowed. Only Unicode alpha numeric 
        characters are allowed, with optional one space character between 
        words.
      * When a user name with a group name or "bad" name is trying to 
        access the wiki, he is redirected to the UserPreferences page and 
        asked to create a new account.
      * When trying to login or create a new account with a bad name, 
        correct error message is displayed in all cases.   

    CGI

      * You can not use your old moin.cgi file, as we removed cgimain.py 
        (was deprecated since 1.2). Copy the new file from the server dir.     

    Moin servers - Twisted and standalone

      * Configuration self checking on startup. Will raise an error in case
        of bad configuration or non-accessible directories.
      * Both use shorter and identical configuration options.
      * Server scripts contain detailed comments and examples.
      * Configuration defaults changed to fit most users.
      * There is memory profiler option for debugging, switched off by default.
      * If you perform a standard install, server scripts should run out
        of the box or with minimal change.

    Twisted server

      * All code moved into the new server package, the server script
        contains only configuration options.
      * Listen to more than one interface with "interfaces" list.
      * Code updated to new Twisted API.
      * Use mointwisted script to start and stop the server, using 
        "mointwisted start" and "mointwisted stop".
      * The Twisted server runs as daemon by default.
      * All moin Twisted files are called now mointwisted instead of 
        moin_twisted.
      * Fixed getting username from Twisted request (http auth)

    Standalone server

      * Configuration moved from moin_config.py to moin.py.
      * If run as root, you can set both user and group for the server.
      * Can use logfile instead of logging to stderr.
      * Fixed missing unquoting of query string (caused problems in rare cases).

    mod_python server

     * moin_modpy server files renamed to moinmodpy.

    Wiki Markup

     * '''strong''', ''em'' and __underline__ have now paragraph scope. You can
       set these attributes on words level. For multiple paragraphs, wrap each 
       with needed markup.
     * If you leave unclosed ''', '' and __  markup, its is closed when the 
       paragraph ends.

    User interface

     * Due to many changes in CSS files, the wiki may look "broken" until
       your reload once or twice, or empty your browser cache.
     * The "Send mail notification" checkbox is replaced by "Trivial change"
       checkbox. The default behavior did not change - regular edit is not
       a trivial change, and mail will be sent to subscribes. If you check
       trivial change, mail will be sent only to users who selected to 
       get trivial changes in their user preferences.
     * New theme "modern" has been added, and used as default theme. 
     * classic and rightsidebar improved.
     * viewonly theme removed, as any theme can be use now as viewonly
       by using #acl All:read in the wikiconfig.
     * All themes use new navibar, displaying both wiki links, user links
       and the current page.
     * navibar and pagetrail use now shortened page names, so very long
       names does not break the interface visually.
     * All themes have improved search interface at the top of the window.
     * Only avaiable actions are displayed, so most situations when a user
       try to do something he can't do are prevented.
     * When creating a new page, no action is available until the page 
       is created. You can't attach files to non-existing page any more.
     * Non registered users get a "login" link. Registered uses get
       "username" link to their home page, and "user preferences" link.
     * Messages more clear using bold type, designed by css.
     * Few useless messages removed (but there are many more)
     * Default wiki logo uses the wiki name instead of the MoinMoin troll 
       logo.

    Other fixes and changes
    
     * Most generated html code is valid "html 4 strict". There are still
       some problems that still have to be fixed, mainly macros, table
       attributes, and inline markup crossing (<a><b></a></b>).
     * WantedPages can include and exclude system pages, which makes it 
       much more useful.
     * Fixed a bug in TitleIndex where not all system pages are excluded.    
     * RenamePage action now renames everything, including backups, page
       history, attachments. It does not change toplevel editlog, though.
       After you rename a page, you are redirected to the new page.
     * Syntax colorization supports more languages (Java, C++, Pascal)
     * Inline: display of attachments was extended. A Parser now knows which
       extensions it can handle.
     * TableOfContents and Include macros now cooperate a bit better. There
       are still problems with multiple Includes of the same page.
     * Excluded actions at bottom of page are not displayed any more.   
     * Editor: removed the columns size setting, just using 100% of browser
       window width (it didn't work because of that anyway). Also removed that
       "reduce editor size" link at top of editor as you would lose your
       changes when using it.
     * Removed the option to choose text smileys instead of images, this made
       more trouble than it was worth. The text version is still given in ALT
       attribute.
     * Moved stuff from contribution/ to MacroMarket page on MoinMoin wiki
     * Some nasty people try to use a running moin as a proxy (at least they
       did on moinmaster.wikiwikiweb.de:8000, maybe due to the magic port
       number). We changed the code to check for that and just return 403
       in that case. Moin can not be used as a proxy anyway.
     * moin.cgi?test was removed in favor of a new buildin test
       action. It works for all deployments, just use ?action=test.
     * Sending mail does use tls if server supports it.

    3rd party developer notes

     * Themes should be now sub class of MoinMoin.theme.ThemeBase. Sub
       classes will get automatically all new improved user interface
       elements for free.
     * Theme authors should update their theme for 1.3. Some keys removed
       from them dict. See ThemeBase class in MoinMoin/theme/__init__.py. 
     * Actions writers should call request.setContentLangauge with the 
       correct language used by the action. This enable themes and other
       code to use correct direction.
     * The Formatter interface was changed. Formatters and parsers using 
       the formatter interface have to be adjusted.
     * started deprecation of Processors: they are still recognized, but
       implementors should start to rewrite their Processors as Parsers.
       A processor with the same name as a parser in a pre #! section is
       currently preferred. This will change in the next release.

    Deprecation notes

     * Processors are deprecated, see section above.

     * Using the cookie (or the login url with ID) only and not setting (or
       setting and not remembering) your email/password in UserPreferences
       is DEPRECATED. Those quite unsecure methods will likely be dropped
       in next moin version.

     * Operating with acl_enabled = 0 is also DEPRECATED. Due to some other
       improvements planned, we will have to operate with ACLs enabled ONLY
       in a future moin version, so this setting will likely be dropped.
       So clean up your user accounts (see moin_usercheck.py) and switch ACLs
       on NOW.
       There are no drawbacks, so you will like it. Having ACLs enabled
       doesn't mean you really have to USE them on wiki pages...

     * allow_extended_names = 0 is deprecated (default was/is 1).
       Future versions will be able to use extended names (aka free links) in
       any case and the config setting will be removed.

     * allow_subpages = 0 is deprecated (default was/is 1).
       Future versions will be able to use subpages in any case and the config
       setting will be removed.

     * attachments = {...} - we would like to remove that setting because of
       several reasons:
       * when not being extremely careful, this can easily lead to security
         problems (like when uploading a .php exploit and then executing it
         by accessing it directly via web server)
       * makes code more complicated - code that we want to change completely
         in next version
       If you need that feature, speak up now and tell us your reasons WHY you
       need it.


Version 1.2.4 (2004-10-23, Revision 1.187)

This will probably be the last 1.2.x release as we are soon doing release
candidates for 1.3 release (with big internal changes) and are expecting
release 1.3 in december 2004.

Fixes:
    * fixed "None" pagename bug in fullsearch/titlesearch
    * fixed projection CSS usage
    * the compiled page is removed when a page is deleted, so no ghost page
      appears after deletion
    * fixed AbandonedPages day-break problem
    * fixed [[GetVal(WikiDict,key)]]
    * the msg box is now outside content div on PageEditor, too
    * privacy fix for email notifications: you don't see other email addresses
      in To: any more. mail_from is now also used for To: header field, but
      we don't really send email to that address.
    * privacy fix for /MoinEditorBackup pages that were made on previews of
      pages that were not saved in the end
    * fix double content div on PageEditor preview

Other changes:
    * workaround for broken Microsoft Internet Explorer, the page editor now
      stops expanding to the right (e.g. with rightsidebar theme).
      Nevertheless it is a very good idea to use a non-broken and more secure
      browser like Mozilla, Firefox or Opera!

    * from MoinMoin.util.antispam import SecurityPolicy in your
      moin_config.py will protect your wiki from at least the known spammers.
      See MoinMoin:AntiSpamGlobalSolution for details.

    * xmlrpc plugin for usage logging, currently used for antispam accesses

    * (re-)added configurable meta tags:
        * html_head_queries = '''<meta name="robots" content="noindex,nofollow">\n'''
        * html_head_posts   = '''<meta name="robots" content="noindex,nofollow">\n'''
        * html_head_index   = '''<meta name="robots" content="index,follow">\n'''
        * html_head_normal  = '''<meta name="robots" content="index,nofollow">\n'''

    * i18n updates/fixes

    * New UserPreferences switch:
      you may subscribe to trivial changes (when you want to be notified about ALL
      changes to pages, even if the author deselected to send notifications).

    * New AttachList and AttachInfo macros - thanks to Nigel Metheringham and
      Jacob Cohen.

Version 1.2.3 (2004-07-21, Revision 1.186)

Fixes:
    * fixed NameError "UnpicklingError" in user.py
    * fixed version number in moin.spec
    * reverts done by bots or leechers
      There was a bad, old bug that triggered if you did not use ACLs. In that
      case, moin used some simple (but wrong and incomplete) function to
      determine what a user (or bot) may do or may not do. The function is now
      fixed to allow only read and write to anon users, and only delete and
      revert to known users additionally - and disallow everything else.
    * avoid creation of unneccessary pages/* directories
    * removed double content divs in general info and history info pages
    * fixed wiki xmlrpc getPageHTML
    * fixed rightsidebar logout URL, also fixed top banner to link to FrontPage
    * use config.page_front_page and .page_title_index for robots meta tag
      (whether it uses index,follow or index,nofollow), not hardcoded english
      page names
    * ACL security fix for PageEditor, thanks to Dr. Pleger for reporting
    * default options for new users are same as for anon users

Version 1.2.2 (2004-06-06, Revision 1.185)

Fixes:
    * python related:
     * own copy of difflib removed
       Until moin 1.2.1 we had our own copy of python 2.2.3's difflib coming
       with moin. This was to work around some problems with broken older 2.2
       python installations. We removed this now because if you have py 2.3,
       there is even a better difflib coming with python (and that fixes an
       extremely slow diff calculation happening in some rare cases).
       So the good news is that when you run python 2.3, you don't need to do
       anything and it will run great. If you run python 2.2.3, it will mostly
       work good and you also don't need to do anything. The bad news is that
       if you run an old and broken 2.2 installation (2.2.1, maybe 2.2.2) you
       will have to fix it on your own (just copy difflib.py from python 2.2.3
       over to your python 2.2.x installation).
       But better upgrade to python 2.3 (for debian woody, there's a backport),
       as 2.3 generally runs better and faster than 2.2.
     * scripts changed to use #!/usr/bin/env python (not /usr/bin/python2.2)

    * user accounts and ACLs:
     * we now require the user to specify a password for a new account (you
       were not able to login without a password anyway)
     * it is not allowed any more to create user accounts with user names
       matching config.page_group_regex - please check manually that you do
       not already have such users existing (like a user named "AdminGroup"):
       cd data/user ; grep name=.*Group *  # there should be no output!
     * subscription email sending now honours ACLs correctly

    * markup / rendering / user interface fixes:
     * fixed merging multiple lines indented by the same amount of blanks
     * ## comments don't break tables in two parts
     * added a "remove bookmark" link to RecentChanges
     * fixed action=titleindex (added \n after each entry)

    * RSS fixes:
     * non-ASCII characters should work now
     * RSS feed (Recentchanges?action=rss_rc) gives UTC timestamps now
     * removed attribute breaking RSS feed on RecentChanges

    * better email generation:
     * if you use python >=2.2.2, we add a Message-ID header to emails
     * if you use python 2.2.1, there is no email.Header. Instead of crashing
       (like previous moin 1.2.x releases), we just use the subject "as is" in
       that case. If it is not ASCII, this is not standards compliant.
     * If you have >=2.2.2 it will use email.Header to make standards compliant
       subject lines.
     * use config.mail_from as sender address when sending "lost my password"
       emails

    * file attachments:
     * fixed for standalone server
     * attachment URLs (when handled by moin) don't include server name
     * fixed some wrong &amp;amp; in html src
    
    * better themeability:
     * some entries in dict "d" where only present in header theme calls, some
       only in footer theme calls. Now almost all is present in both calls.
     * added some missing "content" divs so sidebar themes look better

    * fixed some crashes producing backtraces:
     * no IOError when diffing against deleted page
     * no backtrace in xml footnote generation
     * no SystemInfo crash when no editlog exists in new wikis
     * xmlrpc.getRecentChanges fixed

    * MoinMoin.util.filesys.rename is now a wrapper around os.rename that
      fixes os.rename on broken win32 api semantics

Other Changes:
    * saving traffic and load by improved robot meta tag generation:
     * "noindex,nofollow" on queries and POSTs
     * "index,follow" on FrontPage and TitleIndex (give robots a chance ;))
     * "index,nofollow" on all other pages (hopefully saving lots of senseless
       requests for page?action=...) 
     * removed config.html_head_queries (was used for same stuff)
    * added russian i18n (utf-8)
    * misc. other translation updates / fixes
    * added rightsidebar theme
    * TitleIndex now folds case, so "APage" and "anotherPage" are both under
      letter "A".
    * added macro/PageHits.py - it calculates the hits each page gets since
      beginning of logging


    * Full text and title search do now support multiple search terms - 
      see HelpOnSearching for details
 
    * The Formatter interface was changed. Formatter and parser using 
      the formatter interface have to be adjusted.

Version 1.2.1 (2004-03-08, Revision 1.184)

Fixes:
    * minimum requirement to run moin 1.2/1.2.1 is python 2.2.2
     * not: 2.2(.0), as this does not have True/False
     * not: 2.2.1, as this does not have email.Header. You maybe can work
       around that one by:
      * getting the python 2.2.x (x>=2) /usr/lib/python2.2/email directory
      * putting it into directory 'x' (whereever you like)
      * doing a sys.path[0:0] = ['x'] in moin.cgi [or other appropriate place]
      No guarantee, this is untested.
    * Twisted: the http headers missed the charset data, fixed
    * mod_python: fixes for mod_python 2.7
    * wiki/data/plugin/__init__.py added - fixes not working plugin modules
    * plugin processors work now, too
    * fixed displaying non-existent translations of SiteNavigation in footer
    * fixed zh-tw iso name (wrong zh_tw -> correct zh-tw)
    * fixed reversed diffs in RecentChanges RSS
    * fixed "last change" info in footer (wasn't updated)
    * fixed event.log missing pagename (and other) information
    * fixed horizontal line thickness >1
    * fixed setup.py running from CVS workdir
    * fixed crash when doing action=info on first revision of a page
    * fixed hostname truncation in footer
    * minor css fixes
    * fixed clear msg links (they missed quoting, leading to strange page
      names when you click on some of them)
    * fixed python colorizer processor
    * fixed quoting of stats cache filenames
    * catched "bad marshal data" error when switching python versions

Other changes:
    * updated danish (da) i18n
    * updated japanese (ja) i18n
    * added serbian (sr) i18n
    * added chinese (zh) i18n
    * added a simple "viewonly" theme based on classic theme - you can use
      this as default theme, so anonymous users won't get the usual wiki stuff,
      but a far simpler (and less powerful) user interface.
      It also displays the navibar at the left side.
    * added moin.spec for building RPMs
    * included MoinMoin/i18n/* into distribution archive (nice for translators)
    * included some stuff under MoinMoin/scripts - xmlrpc-tools and account
      checking stuff. removed some version control clutter from the dist
      archive, too.

    * code colorization was refactored and some new languages (Java, C++,
      Pascal) where added.
    * inline: display of attachments was extended. A Parser now knows which
      extensions it can handle.

Version 1.2 (2004-02-20, Revision 1.183)

New features:
    * MoinMoin now requires Python >=2.2.2.
      You get even better results with Python2.3 (20-30% more speed,
      sometimes even much more).
    * by refactoring request processing, we made it possible to run moin under
      persistent environments:
        * twisted-web (http://twistedmatrix.com)
        * httpdmain.py (use moin.py for starting this mini server)
        * mod_python
        * FastCGI
      Of course, CGI is still possible.
    * wiki pages will be compiled to bytecode now (by default), so no need for
      slow parsing/formatting on every view ("WASP", see caching_formats)
    * when using a persistent environment (like twisted) and WASP, you get up
      to 20x speed - compared to CGI and moin 1.1
    * added support for diffs between arbitrary revisions.
    * removed requirement of the external diff utility
    * config.auth_http_enabled (defaults to 0) - use this to enable moin
      getting your authenticated user name from apache (http basic auth,
      htpasswd) - if you enable this, your basic auth username has to be the
      same as your wiki username.
      Should work with CGI, FCGI and maybe even with mod_python.
      Does not change behaviour of moin under twisted or standalone server.
    * config.tz_offset = 0.0 sets a default timezone offset (in hours
      from UTC)
    * config.cookie_lifetime (int, in hours, default 12) sets the lifetime of
      the MOIN_ID cookie:
        == 0  --> cookie will live forever (no matter what user has configured!)
        > 0   --> cookie will live for n hours (or forever when "remember_me")
        < 0   --> cookie will live for -n hours (forced, ignore "remember_me"!)
    * added themeing and some themes (if you improve the existing themes or
      make nice new ones, please contribute your stuff!). The default theme is
      set by config.theme_default (and defaults to 'classic').
    * now supporting plugin directory for parsers, processors, themes, xmlrpc.
    * action=info now defaults to showing page revision history again
    * all actions accessing the logfile (as RecentChanges or history) are now
      much faster
    * #refresh processing instruction, config.refresh
        * config.refresh = (minimum_delay, target_allowed)
            * minimum delay is the minimum waiting time (in seconds) allowed
            * target_allowed is either 'internal' or 'external', depending on
              whether you want to allow only internal redirects or also
              external ones. For internal redirects, just use the Wiki pagename,
              for external, use http://... url.
        * #refresh 3                    == refresh this page every 3 seconds
        * #refresh 5 FrontPage          == internal redirect to FrontPage in 5s
        * #refresh 5 http://google.com/ == redirect to google in 5s
      Use very carefully! Allowing a low minimum_delay and putting a #refresh
      on RecentChanges might slow down your wiki significantly, when some
      people just let their browser refresh and refresh again. Also, it does
      cause quite some traffic long-term. So better do not use this without
      good reason! Default is None (switched off).
    * hide most UserPreferences options before user has logged in, less
      confusing for new users
    * "config.page_dict_regex" defines what pages are dictionary definitions
      Currently dictionaries are used for UserHomePage/MyDict where you can
      define key:: value pairs that get processed like [[Date(2005-08-04T21:05:43Z)]] expansion when
      saving a page. The 2 "@" will be added to your keys automatically.
      Please do not use @xxx@ strings on the right side (value), results may
      vary if you do.
      You can also access wiki dictionaries by using the internal macro
      [[GetVal(page,key)]]" - that will go to page "page" and return the
      value (right side) corresponding to "key".
      Implementation note: groups are a subset of the dictionary functionality.
    * standalone server should work now (see server/moin.py), so you don't
      need to setup apache or twisted for a local personal wiki, you only need
      python and moin for that now, no additional stuff any more!
    * if you run your wiki with charset = "utf-8" (the default is still
      iso8859-1), you might want to have a look at contributions/utf8-pages/
      to see if there are already translated system pages for your language.

Fixes:
    * new importPlugin routine (the old one didn't work correctly)
    * removed 0xA0 characters breaking utf-8
    * system page recognition now uses wiki groups (see AllSystemPagesGroup),
      fixing the long-time broken system page exclusion on TitleIndex.
    * mostly HTML 4.01 Strict compliant HTML
    * design is done by CSS now, HTML is semantic markup only 
    * removed target attribute from links, also [^NewWindow] markup - this
      is a HTML 3.2 feature and not valid in HTML 4.01
    * updated TWikiDrawPlugin to 20021003 version, with further modifications
      including source. It can draw imagemaps now!
    * fixed email headers and encoding
    * Changed moin-usercheck to adhere to scripting standards; no
      proprietary config changes needed any more (added --config);
      --wikinames is now part of the usage message.
    * config.umask now defaults to 0770 - if you give world r/w access, ACLs
      could be rather pointless...

Other:
    * lots of internal code refactoring and optimization
    * began moving src code documentation to epydoc, see "make epydoc"

Known problems:
    * theme support is neither complete (although covering most important
      stuff) nor perfect - work on that will continue...
    * we removed some html from system messages (the boxes at top of page you
      get after some actions), so it currently looks less nice than before.
    * html is not completely validating and it is not xhtml - this will be
      fixed as soon as we have the infrastructure for that (other parser, DOM)
    * problems with rtl (right-to-left) languages, will be fixed in 1.3
    * if you change moin_config or switch themes, moin will still use already
      cached page content. For the config this can be fixed by touching
      MoinMoin/version.py (or simply deleting everything in
      data/cache/Page.py). If you get more annoyed by this than pleased by
      caching speedup, you can also switch off caching (see docs on
      caching_formats).


Version 1.1 (2003-11-29, Revision 1.178)

New features:
  Configuration:
    * config.default_lang lets you set a default language for users not
      having specified language in their browser or UserPreferences
    * "config.page_category_regex" defines what pages are categories
    * replaced `config.page_template_ending` by a more flexible setting
      named `config.page_template_regex`
    * the same with config.page_form_regex
    * "config.page_group_regex" defines what pages are group definitions
      Currently groups are used for "user groups" (see ACLs) and "page
      groups" (see AllSystemPagesGroup).
    * robot exclusion from all pages except the standard view action,
      via the config.ua_spiders regex (reduces server load)
    * "maxdepth" argument for the TableOfContents macro
    * config.title1, config.title2, config.page_footer1,
      config.page_footer2 can now be callables and will be called with
      the "request" object as a single argument (note that you should
      accept any keyword arguments in order to be compatible to future
      changes)
    * "config.html_pagetitle" allows you to set a specific HTML page
      title (if not set, it defaults to "config.sitename")
    * navi_bar / quicklinks can now contain free-form links, i.e.
      entries of the form "[url linktext]" just like in wiki pages
    * if a quick link starts with '^', it opens in a new window; help
      now opens in a new window also
    * `config.smileys` for user-defined smileys
    * `config.hosts_deny` to forbid access based on IP address
    * `config.mail_login` can be set to "user pwd", if you need to
      use SMTP AUTH
    * `config.edit_locking` can be set to None (old behaviour, no
      locking), 'warn <timeout mins>' (warn about concurrent edits, but
      do not enforce anything), or 'lock <timeout mins>' (strict locking)
    * optionally showing a license text on editor page, use:
      config.page_license_enabled = 1
      Optionally use these to customize what is shown there:
      config.page_license_text = "... your text ..."
      config.page_license_page = "MyLicensePage"
      See the default values in MoinMoin/config.py for details and
      override them in moin_config.py, if needed.
    * `config.shared_intermap` can be a list of filenames (instead of a
      single string)

  Authenticaton / Authorization:
    * added ACL support, written by Gustavo Niemeyer of Conectiva and
      Thomas Waldmann. See HelpOnAccessControlLists for more infos.
      You should use MoinMoin/scripts/moin_usercheck.py before activating
      ACLs or some users with bad or duplicate accounts might get into
      trouble.
    * A user account can be disabled using moin_usercheck.py or
      UserPreferences page. Disabling, but keeping it is good for edit
      history.
    * changed security default: deletion only available to known users
    * support for Basic authentication (Apache style: AUTH_TYPE="Basic",
      REMOTE_USER="WikiUserName"). If authentication is there, user
      will be in ACL class "Trusted".
    * support for username / password login
      The username / password login will ONLY work, if you define a
      password. With an empty password, username / password login is not
      allowed due to security reasons. Passwords are stored encrypted
      (format similar to Apache SHA) and can also be entered in the
      UserPreferences form in this format. When requesting login
      information by email, the password is also sent in this encrypted
      format (use copy&paste to fill it in the form).
      ...?action=userform?uid=<userid> is still possible, so if you have
      bookmarks, they will still work). The input field for the ID was
      dropped.
      NOTE: using the userid for login purposes is DEPRECATED and might
            be removed for better security soon.
    * after logging in, you will get a cookie valid until midnight.
      The next day, the cookie will expire and you will have to login
      again. If you don't want this, you can check the "remember me
      forever" option in UserPreferences.
    * if the page file is read-only, you get a message (i.e. you can now
      protect pages against changes if you're the wiki admin).
      Note: you can do that easier using ACLs.

  Markup / Macros / Actions:
    * RandomQuote macro (and even parses Wiki markup now)
    * `[[Navigation]]` macro for slides and subpage navigation
    * [[ShowSmileys]] displays ALL smileys, including user-defined ones
    * the Include macro has new parameters (from, to, sort, items) and
      is able to include more than one page (via a regex pattern)
    * `MailTo` macro for adding spam-safe email links to a page
    * if a fancy link starts with '^' (i.e. if it has the form
      "[^http:... ...]"), it's opened in a new window
     * because of that, the NewWindow macro was removed from contrib
    * "#pragma section-numbers 2" only displays section numbers for
      headings of level 2 and up (similarly for 3 to 6)
    * ../SubPageOfParent links

  User interface:
    * new fancy diffs
    * Page creation shows LikePages that already exist
    * editor shows the current size of the page
    * editor returns to including page when editing an included page
    * Visual indication we're on the editor page (new CSS style)
    * selection to add categories to a page in the editor (use preview
      button to add more than one category)
    * if user has a homepage, a backup of save/preview text is saved as
      a subpage UsersHomePage/MoinEditorBackup
    * added "revert" link to PageInfo view (which makes DeletePage more
      safe in public wikis, since you can easily revive deleted pages
      via revert)
    * Selection for logged in users (i.e. no bots) to extend the listing
      of recent changes beyond the default limits
    * Activated display of context for backlinks search
    * Subscriber list shown on page info
    * LikePages shows similar pages (using difflib.get_close_matches)
    * last edit action is stored into "last-edited" file, and
      displayed in the page footer
    * reciprocal footnote linking (definition refers back to reference)
    * "Ex-/Include system pages" link for title index
      Note: system/help pages algorithm is still mostly broken.
    * list items set apart by empty lines are now also set apart
      visually (by adding the CSS class "gap" to <li>)
    * "save" check for security.Permissions
    * Added Spanish, Croatian and Danish system texts
    * Added flag icons for the languages supported in "i18n"
    * updated help and system pages, more translations, see also
      AllSystemPagesGroup
    * there was quite some work done on wiki xmlrpc v1 and v2 - it
      basically works now.

  Tools and other changes:
    * moin-dump: New option "--page"
    * there are some scripts MoinMoin/scripts/* using wiki xmlrpc for
      backup and wiki page copying applications
    * Updated the XSLT parser to work with 4Suite 1.0a1
    * more infos in cgi tracebacks
    * UPDATE.html is a HTML version of MoinMaster:HelpOnUpdating

Unfinished or experimental features:
    * user defined forms
    * XML export of all data in the wiki
    * RST parser (you need to install docutils to use this)
    * SystemAdmin macro

Privacy fixes:
    * do not use / display user's email address in public places

SECURITY FIXES:
    * Removed two cross-site scripting vulnerabilities reported by "office"

Bugfixes:
    * Bugfix for PageList when no arguments are given
    * Disallow full-text searches with too short search terms
    * [ 566094 ] TitleIndex now supports grouping by Hangul Syllables
     * fix for multibyte first char in TitleIndex
    * Footnotes were not HTML escaped
    * Numbered code displays are now in a table so that you can cut the
      code w/o the numbers
    * Bugfix for wrong mail notifications
    * Create unique anchors for repeated titles
    * [ 522246 ] Transparently recode localized messages
    * [ 685003 ] Using "preview" button when editing can lose data
    * use gmtime() for time handling
    * fixed negative gmtime() arguments
    * [[Include]] accepts relative page names
    * fixed ||NotInterWiki:||...||

-----------------------------------------------------------------------------
Version 1.0 (2002-05-10, Revision 1.159)

THIS IS THE LAST RELEASE WITH PYTHON 1.5.2 SUPPORT! If severe bugs
should occur, a maintenance release will fix them.

New features:
    * security fix: "allow_xslt" has to be set to 1 in order to enable
      XSLT processing; note that this defaults to 0 because XSLT is able
      to insert arbitrary HTML into a wiki
    * "action=content" for transclusion into static web pages; emits the
      pure page content, without any <html>, <head>, or <body> tags
    * "?action=links&mimetype=text/plain" works like MeatBall:LinkDatabase
    * "Preferred language" and "Quick links" user settings
    * Added "processor" concept, processors work on the data in "code
      displays" and are called by a bangpath in the first line of data
    * Processors: Colorize, CSV (see HelpOnProcessors)
    * New icons: "{OK}", "(./)", "{X}", "{i}", "{1}", "{2}" and "{}"
      (see HelpOnSmileys)
    * FullSearch now displays context information for search hits
    * DeletePage offers a textentry field for an optional comment
    * Email notifications are sent in the user's language, if known from
      the preferences
    * MoinMoinRelease1.3/CHANGES is substituted by the name of the current page (useful
      for template pages)

Unfinished features:
    * user defined forms
    * XML export of all data in the wiki
    * RST parser (you need to install docutils to use this)
    * XMLRPC interface

Bugfixes:
    * Syntax warning with Python 2.2 fixed
    * Macro-generated pagelinks are no longer added to the list of links
    * error codes returned by "diff" are reported
    * fix for attachments on pages with non-USASCII names
    * correct handling of spaces in attachment filenames and URLs

-----------------------------------------------------------------------------
Version 0.11 (2002-03-11, Revision 1.151)

Most important new features: file attachments, definition list markup
(glossaries), change notification via email, variable substitution when
saving pages, edit preview, and improved documentation.

Note that the RSS features require a recent PyXML (CVS or 0.7) due to
bugs in the namespace handling of xml.sax.saxutils in earlier versions.
This is (hopefully) automatically detected on every installation.

Statistical features are NOT designed to work with Python 1.5.2 and
require Python 2.0 or higher. Overall, MoinMoin 0.11 is not explicitely
tested for 1.5.2 compatibility.

New features:
    * XML formatting now (most often) produces well-formed, and, depending
      on proper layout of the wiki page, valid StyleBook XML
    * Headers are now automatically numbered, unless you set the config
      item 'show_section_numbers' to 0
    * "#pragma section-numbers off" (or "0") switches that off explicitely,
      and "on" or "1" enables numbering 
    * Added a "contributions" directory for 3rd party extensions
    * AttachFile action, contributed by Ken Sugino; note that you have
      to enable this action because of the possibility of DoS attacks
      (malicious uploads), by adding this to your moin_config:
            allowed_actions = ['AttachFile']
    * "attachment:" URL scheme allows access to attachments, to get files
       from other pages use "attachment:WikiName/filename.ext".
    * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to
      display a timestamp according to system/user settings
    * Variable substitution when a page is saved, note that saving
      template pages does NOT expand variables. Supported are:
        [[Date(2005-08-04T21:05:43Z)]]      Current date in the system's format
        [[DateTime(2005-08-04T21:05:43Z)]]      Current date and time in the user's format
        ThomasWaldmann  Just the user's name (or his domain/IP)
        -- ThomasWaldmann      Signature "-- loginname"
        -- ThomasWaldmann [[DateTime(2005-08-04T21:05:43Z)]]       Dated Signature "-- loginname date time"
        [[MailTo(ThomasWaldmann@gmx.de)]]    A fancy mailto: link with the user's data  
    * Copied some new emoticons from PikiePikie
        || {{{ :-? }}} || :-? || tongue.gif ||
        || {{{ :\  }}} || :\  || ohwell.gif ||
        || {{{ >:> }}} || >:> || devil.gif  ||
        || {{{ %)  }}} || %)  || eyes.gif   ||
        || {{{ @)  }}} || @)  || eek.gif    ||
        || {{{ |)  }}} || |)  || tired.gif  ||
        || {{{ ;)) }}} || ;)) || lol.gif    ||
    * AbandonedPages macro
    * Added definition list markup: {{{<whitespace>term:: definition}}}
    * Added email notification features contributed by Daniel Saß
    * SystemInfo: show "Entries in edit log"
    * Added "RSS" icon to RecentChanges macro and code to generate a
      RecentChanges RSS channel, see
          http://www.usemod.com/cgi-bin/mb.pl?UnifiedRecentChanges
      for details
    * Added config.sitename and config.interwikiname parameter
    * Better WikiFarm support:
      * <datadir>/plugin/macro and <datadir>/plugin/action can be used
        to store macros and actions local to a specific wiki instance
      * config.shared_intermap can contain a pathname to a shared
        "intermap.txt" file (i.e. one stored outside the datadir)
    * added `backtick` shortcut for {{{inline literal}}} (has to be
      enabled by "backtick_meta=1" in the config file); note that ``
      is then a shorter replacement for '''''' escaping
    * added inline search fields (at the bottom of each page)
    * Added preview to the editor, including spell checking
    * New languages: Chinese (Changzhe Han) and Portuguese (Jorge
      Godoy), updated French (Lucas Bruand), added Korean (Hye-Shik
      Chang) and Italian (Lele Gaifax)
    * New SystemAdmin macro
    * `[[Anchor(anchorname)]]` macro to insert anchors into a page,
      and [#anchorname Anchor Links].
    * User option to open editor view via a double-click
    * Added commentary field to editor, recent changes and page info
    * Page trails (user option)
    * UserPreferences: checkboxes for double-click edit, page trail,
      fancy links, emoticons, jump to last page visited, and some
      other yes/no options
    * "config.nonexist_qm" is now the default for a user setting
    * `[[GetText(text)]]` macro loads I18N texts (mainly intended
      for use on Help pages)
    * table attributes via "||<attrlist> ... ||", more details on
      http://purl.net/wiki/moin/HelpOnTables
    * PythonFaq interwiki tag and support for $PAGE placeholder
    * event logging, as the basis for future statistics
    * "moin-dump" command line tool to create a static copy of
      the wiki content
    * "config.external_diff" allows to set an exact path to the
      command, or change the name to for example "gdiff" if GNU
      diff is not a native command in your UNIX flavour
    * `[[PageSize]]` macro
    * the interwiki name "Self" now always points to the own wiki
    * config.title1 and config.title2 are inserted into the output
      right before and after the system title html code (title1
      is right after the <body> tag and normally undefined, title2
      defaults to the "<hr>" above the page contents)
    * Additional link on diff pages to ignore whitespace changes
    * Subpages (config.allow_subpages, config.page_icons_up)
    * super^script^, sub,,script,, and __underline__ markup
    * `[[FootNote]]` macro
    * many other new config options, see HelpOnConfiguration for
      a complete list
    * [[StatsChart(type)]] shows statistical charts (currently
      defined types: hitcounts, pagesize, useragents)
    * 'inline:' scheme works like 'attachment:', but tries to
      inline the content of the attachment into the page;
      currently knows about "*.py" sources and colorizes them
    * support for Java applet "TWikiDrawPlugin" via
      drawing:<drawingname> URL scheme (you need to activate
      the AttachFile action if you want drawings)
    * numeric entities (&#nnnnn;) are now optionally NOT escaped,
      which allows you to insert more characters into a Latin-1
      page, especially the Euro symbol
    * navi_bar is now a list of page names which should be linked
      on every page
    * test.cgi is now rolled into moin.cgi, and can be called
      by adding "?test" to the wiki base URL. Also, as a security
      feature, the server's environment is only shown for requests
      local to the web server.

Unfinished features:
    * user defined forms
    * XML export of all data in the wiki

Documentation:
    * extended the online help ("Help*" pages)
    * German help pages (thanks to Thomas Waldmann)

Bugfixes:
    * #425857: python Parser bug on the second call
    * #424917: Caching control
    * #465499: Two HTTPS problems
    * #491155: FrontPage hardcoded
    * Handling of inbound UTF-8 encoded URIs (only with Python >= 2.0)
    * Fix for subtle changes in "re" of Python 2.2
    * User-provided URLs are now never URL-escaped, which allows appending
      #anchors and using %20 for spaces in InterWiki links

-----------------------------------------------------------------------------
Version 0.10 (2001-10-28, Revision 1.134)

This version is still Python 1.5.2 compatible, but it's not extensively
tested for that version and some parts of the system might not work
there, especially seldom used macros and actions. Bug reports welcome!

New features:
    * "#deprecated" processing instruction
    * config entry "SecurityPolicy" to allow for customized permissions
      (see "security.py" for more)
    * added distutils support
    * though not extensively tested, the standalone server now does POST
      requests, i.e. you can save pages; there are still problems with
      persistent global variables! It only works for Python >= 2.0.
    * "bang_meta" config variable and "!NotWikiWord" markup
    * "url_mappings" config variable to dynamically change URL prefixes
      (especially useful in intranets, when whole trees of externally
      hosted documents move around)
    * setting "mail_smarthost" and "mail_from" activates mailing
      features (sending login data on the UserPreferences page)
    * very useful for intranet developer wikis, a means to view pydoc
      documentation, formatted via a XSLT stylesheet, for details see
      http://purl.net/wiki/python/TeudViewer?module=MoinMoin.macro.TeudView
      or MoinMoin/macro/TeudView.py
    * "LocalSiteMap" action by Steve Howell <showell@zipcon.com>
    * Added FOLDOC to intermap.txt

Bugfixes:
    * Full config defaults, import MoinMoin now works w/o moin_config.py
    * Better control over permissions with config.umask
    * Bugfix for a UNIX time billenium bug (affecting RecentChanges
      sorting and page diffs)
    * data paths with directory names containing dots caused problems

-----------------------------------------------------------------------------
Version 0.9 (2001-05-07)

New features:
    * XML page input (pages that start with "<?xml") and XSLT formatting
    * Page caching, for now limited to XSLT processing (where it's
      absolutely needed); new code & API to add the "RefreshCache" link
    * Selection of common date/time formats in UserPreferences
    * New action "titleindex" to support wiki introspection (MetaWiki);
      see the new links below the index bar in "TitleIndex"
    * UserPreferences: editable CSS URL for personal styles
    * PageInfo: the editor's name or IP is shown for each change
    * WantedPages: a new macro that lists links to non-existent pages
    * OrphanedPages: a new macro that lists pages no other page links to
    * Extensions to the FullSearch macro (see HelpOnMacros)
    * Python syntax highlighting
    * "DeletePage" action (has to be activated, see MoinMoinFaq)
    * "Remove trailing whitespace from each line" option in the editor
    * I18N (currently German and Swedish)
    * Config option "url_schemas" to extend the supported URL types
    * Improved tracebacks by using Ka-Ping's "cgitb"

Bugfixes:
    * The editor now sends a "no-cache" HTTP header
    * "PageList" results are now sorted
    * New config parameter "html_head_queries": send additional header
      for all pages EXCEPT the "normal" view; main usage is to have
      only the normal pages indexed by a spider, not the edit, print,
      etc. views (which cause multiple hits on the same information)
    * Store the modification time of the page file in the editlog, not
      the current time when the log entry is created

-----------------------------------------------------------------------------
Version 0.8 (2001-01-23)

New features:
    * Page templates (create a new page using a template page, by Richard)
    * Pluggable actions (by Richard)
    * Added "diff since bookmark"
    * Only "normal" URLs (outside of brackets) are converted to inline images
    * Show number of backups in SystemInfo macro
    * Show info on installed extension macros and actions
    * New macro: [[BR]] for line breaks
    * New action "LikePages" (again, Richard)
    * Highlighting of search results, and of bad words when spellchecking
    * Support for "file:" URLS
    * "SpellCheck" action (Richard, me, and Christian)
    * [[Include]] macro (you guessed it, Richard)

Bugfixes:
    * Update bookmark with load time, not click time
    * Changed CSS styles to better suit Netscape's broken handling of CSS

-----------------------------------------------------------------------------
Version 0.7 (2000-12-06)

New features:
    * RecentChanges bookmarking

Bugfixes:
    * SECURITY FIX
    * Non-greedy extended WikiNames

-----------------------------------------------------------------------------
Version 0.6 (2000-12-04)

New features:
    * [[UserPreferences]] macro and associated functions
    * [[TableOfContents]] macro
    * Mechanism for external macros (user extensions)
    * Numbered list types and start offsets

Bugfixes:
    * Search dialogs did not work on the FrontPage
    * Add newline to text if last line has none (better diffs)

-----------------------------------------------------------------------------
Version 0.5 (2000-11-17)

New features:
    * Major refactoring: code is now broken up into modules within the
      "MoinMoin" package
    * Diagnosis of installation via a "test.cgi" script
    * Smileys
    * "#format" processing instruction
    * "##comment"
    * [[RandomPage]] and [[RandomPage(number)]] macro
    * configurable footer ("page_footer1" and "page_footer2")
    * "#redirect" processing instruction

Bugfixes:
    * Bugfix for broken CGI environment of IIS/4.0
    * URLs and InterWiki links are now less greedy (punctuation at the end
      is excluded, and "<" ends them, too)

-----------------------------------------------------------------------------
Version 0.4 (2000-11-01)

New features:
    * Table markup "||a||b||c||"
    * Headlines "= H1 =", "== H2 ==", and so on up to H5
    * [[PageCount]] macro
    * Added [[Icon(image)]] macro and macro arguments
    * [[PageList(title-regex)]] macro
    * New help system (set of help pages describing all features)

Bugfixes:
    * Create complete URL for "Clear message" link
    * Inline code spans needed cgi.escape
    * Better fix for Python 1.6 "re" problems
    * Fix for uppercase extensions in inline images ("foo.JPG")
    * Fixed colspan in RecentChanges
    * HR size is now limited to 8
    * "}" ends an URL pattern (fixes URLs right at the end of code displays)

-----------------------------------------------------------------------------
Version 0.3 (2000-10-25)

New features:
    * Check for inline images with InterWiki links (Spam:eggs.gif)
    * New config variable "allow_extended_names", which enables markup for
      wiki names containing ANY character like this: ["any chars"] 
    * New config variable "html_head"
    * New macro [[SystemInfo]]
    * Added inline code ("{{{" and "}}}" on the same line)
    * Support for new config variable "max_macro_size"

Bugfixes:
    * Don't treat sequences with a double colon (CPP::Namespace) as an
      InterWiki link
    * The local part of InterWiki links is now correctly URL-escaped
    * Quickfix for a bug in 1.6's regular expressions
    * Fixed "SpamSpamSpam" bug (multiple entries in word list)
    * Anchor names get quoted in WordIndex and TitleIndex
    * Filtering of filenames in page_list() corrected
    * Escape &, <, > when sending the editor
    * Final(?) fix for japanese wiki names

-----------------------------------------------------------------------------
Version 0.2 (2000-08-26)

New features:
    * When saving, a datestamp saved in the form and that of the file are
      compared now; so, accidently saving over changes of other people is
      not possible anymore (saving still needs file locking though, for
      race conditions)
    * if the directory "backup" exists in the data dir, pages are saved
      there before a new version is written to disk
    * Removed the "Reset" button from EditPage
    * Added "Reduce editor size" link
    * Added Latin-1 WikiNames (JürgenHermann ;)
    * Speeded up RecentChanges by looking up hostnames ONCE while saving
    * Show at most 14 (distinct) days in RecentChanges
    * Added icons for common functions, at the top of the page
    * Added a printing preview (no icons, etc.)
    * Added bracketed (external) URLs
    * Added support for quoted URLs ("http://...")
    * Added styles for :visited links to CSS
    * Embed image if an URL ends in .gif/.jpg/.png
    * No markup detection in code sections
    * Grey background for code sections
    * Added handling for numbered lists
    * the edit textarea now grows in width with the browser window
      (thanks to Sebastian Dauß for that idea)
    * Added page info (revision history) and viewing of old revisions
    * Added page diff, and diff links on page info
    * Added InterWiki support (use "wiki:WikiServer/theirlocalname"; the list
      of WikiServers is read from "data/intermap.txt")
    * Added "normal" InterWiki links
    * Added "action=raw" to send the raw wiki markup as text/plain (e.g. for
      backup purposes via wget) 

Bugfixes:
    * Removed an exception when saving empty pages
    * Fixed bold nested into emphasis ('''''Bold''' Italic'')

-----------------------------------------------------------------------------
Version 0.1 (2000-07-29)

Improvements over PikiPiki 1.62:
    * Moved configuration to "moin_config.py"
    * Added "edit_rows" setting
    * Added navigation bar
    * Improved HTML formatting
    * Added timing comment (page created in xx secs)
    * ISO date and time formats by default
    * Formatted RecentChanges with HTML tables
    * Uppercase letters for the index pages
    * Added PythonPowered logo

Bugfixes:
    * Javadoc comments now get formatted properly in {{{ }}} sections
    * Remove \r from submitted pages (so we get PORTABLE wiki files)
    * chmod(0666) eases manual changes to the data dir

-----------------------------------------------------------------------------

MoinMoin: MoinMoinRelease1.3/CHANGES (last edited 2007-10-29 19:10:34 by localhost)