CHANGES updated regarding highlight control options.
1 MoinMoin Version History
2 ========================
4 Please note: Starting from the MoinMoin version you used previously, you
5 should read all more recent entries (or at least everything marked with HINT).
8 already better than the previous stable release. Our release policy is not
9 trying to make a "perfect release" (as that release might NEVER get released),
10 but to make progress and don't delay releases too much.
14 * The GUI WYSIWYG editor has still some issues and limitations.
15 If you can't live with those, you can simply switch it off by using:
17 editor_default = 'text' # internal default, just for completeness
22 * rss_rc: Fix diffs added in RSS with diffs=1 (now they correspond to item
23 listed in feed and not just last page diffs). Links generated with ddiffs=1
27 * rss_rc: several new options added: lines parameter gives ability to set
28 maximum size of diffs showed in RSS. show_att parameter gives ability
29 to show information aboout attachment-related items in RSS. page parameter
30 gives ability to specify set of pages for which changes RSS feed should be
31 generated. Confgiuration of defaults and limits can now be done via wiki
32 configuration mechanism.
33 * As soon as it is now possible to provide RSS for page change history,
34 appropriate alternate link is now added for every page (controlled by
35 rss_show_page_history_link configuration parameter).
36 * "no_highlight:" search query option provided for suppressing highlighting
38 * New options for search macros (namedly, FullSearch/FullSearchCached and
40 # highlight_titles option controls highlighting of matches in search
41 results provided by these macros. Default value is set in
42 search_macro_highlight_titles configuration option)
43 # highlight_pages option controls adding of highlight URL parameter to
44 page links (so search term is highlighted when user goes to one of
45 these pages via provided link) in search results. Default value is set
46 in search_macro_highlight_pages configuration option.
47 Usage of these options is disabled (via search_macro_parse_args
48 configuration option) by default due to behavioural changes introduced
49 in macro parameter parsing mechanism to support them. Related to
50 http://moinmo.in/FeatureRequests/FullSearchResultsWithoutHighlight .
54 SECURITY HINT: make sure you have allow_xslt = False (or just do not use
55 allow_xslt at all in your wiki configs, False is the internal default).
56 Allowing XSLT/4suite is very dangerous, see HelpOnConfiguration wiki page.
58 HINT: Python >= 2.5 is maybe required!
59 To use all the code that is bundled in the MoinMoin download release,
60 you are required to have Python >= 2.5 now. This is primarily due to
61 werkzeug 0.8 requiring it. Also, because Python 2.4 is rather rare these
62 days, moin 1.9.4 did not get tested on Python 2.4. So if you still must
63 run it on 2.4, try replacing MoinMoin/support/werkzeug with werkzeug version
64 0.7.x and hope the best. Contact us if it does not work.
65 Python requirements might be different for (linux or other) distribution
66 packages, depending on the werkzeug version they use. Usually you do
67 not have to care then, because the package maintainer already did it for you.
70 * Fix XSS / remove javascript URL support in rst parser (CVE-2011-1058).
71 * werkzeug: Removed a dummy import. Fixes Python 2.7 compatibility.
72 * Fix linux-to-windows edit-log migration/upgrade issue (wrong line endings)
73 * logfile: strip \n lineends from line data (\n is part of the file
74 structure, not of the data)
76 * Simplify auto scroll initialization; fix bug in IE init discovered when
77 using IE7 on pages with wide tables.
78 * Fix timestamp in edit lock message to show the time when edit-locking ends.
79 * Updated wikiserverconfig.py from internal defaults, sync the one in
80 toplevel dir and the one in wiki/server/ - fixes hostname setting.
81 * SubProcess: make sure files are closed at the end (experimental change).
82 * text plain formatter: fix bullet_list, see number_list.
83 * Add some image mimetypes to MIMETYPES_MORE to fix windows issues.
84 * Include page name in password reset URL.
85 * Fix moin export dump to generate relative URLs.
86 * Fix MonthCalendar mouseover for pages with ampersand in page name.
87 * ldap_login: assign server early, it is used in exception handler.
88 * OpenID server preferences: fix traceback related to request method.
89 * Work around page.mtime_usecs() returning 0 for pages without edit-log.
90 * revert action: catch and display all SaveErrors when revert failed.
91 * Fixed bug in groups formatter which caused the last list item to be not in the group.
92 * Avoid strange exception in zipfile.py for pre-1980 timestamps.
93 * TableOfContents: fix for other markups than default wiki markup, e.g. rst
94 * script.account.homepage: added wiki format to homepage_default_text
95 * Enable webkit based browsers (try chrome/safari/konqueror now) for GUI
96 editing (after fixing selection FCKeditor plugin for chrome).
97 * Parsers: avoid crash when Parser.format() call gets inhibit_p kw arg.
98 * advancedsearch: fix problem with non-ascii chars breaking up words for OR
100 * fix globaledit script to keep comments on Homepage...Template pages
103 * Added print mode to action.SlideShow, see
104 FeatureRequests/PrintableSinglePageSlideshows.
105 * xmlrpc: new methods xmlrpc_getProcessingInstruction(Version)
106 * Add support for other password hashes (all of them will get auto-upgraded
107 to SSHA when user logs in):
108 * {DES} (Unix crypt(3))
109 * {MD5} (MD5-based crypt())
110 * {APR1} (Apache .htpasswd).
111 * Experimental queued indexing support to work around memory leak - use it like this:
112 # put all pages into indexer queue:
113 python MoinMoin/script/moin.py index build --mode=makequeue
114 # take <count> pages out of the indexer queue and index them,
115 # you need to repeat the following line respective to the total amount of pages
116 # in your wiki (doing more indexer calls does no harm, doing less means an
118 python MoinMoin/script/moin.py index build --mode=buildnewindexqueued --count=500
119 python MoinMoin/script/moin.py index build --mode=buildnewindexqueued --count=500
120 python MoinMoin/script/moin.py index build --mode=buildnewindexqueued --count=500
122 # switch to new index:
123 python MoinMoin/script/moin.py index build --mode=usenewindex
126 * Raise exceptions as recommended in PEP 8.
127 * Updated i18n / underlay pages.
128 * Updated interwiki map.
129 * Use logging.traceback to get more information if a indexing filter crashes.
130 * u200b is not considered a space any more in unicode 4.0.1.
131 * Improve textcha security, use some crypto and timing to make cheating
132 harder - use cfg.textchas_expiry_time = 600 (default, seconds) to set the
133 time a textcha is valid.
134 * Upgraded bundled werkzeug to 0.8.1, pygments to 1.4, flup to repo tip.
139 * Fix XSS in Despam action (CVE-2010-0828).
141 * by escaping template name in messages
142 * by fixing other places that had similar issues
143 * Make moin compatible to werkzeug 0.5 .. 0.6.2 (1.9.2 had issues
144 with xmlrpc when used with werkzeug 0.6.x).
145 * MoinMoin.util.filesys: disable usage of dircache, deprecate dc* functions,
146 because the dircache stdlib module can't work correctly for fast updates of
148 * rss_rc and sisterpages actions: fix Content-Type header (mimetype)
149 * Fix associating OpenID identity with user, wasn't adapted to werkzeug yet.
150 * openidrp auth: fix undefined _ (gettext)
151 * Fix auth.cas and userprefs.oidserv request object usage.
153 * Pygments syntax highlighting: add missing code files
154 * Notifications: use same email subject format for every notification
155 * Fix docbook formatter crashing, see MoinMoinPatch/IncludeMacroWithDocBookFormatter
156 * Fix regex content search for xapian search.
157 * Get rid of the empty line at the end of code highlights.
158 * GUI editor: compute editor height like the text editor does.
159 * Added help texts for: standalone server and moin migration.
160 * script.maint.cleancache: clean also i18n cache files
161 * Improved formatter.text_plain, see FeatureRequests/TextPlainFormatterRewrite
162 (fixes many issues of this formatter).
163 * text_html_text_moin_wiki: fixed index error for width="", see also:
165 * xmlrpc: disable editor backup for putPage, renamePage and revertPage
166 because if pages get uploaded by xmlrpc then the draft cache file can
167 rapidly increase in size, causing high memory usage because it needs to
168 get loaded into memory for updating/processing.
169 * Emit Content-Type header (with charset) for SlideShow action and many other
170 actions that just call send_title().
171 * ActionBase: better compatibility to moin 1.8, use request.values by
172 default, optionally use request.form data only
175 * RenamePage action: added ability to create redirect pages when renaming
176 (turned off by default, see show_rename_redirect config option).
177 * formatter/text_html: Added line number links to code blocks.
179 * Fixed whitespace in generated (html) diff view table so white-space: pre
180 can be used (and whitespace in diffs preserved).
181 * Added links to first/last revision.
182 * MoinMoin.widget.browser: introduced feature for sorting tables, see:
183 http://moinmo.in/FeatureRequests/SortableTables
184 * SystemAdmin user and attachment browsers: sorting feature used there now
185 * Scrolling the text editor to the double clicked line.
186 * Enable double-click-editing by default.
187 * WikiConfigHelp macro: make heading and description display optional,
188 heading level as a parameter (default 2)
189 * If edit ticket check fails, send the editor with the current content.
190 * moin import wikipage - use this script to import local files as a wiki page
193 * upgraded pygments from 1.2.2 to 1.3.1
194 * upgraded FCKeditor from 2.6.4.1 to 2.6.6
195 * added configuration snippet for ldap authentication against 2 servers
196 * improved script help output
200 * Fixed CVE-2010-0668: major security issues were discovered in misc. parts
202 HINT: if you have removed superuser configuration to workaround the issue
203 (following our security advisory), you may re-add it after installing this
204 moin release. If you don't need superuser capabilities often, it might be
205 wise to not have superusers configured all the time, though.
206 * Fixed CVE-2010-0669: potential security issue due to incomplete user profile
208 * Improved package security: cfg.packagepages_actions_excluded excludes
209 unsafe or otherwise questionable package actions by default now.
210 * wiki parser: fixed transclusion of (e.g. video) attachments from other
212 * Fixed edit locking for non-logged in editors and cfg.log_remote_addr=False.
213 * mailimport: fix missing wikiutil import for normalize_pagename
214 * SubProcess: fix "timeout" AttributeError
215 * "standalone" wikiserver.py: fixed calling non-existing os.getuid on win32
216 * HTTPAuth deprecation warning moved from class level to __init__
218 * Fixed misc. session related problems, avoid unneccessary session file
220 * Fix/improve rename-related problems on Win32 (depending on Windows version).
221 * Fixed spider / user agent detection.
222 * Make sure to use language_default when language_ignore_browser is set.
223 * diff action: fix for case when user can't revert page.
224 * Fix trail size (was off by one).
225 * Updated bundled flup middleware (upstream repo checkout), avoids
226 socket.fromfd AttributeError on win32 if cgi is forced, gives helpful
228 * wikiutil: Fixed required_arg handling (no exception when trying to raise
229 exception that choice is wrong).
230 * Do not use MoinMoin.support.* to import 3rd party code, give dist packages
232 * wikiutil.clean_input: avoid crash if it gets str type
233 * request: fixed for werkzeug 0.6 and 0.5.1 compatibility. Please note that
234 we didn't do much testing with 0.6 yet. So, if you use 0.6, please do some
235 testing and provide feedback to us.
236 * AttachFile._build_filelist: verifies readonly flag for unzip file link
237 * attachUrl: fix wrongly generated tickets (e.g. for AttachList macro)
238 * http headers: fix duplicated http headers (e.g. content-type)
241 * info action: added pagination ability to revision history viewer.
242 Use cfg.history_paging = True [default] / False to enable/disable it.
243 * ldap_login auth: add report_invalid_credentials param to control wrong
244 credentials error message (this is typically used when using multiple
245 ldap authenticators).
246 * Add RenderAsDocbook to actions_excluded if we have no python-xml.
247 * Upgraded pygments to 1.2.2 (some fixes, some new lexers).
248 * Text editor: if edit_rows==0 (user profile or config), we dynamically size
249 the text editor height. This avoids double sliders for the editor page
253 * New docs/REQUIREMENTS.
254 * Added a less magic cgi/fcgi driver (moin.fcgi), added fixer middleware
255 for apache2/win32 to it.
260 * Fixed CVE-2010-0667: sys.argv security issue.
261 * Fixed FileSessionService - use session_dir from CURRENT request.cfg (it
262 mixed up session_dirs in farm setups).
263 HINT: if you added the hotfix to your wikiconfig, please remove it now.
264 * Fixed creation of lots of session files (if anon session were enabled and
265 user agent did not support cookies).
266 * Fixed session file storage for a non-ascii base path.
267 * Fixed session cookie confusion for nested URL paths (like path=/ and
268 path=/mywiki - for more info, see also "New features").
269 * Handle cookie_lifetime / anonymous_session_lifetime upgrade issue
270 gracefully: emit errors/warnings to log, use old settings to create
271 cfg.cookie_lifetime as expected by moin 1.9.
272 * flup based frontends: fixed SCGI and AJP (didn't work).
273 * farmconfig example: remove wrong comment, add sample http/https entry.
274 * Fixed password reset url (email content needs full URL).
275 * Page: fixed adding of page contents (only data added now, without metadata) -
278 * Process attachname in get/putAttachment similarly.
279 * revertPage: convert pagename to internal representation.
280 * Fixed auth calls used by jabberbot (needs more work).
281 * Added missing config.umask support code (setting was not used), fixed
282 config.umask usage for page packages.
283 * Fixed browser language detection.
284 * Fixed language pack generation/installation for pt-br, zh, zh-tw.
286 * Fixed usage of i18n.wikiLanguages() on class level (moved to method), failed
287 when tools import the module (e.g. pydoc -k foo).
289 * fixed caching issue for "toggle line numbers" link.
290 * added missing support for console/bash session
291 * Fixed precedence of parsers: more special parsers now have precedence
292 before moin falls back to using the HighlightParser (syntax highlighting).
293 * Added extensions to the rst, moin and creole parser (example.rst, example.moin and
294 example.creole attachments are rendered now when viewed).
296 moin_wiki, highlight and plain parser.
300 * Exception raised on calling add_msg() after send_title(), which leads to
301 Internal Server Error on calling several actions (diff, preview) for
302 deprecated pages, is replaced with warning and call stack information in
304 * AttachFile.move_file: send events (so e.g. xapian index update happens)
305 * SubProcess: fixed win32-specific parts, fixed imports (fixes calling of
306 external xapian index filters)
307 * Fixed auth methods that use redirects (like OpenID).
309 * Add setting cfg.openidrp_allowed_op, default is [].
310 * Fixed logging in with openid and associating with an existing account.
311 * openidrp_sreg extension: handle UnknownTimeZoneError gracefully
314 * Fixed processing POSTed form data AND URL args.
317 * diff: Added displaying of information about revisions (editor, size,
318 timestamp, comment), added revision navigation.
319 * text editor: added @TIMESTAMP@ variable for adding a raw time stamp
320 * xmlrpc: added renamePage and deleteAttachment methods.
321 * Accept "rel" attribute for links (moin wiki parser).
322 * Generate session cookie names to fix cookie path confusion and enable port-
325 HINT: New setting cfg.cookie_name:
327 None (default): use MOIN_SESSION_<PORT>_<PATH> as session cookie name. This
328 should work out-of-the-box for most setups.
330 'siteidmagic': use MOIN_SESSION_<SITEID>, which is unique within a wiki farm
331 created by a single farmconfig (currently, cfg.siteid is just
332 the name of the wiki configuration module).
334 'other_value': use MOIN_SESSION_other_value - this gives YOU control. Just
335 use same value to share the session between wikis and use a
336 different value, if you want a separate session.
338 HINT: Please do not use cfg.cookie_path any more - it usually should not be
339 needed any more, as we now always put path=/ into the cookie except if you
340 explicitly configure something else (only do that if you know exactly what
341 you're doing and if the default does not work for you).
343 HINT: see also the HelpOnSessions page which shows some typical configs.
344 * Store expiry into sessions, use moin maint cleansessions script to clean up.
345 HINT: use moin ... maint cleansessions --all once after upgrading.
346 HINT: you may want to add a cron job calling moin ... maint cleansessions
347 to regularly cleanup expired sessions (it won't remove not expired
351 * Added rtsp, rtp, rtcp protocols to url_schemas.
352 * Added more info about index building to xapian wikiconfig snippet.
353 * Updated the wikicreole parser to version 1.1.
357 Note: This is a reduced CHANGES, ommitting details from rc/beta test and
358 also less interesting minor changes and fixes. It shows changes
359 relative to 1.8.6 release.
360 If you want to see full detail, read it there:
361 http://hg.moinmo.in/moin/1.9/file/b290d938be63/docs/CHANGES
363 New features: ==============================================================
364 * HINT: MoinMoin requires Python 2.4 now. If you only have Python 2.3 and
365 you don't want to upgrade it, please use MoinMoin 1.8.x.
366 * HINT: MoinMoin is now a WSGI application.
367 Please read the new install docs about how to use it, see:
368 http://master19.moinmo.in/InstallDocs
369 You also have a local copy of that page as docs/INSTALL.html.
370 * HINT: due to big changes in the request processing and the request
371 object (related to the WSGI refactoring), many 3rd party plugins might
372 need code updates to work with moin 1.9.
373 * HINT: We now offer different sized sets of system/help pages and the default
374 underlay just contains a single page: LanguageSetup. You need to be
375 superuser, visit that page and then install the language packs you like
376 (minimum is the essential set for English).
377 * HINT: LanguageSetup is the default page_front_page, you need to change that
378 after installing language packs (see above).
380 * New modular group and dict data access, you can use group and dict
381 backend modules to access group and dict data stored anywhere you like.
382 Currently we provide these backends:
383 * WikiGroups and WikiDicts backends get data from wikipages. They work
384 similar to old wikidicts code (but with less caching issues :).
385 * ConfigGroups and ConfigDicts backends get data from a dictionary
386 defined in the wiki config.
387 * CompositeGroups and CompositeDicts compose several backends, so data
388 may be retrieved from several sources. For example, groups may be
389 defined in the wiki config and on wiki pages.
390 * Using cfg.groups and cfg.dicts, you can define the backend to use to
391 access group and dict information (default: WikiGroups / WikiDicts
393 See the wiki/config/more_samples/ directory (groups_wikiconfig_snippet
394 and dicts_wikiconfig_snippet).
395 * See also the new HelpOnDictionaries and HelpOnGroups pages.
397 * Improved Xapian indexing / search:
398 * Moin's Xapian based search code was refactored:
399 * It is now based on the xappy library (see MoinMoin.support.xappy).
400 * Minimum Xapian requirement is 1.0.6 now.
401 * Outdated and unmaintained xapwrap lib was removed.
402 * regex search with Xapian enabled also is based on the xapian index now
403 * Safe 2-stage xapian index rebuilding:
404 moin index build --mode=buildnewindex # slow, concurrent
406 moin index build --mode=usenewindex # fast
408 * Added wikiconfig snippet for xapian search.
410 * Improved drawing support:
412 * Support code was refactored/moved to the twikidraw action.
413 * Use drawing:example.tdraw to invoke it (drawing:example also still
414 works for backwards compatibility)
415 * Drawings are now stored as a single attachment foo.tdraw.
416 We added a migration script that converts your existing drawings.
418 * Java applet added, source code see contrib/.
419 * Support code for it is in anywikidraw action.
420 * Use drawing:example.adraw to invoke it.
421 * Drawings are stored in a similar way as foo.adraw.
422 * cfg.extensions_mapping added for mapping of attachment file extensions
423 to actions (currently used for anywikidraw/twikidraw action)
425 * Themes / static files related:
426 * Added modernized_cms theme (hides most wiki widgets from modernized if the
427 user is not logged in).
428 * Static file serving built-in (moved wiki/htdocs to MoinMoin/web/static/htdocs).
429 MoinMoin.web.static has a static file serving wrapper that uses the files
430 from htdocs subdirectory by default (docs=True).
431 You can also give another path or switch off creation of that static wrapper.
432 See the docstring of the static package for details.
433 * Theme packages: do_copythemefile now copies theme files to
434 MoinMoin/web/static/htdocs.
436 * Syntax highlighting is based on the pygments library now, it does this for
437 LOTS of stuff (programming languages, config files, ...) - use it like this:
441 xxx is any of the markups pygments supports (see HelpOnParsers).
442 Note: we still have some (deprecated) small wrappers around pygments,
443 so the old syntax #!python/pascal/cplusplus/... still works.
445 * Authentication improvements:
446 * HTTP auth related (see also HelpOnAuthentication):
447 * HTTPAuthMoin: http basic auth done by moin
448 * HINT: auth.http.HTTPAuth is now auth.GivenAuth
449 This was badly named from the beginning as for most servers, it just
450 looked at REMOTE_USER environment variable and relied on the server
451 doing the authentication (could be http basic auth or any other auth).
452 * LDAP/AD auth: new name_callback param to create a custom wiki username (not
453 the ldap login username)
455 * Support for Simple Registration (SREG) extension.
456 Basic profile fields can be copied from OpenID provider when logging in.
457 * Support for Teams extension.
458 * Ability to accept logins from specific OpenID providers.
459 Login form changes based on configuration for better usability:
460 * 0 providers: normal text input box for OpenID URL
461 * 1 provider: hidden field, automatic form submission with JavaScript
462 * 2+ providers: select field, uses directed identity
464 * Sessions / cookies:
465 * HINT: cfg.cookie_lifetime is now a tuple (anon, loggedin), giving the
466 lifetime of the cookie in hours, accepting floats, for anon sessions and
467 logged-in sessions. Default is (0, 12). 0 means not to use a session
468 cookie (== not to establish a session) and makes only sense for anon users.
469 * cfg.cookie_httponly is new and defaults to False. Please note that if you
470 set it to True, TWikiDraw and similar stuff won't be able to use the session
471 cookie. Thus, if your wiki page doesn't allow writing for everybody, saving
472 a drawing will fail, because there is no session (== no logged in user) for
473 the TWikiDraw applet's saving POSTs.
476 * WikiConfigHelp: added section keyword for selecting a subset of the
477 description, e.g. <<WikiConfigHelp(section="xapian")>>
478 * HighlighterList: show Pygments syntax highlighters (see HelpOnParsers)
481 * SlideShow action added (please use the "modernized" theme [default])
482 * raw action mimetype support: ...?action=raw&mimetype=text/css
483 * PackagePages: create package file on-the-fly in memory and send it to the
484 client (do NOT create package.zip attachment)
486 * Improved logging / debugging / developer support:
487 * Main exception handler: include request url in log output.
488 * Environment variable MOIN_DEBUGGER=off/web/external (default is "off").
489 * Handle wikiserverconfig(_local) in the same way as wikiconfig(_local).
491 * GUI editor: improved attachment dialog
493 * "moin ... account homepage" script to create user homepages.
496 Removed features: ==========================================================
497 * Removed cfg.traceback_* settings (use logging configuration)
498 * Removed old session code and settings:
499 * Removed cfg.session_handler and session_id_handler (use cfg.session_service)
500 * Removed cfg.anonymous_session_lifetime (use cfg.cookie_lifetime)
503 Bug fixes: =================================================================
505 * Rely on xapian's locking (remove moin's additional and sometimes broken
506 locking, that blocked index-rebuilds or updates sometimes).
507 * Removed indexer threading.
508 * Fixed (reimplemented) indexer queue.
509 * Less disruptive xapian index rebuild.
510 * AdvancedSearch: example didn't work, fixed
512 * With the groups/dicts code rewrite, we fixed the caching problems that the
513 old code (< 1.9) sometimes had.
516 * Abort RenamePage if renaming of main page fails (do not try to rename
518 * AttachFile do=view: quote filename and pagename params for EmbedObject
520 * unsubscribe action: add msg types so icons get displayed
525 * GUI editor: roundtripping works now for .pdf/doc/... attachment transclusion
527 * AttachFile: added remove_attachment() and FileRemovedEvent (mail and xapian
528 support, no jabber support yet).
530 * Fix makeForbidden403() calls - is makeForbidden(403, ...) now.
531 * sendmail: add more debug logging, check for empty recipients list
534 * Bug with "language:en" was fixed for the Moin search. Now language:
535 behaves like described on HelpOnSearching.
537 * OpenID: always return error messages with CancelLogin if OpenID process fails.
538 * suid: simplify and fix, bigger selection box
540 * patch werkzeug 0.5.1 to catch OverFlowError and ValueError so it doesn't
541 crash when receiving invalid If-modified-since header from client.
544 Other changes: =============================================================
545 * 'modernized' theme:
546 * use it by default (1.8 used 'modern')
547 * move title_with_separators() from Modernized theme to ThemeBase
548 * add a span with "pagepath" class to title_with_separators
549 * add the sidebar() method from Mandarin and Gugiel themes to ThemeBase
550 * updated flup to 1.0.2+ ( http://hg.saddi.com/flup-server/rev/6ea1ffac1bcb )
551 * updated pygments to 1.1.1+ ( http://dev.pocoo.org/hg/pygments-main/rev/948f8885af16 )
552 * updated parsedatetime to 0.8.7
553 * increase surge protection limits for AttachFile to avoid trouble with image galleries
554 * HINT: simplify wikiserver configuration by using same names as werkzeug's
556 * Removed moin account check's --lastsaved option, it is default now
557 (checking last use with trail file did not work in 1.9 anyway).
558 * ImageLink page has been killed (ImageLink macro is gone since 1.6.1).
559 * Allowed disabling of timezone and language user prefs if they are
560 part of the user's login fields (i.e. OpenID SREG).
561 * Added option to disable local registration links and direct user
562 to registration page at an OpenID provider instead.
564 Developer notes: ===========================================================
565 * groups and dicts API changes:
566 * request.groups and request.dicts provide access to groups and dicts.
567 * MoinMoin.wikidicts is gone, please use MoinMoin.datastruct.
568 * LazyGroup and LazyGroupsBackend base classes for implementing backends
569 which potentially deal with huge amounts of data (like a LDAP directory).
570 Use MoinMoin/datastruct/backends/config_lazy_groups.py as a draft for
572 * See http://moinmo.in/Groups2009 for more details.
573 * i18n: new approach for defining sets of system/help pages (see i18n.strings).
574 CheckTranslation, page packager, wikiutil.isSystemPage() use those sets.
575 * killed deprecated macro.form attribute (didn't work as expected anyway due
576 to WSGI refactoring) - please use macro.request.{args,form,values}
582 * Fixed XSS in Despam action (CVE-2010-0828).
583 * wikiutil.clean_input: avoid crash if it gets str type
584 * Add RenderAsDocbook to actions_excluded if we have no python-xml
585 * AttachFile._build_filelist: verifies readonly flag for unzip file link
586 * attachUrl: fix wrongly generated tickets (e.g. for AttachList macro)
587 * MoinMoin.util.filesys.dc* (dircache can't work reliably):
588 * disable usage of dircache, deprecate dc* functions
589 * remove all calls to filesys.dc* (dclistdir, dcdisable)
590 * Fixed crash, see MoinMoinPatch/IncludeMacroWithDocBookFormatter
591 * Avoid hardly recoverable crashes if #format specification is invalid
594 * auth.ldap_login: add report_invalid_credentials param to control wrong
595 credentials error message (typically used when using multiple ldap
601 * Fixed major security issues in miscellaneous parts of moin.
602 HINT: if you have removed superuser configuration to workaround the issue
603 (following our security advisory), you may re-add it after installing this
604 moin release. If you don't need superuser capabilities often, it might be
605 wise to not have superusers configured all the time, though.
606 * Improved package security: cfg.packagepages_actions_excluded excludes
607 unsafe or otherwise questionable package actions by default now.
608 * wiki parser: fixed transclusion of (e.g. video) attachments from other
610 * Fixed edit locking for non-logged in editors and cfg.log_remote_addr=False.
612 * Process attachname in get/putAttachment similarly.
613 * revertPage: convert pagename to internal representation.
614 * Fixed config.umask usage for page packages.
615 * Fixed usage of i18n.wikiLanguages() on class level (moved to method),
616 failed when tools import the module (e.g. pydoc -k foo).
617 * SubProcess: fixed win32-specific parts, fixed imports (fixes calling of
618 external xapian index filters)
623 * Xapian indexing / indexing filters:
624 * fix deadlocks with well- and misbehaving external filters
625 * work around indexing run crashing when encountering encoding problems
626 with non-ascii filenames
627 * OpenOffice/OpenDocument filters: catch UnicodeDecodeErrors (happens
628 with password protected files)
629 * i18n: check if languages is not initialized yet, don't crash
630 * http_redirect: use 301 redirect for some cases
631 * do not use httponly session cookies, makes trouble with twikidraw and ACLs
632 * GetText2 macro: fix for named placeholder
633 * Fix SHA -> SSHA password hash upgrade for old user profiles.
634 * abort RenamePage if renaming of main page fails (do not try to rename
638 * search: improve search result ordering
639 * add MS Powerpoint indexing filter (needs catppt from catdoc package)
640 * migration scripts: make finding damaged edit-log entries easier
641 * SubscribeUser action: support username regexes and unsubscribing.
642 Usage (enter this into the input form field you get after invoking
643 SubscribeUser action from the "More Actions" menu:
644 [+|-][re:]username[,username,...]
646 +username: subscribes user <username> (+ is optional/default)
647 -username: unsubscribes user <username>
648 +re:username_re: subscribes users who match <username_re> regex.
649 -re:username_re: unsubscribes users who match <username_re> regex.
654 * Attachment links: fix processing of attributes (e.g. 'target', 'title')
655 * Upgrade FCKeditor from 2.6.4 to 2.6.4.1.
656 * PDF embedding: fix html, works better with PDF browser plugins now.
657 * Fix typo in rightsidebar CSS.
658 * Action revert: avoids reverting to a deleted current revision.
659 * Action diff: enable prev/next button only in the range of given revisions.
660 * Add a Auto-Submitted: auto-generated header to generated mails.
661 * Include comment in email notifies.
662 * mailimport: fix endless looping while trying to import a forwarded mail.
663 * fuid: keep same fake_mtime for intervals of max_staleness duration.
664 * Fixes a bug with empty list items in the GUI editor.
665 * Improve filesys.rename compatibility code (win32).
666 * Fix locking for CacheEntry.
667 * Xapian indexing: catch exception when a bad zip file is encountered.
668 * openidrp / botbouncer: fix param count for CancelLogin().
671 * Added CAS authentication.
672 * Added httponly cookie support and use it for session cookie.
675 * HTTP auth: added debug logging.
676 * Minor LDAP auth improvements.
677 * Data browser widget:
678 * Add (h)column<idx> css class to make it styleable.
679 * Include only necessary autofilter options.
680 * moin maint cleancache purges now drafts, too.
681 * Add gopher and apt protocols to url_schemas.
682 * Add .csv, .flv, .swf to MIMETYPES_MORE.
687 * ACL security: fix bug in hierarchical ACL processing, more restrictive
688 sub page ACLs did not work if the current user name did not give a match
689 within the sub page ACL (instead, the less restrictive parent page ACL
691 Non-hierarchical ACL processing (the default) is NOT affected.
692 * Creole parser: fix spaces in multiline elements.
693 * Use msie.css only for Internet Explorer older than version 8, fixes
694 e.g. the double rendering of link icons.
695 * http auth: do auth_type comparisons case-insensitively (spec-compliant)
698 * EmbedObject macro: changed default width value for PDF files to 100%
699 (use a recent Adobe Reader to make this work).
700 * CopyPage action: added a TextCha for it
703 * Creole parser: Add second license: BSD
708 * AttachFile XSS fixes: move escaping to error_msg / upload_form
709 * AttachFile move: add more escaping (maybe not XSS exploitable though)
710 * email attachments import with xapian indexing enabled: fix AttributeError
711 * fix wrong links in attachment notifications
712 * AttachFile do=view: quote filename and pagename params for EmbedObject
714 * AttachFile: fix exception when someone just clicks on upload, without
716 * ldap_login: use None as default value for ssl certs/keys (using '' for
717 the pathes lets it fail with Connect Error)
718 * release edit lock if someone saves an unchanged page
719 * fix sendmail.encodeAddress (do not [QP] encode blanks, do not un-
720 necessarily use [QP] encoding for pure ascii mail addresses)
721 * Fixed docs bug: see HINT about secrets configuration at version 1.8.0
722 (1.8.0 Other changes).
723 * backup action: add 'self' dummy argument for backup_exclude function
724 * login action: fix formatting of error messages
725 * unsubscribe action: add msg types so icons get displayed
726 * fix quoting for pagehits stats (info action) - was not working for pagenames with blanks
730 * added modernized_cms theme
731 * use url_prefix_fckeditor if you don't want to use the builtin FCKeditor
732 of moin, but a separate one at some specific url
733 * action.Load: added textcha feature
734 * add mumble protocol (nice and good quality F/OSS VOIP conference chat sw)
735 * ldap auth: new name_callback param to create a custom wiki username (not
736 the ldap login username).
739 * add compatibility code for set to xapwrap.index (fix py 2.6 warnings)
740 * wikiutil: MIMETYPES_MORE extended for .md5 as text/plain
745 * Fix AttachFile and antispam XSS issues.
746 * Modernized, modern and rightsidebar themes: make nonexistent or
747 badinterwiki links gray also when they are already visited.
748 * Fix anchor parsing for interwiki links and #redirect processing
750 * user.apply_recovery_token: key must be of type string (for Python 2.6).
752 * Fix autofilter javascript breakage caused by including a databrowser
754 * Use per-wiki i18n cache (fixes wrong links to other farm wikis).
755 * Made cfg.interwikiname and cfg.user_homewiki unicode objects (str only
756 worked for ascii names).
757 * Xapian search: fixed historysearch.
758 * Xapian search indexing:
759 * Fix index updating for trivial changes.
760 * With history search enabled and in update mode, do not try to re-index
761 old page revisions again.
762 * With history search enabled, index page attachments only once.
763 * Fix last modified time of xapian index (shown on SystemInfo page).
764 * Make logging handlers defined in logging.handlers work (e.g.
765 class=handlers.RotatingFileHandler)
766 * Jabber notifications:
767 * Use an RFC compliant message type.
768 * Fix user creation notifications.
769 * OpenID: Compatibility fix for python-openid 2.x.x (also works with
770 1.x.x), fixes crash when trying to associate moin user to OpenID.
771 * Have a wikiserverconfig.py in wiki/server/ so setup.py copies it.
772 * Fixed inconsistent handling of fragments / anchor IDs:
773 * Fixed creole and wiki parser, other parsers might need similar fixes.
774 * IDs with blanks, non-ASCII chars etc. are now sanitized in the same way
775 for links as well as for link targets, so the user editing a page won't
776 have to bother with it.
777 E.g. [[#123 foo bar]] will link to:
778 * <<Anchor(123 foo bar)>> (moin) or {{#123 foo bar}} (creole)
779 * headline = 123 foo bar = (moin / creole)
780 Simple rule: if the link and the target are consistent, it should work.
781 * The creole wiki parser created non-human-readable sha1 heading IDs
782 before 1.8.2, now it creates same (sometimes readable) heading IDs as
783 the moin wiki parser.
784 * TitleIndex/WordIndex now also use IDs sanitized in that way internally.
785 HINT: if you manually worked around the inconsistencies/bugs before, you
786 likely have to remove those workarounds now. Same thing if you used
787 creole's sha1 heading IDs or IDs on TitleIndex/WordIndex.
790 * Updated FCKeditor to 2.6.4 (== many bug fixes in the GUI editor).
791 * Enhanced privacy by a new setting: cfg.log_remote_addr (default: True),
792 it controls whether moin logs the remote's IP/hostname to edit-log and
793 event-log. Use log_remote_addr = False to enhance privacy.
794 * Streamline attachment_drawing formatter behaviour.
795 * Search results: only redirect to a single search result for titlesearch
796 (fuzzy goto functionality), but not for fulltext search results.
802 * Workaround win32 locking problems (caused by spurious access denied
803 exceptions on that platform).
804 * Fix unicode errors that happened when password checker failed a password
805 * WikiConfig/WikiConfigHelp: fixed wrong language table headings
806 * Themes: make the margins around trail line work properly
807 * "modernized" theme:
808 * make broken links gray
809 * add new right/center/left/justify css classes
811 * Standalone server: be more specific when catching socket exceptions,
812 treat socket errors in http header emission in the same way.
814 * Fix heading levels when inserting new headings.
815 * Fix headers already sent exception when using e.g. edit LOCKing.
816 * Xapian indexing: fixed missing import for execfilter (only happened on
817 non-posix platforms like win32)
821 * Make the TOC shrinkwrap, add white background to navigation macro.
822 The table of contents looked bad spanning the whole width of the page.
823 It's made to shrinkwrap now, so it will only get as wide, as the longest
824 heading. We use display:inline-table, so this won't work in MS IE6,
825 which still displays it the old way.
826 Navigation macro now has a white background, to make it more readable
827 when it's floating over a pre block or TOC.
828 * Make the numbers in lists in table of contents right-aligned.
829 * Refactored and extended theme.html_stylesheets() to make alternate
830 stylesheets possible. Stylesheet definitions now can either be:
831 2-tuples: (media, href) # backwards compatibility
833 3-tuples: (media, href, title) # new, for defining alternate stylesheets
834 This works within themes as well as in the wiki config.
835 See also: http://www.w3.org/Style/Examples/007/alternatives.html
839 Note: This is a reduced CHANGES, ommitting details from rc/beta test and
840 also less interesting minor changes and fixes. It shows changes
841 relative to 1.7.2 release.
842 If you want to see full detail, read it there:
843 http://hg.moinmo.in/moin/1.8/file/6130eab15936/docs/CHANGES
845 New Features: ==============================================================
846 * HINT: New "modernized" theme - if you use "modern" [default], try:
847 theme_default = 'modernized'
848 If you find problems with "modernized", please report them because we
849 want to use it as default theme in future.
851 * upgraded to use FCKEditor version 2.6.3
852 * user can insert and modify various types of MoinMoin links
853 * New plugin_dirs setting to allow multiple plugin pathes (additional to
854 the automatically configured plugin_dir [default: data_dir/plugin]).
855 * @EMAIL@ expands to a MailTo macro call with the obfuscated email address
857 * New macros "WikiConfig" and "WikiConfigHelp".
858 * Per-parser quickhelp, 'quickhelp' class variable of parser class.
859 * Secure session cookies for https (see cfg.cookie_secure).
860 * Added left/center/right/justify css classes to builtin themes.
863 this content is justified....
866 Removed Features: ==========================================================
867 * HINT: url_prefix setting (use url_prefix_static or just use the default)
868 * traceback_log_dir setting (we just use logging.exception)
869 * editor_quickhelp setting (replaced by per-parser quickhelp)
870 * Restoring backups with the backup action and related settings (while
871 creating backups is no big issue and should work OK, restoring them
872 had fundamental issues related to overwriting or not-overwriting of
873 existing files - thus we removed the "restore" part of the action and
874 recommend that you just contact the wiki server admin in case of trouble,
875 give him your wiki backup file and let him carefully restore it.)
876 * Removed unmaintained DesktopEdition (moin 1.5.x style) and phpwiki
877 migration scripts from contrib/ directory.
879 Bug Fixes: =================================================================
880 * GUI Editor - fixed lots of bugs.
881 * Fixing https detection for servers using HTTPS=1 and also for WSGI
882 servers not using HTTPS/SSL_ environment, but just wsgi.url_scheme.
883 * Search results: link to 'view' rendering of found attachments.
884 * Standalone server: fix serverClass and interface argument processing,
885 announce used serverClass in log output.
886 * mointwisted: fixed Twisted start script.
888 * Use logging framework for messages emitted by warnings module (e.g.
889 DeprecationWarning), silence some specific warnings.
890 * Removed superfluous linefeeds in timing log output.
892 * Fixed editbar hidden comment link cosmetics for sidebar themes (hide the
893 complete list element).
895 action, if the wiki does not run in the root url of the site)
896 * Fixed backup action configuration (broke on win32).
898 * SyncPages: add workaround for callers calling log_status with encoded
900 * Fixed dbw_hide_buttons javascript.
901 * HINT: Jabber bot can now be configured to use an authentication realm
902 which is different from the server's hostname; the xmpp_node
903 configuration parameter can now contain a full JID and the xmpp_resource
904 parameter is no longer supported.
906 Other Changes: =============================================================
907 * HINT: new configuration for misc. secrets, please use either:
908 secrets = "MySecretLooongString!" # one secret for everything
911 'xmlrpc/ProcessMail': 'yourmailsecret', # for mailimport
912 'xmlrpc/RemoteScript': 'yourremotescriptsecret',
913 'action/cache': 'yourcachesecret', # unguessable cache keys
914 'wikiutil/tickets': 'yourticketsecret', # edit tickets
915 'jabberbot': 'yourjabberbotsecret', # jabberbot communication
917 Secret strings must be at least 10 chars long.
918 Note: mail_import_secret setting is gone, use
919 secrets["xmlrpc/ProcessMail"] instead of it.
920 Note: jabberbot secret setting is gone, use
921 secrets["jabberbot"] instead of it.
922 * HINT: user_autocreate setting was removed from wiki configuration and
923 replaced by a autocreate=<boolean> parameter of the auth objects that
924 support user profile auto creation.
925 * moin import irclog: use irssi parser to format logs, mapped .irc
926 extension to text/plain mimetype.
927 * HINT: backup action: backup_exclude (default: "do not exclude anything")
928 is now a function f(filename) that tells whether a file should be
929 excluded from backup.
930 You can get the old regex exclusion functionality by using:
931 backup_exclude = re.compile(your_regex).search
932 Be careful with your regex, you might need to use re.escape() to escape
933 characters that have a special meaning in regexes (e.g.: \.[] etc.).
934 If in doubt, maybe just leave backup_exclude at the default and don't
936 * Speed up javascript comments processing on IE by getElementsByClassName()
937 * Added sk (slovak) i18n, updated i18n.
942 * Secure session cookies for https, see cfg.cookie_secure.
943 * Add left/center/right/justify classes to builtin themes.
946 * Python 2.3 compatibility fixes.
947 * Fixed https detection for servers using HTTPS=1 and also for wsgi servers
948 not using HTTPS/SSL_ environment, but just wsgi.url_scheme.
950 * Fix crash when editing a page with non-ASCII pagename and inserting a link
951 * Fix "headers already sent exception" with edit LOCKs.
952 * i18n.__init__: Bug fix for wiki language not installed.
953 * Fixed URLs given by sitemap action, if the wiki does not run at / URL.
954 * Search results: link to 'view' rendering of found attachments
956 * Removed superfluous linefeed in timing log output.
957 * Use logging framework for messages emitted by warnings module (e.g.
958 DeprecationWarning), silence some specific warnings.
959 * Fix dbw_hide_buttons javascript.
961 * fix serverClass argument processing
962 * fix --interface="" argument processing
964 * added missing pidFile parameter
965 * better use Config.name for pidFile to avoid conflicts and keep same
966 behaviour as in the past
967 * Jabber bot can now be configured to use an authentication realm which
968 is different from the server's hostname
973 * Fix leakage of edit-log file handles (leaked 1 file handle / request!).
975 * Wiki parser: avoid IndexError for empty #! line
976 * MonthCalendar macro: fix parameter parsing / url generation
977 * Xapian indexing filters (MoinMoin/filter/ or data/plugin/filter/):
978 Some indexing filter scripts (e.g. for MS Word documents or PDF files)
979 failed on windows because of the single-quote quoting we used (that
980 works on Linux and other Posix systems). The fix introduces platform-
981 dependant automatic quoting, using double-quotes on win32 and single-
983 HINT: if you use own filter plugins based on execfilter, you have to
984 update them as the filename quoting (was '%s') is now done automatically
985 and must not be part of the command string any more (now just use %s).
986 See MoinMoin/filter/ for some up-to-date code (esp. the PDF filter).
987 * Prevent CategoryTemplate being listed as a category (it is a Template,
988 but matched also the category regex) - added to sample wikiconfig.
989 * LDAP auth: fix processing of TLS options
990 * UpdateGroup xmlrpc server side: fix wrong arg count error
991 * UpdateGroup client: use multicall / auth_token, refactor code so that
992 updateGroup function is reusable.
993 * Improve Python 2.3 compatibility, add notes where 2.4 is required.
998 * New 'cache' action (see developer notes).
1001 * Security fix: XSS fix for advanced search form
1002 * Avoid creation of new pagedirs with empty edit-log files by just
1003 accessing a non-existant page. If you used 1.7 before, you likely have
1004 quite some trash pagedirs now and you can clean them up by using:
1005 moin --config-dir=... --wiki-url=... maint cleanpage
1006 This will output some shell script (please review it before running!)
1007 that can be used to move trash pages into some trash/ directory and also
1008 moves deleted pages into some deleted/ directory. Maybe keep a copy of
1009 those directories for a while just for the case.
1010 * Server specific fixes:
1011 * standalone (wikiserver.py): fix --pidfile and --group option, fix
1012 operation without a wikiserverconfig.py (use builtin defaults).
1013 * mod_python: work around mod_python 3.3.1 problems with file uploads.
1014 Note: if you are still using mod_python, we strongly recommend you
1015 try out mod_wsgi (in daemon mode) - it has less bugs, better
1016 security, better separation, WSGI is a Python standard, and moin
1017 developers also use WSGI. See HelpOnInstalling/ApacheWithModWSGI.
1018 * revert action: fixed for deleted pages.
1020 * Xapian indexing: Removed crappy "hostname" tokenization.
1022 Also tokenize CamelCase parts of non-wikiwords.
1023 * Make query parser reject more invalid input.
1024 * If query parsing raises a BracketError, at least tell what the problem
1025 is (and not just raise empty ValueError).
1026 * Category search: ignore traling whitespace after ----
1028 * Fixed sort() usage in UnitArgument to be Python 2.3 compatible.
1031 * TableOfContents: skip outer-most <ol> levels when page isn't using
1032 the biggest headings
1035 * OpenID RP: make it compatible to python-openid 2.2.x
1036 * PackagePages.collectpackage: removed encoding from file name of zipfile
1037 * Surge protection: exclude localnet no matter whether user is known or not.
1039 * Script moin account create/disable/resetpw: checks for already existing
1043 * Prevent CategoryTemplate being listed as a category (it is a Template)
1044 by changing the default page_category_regex.
1047 * New MoinMoin.action.cache - can be used to cache expensively rendered
1048 output, e.g. generated images). Once put into the cache, moin can emit
1049 a http response for that content very fast and very efficient (including
1050 "304 not changed" handling.
1051 * New file-like API in MoinMoin.caching (good for dealing with medium
1052 to large files without consuming lots of memory).
1053 * wikiutil.importPlugin supports getting the whole plugin module object
1054 by giving function=None.
1058 Note: This is a reduced CHANGES, ommitting details from rc/beta test and
1059 also less interesting minor changes and fixes. It shows changes
1060 relative to 1.6.3 release.
1061 If you want to see full detail, read it there:
1062 http://hg.moinmo.in/moin/1.7/file/76265568e8d3/docs/CHANGES
1064 New Features: ==============================================================
1065 * HINT: we added generic UPDATE instructions as docs/UPDATE.html.
1067 * HINT: Standalone server usage changed:
1068 * Standalone server can now be started via the "moin" script command,
1069 optionally backgrounding itself.
1070 See: moin server standalone --help
1071 * In the toplevel dir, we have renamed moin.py to wikiserver.py (it was
1072 often confused with the moin scripting command).
1074 * wikiserver.py - to start the standalone server
1075 * wikiserverconfig.py - to configure the standalone server
1076 * wikiserverlogging.conf - to configure logging for it (default config
1077 is ok for all day use, but can easily be modified for debugging)
1078 * wikiconfig.py - to configure the wiki engine
1079 * Removed old moin daemonizing script (replaced by moin server standalone
1081 * We now provide the "moin" script command also for people not using
1082 setup.py, see wiki/server/moin.
1085 * New powerful and flexible logging, please see wiki/config/logging/ -
1086 HINT: you have to upgrade your server adaptor script (e.g. moin.cgi)
1087 and load a logging configuration that fits your needs from there, or
1088 alternatively you can also set MOINLOGGINGCONF environment variable
1089 to point at your logging config file.
1090 If you use some of our sample logging configs, make sure you have a
1091 look INTO them to fix e.g. the path of the logfile it will use.
1092 * Moin now logs the path from where it loaded its configuration(s).
1094 * Authentication / Sessions:
1095 * HINT: New authentication plugin system, see HelpOnAuthentication. If
1096 you do not use the builtin default for 'auth' list, you likely have to
1097 change your configuration. See wiki/config/snippets/ for some samples.
1098 * HINT: New session handling system (no moin_session any more, now done
1099 internally and automatically), see HelpOnSessions for details.
1100 * Added OpenID client and server support.
1101 See: HelpOnAuthentication and HelpOnOpenIDProvider.
1102 * cfg.trusted_auth_methods is a list of auth methods that put an
1103 authenticated user into the "Trusted" ACL group.
1105 * User profiles / password recovery / notification:
1106 * New newacount action for creating new user accounts/profiles. If you
1107 don't want users creating new accounts on their own, you can add this
1108 action to actions_excluded list.
1109 * New recoverpass action for password recovery:
1110 If you forgot your password, recoverpass sends you an email with a
1111 password recovery token (NOT the encrypted password) that is valid
1113 * New moin account resetpw script for resetting a user's password by
1115 * New preferences plugin system, see MoinMoin/userprefs/__init__.py.
1116 * New notification system with an optional jabber notification bot, see
1117 HelpOnNotification. HINT: wiki users have to check their notification
1118 settings, esp. if they want to receive trivial update notifications.
1120 * The diff action now has navigation buttons for prev/next change and also
1121 a revert button to revert to the revision shown below the diff display.
1122 * ThemeBase: support Universal Edit Button, see there for details:
1123 http://universaleditbutton.org/
1124 * ?action=info&max_count=42 - show the last 42 history entries of the page.
1125 max_count has a default of default_count and a upper limit of
1126 limit_max_count - you can configure both in your wiki config:
1127 cfg.history_count = (100, 200) # (default_count, limit_max_count) default
1128 * The CSV parser can sniff the delimiter from the first CSV line so other
1129 delimeters than ";" can be used.
1130 * Admonition support. Added styling for tip, note, important, warning
1131 and caution in the modern theme. For more info see HelpOnAdmonitions.
1132 * DocBook-formatter:
1133 * supports HTML entities like → and ☃
1134 * supports the FootNote macro
1135 * supports bulletless lists
1136 * support for admonitions
1137 * will export the wiki page's edit history as the generated article's
1138 revision history. Doesn't add history of included pages.
1139 * supports for the MoinMoin comment element, though only inline comments
1140 are likely to be valid since the DocBook remark is an inline element.
1141 * New Hits macro: shows the total hits for the page it is used on.
1143 Removed Features: ==========================================================
1144 * HINT: Removed attachments direct serving (cfg.attachments - this was
1145 deprecated since long!). Use AttachFile action to serve attachments.
1146 * Duplicated file attachment upload code was removed from Load action (just
1147 use AttachFile action to deal with attachments).
1148 * Removed 'test' action. If you like to run unit tests, use py.test.
1149 * Removed Login macro.
1151 Bug Fixes: =================================================================
1152 * Better handling of ImportErrors (farmconfig, macros, wikiserverconfig).
1153 * Fix failure of detection of on-disk cache updates.
1154 * Fix traceback in filesys.py on Mac OS X when "import Carbon" fails.
1156 * AttachFile action / file up- and download / zip support:
1157 * WSGI: use wsgi.file_wrapper (or a builtin simple wrapper). Fixes memory
1158 consumption for sending of large file attachments.
1159 * FastCGI: flush often. Fixes memory consumption for sending of large
1161 * Use the open temporary file for receiving file attachment uploads
1162 (fixes big memory consumption for large file uploads).
1163 * Catch runtime errors raised by zipfile stdlib modules when trying to
1164 process a defective zip.
1165 * When unzipping member files, decode their filenames from utf-8 and
1166 replace invalid chars.
1167 * Make error msg less confusing when trying to overwrite a file attachment
1168 without having 'delete' rights.
1170 * HINT: page_*_regex processing had to be changed to fix category search.
1171 If you don't use the builtin (english) defaults, you will have to change
1173 old (default): page_category_regex = u'^Category[A-Z]'
1174 new (default): page_category_regex = ur'(?P<all>Category(?P<key>\S+))'
1175 As you see, the old regex did work for detecting whether a pagename is
1176 a category, but it could not be used to search for a category tag in the
1177 page text. The new regex can be used for both and identifies the complete
1178 category tag (match in group 'all', e.g. "CategoryFoo") as well as the
1179 category key (match in group 'key', e.g. "Foo") by using named regex
1180 groups. \S+ means the category key can be anything non-blank.
1181 If you like to simultaneously support multiple languages, use something
1182 like this: ur'(?P<all>(Kategorie|Category)(?P<key>\S+))'
1183 HINT: after changing your configuration, please rebuild the cache:
1185 * moin ... maint cleancache
1187 If you don't do this, your groups / dicts will stop working (and also
1188 your ACLs that use those groups). You better do a test whether it works.
1190 * Xapian search / indexing / stemming:
1191 * Use text/<format> as mimetype for pages.
1192 * Index also major and minor for mimetypes, so it will find 'text' or
1193 'plain' as well as 'text/plain'
1194 * Fix searching for negative terms.
1195 * Improve result list ordering.
1196 * Index filters: redirect stderr to logging system.
1197 * Remove crappy num regex from WikiAnalyzer, improve tokenization.
1198 * Fix AttributeError that happened when trying to access an attribute only
1199 used with xapian search (but regex search is not done by xapian)
1200 * Fix IndexErrors happening when pages are renamed/nuked after the index
1202 * Fixed indexing of WikiWords (index "WikiWords", "Wiki" and "Words").
1203 * Fix crash if default language is un-stemmable.
1204 * xapian_stemming: removed some strange code (fixes search
1205 title:lowercaseword with xapian_stemming enabled)
1206 * Fixed category indexing (index CategoryFoo correctly as CategoryFoo, not
1207 Foo - for all languages, see page_*_regex change above).
1208 * Builtin search: support mimetype: search for pages for the builtin search
1209 engine (using text/<format>).
1212 * Wiki: fix subscript parsing (was broken for cases like 'a,,1,2,,').
1213 * Docbook: fixed detection of WikiWords.
1214 * All: Add ssh protocol to url_schemas for ssh:... URLs.
1217 * Fix xmlrpc request.read() call to use content-length, if available,
1218 fixes hangs with wsgiref server.
1219 * Wiki xmlrpc getPageInfoVersion() fixed:
1220 * works correctly now for old page versions (was unsupported)
1221 * works correctly now for current page version (reported wrong
1222 data when a page had attachment uploads after the last page
1224 * returns a Fault if it did not find a edit-log entry
1226 Other Changes: =============================================================
1227 * Using better ACLs and comments on system/help pages now, just taking
1228 away 'write' permission, but using default ACLs for everything else.
1229 * HINT: If you want to use xapian based indexed search, you need to have
1230 Xapian >= 1.0.0 (and you can remove PyStemmer in case you have installed
1231 it just for moin - we now use the stemmer built into Xapian as it
1232 supports utf-8 since 1.0.0).
1233 * Changed default value of cfg.search_results_per_page to 25.
1234 * Surge Protection: If a user is authenticated by a trusted authentication
1235 (see also cfg.auth_methods_trusted) then he/she won't trigger surge
1236 protection, but moin will just log a INFO level log msg with the user's
1237 name so you can find the culprit in case he/she is overusing ressources.
1238 * HINT: Added MyPages and CopyPage to actions_excluded because MyPages
1239 doesn't work without special SecurityPolicy anyway and CopyPage has
1240 questionable behaviour.
1241 * Load action now just creates a new revision of the target page, the
1242 target pagename defaults to the current page name and can be edited.
1243 If the target pagename is empty, moin tries to derive the target pagename
1244 from the uploaded file's name.
1245 Load tries to decode the file contents first using utf-8 coding and, if
1246 that fails, it forces decoding using iso-8859-1 coding (and replacing
1247 invalid characters).
1248 * HINT: cfg.show_login is gone, see code in theme/__init__.py, this may
1250 * HINT: a new userprefs/ plugin directory will be created by the usual
1251 "moin migration data" command.
1252 * DocBook-formatter:
1253 * generates a valid DOCTYPE
1254 * table support has been improved
1255 * handling of definitions and glossaries is more robust
1256 * supports program language and line numbering in code areas
1257 * HINT: ldap_login behaves a bit different now:
1258 In previous moin versions, ldap_login tended to either successfully
1259 authenticate a user or to completely cancel the whole login process in
1260 any other case (including ldap server down or exceptions happening).
1261 This made subsequent auth list entries rather pointless.
1262 Now it behaves like this:
1263 * user not found in LDAP -> give subsequent auth list entries a
1264 chance to authenticate the user (same happens if it finds multiple
1265 LDAP entries when searching - it logs an additional warning then).
1266 * user found, but wrong password -> cancel login
1267 * ldap server not reachable or other exceptions -> give subsequent
1268 auth list entries a chance
1269 So please make sure that you really trust every auth list entry you have
1270 configured when upgrading or it might maybe change behaviour in a
1271 unexpected or unwanted way.
1272 * ldap_login now supports failover: if it can't contact your LDAP server
1273 (e.g. because it is down or unreachable), it will just continue and
1274 try to authenticate with other authenticators (if there are any in
1275 cfg.auth list). So if you have some mirroring LDAP backup server, just
1276 put another authenticator querying it there:
1277 ldap_auth1 = LDAPAuth(server_uri='ldap://mainserver', ...)
1278 ldap_auth2 = LDAPAuth(server_uri='ldap://backupserver', ...)
1279 auth = [ldap_auth1, ldap_auth2, ]
1281 Developer notes: ===========================================================
1282 * Page.last_edit() is DEPRECATED, please use Page.edit_info().
1283 * Page._last_edited() is GONE (was broken anyway), please use
1284 Page.editlog_entry().
1285 * New request.send_file() call, making it possible to use server-specific
1287 * getText's (aka _()) 'formatted' keyword param (default: True in 1.6 and
1288 early 1.7) was renamed/changed: it is now called 'wiki' and defaults to
1289 False. Example calls:
1290 _('This will NOT get parsed/formatted by MoinMoin!')
1291 _('This will be parsed/formatted by MoinMoin!', wiki=True)
1292 _('This will be used as a left side of percent operator. %s',
1293 wiki=True, percent=True)
1294 * Page.url 'relative' keyword param (default: True in 1.6 and early 1.7)
1295 was changed to default False).
1296 * The themedict no longer contains 'page_user_prefs' and 'user_prefs',
1297 this may affect custom themes.
1298 * The rst-parser's admonition class names are no longer prepended with
1299 "admonition_". Instead the class names are now for example "note"
1300 and not "admonition_note".
1305 * Security fix: a check in the user form processing was not working as
1306 expected, leading to a major ACL and superuser priviledge escalation
1307 problem. If you use ACL entries other than "Known:" or "All:" and/or
1308 a non-empty superuser list, you need to urgently install this upgrade.
1309 * Security fix: if acl_hierarchic=True was used (False is the default),
1310 ACL processing was wrong for some cases, see
1312 * For {{transclusion_targets}} we checked the protocol to be http(s),
1313 this check was removed (because file: and ftp: should work also) and
1314 it's not moin's problem if the user uses silly protocols that can't
1315 work for that purpose.
1316 * Fixed TableOfContents macro for included pages.
1317 * server_fastcgi: added Config.port = None. If you want to use some port
1318 (not a fd), you can set it now in your Config, e.g. port = 8888.
1319 * category: search matches categories even if there are comment lines
1320 between the horizontal rule and the real categories, e.g.:
1321 ... some page text ...
1323 ## optionally some comments, e.g. about possible categories:
1324 ## CategoryJustACommentNotFound
1325 CategoryTheRealAndOnly
1327 Note: there might be multiple comment lines, but all real categories
1328 must be on a single line either directly below the ---- or
1329 directly below some comment lines.
1332 * Added 'notes' to config.url_schemas, so you can use notes://notessrv/...
1333 to invoke your Lotus Notes client.
1334 * After creating a new user profile via UserPreferences, you are logged
1335 in with that user (no need to immediately enter the same name/password
1336 again for logging in).
1341 * Security fix: check the ACL of the included page for the rst parser's
1343 * Potential security/DOS fix: we removed cracklib / python-crack support
1344 in password_checker as it is not thread-safe and caused segmentation
1345 faults (leading to server error 500 because the moin process died).
1346 * Fix moin_session code for auth methods other than moin_login (e.g. http).
1347 If you have worked around this using moin_anon_session, you can remove
1348 this workaround now (except if you want anon sessions for other reasons).
1349 * Fix moin_session code to delete invalid session cookies and also create
1350 a new session cookie if it got a valid user_obj at the same time.
1351 * Fix xmlrpc applyAuthToken: give good error msg for empty token.
1352 * Fixed category search, use category:CategoryFoo as search term.
1353 * xapian_stemming = False (changed default) to workaround some problems
1354 in the code enabled by it. Fixes the problems when searching for
1355 lowercase or numeric titles or word fragments with the builtin search.
1356 * Fix trail for anon users without a session, do not show a single page.
1358 * Wiki parser: fixed strange insertion of unwanted paragraphs.
1359 * Wiki parser: fix interwiki linking:
1360 Free interwiki links did not change since 1.5 (they still require to match
1361 [A-Z][A-Za-z]+ for the wikiname part, i.e. a ASCII word beginning with an
1363 Bracketed interwiki links now behave similar to how they worked in 1.5:
1364 Moin just splits off the part left of the colon - no matter how it looks
1365 like. It then tries to find that in the interwiki map. If it is found,
1366 a interwiki link gets rendered. If it is not found, moin will render a
1367 link to a local wiki page (that has a colon in the pagename). It will
1368 also render a local wiki page link if there is no colon at all, of course.
1370 [[lowercasewikiname:somepage]] does an interwiki link (if in the map).
1371 [[ABC:n]] does a local link to page ABC:n (if ABC is NOT in the map).
1372 * Wiki parser: fix interwiki linking for the case that there are query args
1373 in the interwiki map entry and you give additional query args via link
1374 markup (uses correct query arg separator now), e.g.:
1375 [[Google:searchterm|search this|&foo=bar]]
1376 * Creole parser: fixed bug that prevents images inside links.
1377 * Python parser: catch indentation error.
1378 * PageEditor: fixed copyPage for write restricted pages.
1379 * GUI editor: fixed javascript error with too complex word_rule regex,
1381 * Fixed FCKeditor dialog boxes for FireFox3.
1382 * NewPage macro/newpage action: fixed for non-ascii template pagenames.
1384 * EmbedObject macro: bug fix for image mimetype
1386 * fix TWikiDraw saving a drawing by also evaluating the query args.
1387 * work around unpythonic WSGI 1.0 read() API, fixing broken xmlrpc
1388 putPage with mod_wsgi
1390 * Fix logfile code for EACCESS errors.
1391 * Removed the "logging initialized" log messages because it was issued once
1392 per request for CGI.
1395 * Show "Comments" toggling link in edit bar only if the page really
1397 * Made default configuration of surge protection a bit more forgiving,
1398 especially for edit action which is currently also used for previews.
1399 * Updated i18n, system/help pages, added Macedonian system text translation.
1400 * Improved moin xmlrpc write command's builtin docs and auto-append
1401 ?action=xmlrpc2 to the target wiki url given.
1406 * Improved params for [[target|label|params]]:
1407 Added accesskey link tag attribute, e.g.: [[target|label|accesskey=1]].
1408 Additionally to specifying link tag attributes (like class=foo), you can
1409 now also specify &key=value for getting that into the query string of
1411 The "&" character is important, don't forget it or it won't get into the
1413 E.g. for an attachment, you can use:
1414 [[attachment:foo.pdf|Direct download of foo.pdf|&do=get]]
1415 E.g. for linking to some specific diff, you can use:
1416 [[SomePage|see that diff|&action=diff,&rev1=23,&rev2=42]]
1417 See also the updated HelpOnLinking page!
1418 * AdvancedSearch: make multipe categories/languages/mimetype selections possible
1419 * Added a configuration directive to only do one bind to the LDAP server.
1420 This is useful if you bind as the user the first time.
1421 ldap_bindonce = False # default
1424 * Fix XSS issue in login action.
1425 * Fix wrong pagename when creating new pages on Mac OS X - that was a big
1426 showstopper for moin 1.6.0 on Mac OS X.
1427 * Fixed 1.6 migration script:
1428 Make sorting python 2.3 compatible.
1429 Just skip corrupted event log lines.
1430 Fix link conversion by using data.pre160 as data_dir.
1431 Fix bad /InterWiki pagenames when encountering interwiki links with bad
1433 Improve ImageLink conversion by using its argument parser code.
1434 Added STONEAGE_IMAGELINK (default: False) switch to wiki markup converter,
1435 toggle it if you had a very old ImageLink macro in production and the
1436 converter output has target and image interchanged.
1437 Fixed UnicodeDecodeError for wrongly encoded attachment filenames.
1439 Fix parsing of link/transclusion description and params.
1440 Fix relative attachment targets.
1441 Fix supported URL schemes (some got lost since 1.5.8).
1442 Showing an upload link for non-existing non-text/non-image transclusions
1443 now (like e.g. *.pdf).
1444 * RST parser: fix attachment: and drawing: processing
1445 * Fix quickhelp when editing RST markup pages.
1446 * Fix Despam action: editor grouping was broken, increase time interval
1448 * Fix AdvancedSearch domain:system search crashing.
1449 * Only switch off xapian search if we didn't use it because of missing index.
1450 * Fix saving twikidraw drawings by removing 'java' from spider regex.
1451 * Fix classic theme's unsubscribe icon's action link.
1452 * Fix AttachFile action: don't show unzip for packages, only show install
1454 * Fix "su user" troubles on UserPreferences.
1455 * Removed unit tests from ?action=test (due to changes in our test
1456 environment, using py.test now, this was broken).
1457 * Duplicated the top directories' moin.py to wiki/server/moin.py so it gets
1458 installed by setup.py.
1466 * I18n texts, system and help pages updated, please update your underlay
1467 directory (see wiki/underlay/...).
1468 * Improved "moin" script help, invoke it with "moin ... package command --help".
1469 * Added some .ext -> mimetype mappings missing on some systems (like Mac OS X).
1470 * Removed ImageLink macro, as this can be easily done with moin wiki link
1471 syntax now - see HelpOnMacros/ImageLink (the 1.6 migration scripts convert
1472 all ImageLink calls to moin wiki link syntax).
1473 * Updated EmbedObject macro.
1477 * This is a reduced CHANGES, ommitting details from rc/beta test and also
1478 less interesting minor changes and fixes. If you want to see full detail,
1479 read it there: http://hg.moinmo.in/moin/1.6/file/640f21787334/docs/CHANGES
1481 It took MoinMoin development a lot of work and time to implement all the new
1482 and fixed stuff, so please, before asking for support:
1483 * take the time to read all the stuff below
1484 * read the new help pages (copy them from wiki/underlay/ directory)
1486 * HINT: If you are upgrading from a older moin version and want to keep your
1487 existing data directory, it is essential that you read and follow
1488 README.migration because the wiki markup and user profiles changed significantly.
1489 See also more HINTs below...
1491 New features: ==============================================================
1493 User interface: ------------------------------------------------------------
1494 * Removed "underscore in URL" == "blank in pagename magic" - it made more
1495 trouble than it was worth. If you still want to have a _ in URL, just
1496 put a _ into pagename.
1497 * Discussion pages, see FeatureRequests/DiscussionAndOrCommentPages.
1498 * cfg.password_checker (default: use some simple builtin checks for too
1499 easy passwords and, if available, python-crack).
1500 Use password_checker = None to disable password checking.
1501 * We now have a drafts functionality (no */MoinEditorBackup pages any
1503 * If you edit a page and cancel the edit, use preview or save, a draft
1504 copy gets saved for you to a internal cache area (data/cache/drafts/).
1505 * If it is a save what you did and it succeeds, the draft copy gets
1506 killed right afterwards.
1507 * If you accidentally used cancel or your browser or machine crashes
1508 after you used preview, then just visit that page again and edit it.
1509 the editor will notify you that there is a draft of this page and you
1510 will see a "Load draft" button. Click on it to load the draft into the
1511 editor and save the page.
1512 * The draft storage is per user and per page, but only one draft per page.
1513 * cfg.quicklinks_default and cfg.subscribed_pages_default can be used to
1514 preload new user profiles with configurable values.
1515 * attachment links for non-existing attachments look different now:
1516 the note about the non-existing attachment moved to the link title,
1517 the link is shown with nonexistent class (grey).
1518 * attachment embeddings for non-existing attachments show a grey clip
1519 * The list of InterWiki sites is editable in the wiki (page InterWikiMap),
1520 it is getting reloaded every minute.
1521 * We support some new languages and also have new underlay pages, thanks
1522 to all translators and people helping with the docs!
1524 Actions: -------------------------------------------------------------------
1525 * Synchronisation of wikis using the SyncPages action.
1526 * Xapian (see http://xapian.org/) based indexed search code.
1528 * Install xapian-core and xapian-bindings on your machine.
1529 We used 0.9.4, but newer code should hopefully work, too.
1530 * cfg.xapian_search = True
1531 * Execute this to build the index:
1532 $ moin ... index build # indexes pages and attachments
1533 $ moin ... index build --files=files.lst # same plus a list of files
1534 You should run those commands as the same user you use for your wiki,
1535 usually this is the webserver userid, e.g.:
1536 $ sudo -u www-data moin --config=... --wiki-url=wiki.example.org/ \
1537 index build --files=files.lst
1539 - LanguageSearch: language:de
1540 - CategorySearch: category:Homepage
1541 - MimetypeSearch: mimetype:image/png (for attachments/files)
1542 - DomainSearch: domain:underlay or domain:standard
1543 - History Search: available in advanced ui
1544 Note: Some currently only available when Xapian is used.
1545 * New config options and their defaults:
1546 xapian_search False enables xapian-powered search
1547 xapian_index_dir None directory for xapian indices
1548 (can be shared for wiki farms)
1549 xapian_stemming True toggles usage of stemmer, fallback
1550 to False if no stemmer installed
1551 search_results_per_page 10 determines how many hits should be
1552 shown on a fullsearch action
1553 xapian_index_history False indexes all revisions of pages to
1554 allow searching in their history
1555 * Speeded up linkto search by avoiding read locks on the pagelinks file.
1557 * The action menu now calls the actions for the revision of the page you
1558 are currently viewing. If you are viewing the current page revision, you
1559 get the same behaviour as in moin 1.5, but if you are viewing an old
1560 page revision, action "raw" will now show you the raw text of this OLD
1561 revision (not of the current revision as moin 1.5 did it).
1562 Note that not every action does evaluate the rev=XX parameter it gets.
1563 Also please note that the edit, info, ... links in the editbar do NOT
1564 use the rev parameter, but operate on the latest page revision (as
1565 they did in moin 1.5).
1566 * Info action lost the links for "raw", "print" and "revert" actions,
1567 because you can now just view an old revision and select those actions
1568 from the menu there.
1570 * ?action=sitemap emits a google sitemap (XML), listing all your wiki pages
1571 and the wiki root URL.
1572 Page Priority / Frequency / Last modification
1573 --------------------------------------------------------------------
1574 / 1.0 / hourly / <now>
1575 cfg.page_front_page 1.0 / hourly / page last edit
1576 TitleIndex,RecentChanges 0.9 / hourly / <now>
1577 content pages 0.5 / daily / page last edit
1578 system/help pages 0.1 / yearly / page last edit
1580 * Action DeletePage and RenamePage can now be used for subpages of a page, too.
1581 * Added Action CopyPage so you can use now an existing page or page hierarchy
1582 as template for a new page, see FeatureRequests/CloneOrCopyPages.
1583 * "Package Pages" action supports attachments now.
1584 * Added SisterPages support:
1585 * action=sisterpages will generate a list of url pagename lines for all
1586 pages in your moin wiki.
1587 * action=pollsistersites will poll all sister sites listed in
1588 cfg.sistersites = [(wikiname, fetchURL), ...]
1589 The fetch URL for the sistersites depends on the wiki engine, e.g.:
1591 ('MoinExample', 'http://moin.example.org/?action=sisterpages')
1592 # oddmuse based wiki:
1593 ('EmacsWiki', 'http://www.emacswiki.org/cgi-bin/test?action=sisterpages')
1594 # JspWiki based wiki:
1595 ('JspWiki', 'http://www.jspwiki.org/SisterSites.jsp')
1596 * If the current page exists on some sister wiki, a link to it will be
1597 added to the navibar.
1598 You can use sister wikis for adding another dimension to your wiki UI: use
1599 it for simple multi language support, or for comments, or anything else
1601 TODO: add sistersites_force with sister sites we link to even if they do not
1602 have the page yet (will work only for moin as we don't know
1603 pagename>url transformation of other wikis)
1604 * showtags action that lists all tags related to a page.
1605 * action=view does use mimetypes of EmbedObject too and text files will be shown
1606 by using their colorized parsers
1608 Macros: --------------------------------------------------------------------
1610 * If a change has happened after your bookmark, the updated/new/renamed
1611 icon links to the bookmark diff.
1612 * If a page does not exist any more (because it was deleted or renamed),
1613 we link the deleted icon to the diff showing what was deleted (for the
1614 delete action). For the rename action, we just show the deleted icon.
1615 * Conflict icon in RecentChanges is shown if a edit conflict is detected.
1616 * Enhanced SystemAdmin's user browser, so a SuperUser can enable/disable
1618 * Included EmbedObject macro for embedding different major mimetypes:
1619 application, audio, image, video, chemical, x-world.
1620 You are able to change the defaults of allowed mimetypes in the config
1621 var mimetypes_embed. The config var mimetypes_xss_protect is used to deny
1622 mimetypes. The order of both variables is Allow, Deny (mimetypes_embed,
1623 mimetypes_xss_protect).
1624 * Added support for @SELF to the NewPage macro.
1625 * GetText2 macro that allows to translate messages that contain data.
1626 * Make the FootNote macro filter duplicates and display a list of numbers
1627 instead of a list of identical footnotes. Thanks to Johannes Berg for the
1630 Parsers: -------------------------------------------------------------------
1631 * Moin Wiki parser: Changed markup for links, images and macros, see these
1632 wiki pages: HelpOnLinking, HelpOnMacros
1633 * New wiki markup for /* inline comments */ - they get rendered as a span
1634 with class="comment", see next item:
1635 * There is a new item in the edit bar: "Comments". If you click it, the
1636 visibility of all class "comment" tags will be toggled. There is a user
1637 preferences item "show_comments" to set if the default view shows them or not.
1638 * The wiki parser can be used with css classes now:
1640 This will render output within a div with class "comment".
1641 You can use any wiki markup as usual.
1643 You can also combine multiple css classes like this:
1644 {{{#!wiki red/dotted/comment
1645 This will render a red background, dotted border comment section.
1647 The same thing will work for any other css classes you have.
1648 If the css classes contain the word "comment", they will trigger some
1649 special feature, see next item:
1650 * Wiki nested parser/pre sections work now, using this syntax:
1651 a) just use more curly braces if you have 3 closing in your content:
1653 }}} <- does not terminate the section!
1655 b) use {{{ + some magic string:
1657 }}} <- does not terminate the section!
1659 c) {{{whatever#!python
1662 Pitfall: stuff like below does not work as it did in 1.5:
1670 * Added support for ircs: URLs (secure IRC).
1671 * New text/creole parser that allows you to use WikiCreole 1.0 markup,
1673 * HTML parser (called "html") that allows you to use HTML on the page.
1674 Thanks to the trac team for the nice code.
1675 * Added the diff parser from ParserMarket, thanks to Emilio Lopes, Fabien
1676 Ninoles and Juergen Hermann.
1678 XMLRPC: --------------------------------------------------------------------
1679 * actions_excluded now defaults to ['xmlrpc'] - this kind of disables the
1680 built-in wiki xmlrpc server code (not completely: it will just answer
1681 with a Fault instance for any request). If you want to use xmlrpc v1 or
1682 v2, you have to remove 'xmlrpc' from the actions_excluded list (for
1683 example if you want to use wikisync, mailimport or any other feature
1684 using xmlrpc). If you enable xmlrpc, it will be possible that someone
1685 changes your wiki content by using xmlrpc (it will of course honour ACLs).
1686 * New XMLRPC methods (see doc strings for details):
1688 * system.multicall -- multicall support
1689 * Authentication System: getAuthToken/appyAuthToken
1690 * getDiff -- method to get binary diffs
1691 * mergeDiff -- method to local changes remotely
1692 * interwikiName -- method to get the IWID and the interwiki moniker
1693 * getAllPagesEx -- method to get the pagelist in a special way (revnos,
1694 no system pages etc.)
1695 * getAuthToken -- make and authentication token by supplying username/password
1696 * applyAuthToken -- set request.user for following xmlrpc calls (within the
1698 * getUserProfile -- method to get user profile data for request.user
1699 * Added XMLRPC methods for attachment handling. Thanks to Matthew Gilbert.
1700 * XMLRPC putPage method adjusted to new AuthToken, config vars
1701 xmlrpc_putpage_enabled and xmlrpc_putpage_trusted_only removed.
1703 Scripts / Commandline interface: -------------------------------------------
1704 * moin export dump now better conforms to the theme guidelines.
1705 * Added a --dump-user option to the moin export dump command.
1706 Thanks to Oliver O'Halloran.
1708 Security / Auth / AntiSpam / etc.: -----------------------------------------
1709 * Hierarchical ACLs are now supported, i.e. pages inheriting permissions
1710 from higher-level pages. See HelpOnAccessControlLists.
1711 * If you have "#acl" (without the quotes) on a page, this means now:
1712 "this page has own (empty) ACLs, so do not use acl_rights_default here"
1713 Please note that this is COMPLETELY DIFFERENT from having no ACL line at
1714 all on the page (acl_rights_default is used in that case).
1715 * Antispam master url is now configurable via cfg.antispam_master_url.
1716 The default is to fetch the antispam patterns from MoinMaster wiki.
1717 * Antispam now checks the edit comments against BadContent also.
1718 * TextCHAs (text-form CAPTCHAs).
1719 Due to increasingly annoying wiki spammers, we added the option to use
1720 TextCHAs (for page save (not for preview!), for attachment upload, for
1721 user creation (not for profile save)).
1722 This function is disabled by default. If you run a wiki that is editable
1723 by anonymous or non-approved users from the internet (i.e. All: or Known:
1724 in ACL terms), you should enable it in your wiki config by:
1725 textchas = { # DO NOT USE EXACTLY THESE QUESTIONS!!!
1727 u'H2O is ...': u'water', # bad: too common
1728 u'2 apples and three bananas makes how many fruits?': ur'(five|5)', # good
1729 u'2 apples and three pigs makes how many fruits?': ur'(two|2)', # good
1730 u'2+3': ur'5', # bad: computable
1733 'de': { # for german users
1734 u'H2O ist ...': u'wasser',
1737 This means that english users will get some random question from the 'en'
1738 set, german users will get some from the 'de' set. If there is no 'de'
1739 set configured, moin will fallback to language_default and then to 'en',
1740 so make sure that you at least have a 'en' set configured (or whatever
1741 you have set as language_default).
1742 You need to use unicode for the questions and answers (see that u"...").
1743 For the answer, you need to give a regular expression:
1744 * In the easiest case, this is just some word or sentence (first en
1745 example). It will be matched in a case-insensitive way.
1746 * For more complex stuff, you can use the power of regular expressions,
1747 e.g. if multiple answers are correct (second en example). Any answer
1748 matching the regular expression will be considered as correct, any
1749 non-matching answer will be considered as incorrect.
1751 Tipps for making it hard to break for the spammers and easy for the users:
1752 * Use site-specific (not too common) questions.
1753 * Don't use too hard questions (annoys legitimate users).
1754 * Don't use computable questions.
1755 * Don't reuse textchas from other sites.
1757 textchas_disabled_group = None # (default)
1758 Set this to some group name and noone in this group will get textchas.
1759 E.g.: textchas_disabled_group = u'NoTextChasGroup'
1761 * The login page gives now the possibility to recover a lost password, thanks to
1762 Oliver Siemoneit. This is especially useful for wikis where access to user
1763 preferences is restricted by acl.
1764 * Session handling for logged-in users and (not by default due to expiry
1765 problems) anonymous users.
1766 * Updated the ldap_login code from 1.5 branch, supports TLS now.
1767 See MoinMoin/config/multiconfig.py for supported configuration options
1768 and their defaults (and please just change what you need to change,
1769 in your wikiconfig).
1770 * Interwiki auth: You need to define cfg.trusted_wikis and
1771 cfg.user_autocreate to use it. Logging in works by entering:
1772 Name: RemoteWikiName RemoteUserName
1773 Password: remotepass
1774 Then moin contacts RemoteWikiName after looking it up in the interwiki
1775 map and tries to authenticate there using RemoteUserName and remotepass.
1776 If it succeeds, the remote wiki will return the remote user profile items
1777 and your local moin will autocreate an account with these values.
1779 Server / Network / Logging: ------------------------------------------------
1780 * The standalone server script moved to the toplevel directory. This makes
1781 it possible to directly start moin.py without additional configuration
1782 to run a MoinMoin DesktopEdition like wiki setup.
1783 Be careful: DesktopEdition uses relaxed security settings only suitable
1784 for personal and local use.
1785 * Added TLS/SSL support to the standalone server. Thanks to Matthew Gilbert.
1786 To use TLS/SSL support you must also install the TLSLite library
1787 (http://trevp.net/tlslite/). Version 0.3.8 was used for development and
1790 * cfg.log_reverse_dns_lookups [default: True] - you can set this to False
1791 if rev. dns lookups are broken in your network (leading to long delays
1792 on page saves). With False, edit-log will only contain IP, not hostname.
1793 * Added support for "304 not modified" response header for AttachFile get
1794 and rss_rc actions - faster, less traffic, less load.
1796 * Added logging framework, using stdlib's "logging" module. Just do
1797 import logging ; logging.debug("your text"). Depending on configuration
1798 in the server Config class, your stuff will be written to screen (stderr),
1799 to a moin logfile, to apache's error.log, etc.:
1800 logPath = None # 'moin.log'
1801 loglevel_file = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL
1802 loglevel_stderr = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL
1803 NOTE: this is NOT in wikiconfig, but e.g. in moin.cgi or moin.py or ...
1805 * Added some experimental and disabled code, that uses x-forwarded-for
1806 header (if present) to get the right "outside" IP before a request
1807 enters our chain of trusted (reverse) proxies.
1808 This code has the problem that we can't configure it in wikiconfig, so
1809 if you want to use it / test it, you have to edit the moin code:
1810 MoinMoin/request/__init__.py - edit proxies_trusted (near the top).
1811 We will try to make this easier to configure, but there was no time left
1812 before 1.6.0 release for doing bigger code refactorings needed for that.
1814 Mail: ----------------------------------------------------------------------
1815 * You can send email to the wiki now (requires xmlrpc), see:
1816 FeatureRequests/WikiEmailIntegration, HelpOnConfiguration/EmailSupport
1818 * Mail notifications contain a link to the diff action so the user
1819 can see the coloured difference more easily. Thanks to Tobias Polzin.
1821 Other changes: =============================================================
1822 * HINT: please copy a new version of your server script from the wiki/server/
1823 directory and edit it to match your setup.
1824 * HINT: instead of "from MoinMoin.multiconfig import DefaultConfig" you
1825 need to use "from MoinMoin.config.multiconfig import DefaultConfig" now.
1826 You need to change this in your wikiconfig.py or farmconfig.py file.
1827 See MoinMoin/multiconfig.py for an alternative way if you can't do that.
1828 * HINT: you need to change some imports (if you have them in your config):
1829 Old: from MoinMoin.util.antispam import SecurityPolicy
1830 New: from MoinMoin.security.antispam import SecurityPolicy
1831 Old: from MoinMoin.util.autoadmin import SecurityPolicy
1832 New: from MoinMoin.security.autoadmin import SecurityPolicy
1833 * HINT: you need to change your auth stuff, the new way is:
1834 from MoinMoin.auth import moin_login, moin_session
1835 from MoinMoin.auth.http import http
1836 auth = [http, moin_login, moin_session]
1837 Do it in a similar way for other auth methods.
1838 * HINT: you need to change your url_prefix setting in 2 ways:
1839 1. The setting is now called url_prefix_static (to make it more clear
1840 that we mean the static stuff, not the wiki script url).
1841 2. The strongly recommended (and default) value of it is '/moin_static160'
1842 for moin version 1.6.0 (and will be ...161 for moin 1.6.1). It is
1843 possible and recommended to use a very long cache lifetime for static
1844 stuff now (Expires: access plus 1 year), because we require to change
1845 the URL of static stuff when the static stuff changes (e.g. on a
1846 version upgrade of moin) to avoid problems with stale cache content.
1847 Your moin will be faster with lower load and traffic because of this.
1848 For standalone server, we use 1 year expiry for static stuff now.
1849 For Apache, Lighttpd and other "external" servers, you have to care
1850 for configuring them to use a long expiry and change url_prefix_static
1851 related configuration on upgrade.
1852 HINT: if you run standalone or Twisted server, the easiest way to get a
1853 working configuration (with server configuration matching wiki
1854 configuration) is to NOT set url_prefix_static at all. Moin will
1855 use matching configuration defaults in this case.
1856 * url_prefix_action ['action'] was introduced for lowering load and traffic
1857 caused by searchengine crawlers. Up to now, crawlers where causing a high
1858 load in internet moin wikis because they tried to get about everything,
1859 including all actions linked from the user interface.
1860 Known crawlers only get 403 for most actions, but nevertheless they first
1861 tried. There was no means keeping them away from actions due to the rather
1862 braindead robots.txt standard. You can only disallow pathes there, but
1863 moin's actions were querystring based, not path based (this would need
1864 regex support in robots.txt, but there is no such thing).
1865 This changed now. Moin is able to generate action URLs you can handle in
1866 robots.txt, like /action/info/PageName?action=info. So if you don't want
1867 bots triggering actions, just disallow /action/ there. Keep in mind that
1868 attachments are handled by /action/AttachFile, so if you want attached
1869 files and pictures indexed by search engine, don't disallow
1870 /action/AttachFile/ in your robots.txt. In order to use this feature,
1871 set url_prefix_action in your wikiconfig to e.g. "action".
1872 * We use (again) the same browser compatibility check as FCKeditor uses
1873 internally, too. So if GUI editor invocation is broken due to browser
1874 compatibility issues or a wrong browser version check, please file a bug
1875 at FCKeditor development or browser development.
1876 * HINT: We removed Lupy based indexed search code. If you were brave enough
1877 to use cfg.lupy_search, you maybe want to try cfg.xapian_search instead.
1879 Developer notes: ===========================================================
1880 * We moved the IE hacks to theme/css/msie.css that gets included after all
1881 other css files (but before the user css file) using a conditional
1882 comment with "if IE", so it gets only loaded for MSIE (no matter which
1883 version). The file has some standard css inside (evaluated on all MSIE
1884 versions) and some * html hacks that only IE < 7 will read.
1885 HINT: if you use custom themes, you want to update them in the same way.
1886 * autofilters for databrowser widget. Thanks to Johannes Berg for the patch.
1887 * changed formatter.attachment_link call (it is now more flexible,
1888 because you can render the stuff between link start and link end yourself)
1889 * Page.url() does not escape any more. You have to use wikiutil.escape()
1890 yourself if you want to write the URL to HTML and it contains e.g. &.
1891 * The testing wikiconfig moved to tests/wikiconfig.py, the testing wiki
1892 is now created in tests/wiki/...
1893 * HINT: Killed "processors" (finally), formatter method changed to:
1894 formatter.parser(parsername, lines)
1895 * Refactored some actions to use ActionBase base class.
1896 * Moved "test" action from wikiaction to MoinMoin/action/
1897 (and use ActionBase).
1898 * Moved MoinMoin/config.py to MoinMoin/config/__init__.py.
1899 * Moved MoinMoin/multiconfig.py to MoinMoin/config/multiconfig.py.
1900 * Moved "SystemInfo" macro from wikimacro to MoinMoin/macro/.
1901 * Moved wikiaction.py stuff to MoinMoin/action/__init__.py.
1902 * Moved wikimacro.py stuff to MoinMoin/macro/__init__.py.
1903 * Moved wikirpc.py stuff to MoinMoin/xmlrpc/__init__.py.
1904 * Moved wikitest.py stuff to action/test.py (only used from there).
1905 * Moved formatter/base.py to formatter/__init__.py (FormatterBase).
1906 * Moved util/ParserBase.py to parser/ParserBase.py.
1907 * Moved / splitted request.py into MoinMoin/request/*.
1908 Most stuff will be broken, please help fixing it (usually some imports
1909 will be missing and the adaptor script will need a change maybe):
1910 Tested successfully: CGI, CLI, STANDALONE, FCGI, TWISTED
1911 * Moved security.py to security/__init__.py.
1912 * Moved wikiacl.py to security/__init__.py.
1913 * Moved logfile/logfile.py to logfile/__init__.py.
1914 * Moved mailimport.py to mail/mailimport.py.
1915 * Moved util/mail.py to mail/sendmail.py.
1916 * Moved auth.py to auth/__init__.py.
1917 Moved util/sessionParser.py to auth/_PHPsessionParser.py.
1918 teared auth code into single modules under auth/* - moin_session handling
1919 and the builting moin_login method are in auth/__init__.py.
1920 * Added wikiutil.MimeType class (works internally with sanitized mime
1921 types because the official ones suck).
1922 * Renamed parsers to module names representing sane mimetypes, e.g.:
1923 parser.wiki -> parser.text_moin_wiki
1924 * Added thread_monitor debugging aid. It can be activated using:
1925 from MoinMoin.util import thread_monitor; thread_monitor.activate_hook()
1926 and then triggered by requesting URL ...?action=thread_monitor - please
1927 be aware that monitoring threads has a big performance impact on its own,
1928 so you only want to temporarily enable this for debugging.
1929 By default, it dumps its output to the data_dir as tm_<timestamp>.log,
1930 you can change this at bottom of action/thread_monitor.py if you want to
1931 see output in your browser.
1932 * Introduced scope parameter to CacheEntry() - if you specify 'farm', it
1933 will cache into a common directory for all wikis in the same farm, if you
1934 specify 'wiki', it will use a cache directory per wiki and if you specify
1935 'item', it will use a cache directory per item (== per page).
1936 Creating a CacheEntry without explicit scope is DEPRECATED.
1937 * Smileys moved from MoinMoin.config to MoinMoin.theme.
1938 * Removed all _ magic in URLs and filenames.
1939 * request.action now has the action requested, default: 'show'.
1940 * Cleaned up duplicated http_headers code and DEPRECATED this function
1941 call (it was sometimes confused with setHttpHeaders call) - it will
1942 vanish with moin 1.7, so please fix your custom plugins!
1944 request.emit_http_headers(more_headers=[])
1945 This call pre-processes the headers list (encoding from unicode, making
1946 sure that there is exactly ONE content-type header, etc.) and then
1947 calls a server specific helper _emit_http_headers to emit it.
1948 Tested successfully: CGI, STANDALONE, FCGI, TWISTED
1949 * setResponseCode request method DEPRECATED (it only worked for Twisted
1950 anyway), just use emit_http_headers and include a Status: XXX header.
1951 Method will vanish with moin 1.7.
1952 * cfg.url_prefix is DEPRECATED, please use cfg.url_prefix_static.
1953 * d['title_link'] is not supported any more. You can easily make that link
1954 on your own in your theme, see example in MoinMoin/theme/__init__.py,
1956 * There is a new Page method called Page.get_raw_body_str that returns
1957 the encoded page body. This is useful if you just deal with byte data
1958 (e.g. while generating binary diffs).
1959 * The TagStore/PickleTagStore system is used to store the syncronisation tags.
1960 * XMLRPC functions may return Fault instances from now on
1961 * Moin got multicall support, including a module that makes it usable on the
1962 client-side without requiring Python 2.4
1963 * Added no_magic to text_html formatter to disable tag autoclosing.
1964 * MOIN_DEBUG can be set in the environment to let MoinMoin ignore exceptions
1965 that would lead to a traceback in the browser. Thanks to Raphael Bossek.
1966 * There is a new MoinMoin.Page.ItemCache class now with automatic cache
1967 invalidation based on global edit-log. We currently use it to cache page
1968 acls, speedup Page.get_rev and reading the page local edit-log.
1969 * Added wikiutil.renderText parse and format raw wiki markup with all page elements.
1970 * The user file format has changed, old files will be read correctly but
1971 will silently be upgraded to the new format so old versions will not
1972 read the new files correctly (this only affects 'subscribed_pages' and
1973 'quicklinks' which will be lost when downgrading.)
1978 * Added timing.log to help performance debugging. Use cfg.log_timing = True
1979 to update <data_dir>/timing.log (default is False, meaning no logging).
1981 Example log entries:
1984 Timestamp PID Timing Flag action URL
1985 -----------------------------------------------------------------------------
1986 20070512 184401 22690 vvv None moinmoin.wikiwikiweb.de/RssFeeds
1987 20070512 184401 22690 0.267s - show moinmoin.wikiwikiweb.de/RssFeeds
1989 Timestamp: YYYYMMDD HHMMSS (UTC)
1990 PID: the process ID of the moin process
1991 Timing: when action starts, it will be "vvv"
1992 when it ends, it logs the total time it needed for execution
1993 Flag (some are only logged at end of action):
1995 - Page does not exist
1996 B user agent was recognized as bot / spider
1997 !x! Action took rather long (the higher the x, the longer it took - this
1998 makes it easy to grep for problematic stuff).
1999 Action: action name (None is when no action was specified, moin assumes
2000 "show" for that case)
2001 URL: the requested URL
2003 For more information about tuning your moin setup, see:
2004 http://moinmoin.wikiwikiweb.de/PerformanceTuning
2005 * Added support for ircs, webcal, xmpp, ed2k and rootz protocols - we
2006 moved all protocols to config.url_schemas, so this is not empty any more.
2007 It is possible to use these protocols now on wiki pages and in the
2008 navi_bar. We just generate the URLs, it is up to your browser what it
2009 does when clicking on those links.
2010 * cfg.traceback_show (default: 1) can be used to disable showing tracebacks.
2011 cfg.traceback_log_dir (default: None) can be used to set a directory
2012 that is used to dump traceback files to. Your users will get a notice to
2013 which (random) file in that directory the traceback was been written.
2014 NOTE: while you can feel free to set traceback_show = 0 and
2015 traceback_log_dir = None, we will also feel free to reject bug reports
2016 when you (or your site's users) don't give us enough information (like a
2017 traceback file) to debug the problem. If you set traceback_show = 0,
2018 we recommend pointing traceback_log_dir to a directory with reasonable
2019 free space and putting a page onto your wiki that describes who has to
2020 get contacted (usually the wiki server admin) in case a traceback happens.
2021 The admin can then locate the traceback file and submit it to moin
2023 Of course we will also need all the other details of a bug report, not
2024 only the traceback file.
2027 * Updated spider agents list.
2028 * Reduce bot/spider cpu usage for SystemInfo, OrphanedPages, WantedPages,
2029 PageHits, PageSize, WordIndex macros (we just return nothing for bots).
2032 * XSS fixes, see http://secunia.com/advisories/24138/ (item 1 and 2).
2033 * ACL security fixes:
2034 * MonthCalendar respects ACLs of day pages now.
2035 * Check the ACL for the rst markup include directive.
2036 * Fixed cleaning of edit comments (control chars in there could damage
2038 * Fixed in-process caching of antispam patterns (didn't update the cache
2039 for multi-process, persistent servers).
2040 * Correct encoding/decoding for surge-log data, fixes leftover
2041 surge-logXXXXXXX.tmp files in data/cache/surgeprotect.
2042 * Fixed mode of cache files (mkstemp creates them with 0600 mode).
2043 * Symbolic entities with numbers (like ²) did not work, fixed.
2044 * We open data/error.log earlier now and we also use it for FastCGI.
2045 * Fixed unicode cfg.page_group_regex.
2046 * Fixed moin.spec to use english date format.
2047 * GUI converter: fixed conversion of relative wiki links.
2048 * Fixed NewPage macro button label to not be formatted as wiki text.
2052 * added url_prefix_local which is used for stuff that must be loaded from
2053 same site as the wiki engine (e.g. FCKeditor GUI editor applet), while
2054 url_prefix can be a remote server serving the static files (css/img).
2055 If not set (or set to None), url_prefix_local will default to the value
2057 * We save some CPU and disk I/O by having EditTemplates and LikePages macro
2058 (both used on MissingPage) check whether the requesting entity was
2059 identified as a spider (e.g. search engine bot) and do nothing in that
2060 case. Normal users won't see any difference.
2061 * For AttachFile, you can now choose to overwrite existing files of same
2062 name (nice for updating files).
2066 * fixed unescaped page info display.
2067 * fixed unescaped page name display in AttachFile, RenamePage and
2068 LocalSiteMap actions
2069 * WantedPages listed existing pages that are not readable for the user,
2070 but are linked from pages that ARE readable for the user (so this is NOT
2071 a privacy/security issue). We now don't list those pages any more as it
2072 is pointless/confusing, the user can't read or edit there anyway.
2075 * GUI editor/converter:
2076 * ignore <col>/<colgroup>/<meta> elements
2077 * support <a> within blockquote
2078 * Remove generated=... attribute from pagelink html output (this attr is
2079 for internal use only). w3c validator is now happier again.
2080 * Fixed css class "userpref" (not: "userprefs") of the Login form.
2081 * Fixed the version number check in the xslt parser for 4suite >= 1.0.
2082 * We reset the umask to the wanted value every request. This should fix
2083 wrong file modes when used with Twisted (twistd uses a hardcoded 0077
2084 umask in daemonize()).
2085 * Avoid trouble when saving pages with antispam function when MoinMaster
2086 wiki is having troubles (catch xmlrpc Fault).
2089 * Standalone server does not do reverse DNS lookups any more (this is a
2090 standard feature of BaseHTTPServer stdlib module, but we override this
2091 now and just print the IP).
2092 * We moved the IE hacks to theme/css/msie.css that gets included after all
2093 other css files (but before the user css file) using a conditional
2094 comment with "if IE", so it gets only loaded for MSIE (no matter which
2095 version). The file has some standard css inside (evaluated on all MSIE
2096 versions) and some * html hacks that only IE < 7 will read.
2097 HINT: if you use custom themes, you want to update them in the same way.
2098 * Improved ldap auth:
2099 * cfg.ldap_name_attribute was removed because of new cfg.ldap_filter.
2100 If you had ldap_name_attribute = 'sAMAccountName' before, just use
2101 ldap_filter = '(sAMAccountName=%(username)s)' now.
2102 * New cfg.ldap_filter used for the ldap filter string used in the ldap
2103 search instead of the rather limited, partly hardcoded filter we used
2104 before. This is much more flexible:
2105 ldap_filter = '(sAMAccountName=%(username)s)'
2106 You can also do more complex filtering expressions like:
2107 '(&(cn=%(username)s)(memberOf=CN=WikiUsers,OU=Groups,DC=example,DC=org))'
2108 * Added some processing to filter out result entries with dn == None.
2109 * We set REFERRALS option to 0 before initializing the ldap server
2110 connection (this seems to be needed for Active Directory servers).
2111 * We support self-signed ssl certs for ldaps - completely untested.
2112 * New cfg.ldap_surname_attribute (usually 'sn'), was hardcoded before.
2113 * New cfg.ldap_givenname_attribute (usually 'givenName'), hardcoded before.
2114 * New cfg.ldap_aliasname_attribute (usually 'displayName') - if this
2115 attribute is not there or empty (in the results of the ldap lookup for
2116 the user), we just make up the aliasname from surname and givenname
2118 * We only request the attributes we need from ldap (was: all attrs).
2119 * We deny user login (and break out of auth chain) for the following cases:
2120 * if a user is not found by ldap lookup
2121 * if we find more than one matching entry
2122 * if the password is empty or incorrect
2123 * if some exception happens
2124 * Please note that there is an updated ldap sample config in directory
2125 wiki/config/more_samples/.
2126 * Added experimental LDAP SSL/TLS support (untested, please help testing),
2127 see also the sample config.
2128 * Work around a IE7 rendering problem with long pages getting more and
2129 more narrow. We just applied the same "fix" as we used for IE6, using
2130 "display: none" for span.anchor for IE browsers.
2132 * We used to emit a <link> tag for the action=rss_rc RSS feed on any
2133 page. This was changed, we now emit that link only on RecentChanges and
2134 the current user's language translation of RecentChanges.
2135 This was changed because Google Toolbar requests the RSS feed linked
2136 by such a link tag every time it sees one. Thus, if you used the wiki
2137 normally, it requested the RSS feed every few seconds and caused
2138 problems due to surge protection kicking in because of that.
2139 * HINT for custom theme users: if your theme code calls
2140 rsslink(), then you need to change that to rsslink(d) for 1.5.7+.
2144 A general security notice:
2145 Check your Python version, there was a buffer overflow issue in Python
2146 recently! Details: http://moinmoin.wikiwikiweb.de/PythonUnicodeEscapeBug
2149 * Fix AttributeError traceback with Standalone server (if_modified_since)
2150 * Fix AttachFile "304 not modified" and redirect status code for Twisted
2151 * http auth: we now decode username and password to unicode (using
2152 config.charset == utf-8). Same for SSL client cert auth and CN.
2153 * Avoid infinite recursion in Page.parsePageLinks.
2154 * Fixed standalone server failing to shutdown if interface == "".
2155 * Now MoinMoin does not think anymore that every page links to various user
2157 * Made the irssi parser more tolerant (Thanks to "TheAnarcat").
2158 * Now multiple formatters can be used per request, the send_page code was
2159 not reentrant to this regard. Fixes "empty" search results.
2160 * Fixed problem with "=" in ImageLink macro links.
2161 * Not a moin bug, but a silly stdlib os.tempnam function made trouble to
2162 some people because it lets you override the path given in the code
2163 by setting the environment variable TMP(DIR). We now use a different
2164 function to avoid renaming trouble when TMP(DIR) points to a different
2166 * Fixed antispam update on every save (Thanks to "TheAnarcat").
2167 * GUI converter: don't throw away rowclass for tables.
2168 * GUI editor formatter: allow height for table cells.
2169 * GUI editor formatter: comment texts are output using the formatter now.
2172 * Mail notifications contain a link to the diff action so the user
2173 can see the coloured difference more easily. Thanks to Tobias Polzin.
2174 * FeatureRequests/MoveAttachments - you can move attachments from one
2175 page to another (and also rename the attachment at the same time).
2176 Thanks to Reimar Bauer.
2177 * Added support for linking to attachment: and inline: URLs with ImageLink.
2178 * Added UNIX socket support for FastCGI, just set the port to some (socket)
2180 * [[Attachlist(pagename,mimetype)]] lists attachments of pagename (default:
2181 current page) with optional mimetype restriction (default: all).
2182 Thanks to Reimar Bauer.
2185 * Minor performance improvements (might be noticeable if you have many
2186 custom navi_bar entries and high server load).
2187 * Avoid usage of no-cache because it breaks attachment download on IE6.
2188 This is a IE bug, not a moin bug.
2189 * Added XHTML to the unsafe list.
2190 * Changed the rst parser to be compatible to the new docutils interface
2192 * Updated EmbedObject macro.
2197 * fixed ticket creation to only use constant values
2200 HINT: read docs/README.migration.
2201 HINT: there was NO change in the underlay/ pages since 1.5.4.
2202 HINT: If you experience problems with the reStructured Text (rst) parser,
2203 please downgrade docutils to "0.4" because there were major interface
2204 breaking API refactorings on the docutils trunk.
2210 * Not a moin bug, but it severely annoyed IE users and also was less
2211 comfortable for users of other browser: since about 1.5.4, we served
2212 attachments with Content-Disposition: attachment - so that the user has
2213 to save them to disk. This was to fix a possible XSS attack using attached
2214 HTML files with Javascript inside for stealing your moin cookie or doing
2215 other nasty things. We improved this by using different behaviour depending
2216 on the potential danger the attached file has when served inline:
2217 mimetypes_xss_protect = ['text/html', 'application/x-shockwave-flash', ]
2218 This is the default value. If you know more dangerous stuff, please just
2219 add the mimetypes there to protect your users and file a bug report
2220 telling us what we missed.
2223 * Make tickets used for some actions more safe.
2226 * edit_ticketing [True] - we protect page save by a ticket (same stuff we
2227 already use for DeletePage and RenamePage action).
2228 NOTE: If you don't use your browser for editing, but some tool like
2229 "editmoin" or "MoinMoin plugin for jEdit", you'll need an update
2230 of them supporting the ticket.
2231 Alternatively, you can use edit_ticketing = False setting - this
2232 is not recommended for internet wikis as it will make spamming them
2234 * If we detect some spammer, we kick him out by triggering surge protection
2235 (if surge protection is not disabled).
2240 * Fixed gui editor converter confusing of `` and {{{}}} markup.
2241 * Fixed emission of HTTP headers (esp. Vary: Cache-Control:).
2242 * Fixed a bad crash that happens (on ANY page!) when you put a *Dict
2243 page's name as a member into a *Group page.
2244 * Fix MyPages action title to use an unformatted string.
2245 * Fix double quoted-printable encoding in generated emails (note: this is
2246 not a moin bug - this just works around bugs in python stdlib).
2247 * Fix mode of drawing files (use config.umask).
2248 * Fix trouble with /?action= urls by dropping getPageNameFromQueryString
2250 * Fixed sre unpickle issues seen on some machines by avoiding to pickle
2252 * Fix Clock code, add more timers.
2253 * Worked around FastCGI problem on Lighttpd: empty lines in the error log.
2254 * Fix (add) locking for caching's .remove() call, small fixes to lock code.
2255 * Print error message when --target-dir=path is missing from moin export
2259 * Added support for "304 not modified" response header for AttachFile get
2260 and rss_rc actions - faster, less traffic, less load.
2261 * Limit rss with full diffs to 5 items.
2262 * Allow surge_action_limits = None to disable surge protection.
2263 * moin.fcg improved - if you use FastCGI, you must use the new file:
2264 * can self-terminate after some number of requests (default: -1, this
2265 means "unlimited lifetime")
2266 * the count of created threads is limited now (default: 5), you can use
2267 1 to use non-threaded operation.
2268 * configurable socket.listen() backlog (default: 5)
2269 * Added indonesian i18n (id).
2270 * Some measures against spammers trying to brute force their spam into moin.
2271 * EmbedObject macro: added mov, mpg and midi support
2272 * moin ... export dump --target-dir=PATH --page=PAGENAME_REGEX
2273 You must specify --target-dir (where dump will write the html files to)
2274 and you may specify --page and either a page name or a regex used to
2275 match all pages you want to export. Default is to export all pages.
2279 * more efficient locking code on POSIX platforms, we do much less I/O
2281 * removed most chmod calls in favour of a single os.umask call
2282 * Improved Python 2.5 compatibility. Note: if you think that MoinMoin
2283 is using too much RAM, you might want to look at Python 2.5 because
2284 of its improved memory management.
2285 * Throw away SAVE comments longer than 200 chars (you can't enter those by
2286 the user interface, so only spammer using automatic POSTs do them).
2287 * Updated spider user agent list.
2288 * BadContent and LocalBadContent now get noindex,nofollow robots header,
2290 * Standalone opens it logfile unbuffered from now on, thanks to
2292 * Avoid trouble when request.write() data contains None, just skip it -
2293 thanks to Juergen Hermann.
2294 * Instead of showing a ConfigurationError, moin now emits "404 Not found"
2295 http headers and a hint about what could be wrong. This won't fill up
2296 your logs just because of typos and spiders still trying old URLs.
2300 HINT: read docs/README.migration.
2301 Version 1.5.4-current:
2302 * increased maxlength of some input fields from 80 to 200
2304 Version 1.5.current:
2306 * We switched to Mercurial SCM, see here for more infos:
2307 http://moinmoin.wikiwikiweb.de/MoinDev/MercurialGuide
2310 * fix MonthCalendar macro for non-ASCII pagenames (thanks to Jonas Smedegaard)
2311 * remove 'search' and 'google' from bot user agent list and add some more
2313 * Fix the forgotten password email login URL and also properly encode the
2314 email body. Thanks to Robin Dunn for the patch.
2315 * Applied a patch by Matthew Gilbert for increased compatiblity with
2321 * Added CSS classes for TableOfContents macro.
2324 * GUI editor / GUI editor converter:
2325 * Fixed missing GUI editor link in edit bar.
2326 * Fixed table/row/cell style spaces.
2327 * Changed <p> generation for macros.
2328 * Fixed handling of subpages.
2329 * Fixed processing of complex list elements (thanks to Craig Markwardt).
2330 * Fixed processing of html \n (thanks to Craig Markwardt).
2331 * Fixed joining of comment lines with text below them.
2332 * Fixed table height attribute crash.
2333 * Fixed sslclientcert auth.
2334 * Added some missing files to i18n processing, translatable strings more
2336 * Change <p> generation from self-closing (<p />) to auto-closing (only
2337 emit <p>, let browser find place for </p>).
2338 * Fix eating of newline before tables.
2339 * Fixed incorrect login hint for not logged-in users trying a disallowed
2341 * Fixed nasty missing or double </a> formatter bug (mostly happening when
2342 user has enabled questionmarks for nonexisting pages).
2345 * We catch and ignore html to wiki conversion errors in case of hitting
2346 the cancel button, so you can get out of the error screen.
2350 * Modified SystemInfo macro to give human readable units and disk usage
2351 * cfg.editor_quickhelp makes the quick help below the editor configurable
2352 (at least as far as the default_markup is concerned). If set to None,
2353 it doesn't display any quickhelp. Thanks to Seth Falcon for the patch.
2356 * Fixed double class attribute for nonexistent links
2357 * Fixed double </a> with qm_noexist option
2358 * Fixed table xxx="yyy" style attribute parsing
2359 * If not (editor_force and editor_default == 'text') then display GUI mode
2360 switch button (this is only a partial fix, but enough to deny the GUI
2361 mode to your users completely)
2362 * Fixed XSS issue which could lead to cookie theft etc.
2363 * Fixed definition list "same level" indenting.
2364 * Fixed pagename in log for PackagePages action.
2365 * Made <p> self-closing and line-anchors more well-behaved, thanks to
2366 Martin Wilck for the patch. I didn't apply the <ol> patch, because this
2367 is no real problem, just a problem of a bad standard.
2368 * Fixed gui editor *bgcolor crash.
2369 * Support/Fix tableclass attr with gui editor.
2372 * Moved back UserPreferences action link from menu to top of page (renaming
2373 it to "Preferences"), added "Cancel" button to make it possible to return
2374 to the previous page without saving preferences.
2375 * Removed formatter.url "attrs" keyword arg that took premade html, we use
2376 separate kw args per attribute now.
2377 * Moved broken tests to MoinMoin/_tests/broken (= disabling them).
2378 All "active" tests run ok now.
2379 If you want to compare, I included the output of this test run:
2380 $ make test >tests/make_test.out
2386 * HINT: please read README.migration
2387 * Login and Logout are actions now, therefore you stay on the page where
2389 * UserPreferences is also an action now and moved from top border (in
2390 modern theme) to the "more actions" dropdown menu. You also stay on the
2392 * There is also a [[Login]] macro now. You can put it on any page you want
2393 and if the user is not logged in, it renders the login form. If the user
2394 is logged in, it doesn't render anything.
2395 * We check cfg.superuser to be a list of user names (as documented) and
2396 deny superuser access if it is not. This avoids security issues by
2397 wrong configuration.
2398 * auth methods changed:
2399 HINT: if you wrote own auth methods, please change them as you see in
2400 MoinMoin/auth.py and test them again before relying on them.
2401 * now get a user_obj kw argument that is either a user object returned
2402 from a previous auth method or None (if no user has been made up yet).
2403 The auth method should either return a user object (if it has
2404 determined one) or what it got as user_obj (being "passive") or None
2405 (if it wants to "veto" some user even if a previous method already has
2406 made up some user object).
2407 * return value of continue_flag is now True in most cases (except if
2408 it wants to "veto" and abort).
2409 * moin_cookie auth method now logs out a user by deleting the cookie and
2410 setting user_obj.valid = 0. This makes it possible to still get the
2411 user's name in subsequent auth method calls within the same request.
2412 * added ldap_login and smb_mount auth methods, see MoinMoin/auth.py and
2413 wiki/config/more_samples/ldap_smb_farmconfig.py
2414 * MonthCalendar now takes an additional argument for specifying a template
2415 to use to directly invoke the page editor when clicking on non-existing
2417 * Added ImageLink macro. Thanks to Jeff Kunce, Marcin Zalewski, Reimar
2418 Bauer and Chong-Dae Park for working on it.
2419 * Lupy stuff (still experimental, partly broken and disabled by default):
2420 * Attachment search using lupy (lupy_search = 1 in your config)
2421 Title search will also search attachment filenames.
2422 Full text search will also search attachment contents.
2424 Some filters depend on external converters that might not be available
2425 for any platform (see Depends: line in filter plugin).
2426 Feel free to contribute more filter plugins, especially if you wrote
2427 some nice platform independant filter in Python for some popular file
2428 format! Filters implemented so far (depending on):
2429 MS Word, RTF, MS Excel (antiword, catdoc)
2431 OpenOffice.org XML based data formats (-)
2434 JPEG's EXIF data (-)
2436 * As you might know, Lupy is "retired" (that means it isn't developped
2437 by its authors any more). We are currently evaluating Xapian as new
2438 indexing search engine in moin.
2439 If we succeed, we will replace Lupy stuff by some Xapian interface
2441 But: the filters will likely stay, as we also need them with Xapian.
2443 * A new MoinMoin script interface was introduced:
2445 Syntax: moin [options] <cmdmodule> <cmdname> [options]
2448 moin --config-dir=/my/cfgdir --wiki-url=wiki.example.org/ \
2449 export dump --page=WikiSandBox
2451 This will call the "moin" script, which will use the --config-dir and
2452 --wiki-url options to initialize, then it will go to MoinMoin.script
2453 module, import the export.dump module from there and run it, providing
2454 the additional --page value to it.
2456 The old scripts that have not been migrated to this new interface can
2457 still be found in MoinMoin/script/old/ - including the old migration
2459 * moin ... account create --name=JoeDoe --email=joe@doe.org
2460 * moin ... account disable --name=JoeDoe
2461 * moin ... acount check <-- this is what usercheck script was before
2462 * moin ... maint cleancache <-- this is what cachecleaner script was
2463 * moin ... maint cleanpage <-- this is what pagescleaner script was
2466 * cookie_lifetime didn't work comfortable for low values. The cookie was
2467 created once on login and never updated afterwards. So you got logged
2468 out cookie_lifetime hours later, no matter whether you were active at
2469 that time or not. This has been changed, we update the cookie expiry now
2470 on every request, so it will expire cookie_lifetime after your last
2471 request (not after login).
2472 * Fixed logout problems when using cfg.cookie_path.
2473 * Fixed cookie_path for root url wikis.
2474 * Lupy search now behaves a bit less funky. Still no guarantees...
2475 * We lowered the twisted server timeout to 2 minutes now (was: 10) because
2476 it just used up too many files (open TCP connections until it timeouts)
2478 * The algorithm used for processing the farmconfig.wikis list was changed
2479 to work for big farms (>= 50 wikis), too. This works around the python
2480 "re" module limitation of having a maximum of 100 named groups in a RE.
2481 * Fixed a TypeError which occurred for formatters that dislike None values.
2483 * Fixed GUI editor converter error for https:... image URLs.
2484 * ThemeBase (use by modern/rightsidebar): removed duplicate AttachFile from
2485 actions menu (we already have it in editbar).
2486 * Speedup group/dicts scanning for persistent servers.
2487 * Implemented HEAD requests for standalone server, this should fix some of
2488 the strange effects happening when using "Save as" on attachments.
2489 * Not a moin bug, but rather a workaround for non-standard non-ASCII DNS
2490 hostnames: we just use the IP instead of crashing now.
2491 * Spurious cyclic usage error in i18n fixed.
2492 * Fixed antispam for python 2.5a xmlrpclib.
2493 * I18n for linenumber toggle in listings.
2494 * All action menu entries are translatable now.
2497 * Added css classes for the rst admonitions. Thanks to TiagoMacambira!
2502 * Added FullSearchCached macro which is statically cached.
2503 Use it if you do not depend on fresh search results but prefer raw speed.
2504 * Added surge protection, see HelpOnConfiguration/SurgeProtection.
2505 * Allow hex and symbolic entities.
2506 * If there is a user with empty password, we just generate a random one
2507 when he requests it getting sent by mail. Thanks to Reimar Bauer.
2508 * The superuser now can switch to another user using UserPreferences -
2509 nice to help your users when they forgot their password or need other
2510 help. You need to logout/relogin to use your own userid afterwards.
2511 This function only works correctly if you use moin_cookie authentication.
2512 Thanks to Reimar Bauer.
2513 * Add new markup for bulletless lists: just use a "." instead of "*".
2516 * Added "voyager" to bot useragent list.
2517 * Added locking for caching subsystem.
2518 * Deron Meranda's formatter API cleanup.
2519 * Added div and span to formatter API.
2520 * Removed old unfinished form and export code.
2524 * Fixed table attribute parsing.
2525 * Fixed cookie handling wrt properties adherance.
2526 * The new "." list markup makes it possible to have a bulletless list with
2527 elements on the same level. Before this change and only using indentation
2528 with blanks, that would get merged into a single paragraph.
2529 * It is possible now to have multiple paragraphs in the same list element,
2530 just leave an empty line in between the paragraphs.
2531 * Fixed GAP processing for ordered lists.
2532 * Fix text_gedit formatter's invalid list nesting.
2533 * Fixed hr crash in blockquote (but needs more work).
2534 * Fixed FootNote's formatter usage.
2535 * Fixed rst's headline levels.
2538 * Fixed that macros were followed by a wrong <p>.
2539 * Added <blockquote> to the block elements in the text_html formatter,
2540 so it does not close it erratically when you close a inner <p>.
2541 * GUI editor converter now also accept http: urls without // (relative or
2543 * Fixed the DocBook parser in cases where the pagename was non-ascii.
2550 * Fixed rst parser docutils version check
2551 * Repaired attachment unzipping feature.
2552 * Fixed the AddRevision command of the PackageInstaller.
2553 * improved the migration scripts (used to migrate pre-1.3 wikis to 1.3+):
2554 * do not crash on empty lines in event log
2555 * fix edit log format for very old moin data (like 0.11)
2556 * workaround for an ugly win32 operating system bug leading to wiki text
2557 file mtime not matching edit logs timestamp values if there was some
2558 timezone change since last edit (e.g. a daylight saving tz switch),
2559 but differing 3600s.
2560 This affected pre-1.3 moin wiki servers running on win32 OS only.
2561 We now try to correct those inconsistencies in mig05 by fuzzy matching.
2562 * fixed bracketed link scheme icon (css class)
2563 * we included a modified copy of Python 2.4.2's copy.py as some previous
2564 python versions seem to have problems (2.3.x, x < 5 and also 2.4[.0]),
2566 Our own copy.py was slightly modified to run on 2.3.x and 2.4.x.
2567 * Fixed the problem of not being able to change the date/time format back
2568 to "Default" (UserPreferences).
2569 * We generate the GUI editor footer now the same way as the text editor
2571 * Include a CSS workaround for yet another IE bug, see:
2572 MoinMoinBugs:InternetExplorerPeekABooBugInRightSideBar
2573 * classic theme: added GUI editor link
2574 * classic theme: added pagename header to editor screen
2575 * the "mail enabled" check now also checks whether mail_from is set
2578 * Updated FCKeditor to current CVS (2006-01-08 == 2.2+)
2579 * Split up show_hosts into show_hosts and show_names
2580 * attachment:file%20with%20spaces.txt in attachment list
2581 * added support for file:// in GUI editor link dialogue, see also:
2583 * cfg.mail_smarthost now supports "server:port" syntax, the default port
2585 * removed unused kwargs showpage/editable/form from wikiutil.send_footer
2586 * updated i18n (translation texts, additional languages)
2587 * removed interwiki:pagename from print view's top of page, added it to
2588 the "lasted edited" line at bottom right.
2592 HINT: 1.5.0 uses the same data/pages format as 1.3.x. The only thing you want
2593 to check is whether the 1.5.x version you are upgrading to has NEW mig
2594 scripts compared to the version you are running now (e.g. in 1.3.5 we
2595 added some scripts that fixed some small problems).
2596 See the MoinMoin/scripts/migration/ directory.
2597 You must run every mig script in sequence and only ONCE ever.
2599 * Fix <x=y> table attributes parsing. Thanks to Reimar Bauer.
2600 * Fixed a few bugs in the reStructured text parser. Note that you
2601 need to install docutils 0.3.10 or newer (snapshot from December 2005
2602 or newer) to make reStructuring parsing work:
2603 * Case preservation for anonymous links
2604 * MoinMoin links get the appropriate CSS class
2605 * Images do not get special CSS markup anymore
2606 Thanks to Matthew Gilbert.
2607 * Fixed a bug in the WSGI code which led to incorrect exception handling.
2608 * Removed all nationality flags. They used to be used for indicating some
2609 specific language (NOT nationality) and this was simply wrong and a bad
2611 * Fixed some header rendering issues (CSS).
2612 * SystemAdmin macro now checks against cfg.superuser list.
2615 * Added turkish i18n. To be considered as alpha as it got in last minute.
2619 This is the first release candidate of MoinMoin 1.5.0.
2622 * fixed broken logs when a DeletePage (maybe also RenamePage) comment
2623 contained CR/LF characters (could happen when using copy&paste)
2624 * fixed GUI editor MoinEditorBackup page containing HTML instead of wiki
2626 * fixed invalid HTML in FootNotes
2627 * fixed HTML source in EditorBackup after canceling GUI editor
2628 * Footnotes of included pages are not shown at the bottom of the including page.
2629 * Bug in Dict handling that often breaks first entry
2633 * Added SSO module for PHP based apps. Currently supported: eGroupware 1.2.
2634 No need to login in two systems anymore - MoinMoin will read the PHP session
2638 * Improved rendering of bullet lists and external links in Restructured text.
2639 Thanks to Matthew Gilbert.
2640 * Fixed modern theme rendering, including some fixes and workarounds for
2642 * When checking for email uniqueness, do not compare with disabled user
2644 * Fix sending of HTTP headers for Despam action.
2645 * Add some margin left and right of the link icons.
2648 * Made it easier for auth methods needing a user interface (like ldap or
2649 mysql stuff). Unlike http auth, they usually need some "login form".
2650 We made UserPreferences login form values (name, password, login, logout)
2651 available as kw args of the auth method, so it is easy and obvious now.
2652 * Make login and logout show at the same place. Is only shown when
2653 show_login is True (default).
2654 * Disabled login using &uid=12345.67.8910 method. Please use name/password.
2655 * Made builtin moin_cookie authentication more modular: the cookie is now
2656 touched by MoinMoin.auth.moin_cookie only, with one minor discomfort:
2657 When creating a user, you are not automatically logged in any more.
2658 * We now use the packager for additional help and system pages in all other
2659 languages except English. The packages are attached to SystemPagesSetup
2660 page and can be installed from there after getting "superuser" powers.
2661 The "extra" package contains a collection of orphan pages not listed on
2662 some SystemPagesIn<Language>Group page.
2667 * Fixed a minor user interface bug: it showed RenamePage and DeletePage
2668 actions in the menu if you only had write rights and then complained
2669 when you really tried when you had no delete rights additionally.
2670 * We don't remove RenamePage and DeletePage from menu any more if user is
2671 unknown. This stuff is only driven by ACLs now.
2672 * Some fixes to Despam action.
2673 * Fixed moin_dump (broken by some recent theme init change).
2674 * Fixed a few tests by moving the theme init from moin_dump to RequestCLI.
2675 * removed old_onload reference from infobox.js
2676 * Fixed MoinMoin logo for IE.
2677 * search: fixed whitespace handling in linkto: search terms
2678 * Increased stability of the tests system by outputting results to sys.stdout
2679 instead of request. Note that this changes the semantics for e.g. mod_py or
2681 * Fixed packaging system in the case of AddRevision that does not alter the page.
2682 * Fixed a few bugs in the XML formatters (dom_xml, text_xml, xml_docbook).
2683 * Fixed link icons. We now just use a.xxx.before where xxx is the link scheme,
2684 e.g. a.http.before. See theme's common.css.
2685 * Hopefully fixed some issue with non-ASCII attachment filenames.
2686 * Workaround for Opera 8.5 making silly "No addition" categories.
2687 * Do not show GUI editor for non-wiki format pages, because we only have a
2688 converter from html to wiki right now.
2689 * Fix the modern CSS issues for editbar, when it shifted content far right.
2690 Also removed the absolute height value that never was right.
2691 * Fix mod_python adaptor bugs failing to handle Location correctly.
2692 See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=339543
2695 * Added irc:// to the builtin supported link schemas. You can remove it
2696 from config.url_schemas in case you have patched it in there.
2697 * Added cfg.user_autocreate (default: False). Use True to enable user
2698 profile autocreation, e.g. when you use http authentication, so your
2699 externally authenticated users don't need to create their moin profile
2700 manually. The auth method (see cfg.auth list) must check this setting
2701 if it supports auto creation.
2702 * Added user_autocreate support for auth.http and auth.sslclientcert.
2703 * Added "." and "@" to allowed characters in usernames. This is needed
2704 e.g. when using mod_pubcookie for authentication. mod_pubcookie returns
2705 userids like "geek@ANDREW.CMU.EDU" (e.g. the Kerberos domain is part of
2706 the id). Thanks to Brian E. Gallew for his patch, which we used for
2707 inspiration for user autocreation changes.
2708 * Changed auth method to return a tuple (user_obj, continue_flag), see
2709 comments in auth.py.
2710 * auth methods now create user objects with kw args auth_method and
2711 auth_attribs, so that moin knows later how the user was authenticated
2712 and which user object attributes were determined by the auth method.
2713 * Added MoinMoin/scripts/import/IrcLogImporter.py to import supybot's
2714 IRC logs into a moin wiki. We use MonthCalendar compatible page names,
2715 so you can use the calendar for showing / navigating the logs.
2716 * Removed packager binary from FCKeditor (fixing a Debian policy problem).
2717 * Worked around .png transparency bugs of IE with the new logo. We ship
2718 two logos: moinmoin.png without an alpha channel (IE compatible) and
2719 moinmoin_alpha.png which has an alpha channel and looks better on
2720 browsers with full .png support.
2721 * Allow a .zip file to have a directory in it if it is the only one.
2725 * use <span class="anchor"> instead of <a> for line-xxx anchors, this
2726 fixes some rendering problems on IE
2727 * Fixed the ReStructured text parser when it was used with non-HTML
2728 formatters. Increased compatiblity with new docutils code.
2729 (Thanks to Matt Gilbert.)
2731 * cfg.stylesheets = [] (default). You can use this on wiki or farm level
2732 to emit stylesheets after the theme css and before the user prefs css.
2733 The list entries must be ('screen', '/where/ever/is/my.css') style.
2734 * Added sample code for auth using an external cookie made by some other
2735 program. See contrib/auth_externalcookie/*. You need to edit it to
2736 fit whatever cookie you want to use.
2740 * fixed editor preview throwing away page content for new pages
2741 * require POST for userform save and create* action
2742 * use request.normalizePagename() while collecting pagelinks
2743 * do not offer gui editor for safari
2745 * tell user if account is disabled
2746 * added support for linking to .ico and .bmp
2747 * attachment methods for the text_xml and xml_docbook formatters
2749 * updated i18n (fixed nl, did nobody notice this?) and underlay
2750 * changed show_interwiki default to 0
2755 * fix gui editor (converter) crash on save
2758 * Avoid destroying existing page content if editor is called with
2759 template parameter for an existing page.
2760 * fix countdown javascript for browser status line in editor
2761 * added page title display for editor
2762 * added header div for classic theme
2764 Authentication and related:
2765 * Added a WhoAmI.py wiki xmlrpc plugin to check whether auth works
2766 correctly for xmlrpc. There is a counterpart script WhoAmI.py that
2767 uses http auth when calling the xmlrpc plugin, so you can use it to
2771 * Requirements changed to require Python >= 2.3. We recommend that
2772 you use the latest Python release you can get. The reason we
2773 dropped 2.2.2 support is because no developer or tester uses this
2774 old version any more, so incompatibilities crept in the code
2775 without anybody noticing. Using some recent Python usually is no
2776 real problem, see there for some hints in case you still run an
2777 old python: http://moinmoin.wikiwikiweb.de/NewPythonOnOldLinux
2778 The hint also does apply to other POSIX style operating systems,
2780 * We recommend you use MoinMoin/scripts/cachecleaner.py to clean the
2781 wiki's cache (see comments at top of the script).
2782 The cache will automatically be rebuilt (some operations may take
2783 some time when first being used, e.g. linkto: search, so be patient!).
2786 * there is a file CHANGES.config with just the recently changed stuff
2789 * page_front_page old: u"FrontPage" new: u"HelpOnLanguages"
2790 please just read the help page in case you see it :)
2791 * bang_meta old: 0 new: 1
2792 * show_section_numbers old: 1 new: 0
2793 * some regexes that used to be [a-z]Uxxxx$ are now [a-z0-9]Uxxxx$
2794 * navi_bar has no page_front_page as first element any more
2795 * removed settings and code [new behaviour]:
2797 * allow_extended_names [1]
2798 * allow_numeric_entities [1]
2800 * allow_subpages [1]
2802 * cfg.mail_sendmail = "/usr/sbin/sendmail -t -i" can be used if sending
2803 via SMTP doesn't work on your server. Default is None and that means
2805 * language_default replaces the old default_lang setting (just renamed).
2806 * language_ignore_browser = True can be used to let moin ignore the
2807 user's browser settings (e.g. if you run a local-language only wiki
2808 and your users use misconfigured or buggy browsers often). Default is
2809 False. Don't forget to set language_default when using this.
2811 * Wiki Editor changes / new WYSIWYG editor
2812 * fully imported the javascript based LGPLed FCKeditor (many thanks
2813 to Fred CK for his great work). See http://fckeditor.net/ for details.
2814 * config for FCKeditor is at wiki/htdocs/applets/moinfckeditor.js
2815 * added cfg.interwiki_preferred (default = []) to set a list of wikis to
2816 show at the top of the wiki selection list when inserting an
2817 interwiki link (just use the same wiki name as in interwiki
2818 map). If the last list item is None, then the preferred wikis
2819 will not be followed by the entries of the interwiki map.
2820 * moved save/preview/... buttons to the top so that they can be
2822 * reduced edit_rows default to 20 lines
2823 * Added support for edit by doubleclick in the diff view
2825 * Improved wiki farm support
2826 * make user files sharable between several wikis in a farm
2827 * allow/use interwiki subscriptions
2828 * use interwiki links in page trail
2829 * save bookmark per wiki name
2830 * cfg.cookie_domain can be used to set a cookie valid for a complete
2831 domain (default: None == only for this host). If you use '.domain.tld',
2832 the cookie will be valid for all hosts *.domain.tld - good for host
2834 * cfg.cookie_path can be used to set a cookie valid for a wiki farm under
2835 some base path (default: None == only for this wiki's path). If you use
2836 '/wikifarm', the cookie will be valid for all wikis
2837 server.tld/wikifarm/* - good for path based wiki farms.
2838 * Interwiki user homepage (if you have MANY users)
2839 Generated links for usernames are interwiki now, use cfg.user_homewiki
2840 (default: 'Self') to specify in which wiki the user home pages are
2841 located. Note: when pointing this to another wiki, the /MoinEditorBackup
2842 functionality will be disabled.
2843 @SIG@ also uses interwiki when needed.
2845 * Authentication, ACLs and related
2846 * Modular authentication: cfg.auth is a list of functions that return a
2847 valid user or None, use it like this:
2848 from MoinMoin.auth import http, moin_cookie
2849 auth = [http, moin_cookie]
2850 * cfg.auth_http_enabled was removed, please use cfg.auth instead.
2851 * http auth now supports "Negotiate" scheme, too
2852 * Added sslclientcert auth method (Apache: untested, Twisted: not
2853 implemented, IIS: no idea). See MoinMoin/auth.py for details.
2854 Submit a patch if you have improvements.
2855 * cfg.superuser is a list of unicode usernames. It is used by some
2856 critical operations like despam action or PackageInstaller.
2857 * removed allowed_actions, we now use actions_excluded only and it
2858 defaults to [], that means, no action is excluded, everything is
2859 allowed (limited by ACLs). In case of RenamePage and DeletePage,
2860 this shouldn't be a problem as both can be reverted. In case you
2861 did not allow attachments, you now have to use:
2862 actions_excluded = ['AttachFile']
2863 * special users (All, Known, Trusted) in Groups are now supported
2864 * MoinMoin.security.autoadmin SecurityPolicy added
2865 When using this security policy, a user will get admin rights on his
2866 homepage (where pagename == username) and its sub pages. This is needed
2867 for the MyPages action, but can also get used for manual ACL changes.
2868 It can also be used for Project page auto admin functionality, see the
2869 comments in the script for details.
2870 Further it can automatically create the user's group pages when the
2871 user saves his homepage.
2872 * there is a UpdateGroup xmlrpc call, see MoinMoin/xmlrpc/UpdateGroup.py -
2873 you can use this to update your *Group pages e.g. when generating them
2874 from an external group database.
2876 * UserPreferences changes
2877 * Alias name: is used for display purposes, when "name" is cryptic. It is
2878 shown e.g. in the title attribute of userid links (displayed when
2879 moving the mouse over it).
2880 * "Publish my email (not my wiki homepage) in author info" - use this
2881 if you don't have a wiki homepage, but if you want to be contactable
2882 by email. When you edit a page, your email address will be published
2883 as mailto: link on RecentChanges, at bottom of page (last editor) and
2884 in page info. If the wiki runs publically on the internet, be careful
2885 using this or your email address might be collected by spammers.
2886 * Preferred Editor: whether you want to use the text editor (as in
2887 previous moin versions), the gui editor (new!) or both (you will get
2888 2 edit links in that case).
2889 * a user can add/remove the current page to/from his quicklinks with an
2890 appropriate action now
2891 * if cfg.user_email_unique = False, we don't require user's email
2892 addresses to be unique
2893 * removed show_fancy_links user preferences setting to simplify code and
2894 caching. Displaying those icons is now done by CSS styles (see
2895 common.css). Maybe needs fixing for non-standard themes and RTL langs.
2898 * added strikethrough markup: --(striked through text here)--
2899 * @ME@ expands to just the plain username (no markup added) on save
2902 * when a user accesses his own non-existing homepage (pagename ==
2903 username), the wiki will present the MissingHomePage system page
2904 content, explaining what a user homepage is good for and offer
2905 one-click editing it with content loaded from HomepageTemplate
2906 * creation of homepage subpages is assisted by the MyPages action, which
2907 offers rw, ro page creation (and a related group) or creation of private
2908 pages. If you are not in the user_homewiki, you will get redirected
2911 Other changes/new features:
2912 * Added PackageInstaller and unzipping support (see wiki page
2913 HelpOnActions/AttachFile for further details). PackageInstaller requires
2914 the user to be in cfg.superuser list.
2915 * Added an PackagePages action to simplify the package creation.
2916 * Added location breadcrumbs - when you are on some subpage, the page
2917 title parts link to the corresponding parent pages, the last part does
2918 the usual reverse linking.
2919 * added WSGI server support, thanks to Anakim Border, see:
2920 wiki/server/moinwsgi.py (moin as WSGI app, uses the flup WSGI server,
2921 see http://www.saddi.com/software/flup/)
2922 MoinMoin/server/wsgi.py (adaptor code)
2923 * added a "Despam" action to make de-spamming a wiki easy (mass revert
2924 bad changes done by a single author or bot). You need to be in
2925 cfg.superuser to use it.
2926 * Better diffs with links to anchors to the changed places
2927 * Enhanced table support in the DocBook formatter.
2928 * Added 'moin' daemon script, that let you run moin standalone
2929 server as daemon and control the server with simple command line
2930 intreface: moin start | stop | restart | kill
2931 * Add 'restart' option to mointwisted script
2932 * Add properties option to standalone server config. Allow
2933 overriding any request property like in other server types.
2934 * Add support for running behind proxy out of the box with out
2936 See HelpOnConfiguration/IntegratingWithApache
2937 * added a WikiBackup action, configure it similar to this:
2938 data_dir = "/path/to/data"
2939 backup_include = [data_dir, ] # you can add other dirs here
2940 backup_users = ["BackupUserName", ] # only TRUSTED users!
2941 You usually don't need to change the default backup_exclude setting.
2942 The default backup_include list is EMPTY and so will be your
2943 backup in case you don't configure it correctly.
2944 If you put your data_dir there, the backup will contain private
2945 user data like email addresses and encrypted passwords.
2946 * Added a SubscribeUser action which allows the administrator to subscribe users to the
2948 * Added thread count to SystemInfo macro.
2949 * Added Petr's newest patch against the DocBook code. It allows you to use macros (esp. the include macro) in DocBook pages in order to build larger documents.
2950 * Added a RenderAsDocbook action which redirects to the DocBook formatter.
2951 * Added searching for wiki-local words lists under <data_dir>/dict/.
2952 They are used additionally to the global lists in MoinMoin/dict/.
2953 * moin_dump now also dumps attachments referenced from the page.
2954 It doesn't dump stuff that is just attached, but not referenced!
2955 * On RecentChanges we now force the comment to be breakable, this improves
2956 rendering of over-long words or on narrow browser windows - especially
2957 for themes with limited content width like rightsidebar.
2958 * We now have the "new" icon on RecentChanges clickable, just links to the
2960 * Print view now shows "interwikiname: pagename" (for show_interwiki = 1).
2962 International support:
2963 * mail_from can be now a unicode name-address
2964 e.g u'Jürgen wiki <noreply@jhwiki.org>'
2967 * logo_string is now should be really only the logo (img).
2968 If you included your wiki's name in logo_string you maybe want to remove
2969 it now as it is shown as part of the location display now anyway (if
2970 you set show_interwiki = 1).
2971 * You maybe want to remove page_front_page from your navi_bar - we link to
2972 that page now from the logo and (new, if you set show_interwiki = 1) from
2973 the interwiki name displayed in location display, so you maybe don't need
2974 it in navi_bar, too.
2975 * If you have a custom theme, you should / may:
2976 * sync modern/css/screen.css #pagelocation #pagetrail stuff to your
2977 screen.css or pagelocation display (title()) will look strange (like a
2979 * remove "#title h1 ..." CSS (or any other CSS assuming h1 is a page
2980 title and not just a first level heading), it is not used any more.
2981 * we now render = heading = as <h1> (was <h2> before 1.5),
2982 == heading == as <h2> (was <h3>), etc.
2983 * maybe move both title() and trail() to header area, like the builtin
2985 * there is a new interwiki() base theme method that optionally (if
2986 show_interwiki = 1) shows the interwiki name of this wiki and links to
2987 page_front_page. The css for it is #interwiki.
2990 * Plugin API was improved. When plugin module is missing,
2991 wikiutil.PluginMissingError is raised. When trying to import a
2992 missing name from a plugin module, wikiutil.PluginMissingError is
2993 raised. You must update any code that use wikiutil.importPlugin.
2994 Errors in your plugin should raise now correct tracebacks. See
2995 http://moinmoin.wikiwikiweb.de/ErrorHandlingInPlugins
2996 * pysupport.importName was changed, it does not check for any
2997 errors when trying to import a name from a module. The calling
2998 code should check for ImportError or AttributeError. Previous
2999 code used to hide all errors behind None.
3000 * Its easier now to customize the editbar by overriding
3001 editbarItems() in your theme, and returning a list of items to
3002 display in the editbar. To change a single editbar link, override
3003 one of the xxxLink methods in your theme.
3006 * request.formatter (html) is available for actions now
3007 * theme API's d['page_home_page'] is gone (sorry) and replaced by
3008 d['home_page'] which is either None or tuple (wikiname,pagename).
3009 It is better to use the base classes function for username/prefs anyway.
3010 * introduced cfg.hacks for internal use by development, see comment in
3011 multiconfig.py and file HACKS.
3012 * added IE7 (v0.9) from Dean Edwards (see http://dean.edwards.name/IE7/) -
3013 that should fix quite some IE bugs and annoyances (on Win32).
3014 * for enabling IE7, use cfg.hacks = { 'ie7': True }
3015 * reducewiki now also copies all attachments (we use that to make underlay
3016 directory from moinmaster wiki's data_dir)
3019 * Fixed a typo in xslt.py which led to a traceback instead of an
3020 error message in case of disabled XSLT support.
3021 * Fixed crash in twisted server if twisted.internet.ssl is not
3023 * Fixed wrong decoding of query string, enable wiki/?page_name urls
3024 with non ascii page names.
3025 * Fixed wrong display of non ascii attachments names in
3026 RecentChanges and page revision history.
3027 * Fixed a crash when trying to run standalone server on non posix os.
3028 * Fixed highlight of misspelled words in Check Spelling action.
3029 * Fixed case insensitivity problems on darwin (Mac OS X). See
3031 * Added RecentChanges (only the english one) to the pages getting
3032 html_head_index headers
3033 * text_html cache files written with this code will invalidate themselves
3034 if they detect to be older than the wikiconfig. Note: you should remove
3035 all old text_html cache files once after upgrading, they will then be
3036 rebuilt automatically with the new code.
3038 * Fixed the word_rule: a word like AAAbbAbb isn't teared into two parts
3039 any more (was: AA<link>AbbAbb</link>)
3040 * Fixed false positive InterWiki markup for languages like Finnish.
3041 InterWiki links are only rendered if the left side has an appropriate
3042 entry in the interwiki map, otherwise it is rendered as simple text.
3043 * Fixed unicode error when uploding non-ascii file name using mod
3045 * Fixed error handling of wikirpc requests, should give more
3046 correct errors and prevent no error output and blocking the
3047 client in some cases.
3048 * Fixed the "lost password" mail processing. If a user entered some email
3049 address unknown to the system, he was not notified of this, but just got
3050 a useless mail with no account data in it. Now the system directly tells
3051 the user that he entered an unknown email address.
3052 * Fixed SystemInfo, it now also lists parsers in data/plugin/parser dir.
3053 * Fix error handling on failure, improved error display
3054 * Fix error handling when importing plugins or importing modules
3055 dynamically. The fix is not backward compatible with older plugins.
3056 * Fix chart action, returns a page with error message when chart
3058 * Fixed formatter usage in the ShowSmileys macro.
3059 * Fixed updating pagelinks cache for [:page:text] or [wiki:Self:page text],
3060 fixes display of LocalSiteMap and rendering of such links.
3061 * Hopefully fixed urllib problems (esp. with py 2.4.2, but also before) by
3062 using our own urllib wrapper that handles encoding/decoding to/from
3063 unicode, see wikiutil.py. Also made a similar fix for making and parsing
3065 * Fixed MonthCalendar tooltips when containing special chars like quotes.
3066 * Added html escaping for diff text for RSS feed with diff=1.
3067 * The distance between page content beginning and the first = heading =
3068 was much too much. Fixed.
3072 We used that version number for an internal and early development version
3073 for what will be called moin 2.0 at some time in the future.
3074 There will never be a 1.4.x release.
3077 Version 1.3.5 (2005-08-04, Revision moin--main--1.3--patch-883)
3080 * small CSS fix for rightsidebar theme
3081 * applied some Debian patches (thanks to Jonas!):
3082 * de i18n spelling fixes
3083 * AttachFile fix, we strip CR in .draw files now
3084 * when loading spellcheck dictionaries, we want utf-8, but we make
3085 a 2nd try with iso-8859-1 encoding.
3089 * enabled using https with the Twisted server:
3090 You need to use port 443, have PyOpenSSL (+ ssl libs it depends on)
3091 installed and have some site key and certificate PEM files configured in
3092 your twistedmoin.py file:
3093 sslcert = ('/whereever/cert/sitekey.pem', '/whereever/cert/sitecert.pem')
3096 Version 1.3.5rc1 (2005-07-31, Revision moin--main--1.3--patch-865)
3100 * Fixed security bug when acl of deleted page was ignored. See:
3102 * AttachFile did not display the original filename plus there
3103 was a confusion in input field labelling ('Rename to').
3104 * Fixed shortcut link non-existent page detection.
3105 * Fixed non-working bookmark function on python 2.2.x.
3106 * Fixed wikirpc getPageInfo call on python 2.2.x.
3107 * Fixed the failing import of plugins from the data/plugin/
3108 directories if run in zipimport environments.
3109 * Fixed traceback which occurred on negated searches.
3110 * Fixed crash when trying to render error message on twisted, fast
3112 * Fixed error message with modpy, used to show wrong errors below
3114 * Fixed search and goto text fields for better compatibility with
3115 dark themes and better control through css.
3116 * Show an edit link if MissingPage is missing and a warning in the
3118 * Fixed missing footer in the editor.
3119 * Fixed indented (invalid) headings with broken links in table of
3121 * Fixed crash when file name is too long, show standard error message.
3122 * Save trail file in a safe way, should be enough for normal use.
3123 * Fixed remember_last_visit user preferences option when show_trail
3125 * Fixed the tests for Standalone, Twisted, FastCGI and Mod_Python.
3126 Run with ?action=test from any page.
3127 * Fixed rare bug when wrong search type was performed when pasting
3128 search term in Safari.
3129 * Fixed crash for custom formatters and dom_xml (which occurred if
3130 smileys were in the page).
3131 * Editor opens on double click in pages with single quote in the
3132 name, like "Ben's Wiki".
3133 * '/.' in page names are not replaced any more by '/(2e)'
3134 * Fixed the long delays while saving pages using RequestCLI.
3135 * Fixed variable expanding for users with non WikiName.
3136 * Fixed MonthCalendar's calculation of "today" to use the user's
3138 * Fixed moin_dump script, use same configuration options as other
3140 * Fixed url_mappings to work in proxied setups and sent mails
3141 again. Also fixed for image links. Thanks to JohannesBerg.
3142 * Fixed page shown after saving a drawing (esp. when saved from a
3143 sub page). Fixed help link for drawings.
3144 * Fixed mig10 script to run on Python < 2.3.
3145 * The twisted server defaulted to a socket timeout of 12 hours!
3146 We reduced that to a more sane 10 minutes, that should still be more
3147 than enough. This fixed the "too many open files" problem we
3148 encountered quite often recently. Thanks to Helmut Grohne!
3153 * Added cz, pt and pt-br i18n.
3154 * We send a 404 http status code for nonexisting wiki pages now,
3155 maybe this will repell some search engines from requesting gone
3156 pages again and again. The wiki user still sees the MissingPage
3157 wiki stuff, so a user usually won't notice this change.
3158 * Return 500 error code on failure and exceptions.
3159 * Added some more bot / leech tool user agent strings.
3160 * Prevent page floating elements from floating out of the page over
3161 the footer, in modern, rightsidebar and classic themes.
3162 * Encode URLs in a safer way
3163 * We allow usernames with ' character in them now (like Tim O'Brian).
3164 * Added support for the new security flags in docutils 0.3.9.
3165 * @MAILTO@ expands now to safer [[MailTo()]] macro.
3166 * Clarified and i18ned lost password mails.
3167 * Added 'TitleIndex' and 'SiteNavigation' (+ translation) to the
3168 list of pages that use html_head_index (so that robots
3169 "index,follow"). Please make sure to have either FindPage,
3170 TitleIndex or SiteNavigation in your navi_bar or in your
3171 page_front_page content if you want search engines to find all
3173 * Make it possible to send account data when being logged in (for
3174 future reference or whatever purpose).
3175 * Speed up when running with persistent servers, the wiki config
3176 does only get loaded once and misc. stuff is being cached between
3178 * The unit tests are disabled when using multi threading, because
3179 the wiki configuration is shared between diffrent threads.
3180 * The main code path (using standalone server) of MoinMoin runs on
3182 * Formatters do automatically transform HTML to plain text if they are
3183 called with raw HTML code.
3184 * Using larger socket backlog on Standalone and FastCGI servers
3185 should be more reliable on high load.
3186 * We now strip leading path from attachments uploaded by IE (this is
3187 a bug in IE, not in MoinMoin). Better use a sane browser, like Firefox.
3188 * added "teleport" to the user agent blacklist
3192 * Integrated Lupy indexer for better search performance. It is disabled
3193 by default as of 1.3.5 as it still has known issues.
3194 See multiconfig.py if you want to test it.
3195 * Integrated MonthCalendar 2.1, with some new features:
3196 * a mouseover bubble that shows first level headlines of the linked
3198 * all calendars with same pagename move when using cal navigation,
3199 thanks to Oliver Graf
3200 * included AnnualMonthlyCalendar patch of Jonathan Dietrich
3201 (use [[MonthCalendar(Yearly,,,+1,,6,1)]] syntax for birthdays and
3202 other annually repeating stuff)
3203 Make sure you remove old MonthCalendar.* from data/plugin/macro so that
3204 moin will use the new code in MoinMoin/macro/MonthCalendar.py.
3205 Maybe also clear the text_html cache.
3206 * Added the new XSLT parser and the DocBook parser. This should increase
3207 the 4suite compatiblity. See HelpOnXmlPages for details.
3208 It now should run on 4suite 1.0a4 and 1.0b1. Thanks to Henry Ho!
3209 * Added the DocBook formatter. This will let you generate DocBook markup
3210 by writing simple wiki pages. It needs PyXML.
3211 * It is now possible to customize parts of the UserPreferences page in
3212 your wikiconfig (changing defaults, disabling fields, removing fields):
3213 * Use user_checkbox_* for the checkboxes.
3214 * Use user_form_* for other fields.
3215 * See MoinMoin/multiconfig.py for the built-in defaults.
3216 * New standalone server classes: ThreadPoolServer using pool of
3217 threads, ThreadingServer with thread limit and ForkingServer.
3218 * New standalone server configuration options: serverClass,
3219 threadLimit, requestQueueSize.
3220 * Use "PythonOption Location" in mod_python setup to solve script_name
3225 * Theme can now override maxPagenameLength() method to control page
3227 * A search Match now provides access to the full re match via
3228 the re_match attribute (use to access groups of the match)
3229 * Underlay is not managed by arch any more. The tree contains an
3230 underlay tarball, and you should untar after you update from main.
3231 * "make update-underlay" will untar underlay
3232 * "make merge" will star-merge main into your tree
3233 * "make test" will now create and run in a fresh testwiki instace
3234 * "make clean" options added
3235 * _tests module does not have a global request any more. To refer to
3236 the current request in a test, use self.request.
3237 * _tests.TestConfig class require a request in the constructor.
3238 * "python tests/runtests.py test_module" will run only test_module
3239 * request.cfg stays between requests (for persistent servers).
3242 Version 1.3.4 (2005-03-13, Revision moin--main--1.3--patch-666)
3246 * Fixed ACL check in LikePages macro that caused links to unreadable
3248 * Fixed ACL check in newpage action.
3249 * Fixed a security problem when admin policy defined in a custom
3250 SecurityPolicy class was ignored.
3251 * Fixed ACL check in action=show so that a user who may not read a page
3252 also can't find out WHEN the protected page was updated.
3253 * Workaround on Windows 95, 98, ME in order to clear the dircache.
3254 This fixes some bugs related to an outdated page list and newly created
3255 pages that did not appear immediately.
3256 * Fixed decoding issues of page names on Windows, finally.
3258 * Fixed traceback on IIS.
3260 * Fixed wikirpc for standalone server.
3261 * Other fixes (encoding and str/unicode data type related) to wikirpc
3262 server, fixing some non-ascii issues hopefully.
3263 * Fixed broken query strings for Standalone installations.
3264 * Fixed backlinks - the result did not always show all links, often it
3266 * Fixed the acceptance of the show_hosts setting. Now you should be able
3267 to hide any IP or host name from being published by MoinMoin by enabling
3269 * Fixed wrong line endings on email messages.
3271 * Fixed crash when trail file is missing.
3272 * Fixed a traceback when searching for single ( or ).
3273 * Added mig10 script to fix crashes with uncoverted edit-locks and file
3274 attachments. Just use it as you did with mig1..mig9 before.
3275 * Added mig11 script to add __init__.py files to data/plugin (and below).
3276 * added some fixes for the xslt parser (thanks to fanbanlo), it might be
3277 still broken, but someone with deeper knowledge about xslt should fix it.
3278 * Replaced image link with W3C's "html 4.01 compliance" icon by a simple
3279 text link to avoid https: or config trouble.
3280 * Catch OverflowError backtrace when illegal date strings (e.g. <1970 or
3281 >2038) are fed to moinmoin's time routines. It will just output current
3282 date / time in those cases.
3283 * UserPreferences now also set a date_fmt preference and Date macro
3284 honours it. You may have to reset your UserPreferences value for that.
3285 * Fixed free parent and subpage links in interwiki notation.
3287 * Fixed a traceback for invalid ReST markup.
3288 * Fixed UnicodeError in SystemAdmin's Attachment Browser.
3292 * Optimized the IRC parser.
3293 * Support for zipimport of the MoinMoin package. This allows you to use
3294 py2exe and similar programs.
3295 * Show the editor's name in the mail subject.
3296 * Added the pragmas description and keywords. They will add <meta> headers
3298 * Added MoinMoin/scripts/xmlrpc-tools/putPageTest.py example script, useful
3299 as a starting point for importing data using wiki xmlrpc.
3300 * Optimised display on Opera browser.
3304 * The search modifier "linkto:" was introduced. You can use it to search
3306 * The NewPage macro now can take a PageTemplate parameter, see HelpOnMacros.
3307 * New config settings (so you don't need to edit wikirpc.py any more):
3308 xmlrpc_putpage_enabled = 0 (if 1, enables writing to arbitrary page names)
3309 xmlrpc_putpage_trusted_only = 1 (if 0, doesn't require users to be
3310 authenticated by http auth - DANGEROUS, DO NOT SET TO 0!!!)
3311 * Added support for Digest and NTLM authentication with CGI (e.g. if you
3312 use those Apache modules)
3313 * The datetime string accepted by Date and DateTime macros was extended to
3314 accept a timezone specification, so now +/-HHMM is also valid, e.g.:
3315 2005-03-06T15:15:57Z (UTC, same as +0000)
3316 2005-03-06T15:15:57+0000 (UTC)
3317 2005-03-06T16:15:57+0100 (same time given as local time for time zone
3318 with offset +0100, that is CET, e.g. Germany)
3319 2005-03-06T10:15:57-0500 (same time given as local time for time zone
3320 with offset -0500, EST, US Eastern Std. Time)
3321 The values given as macro argument will be transformed to UTC internally
3322 and then adapted again according to viewing user's UserPreferences, so
3323 the user will see the same moment in time but shown in his local time
3324 zone's time (at least if he set his UserPreferences correctly and didn't
3325 forget changing them twice a year for DST and non-DST).
3326 * Readded (now optional) editlink footer to Include macro. Add
3327 ',editlink' to call to enable this.
3328 * star "smileys" e.g. {*}{*}{*}{o}{o}
3331 Version 1.3.3 (2005-01-24, Revision moin--main--1.3--patch-595)
3335 * fixed ACL security problem in search
3336 * fix for IIS with CGI allowing page names that contain chars
3337 that are not in the system code page
3338 * fixed MoinEditorBackup revisions to start with 1 now
3339 * improved page locking ('current' file)
3340 * Unittests (normally shown at end of action=test output) are currently
3341 disabled for everything except CGI, because they only work reliably with
3342 CGI, giving wrong results for other request methods.
3345 Version 1.3.2 (2005-01-23, Revision moin--main--1.3--patch-587)
3349 * ACL bugfix for deleted pages with ACL protection.
3350 * ACL bugfix for "Default" acl.
3351 * Fixed updating of groups and dicts
3352 * Python 2.2.x related fixes (worked on 2.3+)
3353 * Fixed traceback in RecentChanges.
3354 * Fixed traceback with links browser.
3355 * Fixed 0 revision display in 'Show changes'.
3356 * Fixed traceback in Antispam which occurred when it could not connect
3357 to MoinMaster. Log the errors to stderr or error.log.
3358 * Fixed bug in Page init (no date, use rev). Fixes problem with
3360 * Fixed empty lists in empty search results.
3361 * Cosmetic fix for modern theme (when viewed with Internet Explorer).
3362 * Fixed migration 9 script, do not drop newline, do not drop error.log,
3363 note about missing error.log.
3364 * Fixed repair_language.py script, keep ending newline on revisions.
3365 * Show headings and macro content in correct direction when mixing content
3366 in several directions in the same page and using caching.
3367 * Fixed bug in standalone re farmconfig.
3368 * Fixed DOS condition in antispam code.
3369 * Use smaller margin in print mode to get better results with
3371 * Fixed some user input escaping issues.
3372 * Fixed a problem when one wiki plugin override other wikis plugins in
3374 * Fixed some broken tests.
3375 * Fixed recursive include in pstats.
3376 * Fixed bug in standalone - HTTP result code was 200 even when the access
3378 * Fixed traceback when trying to login with non-ascii password.
3379 * Fixed traceback when xml is not available, reported on Python 2.2.?
3380 * Fixed slideshow to show slides in sorted order again.
3381 * Fixed serving multiple wikis on same IP/different ports with twisted and
3383 * It is possible to run with data_underlay_dir = None for special
3384 application, but be aware that the wiki won't be usable unless you have
3385 at least some of the system pages from underlay/ available.
3386 * Files with Unicode characters in their filename are possible now.
3387 * Bugfix for broken [:page#anchor:text] links.
3388 * Workaround an instability of the gdchart module leading to
3389 stalled servers etc.
3390 * Fixed some event-log decoding issues that affect charts rendering.
3394 * Major speed improvement over 1.3.1. Many times faster title search,
3395 creating new page, opening page editor and any operation that list pages.
3396 See http://moinmoin.wikiwikiweb.de/MoinBenchmarks
3397 * Improved README.migration.
3398 * Cleaner design for login/register interface, login is always the default
3399 button when the user click Enter.
3400 * If there are problems found in the configuration, log the error
3401 and display helpful error messages in the browser.
3402 * More forgiving unicode configuration policy, you must use the u'string'
3403 format only for unicode values.
3404 * Added profiling to CGI.
3405 * The content of farmconfig.py is similar to wikiconfig.py now.
3406 * Unexpected errors while loading cache files are logged.
3407 * i18n for icon ALT tags.
3408 * Include request initialization code in the profile in standalone server.
3409 * When creating new theme, style sheets are inherited correctly, no need
3410 to override style sheets just to get them working.
3411 * Many times faster plugin system. Typical pages are about 35% faster,
3412 pages with many plugins can be many times faster.
3413 * Spiders are allowed to fetch attachments.
3414 * Old user files containing password hash encoded in pre 1.3 charset
3415 are auto repaired on first login.
3416 * data_dir defaults to './data', underlay_data_dir to './underlay' now.
3417 It is a good idea to replace those by absolute pathes in wikiconfig.py.
3418 * Renamed "Refresh" to "Delete Cache" - it was misused by users. The action
3419 was also moved into the action menu in the modern and rightsidebar themes.
3420 * Added a workaround for TableOfContents missing some links by making it
3421 uncacheable via a "time" dependency.
3422 * Removed interwiki icon and title attribute for wiki:Self:... links.
3423 * Unittests (normally shown at end of action=test output) are currently
3424 disabled because they worked unreliably, giving wrong results sometimes.
3428 * Create new pages easily using configurable interface and page templates
3429 with the new NewPage macro.
3430 * ReStructuredText (rst) support is built-in now. See HelpOnParsers.
3431 * New experimental feature in mointwisted.py - each interface may
3432 specify a port: '12.34.56.78:80'. Without a port, the port option
3438 * wikiutil.importPlugin's first argument is now a wiki config instance
3439 (request.cfg) and there is no path keyword.
3440 * Wiki plugins always override MoinMoin plugins. wikiutil.importPlugin
3441 implements this override.
3442 * util.pysupport.importName does not accept path - you should call
3443 it with correct module name, e.g 'wikiconfig.plugin.parser.wiki' for
3444 wiki plugins, or 'MoinMoin.parser.wiki'.
3445 * wikiutil.extensionPlugin was renamed to wikiPlugins and it gets config
3446 instance instead of path.
3447 * New function wikiutil.importWikiPlugin used to import wiki plugins
3448 using a cache in a thread safe way.
3449 * New config option config.use_threads is used to activate thread
3451 * New keyword arguments for getPageList, enable 10X faster operation
3452 for common cases by controlling page filtering.
3453 * New up to 100X times faster getPageCount
3456 Version 1.3.1 (2004-12-13, Revision moin--main--1.3--patch-434)
3460 * Fixed "Error Cyclic usage" crash when user had Italian (it), Korean
3461 (ko), Serbian (sr) or Vietnamese (vi) as user interface language.
3462 * Fall back to en (instead of crashing) when user uses a language moin
3463 does not support / does not support any more (like pt,sv,fi,sr).
3464 * In 1.3.0, people accidentally put iso-8859-1 chars into wiki configs,
3465 but those where expected to be pure utf-8 and thus it crashed.
3466 Fixed by using unicode strings (varname = u'whatever'), a matching
3467 encoding setting (see top of script comment) and, when decoding strings,
3468 using decode to ASCII with replace mode (this replaces non-ASCII chars,
3469 but at least it won't crash - and you get a warning to better use
3471 * Fixed long time broken table formatting. ||<style="see css spec" a||b||
3472 Now even generates valid HTML! The old markup for align, valign, width,
3473 bgcolor still works, but synthesizes style attribute data.
3474 * SystemAdmin macro shows attachments of ALL pages now.
3475 * Users without write acl rights will be able to see attachments again and
3476 also have AttachFile action in menu.
3477 * Fixed wrong match count in search results, find all matches in page
3478 titles, show all matches in contents in some rare cases.
3479 * Run about 200% faster with long running processes (standalone, Twisted),
3480 about 20% faster with cgi, by better internal data handling in wikidicts.
3481 * On SF, the dict files use utf-8 encoding now. We included them also in
3482 distribution, see contrib/dict/.
3483 * Fixed permissions to shared template stuff.
3484 * Speeded up search, fixed wrong match counts.
3485 * Speeded up internal data handling (wikidicts).
3486 * Fixed rare unicode error after deleting a page (reported only on SuSE
3487 Linux 9.0 / Python 2.3.0).
3488 * Fixed file permissions of files in the data dir.
3489 * Fixed some cosmetic problems in migration scripts and use sys.path.insert
3490 to get latest moin code when executing them.
3494 * Improved docs, system and help pages.
3495 * Updated translation files.
3499 * Internet Explorer renders our HTML/CSS in a suboptimal way.
3501 Workaround: use a non-broken browser like FireFox / Mozilla.
3502 Fixed in MoinMoin 1.3.2.
3503 * Passwords using non-ascii do not work.
3505 * The TOC macro is broken partly.
3508 * See also: http://moinmoin.wikiwikiweb.de/MoinMoinBugs
3511 Version 1.3.0 (2004-12-06, Revision moin--main--1.3--patch-400)
3513 As you see from the length of the 1.3 changes below, 1.3 is a major(!)
3514 upgrade. We could have also named it "2.0", but we decided against.
3515 So take the time for reading the informations thoroughly and do the
3516 migration exactly as we tell you - this is no 5 minutes upgrade!
3518 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3519 !!! We heavily changed configuration, data encoding, dir layout: !!!
3520 !!! * the default encoding changed to utf-8. !!!
3521 !!! * also, we changed the escaping for special chars to %XX%YY in !!!
3522 !!! URL and (xxyy) in file system. !!!
3523 !!! * layout of data dir changed completely !!!
3524 !!! If you upgrade an existing wiki, you must run the migration !!!
3525 !!! scripts or you will get data corruption or other problems. !!!
3526 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3528 HINT: Upgrading your wiki - critical information
3530 If you are NOT starting from scratch, you MUST convert your existing
3531 data - see README.migration for details.
3533 If you use ##language: xx comments on your OWN pages, you should also run
3534 repair_language script. Not needed for help/system pages as we already
3535 have done that for you.
3537 MoinMoin uses Unicode internally now (UCS-2 with 16 bits or UCS-4 with
3538 32 bits, depending on your Python installation). The encoding used
3539 for page files and html output is set by config.charset.
3541 Moin 1.3 uses utf-8 encoding only, there is NO SUPPORT for using a
3542 charset different from utf-8 with 1.3. If you try, you are on your own.
3546 Directory layout was heavily changed. Each page now is a directory,
3547 containing page revisions, attachments, cache files and edit-log.
3549 You can delete a page or move a page from one wiki to another
3550 easily. Look at the wiki/data directory to see.
3553 old: data/text/FrontPage
3554 new: data/pages/FrontPage/revisions/00000042
3555 data/pages/FrontPage/current (contains: 00000042)
3556 old: data/backup/FrontPage.xxxxxxxx
3557 new: data/pages/FrontPage/revisions/00000023
3559 For cleaning up cache files, use MoinMoin/scripts/cachecleaner.py
3560 (see comments in script).
3564 * For using RSS, you need to have PyXML installed:
3565 Python 2.4* -> PyXML 0.8.4 (cvs version)
3566 Python 2.3.x -> PyXML 0.8.3
3567 Python 2.2.2+ -> ???
3568 This will also make "Live Bookmarks" of Mozilla Firefox working.
3569 New: if you don't have PyXML installed, the RSS icon on RecentChanges
3570 will not be displayed any more. Python with no PyXML installed
3571 generates invalid RSS XML.
3575 * Handling of special characters in file names changed from _xx format
3577 * In URLs, moin now uses %xx%yy quoting, (because this is supported by
3578 browsers), and sub pages use "/" instead of the ugly "_2f".
3579 * Underscore character "_" is used now as a space character " " both
3580 in file names and URLs. " " and "_" will be handled equivalent at most
3581 places in the future (represented as "_", rendered as " ").
3582 * To prevent wiki abuse and user typing errors, page names are normalized
3583 in URLs, query strings, the "go" box and when renaming pages. This
3584 include leading, trailing and multiple slashes and white space. Certain
3585 invisible unicode characters are removed from page names.
3586 * Group page names are restricted even more, any non unicode alpha-numeric
3587 character is removed. This is done to enable changing acl syntax in
3588 the future. The restriction might be loosen on future versions.
3589 * You can edit config.page_invalid_chars_regex to control which characters
3590 are allowed in page names (Changing it is not supported).
3591 * When you enter page name, it is normalized and you are redirected to
3592 the normalized page, or if nothing left (e.g '/////'), to FrontPage.
3593 * When renaming a page to a name that can be normalized to an empty string,
3594 the new page name will be "EmptyName" and the user will not get an
3599 * Pages (especially system and help pages) are now located in an underlay
3600 directory (data_underlay_dir). You will see the pages there if they are
3601 NOT covered (overlayed) by a page in the normal pages directory
3602 (as set using data_dir).
3603 MAKE SURE THAT data_underlay_dir IS CORRECT OR YOU WILL SEE MANY EMPTY
3604 PAGES ONLY IN A NEW WIKI.
3605 * If you edit a page that is shown from underlay directory, it will be
3606 copied to the normal page directory on save (copy-on-write).
3607 * You can use one copy of the underlay directory shared by many
3608 wiki instances. Each wiki will then have only your local, self-made
3609 wiki pages in its data directory, and only system and help pages in the
3610 single, shared underlay directory - this simplifies upgrades a lot.
3611 * It is recommended to keep your underlay system and help pages immutable
3612 using acl, so you can upgrade your wiki easily. The default help and
3613 system pages already have those ACLs (using MoinPagesEditorGroup).
3614 * Do not forget to remove your old help and system pages after migrating
3615 your wiki. We don't provide a script for that as that would be
3616 dangerous for edited pages. Just use some file manager (e.g. mc) to
3617 clean the data/pages/ directory. As soon as you have removed the
3618 system pages there, you will see the new pages in the underlay dir.
3619 See the EditedSystemPages page for a list of pages that exist in both
3620 data and underlay directory (use this page as admin!).
3622 When updating from 1.2 or lower to 1.3 or higher, you will want to
3623 clean out the copies of the system pages in your {{{wiki/data}}}
3624 directory. All of these pages will now reside in the underlay
3625 directory. If you have system pages from 1.2 or lower in your
3626 wiki/data/ directory, they will overshadow the more up-to-date
3627 documentation. This can be done using the following manual procedure:
3628 1. You have just converted from 1.2 or lower to post-1.3.
3629 2. Go to your wiki's EditedSystemPages.
3630 3. Find all the pages that are MoinMoin system or help pages. You will
3631 know if it is one of those pages because it is not your page.
3632 4. Check if it is okay to delete by either:
3633 1. Using the this page "info" link and check the Revision History to
3634 see if it is greater than 1. If so, there are modifications, so do
3635 not delete the page and evaluate the modifications to see if they
3637 2. Using your file browser (Windows Explorer, etc) to go to your
3638 wiki/data/<<systemPage>>/revisions/ directory and to see if there
3639 are no modifications. If there are, do not delete the page and
3640 evaluate the modifications to see if they are necessary.
3641 5. Delete that wiki/data/<<systemPage>> using your file browser.
3645 * New file name quoting method allow 50% longer page names in languages
3646 that use more than one byte per character, like Hebrew, Korean etc.
3647 * Configuration file uses 'utf-8' encoding now. Certain values that are
3648 marked with [Unicode] can use any character in your language. Examples
3649 are page names in navi_bar, page types regular expressions and site name.
3650 * For configuration examples adopted to your language, check ConfigMarket
3651 in the MoinMoin wiki.
3652 * The system and help pages that come with moin are now in utf-8.
3653 * MissingPage system page localized, should display in your language.
3654 * We did many i18n (translation) updates.
3655 * CSS file use utf-8 encoding. User css is also expected to be utf-8.
3656 This is relevant only if you use non-ASCII values in the CSS file.
3657 * config.upperletters and config.lowerletters were removed.
3658 We now use a pre-made ucs-2 spanning set and you usually don't have to
3659 change it. See MoinMoin/util/chartypes.py if you're interested.
3660 * ACL works with any user name or group name in any language, even names
3662 * Now you can use any charset in config.charset. Note: only utf-8 is
3663 a supported configuration!
3664 * Improved url handling, now creating pages directly from the browser
3665 url box with non-ascii names works in most cases, even when
3666 config.charset is not utf-8.
3667 * When using non-utf-8 config.charset, characters in URLs that does
3668 fit in the charsets are replaced with "?" (instead of crashing).
3669 * All themes and most macros and actions are Right to Left friendly.
3670 Full RTL support planned for 1.3 release.
3671 * If page language is specified with #language processing instruction
3672 the page is displayed in the correct direction. Pages without
3673 language are displayed using the wiki default_lang.
3675 Multiple configurations
3677 * You can run multiple wikis from the same wiki directory or server.
3678 For example, you can run one Twisted server that serve multiple wikis,
3679 instead of running multiple servers. Samples of the new configuration
3680 are supplied in wiki/config/*.
3681 * You can't just use your old moin_config.py file. It is now called
3682 wikiconfig.py and the config variables now have to be in a class
3683 "Config" and that class must inherit from
3684 MoinMoin.multiconfig.DefaultConfig - see the provided wikiconfig.py
3686 This is very useful, e.g. you could derive a GermanConfig from
3687 DefaultConfig. After that, you can derive configs for wikiA and wikiB
3688 from that GermanConfig.
3689 * farmconfig.py contains a mapping attribute called "wikis" with pairs of
3690 wikiconfig module name and regular expression. The regular expression
3691 is matched against the URL of the request and the first matching entry
3692 determines the config module to be imported by MoinMoin.
3693 * If you use farmconfig.py's "wikis" mapping, then any wiki has a private
3694 config module, named after the wiki - e.g. wiki named moinmoin would
3696 * If you only have a single wiki, you do not need farmconfig.py. just make
3697 a wikiconfig.py and it will be used no matter what URL is requested.
3698 * There is one common global "config" that holds sitewide settings (like
3699 umask or charset) - you do not need to change settings there.
3700 This file is located in the MoinMoin code: MoinMoin/config.py.
3702 General configuration
3704 * SecurityPolicy now uses "write" instead of "edit" (so it is may.write
3705 now). This is to get it in sync with ACLs.
3706 * SecurityPolicy now automatically can use everything in acl_rights_valid.
3707 * There is a new config option "config_check_enabled". It will warn about
3708 any unknown variable name (probably typo) to stderr or error.log.
3709 If something doesn't work at all and changing the config does no
3710 difference, switch it on and look at the error message.
3711 * The sample config file comes with config_check_enabled = 1. If you
3712 introduce additional variables yourself, you definitely want to switch
3713 that check off or it will fill your log.
3714 * If you define "page_front_page" variable, this name will show in the
3715 navigation bar now, instead of the default "FrontPage".
3719 * Full text and title search do support multiple search terms now -
3720 see HelpOnSearching for details.
3721 * Regular expressions are still supported but have to be turned on per
3722 search term. Search terms in macros using regular expressions will have
3724 * The URL interface of the search engine has also changed. Links that
3725 point directly to search actions may be broken.
3729 * User names can not use group names, even if ACLs are not enabled.
3730 This will prevent error later, if you start to use acl in the future
3731 (acl is going to be mandatory in 1.5).
3732 * User names are not restricted any more to only CamelCase.
3733 * To prevent imposing as other users, leading, trailing and multiple
3734 whitespace in user names is not allowed. Only Unicode alpha numeric
3735 characters are allowed, with optional one space character between
3737 * When a user name with a group name or "bad" name is trying to
3738 access the wiki, he is redirected to the UserPreferences page and
3739 asked to create a new account.
3740 * When trying to login or create a new account with a bad name,
3741 correct error message is displayed in all cases.
3745 * You can not use your old moin.cgi file, as we removed cgimain.py
3746 (was deprecated since 1.2). Copy the new file from the server dir.
3748 Moin servers - Twisted and standalone
3750 * Configuration self checking on startup. Will raise an error in case
3751 of bad configuration or non-accessible directories.
3752 * Both use shorter and identical configuration options.
3753 * Server scripts contain detailed comments and examples.
3754 * Configuration defaults changed to fit most users.
3755 * There is memory profiler option for debugging, switched off by default.
3756 * If you perform a standard install, server scripts should run out
3757 of the box or with minimal change.
3761 * All code moved into the new server package, the server script
3762 contains only configuration options.
3763 * Listen to more than one interface with "interfaces" list.
3764 * Code updated to new Twisted API.
3765 * Use mointwisted script to start and stop the server, using
3766 "mointwisted start" and "mointwisted stop".
3767 * The Twisted server runs as daemon by default.
3768 * All moin Twisted files are called now mointwisted instead of
3770 * Fixed getting username from Twisted request (http auth)
3774 * Configuration moved from moin_config.py to moin.py.
3775 * If run as root, you can set both user and group for the server.
3776 * Can use logfile instead of logging to stderr.
3777 * Fixed missing unquoting of query string (caused problems in rare cases).
3781 * moin_modpy server files renamed to moinmodpy.
3785 * '''strong''', ''em'' and __underline__ have now paragraph scope. You can
3786 set these attributes on words level. For multiple paragraphs, wrap each
3788 * If you leave unclosed ''', '' and __ markup, its is closed when the
3793 * Due to many changes in CSS files, the wiki may look "broken" until
3794 your reload once or twice, or empty your browser cache.
3795 * The "Send mail notification" checkbox is replaced by "Trivial change"
3796 checkbox. The default behavior did not change - regular edit is not
3797 a trivial change, and mail will be sent to subscribes. If you check
3798 trivial change, mail will be sent only to users who selected to
3799 get trivial changes in their user preferences.
3800 * New theme "modern" has been added, and used as default theme.
3801 * classic and rightsidebar improved.
3802 * viewonly theme removed, as any theme can be use now as viewonly
3803 by using #acl All:read in the wikiconfig.
3804 * All themes use new navibar, displaying both wiki links, user links
3805 and the current page.
3806 * navibar and pagetrail use now shortened page names, so very long
3807 names does not break the interface visually.
3808 * All themes have improved search interface at the top of the window.
3809 * Only avaiable actions are displayed, so most situations when a user
3810 try to do something he can't do are prevented.
3811 * When creating a new page, no action is available until the page
3812 is created. You can't attach files to non-existing page any more.
3813 * Non registered users get a "login" link. Registered uses get
3814 "username" link to their home page, and "user preferences" link.
3815 * Messages more clear using bold type, designed by css.
3816 * Few useless messages removed (but there are many more)
3817 * Default wiki logo uses the wiki name instead of the MoinMoin troll
3820 Other fixes and changes
3822 * Most generated html code is valid "html 4 strict". There are still
3823 some problems that still have to be fixed, mainly macros, table
3824 attributes, and inline markup crossing (<a><b></a></b>).
3825 * WantedPages can include and exclude system pages, which makes it
3827 * Fixed a bug in TitleIndex where not all system pages are excluded.
3828 * RenamePage action now renames everything, including backups, page
3829 history, attachments. It does not change toplevel editlog, though.
3830 After you rename a page, you are redirected to the new page.
3831 * Syntax colorization supports more languages (Java, C++, Pascal)
3832 * Inline: display of attachments was extended. A Parser now knows which
3833 extensions it can handle.
3834 * TableOfContents and Include macros now cooperate a bit better. There
3835 are still problems with multiple Includes of the same page.
3836 * Excluded actions at bottom of page are not displayed any more.
3837 * Editor: removed the columns size setting, just using 100% of browser
3838 window width (it didn't work because of that anyway). Also removed that
3839 "reduce editor size" link at top of editor as you would lose your
3840 changes when using it.
3841 * Removed the option to choose text smileys instead of images, this made
3842 more trouble than it was worth. The text version is still given in ALT
3844 * Moved stuff from contribution/ to MacroMarket page on MoinMoin wiki
3845 * Some nasty people try to use a running moin as a proxy (at least they
3846 did on moinmaster.wikiwikiweb.de:8000, maybe due to the magic port
3847 number). We changed the code to check for that and just return 403
3848 in that case. Moin can not be used as a proxy anyway.
3849 * moin.cgi?test was removed in favor of a new buildin test
3850 action. It works for all deployments, just use ?action=test.
3851 * Sending mail does use tls if server supports it.
3853 3rd party developer notes
3855 * Themes should be now sub class of MoinMoin.theme.ThemeBase. Sub
3856 classes will get automatically all new improved user interface
3858 * Theme authors should update their theme for 1.3. Some keys removed
3859 from them dict. See ThemeBase class in MoinMoin/theme/__init__.py.
3860 * Actions writers should call request.setContentLangauge with the
3861 correct language used by the action. This enable themes and other
3862 code to use correct direction.
3863 * The Formatter interface was changed. Formatters and parsers using
3864 the formatter interface have to be adjusted.
3865 * started deprecation of Processors: they are still recognized, but
3866 implementors should start to rewrite their Processors as Parsers.
3867 A processor with the same name as a parser in a pre #! section is
3868 currently preferred. This will change in the next release.
3872 * Processors are deprecated, see section above.
3874 * Using the cookie (or the login url with ID) only and not setting (or
3875 setting and not remembering) your email/password in UserPreferences
3876 is DEPRECATED. Those quite unsecure methods will likely be dropped
3877 in next moin version.
3879 * Operating with acl_enabled = 0 is also DEPRECATED. Due to some other
3880 improvements planned, we will have to operate with ACLs enabled ONLY
3881 in a future moin version, so this setting will likely be dropped.
3882 So clean up your user accounts (see moin_usercheck.py) and switch ACLs
3884 There are no drawbacks, so you will like it. Having ACLs enabled
3885 doesn't mean you really have to USE them on wiki pages...
3887 * allow_extended_names = 0 is deprecated (default was/is 1).
3888 Future versions will be able to use extended names (aka free links) in
3889 any case and the config setting will be removed.
3891 * allow_subpages = 0 is deprecated (default was/is 1).
3892 Future versions will be able to use subpages in any case and the config
3893 setting will be removed.
3895 * attachments = {...} - we would like to remove that setting because of
3897 * when not being extremely careful, this can easily lead to security
3898 problems (like when uploading a .php exploit and then executing it
3899 by accessing it directly via web server)
3900 * makes code more complicated - code that we want to change completely
3902 If you need that feature, speak up now and tell us your reasons WHY you
3906 Version 1.2.4 (2004-10-23, Revision 1.187)
3908 This will probably be the last 1.2.x release as we are soon doing release
3909 candidates for 1.3 release (with big internal changes) and are expecting
3910 release 1.3 in december 2004.
3913 * fixed "None" pagename bug in fullsearch/titlesearch
3914 * fixed projection CSS usage
3915 * the compiled page is removed when a page is deleted, so no ghost page
3916 appears after deletion
3917 * fixed AbandonedPages day-break problem
3918 * fixed [[GetVal(WikiDict,key)]]
3919 * the msg box is now outside content div on PageEditor, too
3920 * privacy fix for email notifications: you don't see other email addresses
3921 in To: any more. mail_from is now also used for To: header field, but
3922 we don't really send email to that address.
3923 * privacy fix for /MoinEditorBackup pages that were made on previews of
3924 pages that were not saved in the end
3925 * fix double content div on PageEditor preview
3928 * workaround for broken Microsoft Internet Explorer, the page editor now
3929 stops expanding to the right (e.g. with rightsidebar theme).
3930 Nevertheless it is a very good idea to use a non-broken and more secure
3931 browser like Mozilla, Firefox or Opera!
3933 * from MoinMoin.security.antispam import SecurityPolicy in your
3934 moin_config.py will protect your wiki from at least the known spammers.
3937 * xmlrpc plugin for usage logging, currently used for antispam accesses
3939 * (re-)added configurable meta tags:
3940 * html_head_queries = '''<meta name="robots" content="noindex,nofollow">\n'''
3941 * html_head_posts = '''<meta name="robots" content="noindex,nofollow">\n'''
3942 * html_head_index = '''<meta name="robots" content="index,follow">\n'''
3943 * html_head_normal = '''<meta name="robots" content="index,nofollow">\n'''
3945 * i18n updates/fixes
3947 * New UserPreferences switch:
3948 you may subscribe to trivial changes (when you want to be notified about ALL
3949 changes to pages, even if the author deselected to send notifications).
3951 * New AttachList and AttachInfo macros - thanks to Nigel Metheringham and
3954 Version 1.2.3 (2004-07-21, Revision 1.186)
3957 * fixed NameError "UnpicklingError" in user.py
3958 * fixed version number in moin.spec
3959 * reverts done by bots or leechers
3960 There was a bad, old bug that triggered if you did not use ACLs. In that
3961 case, moin used some simple (but wrong and incomplete) function to
3962 determine what a user (or bot) may do or may not do. The function is now
3963 fixed to allow only read and write to anon users, and only delete and
3964 revert to known users additionally - and disallow everything else.
3965 * avoid creation of unneccessary pages/* directories
3966 * removed double content divs in general info and history info pages
3967 * fixed wiki xmlrpc getPageHTML
3968 * fixed rightsidebar logout URL, also fixed top banner to link to FrontPage
3969 * use config.page_front_page and .page_title_index for robots meta tag
3970 (whether it uses index,follow or index,nofollow), not hardcoded english
3972 * ACL security fix for PageEditor, thanks to Dr. Pleger for reporting
3973 * default options for new users are same as for anon users
3975 Version 1.2.2 (2004-06-06, Revision 1.185)
3979 * own copy of difflib removed
3980 Until moin 1.2.1 we had our own copy of python 2.2.3's difflib coming
3981 with moin. This was to work around some problems with broken older 2.2
3982 python installations. We removed this now because if you have py 2.3,
3983 there is even a better difflib coming with python (and that fixes an
3984 extremely slow diff calculation happening in some rare cases).
3985 So the good news is that when you run python 2.3, you don't need to do
3986 anything and it will run great. If you run python 2.2.3, it will mostly
3987 work good and you also don't need to do anything. The bad news is that
3988 if you run an old and broken 2.2 installation (2.2.1, maybe 2.2.2) you
3989 will have to fix it on your own (just copy difflib.py from python 2.2.3
3990 over to your python 2.2.x installation).
3991 But better upgrade to python 2.3 (for debian woody, there's a backport),
3992 as 2.3 generally runs better and faster than 2.2.
3993 * scripts changed to use #!/usr/bin/env python (not /usr/bin/python2.2)
3995 * user accounts and ACLs:
3996 * we now require the user to specify a password for a new account (you
3997 were not able to login without a password anyway)
3998 * it is not allowed any more to create user accounts with user names
3999 matching config.page_group_regex - please check manually that you do
4000 not already have such users existing (like a user named "AdminGroup"):
4001 cd data/user ; grep name=.*Group * # there should be no output!
4002 * subscription email sending now honours ACLs correctly
4004 * markup / rendering / user interface fixes:
4005 * fixed merging multiple lines indented by the same amount of blanks
4006 * ## comments don't break tables in two parts
4007 * added a "remove bookmark" link to RecentChanges
4008 * fixed action=titleindex (added \n after each entry)
4011 * non-ASCII characters should work now
4012 * RSS feed (Recentchanges?action=rss_rc) gives UTC timestamps now
4013 * removed attribute breaking RSS feed on RecentChanges
4015 * better email generation:
4016 * if you use python >=2.2.2, we add a Message-ID header to emails
4017 * if you use python 2.2.1, there is no email.Header. Instead of crashing
4018 (like previous moin 1.2.x releases), we just use the subject "as is" in
4019 that case. If it is not ASCII, this is not standards compliant.
4020 * If you have >=2.2.2 it will use email.Header to make standards compliant
4022 * use config.mail_from as sender address when sending "lost my password"
4026 * fixed for standalone server
4027 * attachment URLs (when handled by moin) don't include server name
4028 * fixed some wrong &amp; in html src
4030 * better themeability:
4031 * some entries in dict "d" where only present in header theme calls, some
4032 only in footer theme calls. Now almost all is present in both calls.
4033 * added some missing "content" divs so sidebar themes look better
4035 * fixed some crashes producing backtraces:
4036 * no IOError when diffing against deleted page
4037 * no backtrace in xml footnote generation
4038 * no SystemInfo crash when no editlog exists in new wikis
4039 * xmlrpc.getRecentChanges fixed
4041 * MoinMoin.util.filesys.rename is now a wrapper around os.rename that
4042 fixes os.rename on broken win32 api semantics
4045 * saving traffic and load by improved robot meta tag generation:
4046 * "noindex,nofollow" on queries and POSTs
4047 * "index,follow" on FrontPage and TitleIndex (give robots a chance ;))
4048 * "index,nofollow" on all other pages (hopefully saving lots of senseless
4049 requests for page?action=...)
4050 * removed config.html_head_queries (was used for same stuff)
4051 * added russian i18n (utf-8)
4052 * misc. other translation updates / fixes
4053 * added rightsidebar theme
4054 * TitleIndex now folds case, so "APage" and "anotherPage" are both under
4056 * added macro/PageHits.py - it calculates the hits each page gets since
4057 beginning of logging
4060 * Full text and title search do now support multiple search terms -
4061 see HelpOnSearching for details
4063 * The Formatter interface was changed. Formatter and parser using
4064 the formatter interface have to be adjusted.
4066 Version 1.2.1 (2004-03-08, Revision 1.184)
4069 * minimum requirement to run moin 1.2/1.2.1 is python 2.2.2
4070 * not: 2.2(.0), as this does not have True/False
4071 * not: 2.2.1, as this does not have email.Header. You maybe can work
4073 * getting the python 2.2.x (x>=2) /usr/lib/python2.2/email directory
4074 * putting it into directory 'x' (whereever you like)
4075 * doing a sys.path[0:0] = ['x'] in moin.cgi [or other appropriate place]
4076 No guarantee, this is untested.
4077 * Twisted: the http headers missed the charset data, fixed
4078 * mod_python: fixes for mod_python 2.7
4079 * wiki/data/plugin/__init__.py added - fixes not working plugin modules
4080 * plugin processors work now, too
4081 * fixed displaying non-existent translations of SiteNavigation in footer
4082 * fixed zh-tw iso name (wrong zh_tw -> correct zh-tw)
4083 * fixed reversed diffs in RecentChanges RSS
4084 * fixed "last change" info in footer (wasn't updated)
4085 * fixed event.log missing pagename (and other) information
4086 * fixed horizontal line thickness >1
4087 * fixed setup.py running from CVS workdir
4088 * fixed crash when doing action=info on first revision of a page
4089 * fixed hostname truncation in footer
4091 * fixed clear msg links (they missed quoting, leading to strange page
4092 names when you click on some of them)
4093 * fixed python colorizer processor
4094 * fixed quoting of stats cache filenames
4095 * catched "bad marshal data" error when switching python versions
4098 * updated danish (da) i18n
4099 * updated japanese (ja) i18n
4100 * added serbian (sr) i18n
4101 * added chinese (zh) i18n
4102 * added a simple "viewonly" theme based on classic theme - you can use
4103 this as default theme, so anonymous users won't get the usual wiki stuff,
4104 but a far simpler (and less powerful) user interface.
4105 It also displays the navibar at the left side.
4106 * added moin.spec for building RPMs
4107 * included MoinMoin/i18n/* into distribution archive (nice for translators)
4108 * included some stuff under MoinMoin/scripts - xmlrpc-tools and account
4109 checking stuff. removed some version control clutter from the dist
4112 * code colorization was refactored and some new languages (Java, C++,
4113 Pascal) where added.
4114 * inline: display of attachments was extended. A Parser now knows which
4115 extensions it can handle.
4117 Version 1.2 (2004-02-20, Revision 1.183)
4120 * MoinMoin now requires Python >=2.2.2., we recommend to use Python >=2.3.2
4121 (with 2.3.x, MoinMoin runs about 20-30% faster).
4122 * by refactoring request processing, we made it possible to run moin under
4123 persistent environments:
4124 * twisted-web (http://twistedmatrix.com)
4125 * httpdmain.py (use moin.py for starting this mini server)
4128 Of course, CGI is still possible.
4129 * wiki pages will be compiled to bytecode now (by default), so no need for
4130 slow parsing/formatting on every view ("WASP", see caching_formats)
4131 * when using a persistent environment (like twisted) and WASP, you get up
4132 to 20x speed - compared to CGI and moin 1.1
4133 * added support for diffs between arbitrary revisions.
4134 * removed requirement of the external diff utility
4135 * config.auth_http_enabled (defaults to 0) - use this to enable moin
4136 getting your authenticated user name from apache (http basic auth,
4137 htpasswd) - if you enable this, your basic auth username has to be the
4138 same as your wiki username.
4139 Should work with CGI, FCGI and maybe even with mod_python.
4140 Does not change behaviour of moin under twisted or standalone server.
4141 * config.tz_offset = 0.0 sets a default timezone offset (in hours
4143 * config.cookie_lifetime (int, in hours, default 12) sets the lifetime of
4145 == 0 --> cookie will live forever (no matter what user has configured!)
4146 > 0 --> cookie will live for n hours (or forever when "remember_me")
4147 < 0 --> cookie will live for -n hours (forced, ignore "remember_me"!)
4148 * added themeing and some themes (if you improve the existing themes or
4149 make nice new ones, please contribute your stuff!). The default theme is
4150 set by config.theme_default (and defaults to 'classic').
4151 * now supporting plugin directory for parsers, processors, themes, xmlrpc.
4152 * action=info now defaults to showing page revision history again
4153 * all actions accessing the logfile (as RecentChanges or history) are now
4155 * #refresh processing instruction, config.refresh
4156 * config.refresh = (minimum_delay, target_allowed)
4157 * minimum delay is the minimum waiting time (in seconds) allowed
4158 * target_allowed is either 'internal' or 'external', depending on
4159 whether you want to allow only internal redirects or also
4160 external ones. For internal redirects, just use the Wiki pagename,
4161 for external, use http://... url.
4162 * #refresh 3 == refresh this page every 3 seconds
4163 * #refresh 5 FrontPage == internal redirect to FrontPage in 5s
4164 * #refresh 5 http://google.com/ == redirect to google in 5s
4165 Use very carefully! Allowing a low minimum_delay and putting a #refresh
4166 on RecentChanges might slow down your wiki significantly, when some
4167 people just let their browser refresh and refresh again. Also, it does
4168 cause quite some traffic long-term. So better do not use this without
4169 good reason! Default is None (switched off).
4170 * hide most UserPreferences options before user has logged in, less
4171 confusing for new users
4172 * "config.page_dict_regex" defines what pages are dictionary definitions
4173 Currently dictionaries are used for UserHomePage/MyDict where you can
4174 define key:: value pairs that get processed like @DATE@ expansion when
4175 saving a page. The 2 "@" will be added to your keys automatically.
4176 Please do not use @xxx@ strings on the right side (value), results may
4178 You can also access wiki dictionaries by using the internal macro
4179 [[GetVal(page,key)]]" - that will go to page "page" and return the
4180 value (right side) corresponding to "key".
4181 Implementation note: groups are a subset of the dictionary functionality.
4182 * standalone server should work now (see server/moin.py), so you don't
4183 need to setup apache or twisted for a local personal wiki, you only need
4184 python and moin for that now, no additional stuff any more!
4185 * if you run your wiki with charset = "utf-8" (the default is still
4186 iso8859-1), you might want to have a look at contributions/utf8-pages/
4187 to see if there are already translated system pages for your language.
4190 * new importPlugin routine (the old one didn't work correctly)
4191 * removed 0xA0 characters breaking utf-8
4192 * system page recognition now uses wiki groups (see AllSystemPagesGroup),
4193 fixing the long-time broken system page exclusion on TitleIndex.
4194 * mostly HTML 4.01 Strict compliant HTML
4195 * design is done by CSS now, HTML is semantic markup only
4196 * removed target attribute from links, also [^NewWindow] markup - this
4197 is a HTML 3.2 feature and not valid in HTML 4.01
4198 * updated TWikiDrawPlugin to 20021003 version, with further modifications
4199 including source. It can draw imagemaps now and saves PNG. On display a
4200 GIF will be searched if no PNG is found. We recommend changing all GIFs
4201 to indexed PNGs cause this fallback might disappear in later versions.
4203 Sample code using bash and ImageMagick (be sure you know what you do):
4204 for draw in `find /path/to/wiki/data -name \*.draw`; do
4205 file=`dirname $draw`/`basename $draw .draw`
4206 if [ -e "${file}.gif" ]; then
4207 echo "Converting ${file}.gif to ${file}.png"
4208 convert "${file}.gif" "${file}.png"
4212 * fixed email headers and encoding
4213 * Changed moin-usercheck to adhere to scripting standards; no
4214 proprietary config changes needed any more (added --config);
4215 --wikinames is now part of the usage message.
4216 * config.umask now defaults to 0770 - if you give world r/w access, ACLs
4217 could be rather pointless...
4219 Removed config variables:
4220 * external_diff (not needed any more, we have internal diff now)
4221 * shared_metadb (wasn't implemented for long - we will re-add it, when it is)
4222 * title1/2 (please use page_header1/2)
4225 Changed config variables:
4226 * changed_time_fmt (removed some html and brackets around time from default)
4227 * html_head (default is empty string now)
4228 * page_footer1/2 (default is empty string now)
4229 * page_icons (is now a list of icon names, not html any more)
4230 * umask (default is 0770 now, not world r/w any more == more secure)
4232 New config variables (see MoinMaster:HelpOnConfiguration):
4241 * page_license_enabled
4248 * lots of internal code refactoring and optimization
4249 * began moving src code documentation to epydoc, see "make epydoc"
4250 * the URL for the RecentChanges RSS feed changed. It now only works with
4254 * theme support is neither complete (although covering most important
4255 stuff) nor perfect - work on that will continue...
4256 * we removed some html from system messages (the boxes at top of page you
4257 get after some actions), so it currently looks less nice than before.
4258 * html is not completely validating and it is not xhtml - this will be
4259 fixed as soon as we have the infrastructure for that (other parser, DOM)
4260 * problems with rtl (right-to-left) languages, will be fixed in 1.3
4261 * if you change moin_config or switch themes, moin will still use already
4262 cached page content. For the config this can be fixed by touching
4263 MoinMoin/version.py (or simply deleting everything in
4264 data/cache/Page.py). If you get more annoyed by this than pleased by
4265 caching speedup, you can also switch off caching (see docs on
4268 Themeing and HTML/CSS cleanup:
4269 * Browsers with completely broken CSS support (like e.g. Netscape 4.x) are
4270 no longer supported. If you still need to support them, do not upgrade to
4271 moin 1.2. If you still use these browsers, we recommend that you upgrade
4272 your browser first (Mozilla 1.5 has nice and standards compliant HTML and
4273 CSS support and is available as Free Software for Windows, Linux and Mac).
4274 * If you changed any html in code or by config you will have to check if it
4275 still works. For the usual stuff, look into `MoinMoin/theme/classic.py`
4276 and `classic/css/screen.css`. For config defaults of the html fragments,
4277 read `MoinMoin/config.py`. If you want to modify a theme, don't simply
4278 change classic, but copy or subclass it under a new theme name.
4279 * because of the new theme support the layout of the `htdocs` directory
4281 * Instead of using icons under `img/` and css under `css/`, there will
4282 be an additional `themename/` directory in between, e.g. `classic/img/`
4283 and `classic/css/`. If you added own icons, you may have to copy them
4284 to the themes directory.
4285 * The filename of the CSS file has changed to the media type, so the
4286 normal one used for screen output has changed name from `moinmoin.css`
4287 to `screen.css`. There also were quite some changes and enhancements to
4288 the CSS files, so better use the new ones.
4289 * config.css_url was removed
4292 * we use a new plugin loader that requires a correct `__init__.py` file in
4293 the plugin directories. See the directory `wiki/data/plugin/` in the
4294 distribution archive and just copy it over to your wiki's plugin directory.
4297 Version 1.1 (2003-11-29, Revision 1.178)
4299 Version 1.1 requires Python 2.0 or higher, we recommend to use Python 2.2
4300 (version 2.2.2 if that is available on your host) or even better >= 2.3.2
4301 (with 2.3.x, MoinMoin runs about 20-30% faster).
4305 * config.default_lang lets you set a default language for users not
4306 having specified language in their browser or UserPreferences
4307 * "config.page_category_regex" defines what pages are categories
4308 * replaced `config.page_template_ending` by a more flexible setting
4309 named `config.page_template_regex`
4310 * the same with config.page_form_regex (was: page_form_ending)
4311 * "config.page_group_regex" defines what pages are group definitions
4312 Currently groups are used for "user groups" (see ACLs) and "page
4313 groups" (see AllSystemPagesGroup).
4314 * robot exclusion from all pages except the standard view action,
4315 via the config.ua_spiders regex (reduces server load)
4316 * "maxdepth" argument for the TableOfContents macro
4317 * config.title1, config.title2, config.page_footer1,
4318 config.page_footer2 can now be callables and will be called with
4319 the "request" object as a single argument (note that you should
4320 accept any keyword arguments in order to be compatible to future
4322 * "config.html_pagetitle" allows you to set a specific HTML page
4323 title (if not set, it defaults to "config.sitename")
4324 * navi_bar / quicklinks can now contain free-form links, i.e.
4325 entries of the form "[url linktext]" just like in wiki pages
4326 * if a quick link starts with '^', it opens in a new window; help
4327 now opens in a new window also
4328 * `config.smileys` for user-defined smileys (default: `{}`) - a dict
4329 with the markup as the key and a tuple of width, height, border, image
4331 * `config.hosts_deny` to forbid access based on IP address
4332 * `config.mail_login` can be set to username and password separated by
4333 a space, e.g. "username userpass", if you need to use SMTP AUTH
4334 * `config.edit_locking` can be set to None (old behaviour, no
4335 locking), 'warn <timeout mins>' (warn about concurrent edits, but
4336 do not enforce anything), or 'lock <timeout mins>' (strict locking)
4337 * optionally showing a license text on editor page, use:
4338 config.page_license_enabled = 1
4339 Optionally use these to customize what is shown there:
4340 config.page_license_text = "... your text ..."
4341 config.page_license_page = "MyLicensePage"
4342 See the default values in MoinMoin/config.py for details and
4343 override them in moin_config.py, if needed.
4344 * `config.shared_intermap` can be a list of filenames (instead of a
4346 * If you have added your own `SecurityPolicy`, the class interface for
4347 that has changed (see `security.py`).
4349 Authenticaton / Authorization:
4350 * added ACL support, written by Gustavo Niemeyer of Conectiva and
4351 Thomas Waldmann. See HelpOnAccessControlLists for more infos.
4352 You should use MoinMoin/scripts/moin_usercheck.py before activating
4353 ACLs or some users with bad or duplicate accounts might get into
4355 * A user account can be disabled using moin_usercheck.py or
4356 UserPreferences page. Disabling, but keeping it is good for edit
4358 * changed security default: deletion only available to known users
4359 * support for Basic authentication (Apache style: AUTH_TYPE="Basic",
4360 REMOTE_USER="WikiUserName"). If authentication is there, user
4361 will be in ACL class "Trusted".
4362 * support for username / password login
4363 The username / password login will ONLY work, if you define a
4364 password. With an empty password, username / password login is not
4365 allowed due to security reasons. Passwords are stored encrypted
4366 (format similar to Apache SHA) and can also be entered in the
4367 UserPreferences form in this format. When requesting login
4368 information by email, the password is also sent in this encrypted
4369 format (use copy&paste to fill it in the form).
4370 ...?action=userform?uid=<userid> is still possible, so if you have
4371 bookmarks, they will still work). The input field for the ID was
4373 NOTE: using the userid for login purposes is DEPRECATED and might
4374 be removed for better security soon.
4375 * after logging in, you will get a cookie valid until midnight.
4376 The next day, the cookie will expire and you will have to login
4377 again. If you don't want this, you can check the "remember me
4378 forever" option in UserPreferences.
4379 * if the page file is read-only, you get a message (i.e. you can now
4380 protect pages against changes if you're the wiki admin).
4381 Note: you can do that easier using ACLs.
4383 Markup / Macros / Actions:
4384 * RandomQuote macro (and even parses Wiki markup now)
4385 * `[[Navigation]]` macro for slides and subpage navigation
4386 * [[ShowSmileys]] displays ALL smileys, including user-defined ones
4387 * the Include macro has new parameters (from, to, sort, items) and
4388 is able to include more than one page (via a regex pattern)
4389 * `MailTo` macro for adding spam-safe email links to a page
4390 * if a fancy link starts with '^' (i.e. if it has the form
4391 "[^http:... ...]"), it's opened in a new window
4392 * because of that, the NewWindow macro was removed from contrib
4393 * "#pragma section-numbers 2" only displays section numbers for
4394 headings of level 2 and up (similarly for 3 to 6)
4395 * ../SubPageOfParent links
4399 * Page creation shows LikePages that already exist
4400 * editor shows the current size of the page
4401 * editor returns to including page when editing an included page
4402 * Visual indication we're on the editor page (new CSS style)
4403 * selection to add categories to a page in the editor (use preview
4404 button to add more than one category)
4405 * if user has a homepage, a backup of save/preview text is saved as
4406 a subpage UsersHomePage/MoinEditorBackup
4407 * added "revert" link to PageInfo view (which makes DeletePage more
4408 safe in public wikis, since you can easily revive deleted pages
4410 * Selection for logged in users (i.e. no bots) to extend the listing
4411 of recent changes beyond the default limits
4412 * Activated display of context for backlinks search
4413 * Subscriber list shown on page info
4414 * LikePages shows similar pages (using difflib.get_close_matches)
4415 * last edit action is stored into "last-edited" file, and
4416 displayed in the page footer
4417 * reciprocal footnote linking (definition refers back to reference)
4418 * "Ex-/Include system pages" link for title index
4419 Note: system/help pages algorithm is still mostly broken.
4420 * list items set apart by empty lines are now also set apart
4421 visually (by adding the CSS class "gap" to <li>)
4422 * "save" check for security.Permissions
4423 * Added Spanish, Croatian and Danish system texts
4424 * Added flag icons for the languages supported in "i18n"
4425 * updated help and system pages, more translations, see also
4427 * there was quite some work done on wiki xmlrpc v1 and v2 - it
4428 basically works now.
4430 Tools and other changes:
4431 * moin-dump: New option "--page"
4432 * there are some scripts MoinMoin/scripts/* using wiki xmlrpc for
4433 backup and wiki page copying applications
4434 * Updated the XSLT parser to work with 4Suite 1.0a1
4435 * more infos in cgi tracebacks
4436 * UPDATE.html is a HTML version of MoinMaster:HelpOnUpdating
4438 Unfinished or experimental features:
4439 * user defined forms
4440 * XML export of all data in the wiki
4441 * RST parser (you need to install docutils to use this)
4445 * do not use / display user's email address in public places
4448 * Removed two cross-site scripting vulnerabilities reported by "office"
4451 * Bugfix for PageList when no arguments are given
4452 * Disallow full-text searches with too short search terms
4453 * [ 566094 ] TitleIndex now supports grouping by Hangul Syllables
4454 * fix for multibyte first char in TitleIndex
4455 * Footnotes were not HTML escaped
4456 * Numbered code displays are now in a table so that you can cut the
4457 code w/o the numbers
4458 * Bugfix for wrong mail notifications
4459 * Create unique anchors for repeated titles
4460 * [ 522246 ] Transparently recode localized messages
4461 * [ 685003 ] Using "preview" button when editing can lose data
4462 * use gmtime() for time handling
4463 * fixed negative gmtime() arguments
4464 * [[Include]] accepts relative page names
4465 * fixed ||NotInterWiki:||...||
4467 -----------------------------------------------------------------------------
4468 Version 1.0 (2002-05-10, Revision 1.159)
4470 THIS IS THE LAST RELEASE WITH PYTHON 1.5.2 SUPPORT! If severe bugs
4471 should occur, a maintenance release will fix them.
4473 Some optional features (like statistics) already require Python 2.0.
4476 * security fix: "allow_xslt" has to be set to 1 in order to enable
4477 XSLT processing; note that this defaults to 0 because XSLT is able
4478 to insert arbitrary HTML into a wiki
4479 * "action=content" for transclusion into static web pages; emits the
4480 pure page content, without any <html>, <head>, or <body> tags
4481 * "?action=links&mimetype=text/plain" works like MeatBall:LinkDatabase
4482 * "Preferred language" and "Quick links" user settings
4483 * Added "processor" concept, processors work on the data in "code
4484 displays" and are called by a bangpath in the first line of data
4485 * Processors: Colorize, CSV (see HelpOnProcessors)
4486 * New icons: "{OK}", "(./)", "{X}", "{i}", "{1}", "{2}" and "{}"
4488 * FullSearch now displays context information for search hits
4489 * DeletePage offers a textentry field for an optional comment
4490 * Email notifications are sent in the user's language, if known from
4492 * @PAGE@ is substituted by the name of the current page (useful
4495 Unfinished features:
4496 * user defined forms
4497 * XML export of all data in the wiki
4498 * RST parser (you need to install docutils to use this)
4502 * Syntax warning with Python 2.2 fixed
4503 * Macro-generated pagelinks are no longer added to the list of links
4504 * error codes returned by "diff" are reported
4505 * fix for attachments on pages with non-USASCII names
4506 * correct handling of spaces in attachment filenames and URLs
4508 -----------------------------------------------------------------------------
4509 Version 0.11 (2002-03-11, Revision 1.151)
4511 Most important new features: file attachments, definition list markup
4512 (glossaries), change notification via email, variable substitution when
4513 saving pages, edit preview, and improved documentation.
4515 Note that the RSS features require a recent PyXML (CVS or 0.7) due to
4516 bugs in the namespace handling of xml.sax.saxutils in earlier versions.
4517 This is (hopefully) automatically detected on every installation.
4519 Statistical features are NOT designed to work with Python 1.5.2 and
4520 require Python 2.0 or higher. Overall, MoinMoin 0.11 is not explicitely
4521 tested for 1.5.2 compatibility.
4524 * XML formatting now (most often) produces well-formed, and, depending
4525 on proper layout of the wiki page, valid StyleBook XML
4526 * Headers are now automatically numbered, unless you set the config
4527 item 'show_section_numbers' to 0
4528 * "#pragma section-numbers off" (or "0") switches that off explicitely,
4529 and "on" or "1" enables numbering
4530 * Added a "contributions" directory for 3rd party extensions
4531 * AttachFile action, contributed by Ken Sugino; note that you have
4532 to enable this action because of the possibility of DoS attacks
4533 (malicious uploads), by adding this to your moin_config:
4534 allowed_actions = ['AttachFile']
4535 * "attachment:" URL scheme allows access to attachments, to get files
4536 from other pages use "attachment:WikiName/filename.ext".
4537 * New macros: Date(unixtimestamp) and DateTime(unixtimestamp) to
4538 display a timestamp according to system/user settings
4539 * Variable substitution when a page is saved, note that saving
4540 template pages does NOT expand variables. Supported are:
4541 @DATE@ Current date in the system's format
4542 @TIME@ Current date and time in the user's format
4543 @USERNAME@ Just the user's name (or his domain/IP)
4544 @USER@ Signature "-- loginname"
4545 @SIG@ Dated Signature "-- loginname date time"
4546 @MAILTO@ A fancy mailto: link with the user's data
4547 * Copied some new emoticons from PikiePikie
4548 || {{{ :-? }}} || :-? || tongue.gif ||
4549 || {{{ :\ }}} || :\ || ohwell.gif ||
4550 || {{{ >:> }}} || >:> || devil.gif ||
4551 || {{{ %) }}} || %) || eyes.gif ||
4552 || {{{ @) }}} || @) || eek.gif ||
4553 || {{{ |) }}} || |) || tired.gif ||
4554 || {{{ ;)) }}} || ;)) || lol.gif ||
4555 * AbandonedPages macro
4556 * Added definition list markup: {{{<whitespace>term:: definition}}}
4557 * Added email notification features contributed by Daniel Sa� * SystemInfo: show "Entries in edit log"
4558 * Added "RSS" icon to RecentChanges macro and code to generate a
4559 RecentChanges RSS channel, see
4560 http://www.usemod.com/cgi-bin/mb.pl?UnifiedRecentChanges
4562 * Added config.sitename and config.interwikiname parameter
4563 * Better WikiFarm support:
4564 * <datadir>/plugin/macro and <datadir>/plugin/action can be used
4565 to store macros and actions local to a specific wiki instance
4566 * config.shared_intermap can contain a pathname to a shared
4567 "intermap.txt" file (i.e. one stored outside the datadir)
4568 * added `backtick` shortcut for {{{inline literal}}} (has to be
4569 enabled by "backtick_meta=1" in the config file); note that ``
4570 is then a shorter replacement for '''''' escaping
4571 * added inline search fields (at the bottom of each page)
4572 * Added preview to the editor, including spell checking
4573 * New languages: Chinese (Changzhe Han) and Portuguese (Jorge
4574 Godoy), updated French (Lucas Bruand), added Korean (Hye-Shik
4575 Chang) and Italian (Lele Gaifax)
4576 * New SystemAdmin macro
4577 * `[[Anchor(anchorname)]]` macro to insert anchors into a page,
4578 and [#anchorname Anchor Links].
4579 * User option to open editor view via a double-click
4580 * Added commentary field to editor, recent changes and page info
4581 * Page trails (user option)
4582 * UserPreferences: checkboxes for double-click edit, page trail,
4583 fancy links, emoticons, jump to last page visited, and some
4584 other yes/no options
4585 * "config.nonexist_qm" is now the default for a user setting
4586 * `[[GetText(text)]]` macro loads I18N texts (mainly intended
4587 for use on Help pages)
4588 * table attributes via "||<attrlist> ... ||", more details on
4589 http://purl.net/wiki/moin/HelpOnTables
4590 * PythonFaq interwiki tag and support for $PAGE placeholder
4591 * event logging, as the basis for future statistics
4592 * "moin-dump" command line tool to create a static copy of
4594 * "config.external_diff" allows to set an exact path to the
4595 command, or change the name to for example "gdiff" if GNU
4596 diff is not a native command in your UNIX flavour
4597 * `[[PageSize]]` macro
4598 * the interwiki name "Self" now always points to the own wiki
4599 * config.title1 and config.title2 are inserted into the output
4600 right before and after the system title html code (title1
4601 is right after the <body> tag and normally undefined, title2
4602 defaults to the "<hr>" above the page contents)
4603 * Additional link on diff pages to ignore whitespace changes
4604 * Subpages (config.allow_subpages, config.page_icons_up)
4605 * super^script^, sub,,script,, and __underline__ markup
4606 * `[[FootNote]]` macro
4607 * many other new config options, see HelpOnConfiguration for
4609 * [[StatsChart(type)]] shows statistical charts (currently
4610 defined types: hitcounts, pagesize, useragents)
4611 * 'inline:' scheme works like 'attachment:', but tries to
4612 inline the content of the attachment into the page;
4613 currently knows about "*.py" sources and colorizes them
4614 * support for Java applet "TWikiDrawPlugin" via
4615 drawing:<drawingname> URL scheme (you need to activate
4616 the AttachFile action if you want drawings)
4617 * numeric entities (&#nnnnn;) are now optionally NOT escaped,
4618 which allows you to insert more characters into a Latin-1
4619 page, especially the Euro symbol
4620 * navi_bar is now a list of page names which should be linked
4622 * test.cgi is now rolled into moin.cgi, and can be called
4623 by adding "?test" to the wiki base URL. Also, as a security
4624 feature, the server's environment is only shown for requests
4625 local to the web server.
4627 Unfinished features:
4628 * user defined forms
4629 * XML export of all data in the wiki
4632 * extended the online help ("Help*" pages)
4633 * German help pages (thanks to Thomas Waldmann)
4636 * #425857: python Parser bug on the second call
4637 * #424917: Caching control
4638 * #465499: Two HTTPS problems
4639 * #491155: FrontPage hardcoded
4640 * Handling of inbound UTF-8 encoded URIs (only with Python >= 2.0)
4641 * Fix for subtle changes in "re" of Python 2.2
4642 * User-provided URLs are now never URL-escaped, which allows appending
4643 #anchors and using %20 for spaces in InterWiki links
4645 -----------------------------------------------------------------------------
4646 Version 0.10 (2001-10-28, Revision 1.134)
4648 This version is still Python 1.5.2 compatible, but it's not extensively
4649 tested for that version and some parts of the system might not work
4650 there, especially seldom used macros and actions. Bug reports welcome!
4653 * "#deprecated" processing instruction
4654 * config entry "SecurityPolicy" to allow for customized permissions
4655 (see "security.py" for more)
4656 * added distutils support
4657 * though not extensively tested, the standalone server now does POST
4658 requests, i.e. you can save pages; there are still problems with
4659 persistent global variables! It only works for Python >= 2.0.
4660 * "bang_meta" config variable and "!NotWikiWord" markup
4661 * "url_mappings" config variable to dynamically change URL prefixes
4662 (especially useful in intranets, when whole trees of externally
4663 hosted documents move around)
4664 * setting "mail_smarthost" and "mail_from" activates mailing
4665 features (sending login data on the UserPreferences page)
4666 * very useful for intranet developer wikis, a means to view pydoc
4667 documentation, formatted via a XSLT stylesheet, for details see
4668 http://purl.net/wiki/python/TeudViewer?module=MoinMoin.macro.TeudView
4669 or MoinMoin/macro/TeudView.py
4670 * "LocalSiteMap" action by Steve Howell <showell@zipcon.com>
4671 * Added FOLDOC to intermap.txt
4674 * Full config defaults, import MoinMoin now works w/o moin_config.py
4675 * Better control over permissions with config.umask
4676 * Bugfix for a UNIX time billenium bug (affecting RecentChanges
4677 sorting and page diffs)
4678 * data paths with directory names containing dots caused problems
4680 -----------------------------------------------------------------------------
4681 Version 0.9 (2001-05-07)
4684 * XML page input (pages that start with "<?xml") and XSLT formatting
4685 * Page caching, for now limited to XSLT processing (where it's
4686 absolutely needed); new code & API to add the "RefreshCache" link
4687 * Selection of common date/time formats in UserPreferences
4688 * New action "titleindex" to support wiki introspection (MetaWiki);
4689 see the new links below the index bar in "TitleIndex"
4690 * UserPreferences: editable CSS URL for personal styles
4691 * PageInfo: the editor's name or IP is shown for each change
4692 * WantedPages: a new macro that lists links to non-existent pages
4693 * OrphanedPages: a new macro that lists pages no other page links to
4694 * Extensions to the FullSearch macro (see HelpOnMacros)
4695 * Python syntax highlighting
4696 * "DeletePage" action (has to be activated, see MoinMoinFaq)
4697 * "Remove trailing whitespace from each line" option in the editor
4698 * I18N (currently German and Swedish)
4699 * Config option "url_schemas" to extend the supported URL types
4700 * Improved tracebacks by using Ka-Ping's "cgitb"
4703 * The editor now sends a "no-cache" HTTP header
4704 * "PageList" results are now sorted
4705 * New config parameter "html_head_queries": send additional header
4706 for all pages EXCEPT the "normal" view; main usage is to have
4707 only the normal pages indexed by a spider, not the edit, print,
4708 etc. views (which cause multiple hits on the same information)
4709 * Store the modification time of the page file in the editlog, not
4710 the current time when the log entry is created
4712 -----------------------------------------------------------------------------
4713 Version 0.8 (2001-01-23)
4716 * Page templates (create a new page using a template page, by Richard)
4717 * Pluggable actions (by Richard)
4718 * Added "diff since bookmark"
4719 * Only "normal" URLs (outside of brackets) are converted to inline images
4720 * Show number of backups in SystemInfo macro
4721 * Show info on installed extension macros and actions
4722 * New macro: [[BR]] for line breaks
4723 * New action "LikePages" (again, Richard)
4724 * Highlighting of search results, and of bad words when spellchecking
4725 * Support for "file:" URLS
4726 * "SpellCheck" action (Richard, me, and Christian)
4727 * [[Include]] macro (you guessed it, Richard)
4730 * Update bookmark with load time, not click time
4731 * Changed CSS styles to better suit Netscape's broken handling of CSS
4733 -----------------------------------------------------------------------------
4734 Version 0.7 (2000-12-06)
4737 * RecentChanges bookmarking
4741 * Non-greedy extended WikiNames
4743 -----------------------------------------------------------------------------
4744 Version 0.6 (2000-12-04)
4747 * [[UserPreferences]] macro and associated functions
4748 * [[TableOfContents]] macro
4749 * Mechanism for external macros (user extensions)
4750 * Numbered list types and start offsets
4753 * Search dialogs did not work on the FrontPage
4754 * Add newline to text if last line has none (better diffs)
4756 -----------------------------------------------------------------------------
4757 Version 0.5 (2000-11-17)
4760 * Major refactoring: code is now broken up into modules within the
4762 * Diagnosis of installation via a "test.cgi" script
4764 * "#format" processing instruction
4766 * [[RandomPage]] and [[RandomPage(number)]] macro
4767 * configurable footer ("page_footer1" and "page_footer2")
4768 * "#redirect" processing instruction
4771 * Bugfix for broken CGI environment of IIS/4.0
4772 * URLs and InterWiki links are now less greedy (punctuation at the end
4773 is excluded, and "<" ends them, too)
4775 -----------------------------------------------------------------------------
4776 Version 0.4 (2000-11-01)
4779 * Table markup "||a||b||c||"
4780 * Headlines "= H1 =", "== H2 ==", and so on up to H5
4781 * [[PageCount]] macro
4782 * Added [[Icon(image)]] macro and macro arguments
4783 * [[PageList(title-regex)]] macro
4784 * New help system (set of help pages describing all features)
4787 * Create complete URL for "Clear message" link
4788 * Inline code spans needed cgi.escape
4789 * Better fix for Python 1.6 "re" problems
4790 * Fix for uppercase extensions in inline images ("foo.JPG")
4791 * Fixed colspan in RecentChanges
4792 * HR size is now limited to 8
4793 * "}" ends an URL pattern (fixes URLs right at the end of code displays)
4795 -----------------------------------------------------------------------------
4796 Version 0.3 (2000-10-25)
4799 * Check for inline images with InterWiki links (Spam:eggs.gif)
4800 * New config variable "allow_extended_names", which enables markup for
4801 wiki names containing ANY character like this: ["any chars"]
4802 * New config variable "html_head"
4803 * New macro [[SystemInfo]]
4804 * Added inline code ("{{{" and "}}}" on the same line)
4805 * Support for new config variable "max_macro_size"
4808 * Don't treat sequences with a double colon (CPP::Namespace) as an
4810 * The local part of InterWiki links is now correctly URL-escaped
4811 * Quickfix for a bug in 1.6's regular expressions
4812 * Fixed "SpamSpamSpam" bug (multiple entries in word list)
4813 * Anchor names get quoted in WordIndex and TitleIndex
4814 * Filtering of filenames in page_list() corrected
4815 * Escape &, <, > when sending the editor
4816 * Final(?) fix for japanese wiki names
4818 -----------------------------------------------------------------------------
4819 Version 0.2 (2000-08-26)
4822 * When saving, a datestamp saved in the form and that of the file are
4823 compared now; so, accidently saving over changes of other people is
4824 not possible anymore (saving still needs file locking though, for
4826 * if the directory "backup" exists in the data dir, pages are saved
4827 there before a new version is written to disk
4828 * Removed the "Reset" button from EditPage
4829 * Added "Reduce editor size" link
4830 * Added Latin-1 WikiNames (JürgenHermann ;)
4831 * Speeded up RecentChanges by looking up hostnames ONCE while saving
4832 * Show at most 14 (distinct) days in RecentChanges
4833 * Added icons for common functions, at the top of the page
4834 * Added a printing preview (no icons, etc.)
4835 * Added bracketed (external) URLs
4836 * Added support for quoted URLs ("http://...")
4837 * Added styles for :visited links to CSS
4838 * Embed image if an URL ends in .gif/.jpg/.png
4839 * No markup detection in code sections
4840 * Grey background for code sections
4841 * Added handling for numbered lists
4842 * the edit textarea now grows in width with the browser window
4843 (thanks to Sebastian Dau�for that idea)
4844 * Added page info (revision history) and viewing of old revisions
4845 * Added page diff, and diff links on page info
4846 * Added InterWiki support (use "wiki:WikiServer/theirlocalname"; the list
4847 of WikiServers is read from "data/intermap.txt")
4848 * Added "normal" InterWiki links
4849 * Added "action=raw" to send the raw wiki markup as text/plain (e.g. for
4850 backup purposes via wget)
4853 * Removed an exception when saving empty pages
4854 * Fixed bold nested into emphasis ('''''Bold''' Italic'')
4856 -----------------------------------------------------------------------------
4857 Version 0.1 (2000-07-29)
4859 Improvements over PikiPiki 1.62:
4860 * Moved configuration to "moin_config.py"
4861 * Added "edit_rows" setting
4862 * Added navigation bar
4863 * Improved HTML formatting
4864 * Added timing comment (page created in xx secs)
4865 * ISO date and time formats by default
4866 * Formatted RecentChanges with HTML tables
4867 * Uppercase letters for the index pages
4868 * Added PythonPowered logo
4871 * Javadoc comments now get formatted properly in {{{ }}} sections
4872 * Remove \r from submitted pages (so we get PORTABLE wiki files)
4873 * chmod(0666) eases manual changes to the data dir
4875 -----------------------------------------------------------------------------