MoinMoin Version History
========================

Copyright (c) 2000, 2001, 2002, 2003 by Jrgen Hermann <jh@web.de>
All rights reserved, see COPYING for details.

$Id: CHANGES,v 1.164 2003/11/29 16:52:22 thomaswaldmann Exp $

-----------------------------------------------------------------------------
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
    * @PAGE@ 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@      Current date in the system's format
        @TIME@      Current date and time in the user's format
        @USERNAME@  Just the user's name (or his domain/IP)
        @USER@      Signature "-- loginname"
        @SIG@       Dated Signature "-- loginname date time"
        @MAILTO@    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 (JrgenHermann ;)
    * 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

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