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