comparison docs/CHANGES @ 3736:1a7574a7952c

preparing a condensed CHANGES for 1.7.0 release
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Sat, 21 Jun 2008 18:54:18 +0200
parents 76265568e8d3
children 691271d8c211
comparison
equal deleted inserted replaced
3735:76265568e8d3 3736:1a7574a7952c
30 having made a backup with some other, proven method. 30 having made a backup with some other, proven method.
31 USE BOTH ON YOUR OWN RISK! 31 USE BOTH ON YOUR OWN RISK!
32 32
33 33
34 Version 1.7.0current: 34 Version 1.7.0current:
35 35 Note: This is a reduced CHANGES, ommitting details from rc/beta test and
36 Bug Fixes: 36 also less interesting minor changes and fixes. It shows changes
37 * PageEditor: fixed msg displaying the notified people - use a breakable 37 relative to 1.6.3 release.
38 list. 38 If you want to see full detail, read it there:
39 * Fixed RenamePage comment handling, let RecentChanges generate (and 39 http://hg.moinmo.in/moin/1.7/file/76265568e8d3/docs/CHANGES
40 translate) the comment. 40
41 * Fixed OpenID RP bug when invalid usernames were entered. 41 New Features: ==============================================================
42 * Fix MyPages action (gave traceback and used wrong link markup). 42 * HINT: we added generic UPDATE instructions as docs/UPDATE.html.
43 43
44 New Features: 44 * HINT: Standalone server usage changed:
45 * Standalone server can now be started via the "moin" script command,
46 optionally backgrounding itself.
47 See: moin server standalone --help
48 * In the toplevel dir, we have renamed moin.py to wikiserver.py (it was
49 often confused with the moin scripting command).
50 Now you have:
51 * wikiserver.py - to start the standalone server
52 * wikiserverconfig.py - to configure the standalone server
53 * wikiserverlogging.conf - to configure logging for it (default config
54 is ok for all day use, but can easily be modified for debugging)
55 * wikiconfig.py - to configure the wiki engine
56 * Removed old moin daemonizing script (replaced by moin server standalone
57 --start/stop)
58 * We now provide the "moin" script command also for people not using
59 setup.py, see wiki/server/moin.
60
61 * Logging
62 * New powerful and flexible logging, please see wiki/config/logging/ -
63 HINT: you have to upgrade your server adaptor script (e.g. moin.cgi)
64 and load a logging configuration that fits your needs from there, or
65 alternatively you can also set MOINLOGGINGCONF environment variable
66 to point at your logging config file.
67 If you use some of our sample logging configs, make sure you have a
68 look INTO them to fix e.g. the path of the logfile it will use.
69 * Moin now logs the path from where it loaded its configuration(s).
70
71 * Authentication / Sessions:
72 * HINT: New authentication plugin system, see HelpOnAuthentication. If
73 you do not use the builtin default for 'auth' list, you likely have to
74 change your configuration. See wiki/config/snippets/ for some samples.
75 * HINT: New session handling system (no moin_session any more, now done
76 internally and automatically), see HelpOnSessions for details.
77 * Added OpenID client and server support.
78 See: HelpOnAuthentication and HelpOnOpenIDProvider.
79 * cfg.trusted_auth_methods is a list of auth methods that put an
80 authenticated user into the "Trusted" ACL group.
81
82 * User preferences / password recovery / notification:
83 * New recoverpass action for password recovery:
84 If you forgot your password, recoverpass sends you an email with a
85 password recovery token (NOT the encrypted password) that is valid
86 for 12 hours.
87 * New moin account resetpw script for resetting a user's password by
88 the wiki admin.
89 * New preferences plugin system, see MoinMoin/userprefs/__init__.py.
90 * New notification system with an optional jabber notification bot, see
91 HelpOnNotification. HINT: wiki users have to check their notification
92 settings, esp. if they want to receive trivial update notifications.
93
94 * The diff action now has navigation buttons for prev/next change.
45 * ThemeBase: support Universal Edit Button, see there for details: 95 * ThemeBase: support Universal Edit Button, see there for details:
46 http://universaleditbutton.org/ 96 http://universaleditbutton.org/
47 * Added OpenID server settings dialog to allow removing trusted websites. 97 * ?action=info&max_count=42 - show the last 42 history entries of the page.
48 * Add moin account resetpw script. 98 max_count has a default of default_count and a upper limit of
49 99 limit_max_count - you can configure both in your wiki config:
50 Other Changes: 100 cfg.history_count = (100, 200) # (default_count, limit_max_count) default
51 * Allow trusted users to go beyond surge action limits, but log their names 101 * The CSV parser can sniff the delimiter from the first CSV line so other
52 if it happens. 102 delimeters than ";" can be used.
53 * Added MyPages and CopyPage to actions_excluded because MyPages doesn't 103 * Admonition support. Added styling for tip, note, important, warning
54 work without special SecurityPolicy anyway and CopyPage has questionable 104 and caution in the modern theme. For more info see HelpOnAdmonitions.
55 behaviour. 105 * DocBook-formatter:
56 106 * supports HTML entities like &rarr; and &#9731;
57 107 * supports the FootNote macro
58 Version 1.7.0rc3: 108 * supports bulletless lists
59 109 * support for admonitions
60 Bug Fixes: 110 * will export the wiki page's edit history as the generated article's
61 * Fix xmlrpc request.read() call to use content-length, if available, 111 revision history. Doesn't add history of included pages.
62 fixes hangs with wsgiref server. 112 * supports for the MoinMoin comment element, though only inline comments
63 * Fix traceback in filesys.py on Mac OS X when import Carbon fails. 113 are likely to be valid since the DocBook remark is an inline element.
64 * Xapian search / indexing: 114
65 * fix searching for negative terms 115 Removed Features: ==========================================================
66 * improve result list ordering 116 * HINT: Removed attachments direct serving (cfg.attachments - this was
67 * index filters: redirect stderr to logging system 117 deprecated since long!). Use AttachFile action to serve attachments.
68 * search results: improve ordering 118 * Duplicated file attachment upload code was removed from Load action (just
69 * FootNote macro: revert to old behaviour (using the arg parser made 119 use AttachFile action to deal with attachments).
70 problems with footnotes including commas) 120
71 * Wiki parser: fix subscript parsing (was broken for cases like 'a,,1,2,,'). 121 Bug Fixes: =================================================================
72 * Fixed MoinMoinBugs/WikiSyncMissingInterWikiNameOnRemoteSide 122 * Better handling of ImportErrors (farmconfig, macros, wikiserverconfig).
73 * Fixed 1.7 mig scripts. 123 * Fix failure of detection of on-disk cache updates.
74 * Clear openid cache when saving a user. 124 * Fix traceback in filesys.py on Mac OS X when "import Carbon" fails.
75 * Add "Use FirstnameLastname" message to newaccount form. 125
76 * Make recoverpass/newaccount refuse access unless MoinAuth is enabled. 126 * AttachFile action / file up- and download / zip support:
77 * info action: fix exception happening for invalid query args 127 * WSGI: use wsgi.file_wrapper (or a builtin simple wrapper). Fixes memory
78 * AttachFile action: 128 consumption for sending of large file attachments.
79 * catch runtime errors raised by zipfile stdlib modules when trying to 129 * FastCGI: flush often. Fixes memory consumption for sending of large
80 process a defective zip 130 file attachments.
81 * when unzipping member files, decode their filenames from utf-8 and 131 * Use the open temporary file for receiving file attachment uploads
82 replace invalid chars 132 (fixes big memory consumption for large file uploads).
83 133 * Catch runtime errors raised by zipfile stdlib modules when trying to
84 Other changes: 134 process a defective zip.
135 * When unzipping member files, decode their filenames from utf-8 and
136 replace invalid chars.
137 * AttachFile/Load: remove misleading/outdated text, fix UI cosmetics.
138 * Make error msg less confusing when trying to overwrite a file attachment
139 without having 'delete' rights.
140
141 * Xapian search / indexing / stemming:
142 * Use text/<format> as mimetype for pages.
143 * Index also major and minor for mimetypes, so it will find 'text' or
144 'plain' as well as 'text/plain'
145 * Fix searching for negative terms.
146 * Improve result list ordering.
147 * Index filters: redirect stderr to logging system.
148 * Remove crappy num regex from WikiAnalyzer, improve tokenization.
149 * Fix AttributeError that happened when trying to access an attribute only
150 used with xapian search (but regex search is not done by xapian)
151 * Fix IndexErrors happening when pages are renamed/nuked after the index
152 was built.
153 * Fixed indexing of WikiWords (index "WikiWords", "Wiki" and "Words").
154 * Fix crash if default language is un-stemmable.
155 * xapian_stemming: removed some strange code (fixes search
156 title:lowercaseword with xapian_stemming enabled)
157 * Fixed category indexing (index CategoryFoo correctly as CategoryFoo, not
158 Foo - for all languages, see page_*_regex change below).
159 * Builtin search: support mimetype: search for pages for the builtin search
160 engine (using text/<format>).
161
162 * HINT: page_*_regex processing had to be changed to fix Xapian category
163 search. If you don't use the builtin (english) defaults, you will have
164 to change your configuration:
165 old (default): page_category_regex = u'^Category[A-Z]'
166 new (default): page_category_regex = ur'(?P<all>Category(?P<key>\S+))'
167 As you see, the old regex did work for detecting whether a pagename is
168 a category, but it could not be used to search for a category tag in the
169 page text. The new regex can be used for both and identifies the complete
170 category tag (match in group 'all', e.g. "CategoryFoo") as well as the
171 category key (match in group 'key', e.g. "Foo") by using named regex
172 groups. \S+ means the category key can be anything non-blank.
173 If you like to simultaneously support multiple languages, use something
174 like this: ur'(?P<all>(Kategorie|Category)(?P<key>\S+))'
175
176 * Parser fixes:
177 * Wiki: fix subscript parsing (was broken for cases like 'a,,1,2,,').
178 * Docbook: fixed detection of WikiWords.
179 * All: Add ssh protocol to url_schemas for ssh:... URLs.
180
181 * XMLRPC:
182 * Fix xmlrpc request.read() call to use content-length, if available,
183 fixes hangs with wsgiref server.
184 * Wiki xmlrpc getPageInfoVersion() fixed:
185 * works correctly now for old page versions (was unsupported)
186 * works correctly now for current page version (reported wrong
187 data when a page had attachment uploads after the last page
188 edit)
189 * returns a Fault if it did not find a edit-log entry
190
191 Other Changes: =============================================================
192 * Using better ACLs and comments on system/help pages now, just taking
193 away 'write' permission, but using default ACLs for everything else.
85 * HINT: If you want to use xapian based indexed search, you need to have 194 * HINT: If you want to use xapian based indexed search, you need to have
86 Xapian >= 1.0.0. 195 Xapian >= 1.0.0 (and you can remove PyStemmer in case you have installed
87 * Removed dependency on PyStemmer (we just use the stemmer built into 196 it just for moin - we now use the stemmer built into Xapian as it
88 Xapian (it uses utf-8 since 1.0.0, so we can use it)). 197 supports utf-8 since 1.0.0).
89 * Use better ACLs and comments on system/help pages, 198 * Surge Protection: If a user is authenticated by a trusted authentication
90 remove MoinPagesEditorGroup (not needed any more). 199 (see also cfg.auth_methods_trusted) then he/she won't trigger surge
91 * If a user is authenticated by a trusted authentication (see also 200 protection, but moin will just log a INFO level log msg with the user's
92 cfg.auth_methods_trusted) then he won't trigger surge protection. 201 name so you can find the culprit in case he/she is overusing ressources.
93 But moin will log a INFO level log msg with the user's name so you can 202 * HINT: Added MyPages and CopyPage to actions_excluded because MyPages
94 find the culprit in case he/she is overusing ressources. 203 doesn't work without special SecurityPolicy anyway and CopyPage has
95 * docs: added UPDATE instructions 204 questionable behaviour.
96 205 * Load action now just creates a new revision of the target page, the
97 206 target pagename defaults to the current page name and can be edited.
98 Version 1.7.0rc2: 207 If the target pagename is empty, moin tries to derive the target pagename
99 208 from the uploaded file's name.
100 Bug Fixes: 209 Load tries to decode the file contents first using utf-8 coding and, if
101 * Security Fix: fixed MoinMoinBugs/DummyPasswordInAutoCreatedLdapUserProfiles 210 that fails, it forces decoding using iso-8859-1 coding (and replacing
102 (bug was present since some auth refactoring in 1.7.0alpha). 211 invalid characters).
103 * Fix editor preview not working for new pages. 212 * HINT: cfg.show_login is gone, see code in theme/__init__.py, this may
104 * Add ssh protocol to url_schemas. 213 affect many themes!
105 * Fix PageList macro with search errors. 214 * HINT: a new userprefs/ plugin directory will be created by the usual
106 * Center the message icons and fix their spacing. Add a class to the 215 "moin migration data" command.
107 "Clear message" link, make the link text smaller and lower. 216 * DocBook-formatter:
108 * Better handling of ImportErrors (farmconfig, macros, wikiserverconfig). 217 * generates a valid DOCTYPE
109 * Builtin search: support mimetype: search for builtin engine, too 218 * table support has been improved
110 * Xapian search/indexing: 219 * handling of definitions and glossaries is more robust
111 * use text/<format> as mimetype for pages 220 * supports program language and line numbering in code areas
112 * index also major and minor for mimetypes, so it will find 'text' or
113 'plain' as well as 'text/plain'
114 * remove crappy num regex from WikiAnalyzer, improve tokenization
115 * Fix the second hmac use for python 2.4
116 * csv parser:
117 * fix delimiter sniffing troubles, fix tests
118 * remove empty lines above the csv table
119 * Event notifications: send notifies in the language of the message
120 recipient (not of the current wiki user), other fixes.
121
122 Other changes:
123 * HINT: ldap_login behaves a bit different now: 221 * HINT: ldap_login behaves a bit different now:
124 In previous moin versions, ldap_login tended to either successfully 222 In previous moin versions, ldap_login tended to either successfully
125 authenticate a user or to completely cancel the whole login process in 223 authenticate a user or to completely cancel the whole login process in
126 any other case (including ldap server down or exceptions happening). 224 any other case (including ldap server down or exceptions happening).
127 This made subsequent auth list entries rather pointless. 225 This made subsequent auth list entries rather pointless.
142 put another authenticator querying it there: 240 put another authenticator querying it there:
143 ldap_auth1 = LDAPAuth(server_uri='ldap://mainserver', ...) 241 ldap_auth1 = LDAPAuth(server_uri='ldap://mainserver', ...)
144 ldap_auth2 = LDAPAuth(server_uri='ldap://backupserver', ...) 242 ldap_auth2 = LDAPAuth(server_uri='ldap://backupserver', ...)
145 auth = [ldap_auth1, ldap_auth2, ] 243 auth = [ldap_auth1, ldap_auth2, ]
146 244
147 245 Developer notes: ===========================================================
148 Version 1.7.0rc1:
149
150 Bug Fixes:
151 * Fix hmac for Python 2.4.
152 * AttachFile: fix uploading of < 1K files
153 * fix action=info on page that never existed
154 * deny access on invalid input (happens only with spammers anyway)
155 * fix failure of detection of on-disk cache updates
156
157
158 Version 1.7.0beta2:
159
160 Bug Fixes:
161 * HINT: page_*_regex processing had to be changed to fix Xapian category
162 search. If you don't use the english defaults, you will have to change
163 your configuration:
164 old (default): page_category_regex = u'^Category[A-Z]'
165 new (default): page_category_regex = ur'(?P<all>Category(?P<key>\S+))'
166 As you see, the old regex did work for detecting whether a pagename is
167 a category, but it could not be used to search for a category tag in the
168 page text. The new regex can be used for both and identifies the complete
169 category tag (match in group 'all', e.g. "CategoryFoo") as well as the
170 category key (match in group 'key', e.g. "Foo") by using named regex
171 groups. \S+ means the category key can be anything non-blank.
172 If you like to simultaneously support multiple languages, use something
173 like this: ur'(?P<all>(Kategorie|Category)(?P<key>\S+))'
174 * Xapian indexing / search / stemming:
175 * fix AttributeError that happened when trying to access an attribute only
176 used with xapian search (but regex search is not done by xapian)
177 * fix IndexErrors happening when pages are renamed/nuked after the index
178 was built
179 * fix crash if default language is un-stemmable
180 * Fixed indexing of WikiWords (index "WikiWords", "Wiki" and "Words")
181 * Fixed category indexing (index CategoryFoo correctly as CategoryFoo, not
182 Foo - for all languages, see page_*_regex change above)
183 * xapian_stemming: removed some strange code (fixes search
184 title:lowercaseword with xapian_stemming enabled)
185 * AttachFile / file upload / download:
186 * WSGI: use wsgi.file_wrapper (or a builtin simple wrapper). Fixes memory
187 consumption for sending of large file attachments.
188 * FastCGI: flush often. Fixes memory consumption for sending of large
189 file attachments
190 * use the open temporary file for file uploads (fixes big memory
191 consumption for large file uploads).
192 !!! Twisted and mod_python is completely untested !!!
193 * AttachFile/Load: remove misleading/outdated text, fix UI cosmetics
194 * Fixed traceback for attachment notifications.
195 * make error msg less confusing when trying to overwrite a file attachment
196 without having acl delete rights
197 * Wiki xmlrpc getPageInfoVersion() fixed:
198 * works correctly now for old page versions (was unsupported)
199 * works correctly now for current page version (reported wrong
200 data when a page had attachment uploads after the last page
201 edit)
202 * returns a Fault if it did not find a edit-log entry
203 * SystemAdmin user browser: handle empty email/jabber addresses correctly
204 * events.wikidictsrescan: handle TrivialPageChangedEvent too (bug fix for
205 MoinMoinBugs/17devWikiDictsDontUpdate)
206 * Fixed detection of WikiWords for the docbook parser.
207
208 New features:
209 * Password recovery (recoverpass action):
210 If you forgot your password, this action sends you an email with a password
211 recovery token (NOT the encrypted password). Token is valid for 12 hours.
212 * Logging: you can use MOINLOGGINGCONF environment variable now to override
213 from where your logging config is read.
214
215 Other changes:
216 * HINT: in the toplevel dir, we have renamed moin.py to wikiserver.py (it
217 was often confused with the moin scripting command).
218 Now you have:
219 * wikiserver.py - to start the standalone server
220 * wikiserverconfig.py - to configure the standalone server
221 * wikiserverlogging.conf - to configure logging for it (default config
222 should be ok for all day use, but can easily be modified for debugging)
223 * wikiconfig.py - to configure the wiki engine
224 * removed old moin daemonizing script (replaced by moin server standalone
225 --start/stop)
226 * provide moin script command for people not using setup.py, see wiki/server/moin
227 * Duplicated file attachment upload code was removed from Load action (just
228 use AttachFile action to deal with attachments).
229 * Load action now just creates a new revision of the target page, the
230 target pagename defaults to the current page name and can be edited. If
231 the target pagename is empty, moin tries to derive the target pagename
232 from the uploaded file's name.
233 Load tries to decode the file contents first using utf-8 coding and, if
234 that fails, it forces decoding using iso-8859-1 coding (and replacing
235 invalid characters).
236
237 Developer notes (these should be moved to the end in the release):
238 * Page.last_edit() is DEPRECATED, please use Page.edit_info(). 246 * Page.last_edit() is DEPRECATED, please use Page.edit_info().
239 * Page._last_edited() is GONE (was broken anyway), please use 247 * Page._last_edited() is GONE (was broken anyway), please use
240 Page.editlog_entry(). 248 Page.editlog_entry().
241 * new request.send_file() call, making it possible to use server-specific 249 * New request.send_file() call, making it possible to use server-specific
242 optimizations 250 optimizations.
243
244 Version 1.7.0beta1:
245
246 New Features:
247 * New powerful and flexible logging, please see wiki/config/logging/ -
248 HINT: you have to upgrade your server adaptor script (e.g. moin.cgi)
249 and load a logging configuration that fits your needs from there, or
250 alternatively you can also set MOINLOGGINGCONF environment variable
251 to point at your logging config file.
252 If you use some of our sample logging configs, make sure you have a
253 look INTO them to fix e.g. the path of the logfile it will use.
254 * Moin now logs the path from where it loaded its configuration(s)
255 * cfg.trusted_auth_methods is a list of auth methods that put an
256 authenticated user into the "Trusted" ACL group.
257 * New authentication plugin system, see HelpOnAuthentication.
258 * New session handling system (no moin_session any more, now done
259 internally and automatically), see HelpOnSessions for details.
260 * New preferences plugin system, see MoinMoin/userprefs/__init__.py
261 * New notification system with an optional jabber notification bot.
262 * Jabber notification support; for more information see HelpOnNotification.
263 * Standalone server can now be started via the "moin" script command,
264 optionally backgrounding itself. See: moin server standalone --help
265 * The diff action now has navigation buttons for prev/next change.
266 * Admonition support. Added styling for tip, note, important, warning
267 and caution in the modern theme. For more info see HelpOnAdmonitions.
268 * DocBook-formatter:
269 * supports HTML entities like &rarr; and &#9731;
270 * supports the FootNote macro
271 * supports bulletless lists
272 * support for admonitions
273 * will export the wiki page's edit history as the generated article's
274 revision history. Doesn't add history of included pages.
275 * supports for the MoinMoin comment element, though only inline comments
276 are likely to be valid since the DocBook remark is an inline element.
277 * ?action=info&max_count=42 - show the last 42 history entries of the page.
278 max_count has a default of default_count and a upper limit of
279 limit_max_count - you can configure both in your wiki config:
280 cfg.history_count = (100, 200) # (default_count, limit_max_count) default
281 * The CSV parser can get the delimiter from the first line so other
282 delimeters than ";" can be used.
283
284 Other changes:
285 * cfg.show_login is gone, see code in theme/__init__.py, this affects
286 many themes!
287 * HINT: a new userprefs/ plugin directory will be created by the usual
288 "moin migration data" command.
289 * Removed attachments direct serving (cfg.attachments - this was deprecated
290 since long!).
291 * The rst-parser's admonition class names are no longer prepended with
292 "admonition_". Instead the class names are now for example "note"
293 and not "admonition_note".
294 * DocBook-formatter:
295 * generates a valid DOCTYPE
296 * table support has been improved
297 * handling of definitions and glossaries is more robust
298 * supports program language and line numbering in code areas
299
300 Developer notes (these should be moved to the end in the release):
301 * getText's (aka _()) 'formatted' keyword param (default: True in 1.6 and 251 * getText's (aka _()) 'formatted' keyword param (default: True in 1.6 and
302 early 1.7) was renamed/changed: it is now called 'wiki' and defaults to 252 early 1.7) was renamed/changed: it is now called 'wiki' and defaults to
303 False. Example calls: 253 False. Example calls:
304 _('This will NOT get parsed/formatted by MoinMoin!') 254 _('This will NOT get parsed/formatted by MoinMoin!')
305 _('This will be parsed/formatted by MoinMoin!', wiki=True) 255 _('This will be parsed/formatted by MoinMoin!', wiki=True)
307 wiki=True, percent=True) 257 wiki=True, percent=True)
308 * Page.url 'relative' keyword param (default: True in 1.6 and early 1.7) 258 * Page.url 'relative' keyword param (default: True in 1.6 and early 1.7)
309 was changed to default False). 259 was changed to default False).
310 * The themedict no longer contains 'page_user_prefs' and 'user_prefs', 260 * The themedict no longer contains 'page_user_prefs' and 'user_prefs',
311 this may affect custom themes. 261 this may affect custom themes.
312 262 * The rst-parser's admonition class names are no longer prepended with
313 263 "admonition_". Instead the class names are now for example "note"
314 Version 1.6.current: 264 and not "admonition_note".
315 Fixes:
316 * The iconbar "up" icon (known from 1.5) is back. Although it is not too
317 useful if you use themes that have the navigation in the page title,
318 it is useful for themes not using that kind of navigation.
319 265
320 266
321 Version 1.6.3: 267 Version 1.6.3:
322 Fixes: 268 Fixes:
323 * Security fix: a check in the user form processing was not working as 269 * Security fix: a check in the user form processing was not working as