comparison docs/CHANGES @ 3118:95026d5a2125

update CHANGES: 1.5 branch up to 1.5.8, 1.6 branch up to 1.6.1 release
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Tue, 26 Feb 2008 00:16:12 +0100
parents 80e1a910a2f1
children ca1c60a5285c
comparison
equal deleted inserted replaced
3117:ca46b0fb40d1 3118:95026d5a2125
88 the link is shown with nonexistent class (grey). 88 the link is shown with nonexistent class (grey).
89 * cfg.show_login is gone, see code in theme/__init__.py, this affects 89 * cfg.show_login is gone, see code in theme/__init__.py, this affects
90 many themes! 90 many themes!
91 * needs a new userprefs/ plugin directory 91 * needs a new userprefs/ plugin directory
92 92
93 Version 1.6.current: 93
94 94 Version 1.6.1:
95 Developer notes (these should be moved to the end in the release): 95 New features:
96 * Page.url() does not escape any more. You have to use wikiutil.escape() 96 * Improved params for [[target|label|params]]:
97 yourself if you want to write the URL to HTML and it contains e.g. &. 97 Added accesskey link tag attribute, e.g.: [[target|label|accesskey=1]].
98 * the testing wikiconfig moved to tests/wikiconfig.py, the testing wiki 98 Additionally to specifying link tag attributes (like class=foo), you can
99 is now created in tests/wiki/... 99 now also specify &key=value for getting that into the query string of
100 * killed "processors" (finally), formatter method changed to: 100 the link URL.
101 formatter.parser(parsername, lines) 101 The "&" character is important, don't forget it or it won't get into the
102 * refactored some actions to use ActionBase base class 102 query string!
103 * moved "test" action from wikiaction to MoinMoin/action/ 103 E.g. for an attachment, you can use:
104 (and use ActionBase) 104 [[attachment:foo.pdf|Direct download of foo.pdf|&do=get]]
105 * moved MoinMoin/config.py to MoinMoin/config/__init__.py 105 E.g. for linking to some specific diff, you can use:
106 * moved MoinMoin/multiconfig.py to MoinMoin/config/multiconfig.py 106 [[SomePage|see that diff|&action=diff,&rev1=23,&rev2=42]]
107 * moved "SystemInfo" macro from wikimacro to MoinMoin/macro/ 107 See also the updated HelpOnLinking page!
108 * moved wikiaction.py stuff to MoinMoin/action/__init__.py 108 * AdvancedSearch: make multipe categories/languages/mimetype selections possible
109 * moved wikimacro.py stuff to MoinMoin/macro/__init__.py 109 * Added a configuration directive to only do one bind to the LDAP server.
110 * moved wikirpc.py stuff to MoinMoin/xmlrpc/__init__.py 110 This is useful if you bind as the user the first time.
111 * moved wikitest.py stuff to action/test.py (only used from there) 111 ldap_bindonce = False # default
112 * moved formatter/base.py to formatter/__init__.py (FormatterBase) 112
113 * moved util/ParserBase.py to parser/ParserBase.py 113 Fixes:
114 * moved / splitted request.py into MoinMoin/request/* 114 * Fix XSS issue in login action.
115 Most stuff will be broken, please help fixing it (usually some imports 115 * Fix wrong pagename when creating new pages on Mac OS X - that was a big
116 will be missing and the adaptor script will need a change maybe): 116 showstopper for moin 1.6.0 on Mac OS X.
117 Tested successfully: CGI, CLI, STANDALONE, FCGI, TWISTED 117 * Fixed 1.6 migration script:
118 TODO: MODPY, WSGI 118 Make sorting python 2.3 compatible.
119 * moved util/antispam.py to security/antispam.py, 119 Just skip corrupted event log lines.
120 moved util/autoadmin.py to security/autoadmin.py, 120 Fix link conversion by using data.pre160 as data_dir.
121 moved security.py to security/__init__.py, 121 Fix bad /InterWiki pagenames when encountering interwiki links with bad
122 moved wikiacl.py to security/__init__.py. 122 wiki names.
123 * moved logfile/logfile.py to logfile/__init__.py 123 Improve ImageLink conversion by using its argument parser code.
124 * moved mailimport.py to mail/mailimport.py, 124 Added STONEAGE_IMAGELINK (default: False) switch to wiki markup converter,
125 moved util/mail.py to mail/sendmail.py 125 toggle it if you had a very old ImageLink macro in production and the
126 * moved auth.py to auth/__init__.py, 126 converter output has target and image interchanged.
127 moved util/sessionParser.py to auth/_PHPsessionParser.py, 127 Fixed UnicodeDecodeError for wrongly encoded attachment filenames.
128 teared auth code into single modules under auth/* - moin_session handling 128 * Wiki parser:
129 and the builting moin_login method are in auth/__init__.py. 129 Fix parsing of link/transclusion description and params.
130 * added wikiutil.MimeType class (works internally with sanitized mime 130 Fix relative attachment targets.
131 types because the official ones suck) 131 Fix supported URL schemes (some got lost since 1.5.8).
132 * renamed parsers to module names representing sane mimetypes, e.g.: 132 Showing an upload link for non-existing non-text/non-image transclusions
133 parser.wiki -> parser.text_moin_wiki 133 now (like e.g. *.pdf).
134 * Added thread_monitor debugging aid. It can be activated using: 134 * RST parser: fix attachment: and drawing: processing
135 from MoinMoin.util import thread_monitor; thread_monitor.activate_hook() 135 * Fix quickhelp when editing RST markup pages.
136 and then triggered by requesting URL ...?action=thread_monitor - please 136 * Fix Despam action: editor grouping was broken, increase time interval
137 be aware that monitoring threads has a big performance impact on its own, 137 to 30 days.
138 so you only want to temporarily enable this for debugging. 138 * Fix AdvancedSearch domain:system search crashing.
139 By default, it dumps its output to the data_dir as tm_<timestamp>.log, 139 * Only switch off xapian search if we didn't use it because of missing index.
140 you can change this at bottom of action/thread_monitor.py if you want to 140 * Fix saving twikidraw drawings by removing 'java' from spider regex.
141 see output in your browser. 141 * Fix classic theme's unsubscribe icon's action link.
142 * Introduced scope parameter to CacheEntry() - if you specify 'farm', it 142 * Fix AttachFile action: don't show unzip for packages, only show install
143 will cache into a common directory for all wikis in the same farm, if you 143 for superuser.
144 specify 'wiki', it will use a cache directory per wiki and if you specify 144 * Fix "su user" troubles on UserPreferences.
145 'item', it will use a cache directory per item (== per page). 145 * Removed unit tests from ?action=test (due to changes in our test
146 Creating a CacheEntry without explicit scope is DEPRECATED. 146 environment, using py.test now, this was broken).
147 * smileys moved from MoinMoin.config to MoinMoin.theme 147 * Duplicated the top directories' moin.py to wiki/server/moin.py so it gets
148 * removed all _ magic in URLs and filenames 148 installed by setup.py.
149 TODO: write mig script for data_dir 149 * Fix MoinMoinBugs/1.6.0LanguageIgnoreBrowserConfigurationError
150 * request.action now has the action requested, default: 'show'. 150 * Fix MoinMoinBugs/MoveAttachmentNotWorkingWithModPython
151 * Cleaned up duplicated http_headers code and DEPRECATED this function 151 * Fix MoinMoinBugs/1.6.0SupplementationAndAccessRights
152 call (it was sometimes confused with setHttpHeaders call) - it will 152 * Fix MoinMoinBugs/RenamingUserAllowsOldUsernameToLogin
153 vanish with moin 1.7, so please fix your custom plugins! 153 * Fix MoinMoinBugs/GuiEditorExcelPasteExpatErrorUnboundPrefix
154 The replacement is: 154
155 request.emit_http_headers(more_headers=[]) 155 Other changes:
156 This call pre-processes the headers list (encoding from unicode, making 156 * I18n texts, system and help pages updated, please update your underlay
157 sure that there is exactly ONE content-type header, etc.) and then 157 directory (see wiki/underlay/...).
158 calls a server specific helper _emit_http_headers to emit it. 158 * Improved "moin" script help, invoke it with "moin ... package command --help".
159 Tested successfully: CGI, STANDALONE, FCGI, TWISTED 159 * Added some .ext -> mimetype mappings missing on some systems (like Mac OS X).
160 TODO: CLI, MODPY, WSGI 160 * Removed ImageLink macro, as this can be easily done with moin wiki link
161 * setResponseCode request method DEPRECATED (it only worked for Twisted 161 syntax now - see HelpOnMacros/ImageLink (the 1.6 migration scripts convert
162 anyway), just use emit_http_headers and include a Status: XXX header. 162 all ImageLink calls to moin wiki link syntax).
163 Method will vanish with moin 1.7. 163 * Updated EmbedObject macro.
164 * cfg.url_prefix is DEPRECATED, please use cfg.url_prefix_static. 164
165 * d['title_link'] is not supported any more. You can easily make that link 165
166 on your own in your theme, see example in MoinMoin/theme/__init__.py, 166 Version 1.6.0:
167 function "title". 167 * This is a reduced CHANGES, ommitting details from rc/beta test and also
168 * There is a new Page method called Page.get_raw_body_str that returns 168 less interesting minor changes and fixes. If you want to see full detail,
169 the encoded page body. This is useful if you just deal with byte data 169 read it there: http://hg.moinmo.in/moin/1.6/file/640f21787334/docs/CHANGES
170 (e.g. while generating binary diffs). 170
171 * The TagStore/PickleTagStore system is used to store the syncronisation tags. 171 It took MoinMoin development a lot of work and time to implement all the new
172 * XMLRPC functions may return Fault instances from now on 172 and fixed stuff, so please, before asking for support:
173 * Moin got multicall support, including a module that makes it usable on the 173 * take the time to read all the stuff below
174 client-side without requiring Python 2.4 174 * read the new help pages (copy them from wiki/underlay/ directory)
175 * Added no_magic to text_html formatter to disable tag autoclosing. 175
176 * Added logging framework, using stdlib's "logging" module. Just do 176 * HINT: If you are upgrading from a older moin version and want to keep your
177 import logging ; logging.debug("your text"). Depending on configuration 177 existing data directory, it is essential that you read and follow
178 in the server Config class, your stuff will be written to screen (stderr), 178 README.migration because the wiki markup and user profiles changed significantly.
179 to a moin logfile, to apache's error.log, etc.: 179 See also more HINTs below...
180 logPath = None # 'moin.log' 180
181 loglevel_file = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL 181 New features: ==============================================================
182 loglevel_stderr = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL 182
183 NOTE: this is NOT in wikiconfig, but e.g. in moin.cgi or moin.py or ... 183 User interface: ------------------------------------------------------------
184 * MOIN_DEBUG can be set in the environment to let MoinMoin ignore exceptions 184 * Removed "underscore in URL" == "blank in pagename magic" - it made more
185 that would lead to a traceback in the browser. Thanks to Raphael Bossek. 185 trouble than it was worth. If you still want to have a _ in URL, just
186 * There is a new MoinMoin.Page.ItemCache class now with automatic cache 186 put a _ into pagename.
187 invalidation based on global edit-log. We currently use it to cache page 187 * Discussion pages, see FeatureRequests/DiscussionAndOrCommentPages.
188 acls, speedup Page.get_rev and reading the page local edit-log. 188 * cfg.password_checker (default: use some simple builtin checks for too
189 * Added wikiutil.renderText parse and format raw wiki markup with all page elements 189 easy passwords and, if available, python-crack).
190 * The user file format has changed, old files will be read correctly but 190 Use password_checker = None to disable password checking.
191 will silently be upgraded to the new format so old versions will not 191 * We now have a drafts functionality (no */MoinEditorBackup pages any
192 read the new files correctly (this only affects 'subscribed_pages' and 192 more):
193 'quicklinks' which will be lost when downgrading.) 193 * If you edit a page and cancel the edit, use preview or save, a draft
194 194 copy gets saved for you to a internal cache area (data/cache/drafts/).
195 New Features: 195 * If it is a save what you did and it succeeds, the draft copy gets
196 * Added Xapian (see http://xapian.org/) based indexed search code. 196 killed right afterwards.
197 * If you accidentally used cancel or your browser or machine crashes
198 after you used preview, then just visit that page again and edit it.
199 the editor will notify you that there is a draft of this page and you
200 will see a "Load draft" button. Click on it to load the draft into the
201 editor and save the page.
202 * The draft storage is per user and per page, but only one draft per page.
203 * cfg.quicklinks_default and cfg.subscribed_pages_default can be used to
204 preload new user profiles with configurable values.
205 * attachment links for non-existing attachments look different now:
206 the note about the non-existing attachment moved to the link title,
207 the link is shown with nonexistent class (grey).
208 * attachment embeddings for non-existing attachments show a grey clip
209 * The list of InterWiki sites is editable in the wiki (page InterWikiMap),
210 it is getting reloaded every minute.
211 * We support some new languages and also have new underlay pages, thanks
212 to all translators and people helping with the docs!
213
214 Actions: -------------------------------------------------------------------
215 * Synchronisation of wikis using the SyncPages action.
216 * Xapian (see http://xapian.org/) based indexed search code.
197 To use this: 217 To use this:
198 * Install xapian-core and xapian-bindings on your machine. 218 * Install xapian-core and xapian-bindings on your machine.
199 We used 0.9.4, but newer code should hopefully work, too. 219 We used 0.9.4, but newer code should hopefully work, too.
200 * cfg.xapian_search = True 220 * cfg.xapian_search = True
201 * Execute this to build the index: 221 * Execute this to build the index:
209 - LanguageSearch: language:de 229 - LanguageSearch: language:de
210 - CategorySearch: category:Homepage 230 - CategorySearch: category:Homepage
211 - MimetypeSearch: mimetype:image/png (for attachments/files) 231 - MimetypeSearch: mimetype:image/png (for attachments/files)
212 - DomainSearch: domain:underlay or domain:standard 232 - DomainSearch: domain:underlay or domain:standard
213 - History Search: available in advanced ui 233 - History Search: available in advanced ui
214 Note: Some currently only available when Xapian is used 234 Note: Some currently only available when Xapian is used.
215 * New config options: 235 * New config options and their defaults:
216 xapian_search 0 enables xapian-powered search 236 xapian_search False enables xapian-powered search
217 xapian_index_dir None directory for xapian indices 237 xapian_index_dir None directory for xapian indices
218 (can be shared for wiki farms) 238 (can be shared for wiki farms)
219 xapian_stemming 1 toggles usage of stemmer, fallback 239 xapian_stemming True toggles usage of stemmer, fallback
220 to False if no stemmer installed 240 to False if no stemmer installed
221 search_results_per_page 10 determines how many hits should be 241 search_results_per_page 10 determines how many hits should be
222 shown on a fullsearch action 242 shown on a fullsearch action
223 xapian_index_history False indexes all revisions of pages to 243 xapian_index_history False indexes all revisions of pages to
224 allow searching in their history 244 allow searching in their history
245 * Speeded up linkto search by avoiding read locks on the pagelinks file.
246
225 * The action menu now calls the actions for the revision of the page you 247 * The action menu now calls the actions for the revision of the page you
226 are currently viewing. If you are viewing the current page revision, you 248 are currently viewing. If you are viewing the current page revision, you
227 get the same behaviour as in moin 1.5, but if you are viewing an old 249 get the same behaviour as in moin 1.5, but if you are viewing an old
228 page revision, action "raw" will now show you the raw text of this OLD 250 page revision, action "raw" will now show you the raw text of this OLD
229 revision (not of the current revision as moin 1.5 did it). 251 revision (not of the current revision as moin 1.5 did it).
232 use the rev parameter, but operate on the latest page revision (as 254 use the rev parameter, but operate on the latest page revision (as
233 they did in moin 1.5). 255 they did in moin 1.5).
234 * Info action lost the links for "raw", "print" and "revert" actions, 256 * Info action lost the links for "raw", "print" and "revert" actions,
235 because you can now just view an old revision and select those actions 257 because you can now just view an old revision and select those actions
236 from the menu there. 258 from the menu there.
237 * The standalone server script moved to the toplevel directory. This makes 259
238 it possible to directly start moin.py without additional configuration
239 to run a MoinMoin DesktopEdition like wiki setup.
240 Be careful: DesktopEdition uses relaxed security settings only suitable
241 for personal and local use.
242 * Added the MMDE scripts to contrib/DesktopEdition.
243 * Removed "underscore in URL" == "blank in pagename magic" - it made more
244 trouble than it was worth. If you still want to have a _ in URL, just
245 put a _ into pagename.
246 * Introduced quoting for pagenames and new, easier link markup:
247 * ["Page with blanks" but different link text],
248 NOTE: using [:Page with blanks:but different link text] is DEPRECATED.
249 * ["/Sub Page" with different link text]
250 * MoinMoin:"Page with blanks"
251 * [wiki:MoinMoin:"Page with blanks" different link text]
252 * attachment:"blanks are evil.txt"
253
254 * FeatureRequests/WikiEmailIntegration, HelpOnConfiguration/EmailSupport
255 * HTML parser (called "html") that allows you to use HTML on the page.
256 Thanks to the trac team for the nice code.
257 * You can have a common cache_dir for your farm (will save a bit space
258 and cpu time as it shares some stuff).
259 You need to set "cache_dir = '/some/farm/cachedir' in your farmconfig.
260 * Added XMLRPC methods for attachment handling. Thanks to Matthew Gilbert.
261 * Added TLS/SSL support to the standalone server. Thanks to Matthew Gilbert.
262 To use TLS/SSL support you must also install the TLSLite library
263 (http://trevp.net/tlslite/). Version 0.3.8 was used for development and
264 testing.
265 * cfg.log_reverse_dns_lookups [default: True] - you can set this to False
266 if rev. dns lookups are broken in your network (leading to long delays
267 on page saves). With False, edit-log will only contain IP, not hostname.
268 * ?action=sitemap emits a google sitemap (XML), listing all your wiki pages 260 * ?action=sitemap emits a google sitemap (XML), listing all your wiki pages
269 and the wiki root URL. 261 and the wiki root URL.
270 Page Priority / Frequency / Last modification 262 Page Priority / Frequency / Last modification
271 -------------------------------------------------------------------- 263 --------------------------------------------------------------------
272 / 1.0 / hourly / <now> 264 / 1.0 / hourly / <now>
273 cfg.page_front_page 1.0 / hourly / page last edit 265 cfg.page_front_page 1.0 / hourly / page last edit
274 TitleIndex,RecentChanges 0.9 / hourly / <now> 266 TitleIndex,RecentChanges 0.9 / hourly / <now>
275 content pages 0.5 / daily / page last edit 267 content pages 0.5 / daily / page last edit
276 system/help pages 0.1 / yearly / page last edit 268 system/help pages 0.1 / yearly / page last edit
277 * We use rel="nofollow" for some action links in the hope that some search 269
278 engines don't fetch the targets (if they do, they will just get 403 and 270 * Action DeletePage and RenamePage can now be used for subpages of a page, too.
279 cause unnecessary traffic). 271 * Added Action CopyPage so you can use now an existing page or page hierarchy
272 as template for a new page, see FeatureRequests/CloneOrCopyPages.
273 * "Package Pages" action supports attachments now.
274 * Added SisterPages support:
275 * action=sisterpages will generate a list of url pagename lines for all
276 pages in your moin wiki.
277 * action=pollsistersites will poll all sister sites listed in
278 cfg.sistersites = [(wikiname, fetchURL), ...]
279 The fetch URL for the sistersites depends on the wiki engine, e.g.:
280 # moin based wiki:
281 ('MoinExample', 'http://moin.example.org/?action=sisterpages')
282 # oddmuse based wiki:
283 ('EmacsWiki', 'http://www.emacswiki.org/cgi-bin/test?action=sisterpages')
284 # JspWiki based wiki:
285 ('JspWiki', 'http://www.jspwiki.org/SisterSites.jsp')
286 * If the current page exists on some sister wiki, a link to it will be
287 added to the navibar.
288 You can use sister wikis for adding another dimension to your wiki UI: use
289 it for simple multi language support, or for comments, or anything else
290 "related" you need.
291 TODO: add sistersites_force with sister sites we link to even if they do not
292 have the page yet (will work only for moin as we don't know
293 pagename>url transformation of other wikis)
294 * showtags action that lists all tags related to a page.
295 * action=view does use mimetypes of EmbedObject too and text files will be shown
296 by using their colorized parsers
297
298 Macros: --------------------------------------------------------------------
299 * RecentChanges:
300 * If a change has happened after your bookmark, the updated/new/renamed
301 icon links to the bookmark diff.
302 * If a page does not exist any more (because it was deleted or renamed),
303 we link the deleted icon to the diff showing what was deleted (for the
304 delete action). For the rename action, we just show the deleted icon.
305 * Conflict icon in RecentChanges is shown if a edit conflict is detected.
306 * Enhanced SystemAdmin's user browser, so a SuperUser can enable/disable
307 users from there.
280 * Included EmbedObject macro for embedding different major mimetypes: 308 * Included EmbedObject macro for embedding different major mimetypes:
281 application, audio, image, video, chemical, x-world. 309 application, audio, image, video, chemical, x-world.
282 You are able to change the defaults of allowed mimetypes in the config var mimetypes_embed. 310 You are able to change the defaults of allowed mimetypes in the config
283 The config var mimetypes_xss_protect is used to deny mimetypes. The order of both variables 311 var mimetypes_embed. The config var mimetypes_xss_protect is used to deny
284 is Allow, Deny (mimetypes_embed, mimetypes_xss_protect) 312 mimetypes. The order of both variables is Allow, Deny (mimetypes_embed,
285 * @SIG@ etc. generate local time stamps now, no difference visible on page 313 mimetypes_xss_protect).
286 view.
287 * Speeded up linkto search by avoiding read locks on the pagelinks file.
288 * The i18n system no loads *.po files directly (no *.py or *.mo any more)
289 and caches the results (farm wide cache/i18n/*).
290 * added the diff parser from ParserMarket, thanks to Emilio Lopes, Fabien
291 Ninoles and Jürgen Hermann.
292 * Added support for "304 not modified" response header for AttachFile get
293 and rss_rc actions - faster, less traffic, less load.
294 * Added support for @SELF to the NewPage macro. 314 * Added support for @SELF to the NewPage macro.
295 * Conflict icon in RecentChanges 315 * GetText2 macro that allows to translate messages that contain data.
316 * Make the FootNote macro filter duplicates and display a list of numbers
317 instead of a list of identical footnotes. Thanks to Johannes Berg for the
318 patch.
319
320 Parsers: -------------------------------------------------------------------
321 * Moin Wiki parser: Changed markup for links, images and macros, see these
322 wiki pages: HelpOnLinking, HelpOnMacros
323 * New wiki markup for /* inline comments */ - they get rendered as a span
324 with class="comment", see next item:
325 * There is a new item in the edit bar: "Comments". If you click it, the
326 visibility of all class "comment" tags will be toggled. There is a user
327 preferences item "show_comments" to set if the default view shows them or not.
328 * The wiki parser can be used with css classes now:
329 {{{#!wiki comment
330 This will render output within a div with class "comment".
331 You can use any wiki markup as usual.
332 }}}
333 You can also combine multiple css classes like this:
334 {{{#!wiki red/dotted/comment
335 This will render a red background, dotted border comment section.
336 }}}
337 The same thing will work for any other css classes you have.
338 If the css classes contain the word "comment", they will trigger some
339 special feature, see next item:
340 * Wiki nested parser/pre sections work now, using this syntax:
341 a) just use more curly braces if you have 3 closing in your content:
342 {{{{
343 }}} <- does not terminate the section!
344 }}}}
345 b) use {{{ + some magic string:
346 {{{somemagicstring
347 }}} <- does not terminate the section!
348 somemagicstring}}}
349 c) {{{whatever#!python
350 # py code
351 whatever}}}
352 Pitfall: stuff like below does not work as it did in 1.5:
353 {{{aaa
354 bbb}}}
355 Solution:
356 {{{
357 aaa
358 bbb
359 }}}
360 * Added support for ircs: URLs (secure IRC).
361 * New text/creole parser that allows you to use WikiCreole 1.0 markup,
362 use #format creole.
363 * HTML parser (called "html") that allows you to use HTML on the page.
364 Thanks to the trac team for the nice code.
365 * Added the diff parser from ParserMarket, thanks to Emilio Lopes, Fabien
366 Ninoles and Juergen Hermann.
367
368 XMLRPC: --------------------------------------------------------------------
369 * actions_excluded now defaults to ['xmlrpc'] - this kind of disables the
370 built-in wiki xmlrpc server code (not completely: it will just answer
371 with a Fault instance for any request). If you want to use xmlrpc v1 or
372 v2, you have to remove 'xmlrpc' from the actions_excluded list (for
373 example if you want to use wikisync, mailimport or any other feature
374 using xmlrpc). If you enable xmlrpc, it will be possible that someone
375 changes your wiki content by using xmlrpc (it will of course honour ACLs).
296 * New XMLRPC methods (see doc strings for details): 376 * New XMLRPC methods (see doc strings for details):
297 * getMoinVersion 377 * getMoinVersion
298 * system.multicall -- multicall support 378 * system.multicall -- multicall support
299 * Authentication System: getAuthToken/appyAuthToken 379 * Authentication System: getAuthToken/appyAuthToken
300 * getDiff -- method to get binary diffs 380 * getDiff -- method to get binary diffs
304 no system pages etc.) 384 no system pages etc.)
305 * getAuthToken -- make and authentication token by supplying username/password 385 * getAuthToken -- make and authentication token by supplying username/password
306 * applyAuthToken -- set request.user for following xmlrpc calls (within the 386 * applyAuthToken -- set request.user for following xmlrpc calls (within the
307 same multicall) 387 same multicall)
308 * getUserProfile -- method to get user profile data for request.user 388 * getUserProfile -- method to get user profile data for request.user
309 * IWID support - i.e. every wiki instance has a unique ID 389 * Added XMLRPC methods for attachment handling. Thanks to Matthew Gilbert.
310 * The list of InterWiki sites is editable in the wiki (page InterWikiMap), 390 * XMLRPC putPage method adjusted to new AuthToken, config vars
311 it is getting reloaded every minute 391 xmlrpc_putpage_enabled and xmlrpc_putpage_trusted_only removed.
312 * Syncronisation of wikis using the SyncPages action 392
313 * GetText2 macro that allows to translate messages that contain data 393 Scripts / Commandline interface: -------------------------------------------
314 * showtags action that lists all tags related to a page 394 * moin export dump now better conforms to the theme guidelines.
315 * if you have "#acl" (without the quotes) on a page, this means now: 395 * Added a --dump-user option to the moin export dump command.
396 Thanks to Oliver O'Halloran.
397
398 Security / Auth / AntiSpam / etc.: -----------------------------------------
399 * Hierarchical ACLs are now supported, i.e. pages inheriting permissions
400 from higher-level pages. See HelpOnAccessControlLists.
401 * If you have "#acl" (without the quotes) on a page, this means now:
316 "this page has own (empty) ACLs, so do not use acl_rights_default here" 402 "this page has own (empty) ACLs, so do not use acl_rights_default here"
317 Please note that this is COMPLETELY DIFFERENT from having no ACL line at 403 Please note that this is COMPLETELY DIFFERENT from having no ACL line at
318 all on the page (acl_rights_default is used in that case). 404 all on the page (acl_rights_default is used in that case).
319 * Added support for actions in the irssi parser. Thanks to Georg Brandl. 405 * Antispam master url is now configurable via cfg.antispam_master_url.
320 * */MoinEditorBackup pages are not created any more (TODO: write mig script 406 The default is to fetch the antispam patterns from MoinMaster wiki.
321 that removes existing ones from data/pages). We now have a drafts 407 * Antispam now checks the edit comments against BadContent also.
322 functionality as follows: 408 * TextCHAs (text-form CAPTCHAs).
323 * if you edit a page and cancel the edit, use preview or save, a draft 409 Due to increasingly annoying wiki spammers, we added the option to use
324 copy gets saved for you to a internal cache area (data/cache/drafts/). 410 TextCHAs (for page save (not for preview!), for attachment upload, for
325 * if it is a save what you did and it succeeds, the draft copy gets 411 user creation (not for profile save)).
326 killed right afterwards. 412 This function is disabled by default. If you run a wiki that is editable
327 * if you accidentally used cancel or your browser or machine crashes 413 by anonymous or non-approved users from the internet (i.e. All: or Known:
328 after you used preview, then just visit that page again and edit it. 414 in ACL terms), you should enable it in your wiki config by:
329 the editor will notify you that there is a draft of this page and you 415 textchas = { # DO NOT USE EXACTLY THESE QUESTIONS!!!
330 will see a "Load draft" button. Click on it to load the draft into the 416 'en': {
331 editor and save the page. 417 u'H2O is ...': u'water', # bad: too common
332 * The draft storage is per user and per page, but only one draft per page. 418 u'2 apples and three bananas makes how many fruits?': ur'(five|5)', # good
333 * cfg.quicklinks_default and cfg.subscribed_pages_default can be used to 419 u'2 apples and three pigs makes how many fruits?': ur'(two|2)', # good
334 preload new user profiles with configurable values. 420 u'2+3': ur'5', # bad: computable
335 * added support for ircs: URLs (secure IRC) 421 u'
336 * it is now supported to resize an image from within the gui editor 422 },
337 * we now log a rename action as SAVE/RENAME in edit-log and display 423 'de': { # for german users
338 appropriate comments if the user did not supply an own comment. 424 u'H2O ist ...': u'wasser',
339 We also use a different icon to display the rename action on RecentChanges. 425 },
340 TODO: add a different icon for "renamed", we currently just use the same 426 }
341 as for "updated" with different alt text, see theme/__init__.py. 427 This means that english users will get some random question from the 'en'
342 * RecentChanges: 428 set, german users will get some from the 'de' set. If there is no 'de'
343 * if a change has happened after your bookmark, the updated/new/renamed 429 set configured, moin will fallback to language_default and then to 'en',
344 icon links to the bookmark diff. 430 so make sure that you at least have a 'en' set configured (or whatever
345 * if a page does not exist any more (because it was deleted or renamed), 431 you have set as language_default).
346 we link the deleted icon to the diff showing what was deleted (for the 432 You need to use unicode for the questions and answers (see that u"...").
347 delete action). For the rename action, we just show the deleted icon. 433 For the answer, you need to give a regular expression:
348 * the login page gives now the possibility to recover a lost password, thanks to 434 * In the easiest case, this is just some word or sentence (first en
435 example). It will be matched in a case-insensitive way.
436 * For more complex stuff, you can use the power of regular expressions,
437 e.g. if multiple answers are correct (second en example). Any answer
438 matching the regular expression will be considered as correct, any
439 non-matching answer will be considered as incorrect.
440
441 Tipps for making it hard to break for the spammers and easy for the users:
442 * Use site-specific (not too common) questions.
443 * Don't use too hard questions (annoys legitimate users).
444 * Don't use computable questions.
445 * Don't reuse textchas from other sites.
446
447 textchas_disabled_group = None # (default)
448 Set this to some group name and noone in this group will get textchas.
449 E.g.: textchas_disabled_group = u'NoTextChasGroup'
450
451 * The login page gives now the possibility to recover a lost password, thanks to
349 Oliver Siemoneit. This is especially useful for wikis where access to user 452 Oliver Siemoneit. This is especially useful for wikis where access to user
350 preferences is restricted by acl. 453 preferences is restricted by acl.
351 * we now have the possibility to add a Discussion page
352 (FeatureRequests/DiscussionAndOrCommentPages)
353 * Package Pages does now support attachments
354 * The wiki parser can be used with css classes now:
355 {{{#!wiki comment
356 This will render output within a div with class "comment".
357 You can use any wiki markup as usual.
358 }}}
359 You can also combine multiple css classes like this:
360 {{{#!wiki red/dotted/comment
361 This will render a red background, dotted border comment section.
362 }}}
363 The same thing will work for any other css classes you have.
364 If the css classes contain the word "comment", they will trigger some
365 special feature, see next item:
366 * New wiki markup for /* inline comments */ - they get rendered as a span
367 with class="comment", see next item:
368 * There is a new item in the edit bar: "Comments". If you click it, the
369 visibility of all class "comment" tags will be toggled. There is a user
370 preferences item "show_comments" to set if the default view shows them or not.
371 * Added SisterPages support:
372 * action=sisterpages will generate a list of url pagename lines for all
373 pages in your moin wiki.
374 * action=pollsistersites will poll all sister sites listed in
375 cfg.sistersites = [('OtherWiki', 'http://otherwiki.org/?action=sisterpages'), ...]
376 * if the current page exists on some sister wiki, a link to it will be
377 added to the navibar.
378 You can use sister wikis for adding another dimension to your wiki UI: use
379 it for simple multi language support, or for comments, or anything else
380 "related" you need.
381 TODO: remove sample sistersites from multiconfig
382 add sistersites_force with sister sites we link to even if they do not
383 have the page yet (will work only for moin as we don't know
384 pagename>url transformation of other wikis)
385 * Make the FootNote macro filter duplicates and display a list of numbers
386 instead of a list of identical footnotes. Thanks to Johannes Berg for the
387 patch.
388 * autofilters for databrowser widget. Thanks to Johannes Berg for the patch.
389 * action DeletePage and RenamePage could now be used for subpages of a page too
390 * Added Action CopyPage so you can use now an existing page or page hierarchy
391 as template for a new page, see FeatureRequests/CloneOrCopyPages.
392 TODO: we need a copy icon in RC
393 * Session handling for logged-in users and (not by default due to expiry 454 * Session handling for logged-in users and (not by default due to expiry
394 problems) anonymous users. 455 problems) anonymous users.
456 * Updated the ldap_login code from 1.5 branch, supports TLS now.
457 See MoinMoin/config/multiconfig.py for supported configuration options
458 and their defaults (and please just change what you need to change,
459 in your wikiconfig).
395 * Interwiki auth: You need to define cfg.trusted_wikis and 460 * Interwiki auth: You need to define cfg.trusted_wikis and
396 cfg.user_autocreate to use it. Logging in works by entering: 461 cfg.user_autocreate to use it. Logging in works by entering:
397 Name: RemoteWikiName RemoteUserName 462 Name: RemoteWikiName RemoteUserName
398 Password: remotepass 463 Password: remotepass
399 Then moin contacts RemoteWikiName after looking it up in the interwiki 464 Then moin contacts RemoteWikiName after looking it up in the interwiki
400 map and tries to authenticate there using RemoteUserName and remotepass. 465 map and tries to authenticate there using RemoteUserName and remotepass.
401 If it succeeds, the remote wiki will return the remote user profile items 466 If it succeeds, the remote wiki will return the remote user profile items
402 and your local moin will autocreate an account with these values. 467 and your local moin will autocreate an account with these values.
403 * Antispam master url is now configurable via cfg.antispam_master_url. 468
404 The default is to fetch the antispam patterns from MoinMaster wiki. 469 Server / Network / Logging: ------------------------------------------------
405 * inline is changed to use mimetypes of EmbedObject too. e.g. 470 * The standalone server script moved to the toplevel directory. This makes
406 inline:song.mp3 embeds the audio controls into your page 471 it possible to directly start moin.py without additional configuration
407 * action=view does use mimetypes of EmbedObject too and text files will be shown 472 to run a MoinMoin DesktopEdition like wiki setup.
408 by using their colorized parsers 473 Be careful: DesktopEdition uses relaxed security settings only suitable
409 * Hierarchical ACLs are now supported, i.e. pages inheriting permissions 474 for personal and local use.
410 from higher-level pages. See HelpOnAccessControlLists. 475 * Added TLS/SSL support to the standalone server. Thanks to Matthew Gilbert.
411 476 To use TLS/SSL support you must also install the TLSLite library
412 477 (http://trevp.net/tlslite/). Version 0.3.8 was used for development and
413 Bugfixes: 478 testing.
414 * on action "info" page, "revert" link will not be displayed for empty page 479
415 revisions (but you just can delete the current page to get an empty rev.) 480 * cfg.log_reverse_dns_lookups [default: True] - you can set this to False
416 * fix vanishing strike markup after gui editor usage 481 if rev. dns lookups are broken in your network (leading to long delays
417 * fix deletion of empty Interwiki links ([wiki:MoinMaster: mm entry page]) 482 on page saves). With False, edit-log will only contain IP, not hostname.
418 * fix mod_python attachment upload bug (thanks to Nick Phillips) 483 * Added support for "304 not modified" response header for AttachFile get
419 * fix show_version to show it in the same way as SystemInfo 484 and rss_rc actions - faster, less traffic, less load.
420 * allow "-" in usernames (fixes "Invalid user name" msg) 485
421 * fixed smiley caching bug (smileys didn't change theme) 486 * Added logging framework, using stdlib's "logging" module. Just do
422 * fixed backtrace when user removed css_url entry from user_form_fields 487 import logging ; logging.debug("your text"). Depending on configuration
423 * Fixed the output of macro and "attachment:" usages of the rst parser. 488 in the server Config class, your stuff will be written to screen (stderr),
424 * Removed Twisted request object reverse DNS lookup 489 to a moin logfile, to apache's error.log, etc.:
425 * cfg.editor_quickhelp was not parsed with the wiki parser when customized 490 logPath = None # 'moin.log'
426 * fixed MoinMoin:MoinMoinBugs/GuiEditorDeletesNewBulletText 491 loglevel_file = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL
427 * fixed MoinMoin:MoinMoinBugs/HtmlTextConvertTables 492 loglevel_stderr = None # logging.DEBUG/INFO/WARNING/ERROR/CRITICAL
428 * updated ImageLink macro 493 NOTE: this is NOT in wikiconfig, but e.g. in moin.cgi or moin.py or ...
429 * Added a (less broken) MoinMoin.support.difflib, details see there. 494
430 * BadContent and LocalBadContent now get noindex,nofollow robots header, 495 * Added some experimental and disabled code, that uses x-forwarded-for
431 same as POSTs. 496 header (if present) to get the right "outside" IP before a request
432 * Fixed handling of anchors in wiki links for the Restructured text parser. 497 enters our chain of trusted (reverse) proxies.
433 * Fixed http header output. 498 This code has the problem that we can't configure it in wikiconfig, so
434 * Fixed request.cfg corruption in the fckdialog code that could lead 499 if you want to use it / test it, you have to edit the moin code:
435 to e.g. stalled servers (thanks to David Linke) 500 MoinMoin/request/__init__.py - edit proxies_trusted (near the top).
436 * Fixed typo in NewPage that lead to a NameError. 501 We will try to make this easier to configure, but there was no time left
437 * Fixed standalone server failing to shutdown if interface == "". 502 before 1.6.0 release for doing bigger code refactorings needed for that.
438 * Conflict resolution fixes. 503
439 * Python 2.5 compatibility fixes in the Page caching logic 504 Mail: ----------------------------------------------------------------------
440 * sre pickle issues in the wikidicts code 505 * You can send email to the wiki now (requires xmlrpc), see:
441 * cgitb can hide particular names, this avoids information leaks 506 FeatureRequests/WikiEmailIntegration, HelpOnConfiguration/EmailSupport
442 if the user files cannot be parsed for example 507
443 * Fixed User.__repr__ - it is insane to put the ID in there 508 * Mail notifications contain a link to the diff action so the user
444 * Worked around the FastCGI problem on Lighttpd: empty lines in the error 509 can see the coloured difference more easily. Thanks to Tobias Polzin.
445 log, thanks to Jay Soffian 510
446 * Fixed the MetaDict code to use locks. 511 Other changes: =============================================================
447 * Fixed bug in request.py that avoided showing a traceback if there was a fault 512 * HINT: please copy a new version of your server script from the wiki/server/
448 after the first headers were sent. 513 directory and edit it to match your setup.
449 * Fixed severe race conditions in the meta dict and the sync tags code.
450 * Mute the tempnam warning in the caching module.
451 * diff3 algorithm extended, a new mode should reduce the conflicts,
452 fixed a bug that silently truncated pages if there was content added
453 on one side at the end
454 * Standalone opens it logfile unbuffered from now on, thanks to
455 Carsten Grohmann
456 * Now MoinMoin does not anymore think that every page links to various user
457 homepages anymore.
458 * Now multiple formatters can be used per request, the send_page code was
459 not reentrant to this regard. Fixes "empty" search results.
460 * Not a moin bug, but it severely annoyed IE users and also was less
461 comfortable for users of other browser: since about 1.5.4, we served
462 attachments with Content-Disposition: attachment - so that the user has
463 to save them to disk. This was to fix a possible XSS attack using attached
464 HTML files with Javascript inside for stealing your moin cookie or doing
465 other nasty things. We improved this by using different behaviour depending
466 on the potential danger the attached file has when served inline:
467 The config option contains a few mimetypes that are known to be inherently
468 unsafe to this regard. If you know more dangerous stuff, please just
469 add the mimetypes there to protect your users and file a bug report
470 telling us what we missed.
471 * Avoid infinite recursion in Page.parsePageLinks.
472 * Now ImageLink could be used with InterwikiLinks for pages
473 * Cookies were made more secure by signing each cookie with its own
474 secret and checking expiry, that way a cookie can no longer be stolen
475 and used again after logging out.
476
477 Other changes:
478 * HINT: if you run standard CGI, copy and edit the new moin.cgi from
479 wiki/server/moin.cgi (we made it more similar to how standalone or
480 Twisted start script works)
481 * HINT: instead of "from MoinMoin.multiconfig import DefaultConfig" you 514 * HINT: instead of "from MoinMoin.multiconfig import DefaultConfig" you
482 need to use "from MoinMoin.config.multiconfig import DefaultConfig" now. 515 need to use "from MoinMoin.config.multiconfig import DefaultConfig" now.
483 You need to change this in your wikiconfig.py or farmconfig.py file. 516 You need to change this in your wikiconfig.py or farmconfig.py file.
484 See MoinMoin/multiconfig.py for an alternative way if you can't do that. 517 See MoinMoin/multiconfig.py for an alternative way if you can't do that.
485 * HINT: you need to change your auth stuff, the new way is: 518 * HINT: you need to change your auth stuff, the new way is:
519 bots triggering actions, just disallow /action/ there. Keep in mind that 552 bots triggering actions, just disallow /action/ there. Keep in mind that
520 attachments are handled by /action/AttachFile, so if you want attached 553 attachments are handled by /action/AttachFile, so if you want attached
521 files and pictures indexed by search engine, don't disallow 554 files and pictures indexed by search engine, don't disallow
522 /action/AttachFile/ in your robots.txt. In order to use this feature, 555 /action/AttachFile/ in your robots.txt. In order to use this feature,
523 set url_prefix_action in your wikiconfig to e.g. "action". 556 set url_prefix_action in your wikiconfig to e.g. "action".
524 * We don't use ...?action=show any more for the "Clear message" links shown 557 * We use (again) the same browser compatibility check as FCKeditor uses
525 in the message boxes, but directly link to the page.
526 * we use (again) the same browser compatibility check as FCKeditor uses
527 internally, too. So if GUI editor invocation is broken due to browser 558 internally, too. So if GUI editor invocation is broken due to browser
528 compatibility issues or a wrong browser version check, please file a bug 559 compatibility issues or a wrong browser version check, please file a bug
529 at FCKeditor development or browser development. 560 at FCKeditor development or browser development.
530 * Mail notifications contain a link to the diff action so the user 561 * HINT: We removed Lupy based indexed search code. If you were brave enough
531 can see the coloured difference more easily. Thanks to Tobias Polzin. 562 to use cfg.lupy_search, you maybe want to try cfg.xapian_search instead.
532 * Refactored conflict resolution and XMLRPC code. 563
533 * Added a module for binary diffs 564 Developer notes: ===========================================================
534 * The thread monitor supports the Python 2.5 feature of directly grabbing
535 the current stack frames of all threads now so it has become much faster.
536 * Made the irssi parser more tolerant (Thanks to "TheAnarcat").
537 * Changed the rst parser to be compatible to the new docutils interface
538 for directives.
539 * We moved the IE hacks to theme/css/msie.css that gets included after all 565 * We moved the IE hacks to theme/css/msie.css that gets included after all
540 other css files (but before the user css file) using a conditional 566 other css files (but before the user css file) using a conditional
541 comment with "if IE", so it gets only loaded for MSIE (no matter which 567 comment with "if IE", so it gets only loaded for MSIE (no matter which
542 version). The file has some standard css inside (evaluated on all MSIE 568 version). The file has some standard css inside (evaluated on all MSIE
543 versions) and some * html hacks that only IE < 7 will read. 569 versions) and some * html hacks that only IE < 7 will read.
544 HINT: if you use custom themes, you want to update them in the same way. 570 HINT: if you use custom themes, you want to update them in the same way.
545 * AttachFile displays the upload dialogue now at top, this avoids lots of 571 * autofilters for databrowser widget. Thanks to Johannes Berg for the patch.
546 scrolling if you attach some new files to a page that already has lots of 572 * changed formatter.attachment_link call (it is now more flexible,
547 files attached. 573 because you can render the stuff between link start and link end yourself)
548 * Removed "IE7 Hack" of Dean Edwards (has nothing to do with MS IE7). 574 * Page.url() does not escape any more. You have to use wikiutil.escape()
549 It was not enabled by default, just by a cfg.hacks mechanism. 575 yourself if you want to write the URL to HTML and it contains e.g. &.
550 Reasons: it had trouble with FCKEditor and was not updated since a longer 576 * The testing wikiconfig moved to tests/wikiconfig.py, the testing wiki
551 time. OTOH, Microsoft released IE7. And there are lots of 577 is now created in tests/wiki/...
552 other and better browsers anyway. 578 * HINT: Killed "processors" (finally), formatter method changed to:
553 * Removed Lupy based indexed search code. If you were brave enough to 579 formatter.parser(parsername, lines)
554 use cfg.lupy_search, you maybe want to try cfg.xapian_search instead. 580 * Refactored some actions to use ActionBase base class.
555 581 * Moved "test" action from wikiaction to MoinMoin/action/
556 582 (and use ActionBase).
557 Version 1.5.current: 583 * Moved MoinMoin/config.py to MoinMoin/config/__init__.py.
558 Bugfixes: 584 * Moved MoinMoin/multiconfig.py to MoinMoin/config/multiconfig.py.
559 * AttachFile overwrite mode (introduced in 1.5.7) did not check delete 585 * Moved "SystemInfo" macro from wikimacro to MoinMoin/macro/.
560 rights, but only write rights. Now it checks that the user has write AND 586 * Moved wikiaction.py stuff to MoinMoin/action/__init__.py.
561 delete rights before overwriting a file. 587 * Moved wikimacro.py stuff to MoinMoin/macro/__init__.py.
562 * GetVal respects now ACLs on the Dict page 588 * Moved wikirpc.py stuff to MoinMoin/xmlrpc/__init__.py.
563 * Respect ACLs when sending <link rel="Appendix" ...> for attachments. 589 * Moved wikitest.py stuff to action/test.py (only used from there).
564 * Fixed potential XSS issues related to feeding of gui editor. 590 * Moved formatter/base.py to formatter/__init__.py (FormatterBase).
565 * Fixed XSS issue in RenamePage/DeletePage action. 591 * Moved util/ParserBase.py to parser/ParserBase.py.
566 * Avoid 'current' file corruption in out-of-space conditions. 592 * Moved / splitted request.py into MoinMoin/request/*.
567 * Fix "Toggle line numbers" link in code areas, so it gets translated 593 Most stuff will be broken, please help fixing it (usually some imports
568 for the current user's language. 594 will be missing and the adaptor script will need a change maybe):
595 Tested successfully: CGI, CLI, STANDALONE, FCGI, TWISTED
596 * Moved util/antispam.py to security/antispam.py.
597 * Moved util/autoadmin.py to security/autoadmin.py.
598 * Moved security.py to security/__init__.py.
599 * Moved wikiacl.py to security/__init__.py.
600 * Moved logfile/logfile.py to logfile/__init__.py.
601 * Moved mailimport.py to mail/mailimport.py.
602 * Moved util/mail.py to mail/sendmail.py.
603 * Moved auth.py to auth/__init__.py.
604 Moved util/sessionParser.py to auth/_PHPsessionParser.py.
605 teared auth code into single modules under auth/* - moin_session handling
606 and the builting moin_login method are in auth/__init__.py.
607 * Added wikiutil.MimeType class (works internally with sanitized mime
608 types because the official ones suck).
609 * Renamed parsers to module names representing sane mimetypes, e.g.:
610 parser.wiki -> parser.text_moin_wiki
611 * Added thread_monitor debugging aid. It can be activated using:
612 from MoinMoin.util import thread_monitor; thread_monitor.activate_hook()
613 and then triggered by requesting URL ...?action=thread_monitor - please
614 be aware that monitoring threads has a big performance impact on its own,
615 so you only want to temporarily enable this for debugging.
616 By default, it dumps its output to the data_dir as tm_<timestamp>.log,
617 you can change this at bottom of action/thread_monitor.py if you want to
618 see output in your browser.
619 * Introduced scope parameter to CacheEntry() - if you specify 'farm', it
620 will cache into a common directory for all wikis in the same farm, if you
621 specify 'wiki', it will use a cache directory per wiki and if you specify
622 'item', it will use a cache directory per item (== per page).
623 Creating a CacheEntry without explicit scope is DEPRECATED.
624 * Smileys moved from MoinMoin.config to MoinMoin.theme.
625 * Removed all _ magic in URLs and filenames.
626 * request.action now has the action requested, default: 'show'.
627 * Cleaned up duplicated http_headers code and DEPRECATED this function
628 call (it was sometimes confused with setHttpHeaders call) - it will
629 vanish with moin 1.7, so please fix your custom plugins!
630 The replacement is:
631 request.emit_http_headers(more_headers=[])
632 This call pre-processes the headers list (encoding from unicode, making
633 sure that there is exactly ONE content-type header, etc.) and then
634 calls a server specific helper _emit_http_headers to emit it.
635 Tested successfully: CGI, STANDALONE, FCGI, TWISTED
636 * setResponseCode request method DEPRECATED (it only worked for Twisted
637 anyway), just use emit_http_headers and include a Status: XXX header.
638 Method will vanish with moin 1.7.
639 * cfg.url_prefix is DEPRECATED, please use cfg.url_prefix_static.
640 * d['title_link'] is not supported any more. You can easily make that link
641 on your own in your theme, see example in MoinMoin/theme/__init__.py,
642 function "title".
643 * There is a new Page method called Page.get_raw_body_str that returns
644 the encoded page body. This is useful if you just deal with byte data
645 (e.g. while generating binary diffs).
646 * The TagStore/PickleTagStore system is used to store the syncronisation tags.
647 * XMLRPC functions may return Fault instances from now on
648 * Moin got multicall support, including a module that makes it usable on the
649 client-side without requiring Python 2.4
650 * Added no_magic to text_html formatter to disable tag autoclosing.
651 * MOIN_DEBUG can be set in the environment to let MoinMoin ignore exceptions
652 that would lead to a traceback in the browser. Thanks to Raphael Bossek.
653 * There is a new MoinMoin.Page.ItemCache class now with automatic cache
654 invalidation based on global edit-log. We currently use it to cache page
655 acls, speedup Page.get_rev and reading the page local edit-log.
656 * Added wikiutil.renderText parse and format raw wiki markup with all page elements.
657 * The user file format has changed, old files will be read correctly but
658 will silently be upgraded to the new format so old versions will not
659 read the new files correctly (this only affects 'subscribed_pages' and
660 'quicklinks' which will be lost when downgrading.)
661
569 662
570 Version 1.5.8: 663 Version 1.5.8:
571 New features: 664 New features:
572 * Added timing.log to help performance debugging. Use cfg.log_timing = True 665 * Added timing.log to help performance debugging. Use cfg.log_timing = True
573 to update <data_dir>/timing.log (default is False, meaning no logging). 666 to update <data_dir>/timing.log (default is False, meaning no logging).