Moin

Latest version: v1.9.11

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 13

1.3.5rc1

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 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 customize parts of the UserPreferences page in
your wikiconfig (changing defaults, disabling fields, removing fields):
* Use user_checkbox_* for the checkboxes.
* Use user_form_* for other fields.
* See MoinMoin/multiconfig.py for the built-in defaults.
* 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).

1.3.4

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}

1.3.3

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.

1.3.2

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 [:pageanchor: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

1.3.1

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

1.3.0

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. !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

HINT: 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!).

When updating from 1.2 or lower to 1.3 or higher, you will want to
clean out the copies of the system pages in your {{{wiki/data}}}
directory. All of these pages will now reside in the underlay
directory. If you have system pages from 1.2 or lower in your
wiki/data/ directory, they will overshadow the more up-to-date
documentation. This can be done using the following manual procedure:
1. You have just converted from 1.2 or lower to post-1.3.
2. Go to your wiki's EditedSystemPages.
3. Find all the pages that are MoinMoin system or help pages. You will
know if it is one of those pages because it is not your page.
4. Check if it is okay to delete by either:
1. Using the this page "info" link and check the Revision History to
see if it is greater than 1. If so, there are modifications, so do
not delete the page and evaluate the modifications to see if they
are necessary.
2. Using your file browser (Windows Explorer, etc) to go to your
wiki/data/<<systemPage>>/revisions/ directory and to see if there
are no modifications. If there are, do not delete the page and
evaluate the modifications to see if they are necessary.
5. Delete that wiki/data/<<systemPage>> using your file browser.

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.5).
* 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.

Page 10 of 13

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.