Changeset 3742

Show
Ignore:
Timestamp:
11/20/07 17:32:12 (1 year ago)
Author:
chrisz
Message:

Prettified Changelog and fixed the RST syntax. Consistently reference tickets as #n (in some places, changesets were referenced that way).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.0/CHANGELOG.txt

    r3740 r3742  
    1 TurboGears Changelog 
     1TurboGears Changelog 
    22==================== 
     3 
    34 
    451.0.4: 
    56---------------------------- 
    67 
    7 *Changes* 
    8     * Introduction of tg.mochikit_suppress to prevent the inclusion of 
    9       the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
    10     * PaginateDataGrid template now makes use of paginate attributes to render 
    11       the links for first/previous/next/last page. 
    12     * paginate.href_last returns a special URL that allows paginate decorator 
    13       to compute the correct last page number at server-side. 
    14  
    15 *Features* 
    16     * Introduction of tg.mochikit_suppress to prevent the inclusion of 
    17       the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
    18     * Ticket #1601. Workaround in paginate for databases without OFFSET. 
    19     * The database module exports a mapper which is either session.mapper 
    20       for SQLAlchemy >= 0.4, or something similar to assign_mapper 
    21       for SQLAlchemy < 0.4, but compatible with SQLAlchemy 0.4 and Elixir. 
    22     * The tg-admin quickstart command has now an option --svn allowing 
    23       automatic creation of the project in the specified SVN repository. 
    24     * Introduction of paginate.redirect_on_out_of_range and 
    25       paginate.redirect_on_last_page, which determine if paginate decorator 
    26       should raise a redirect when current page is out of bound and the 
    27       last page is requested, respectively. 
    28  
    29 *Fixes* 
    30     * Ticket #1595. Fixed broken quickstart change. 
    31     * KID-template string collection for i18n fixed so that it ignores XML 
    32       processing instructions and comments as well as script and style sections. 
    33     * Tickets #1458, #1599 and #1604. Fixed SQLAlchemy and Elixir issues. 
    34     * Ticket #1608. Fixed issues with tg-admin update on a project in SVN. 
    35     * Ticket #1582. Fix pagination of SQLAlchemy Query ordering by backrefs 
    36       and synonyms' attributes. It also supports SQLAlchemy 0.4.1, which 
    37       removed the "properties" accessor on Mapper. 
    38     * Ticket #1605. Ensure paginate links bring the same result when using 
    39       ordering columns with a custom datagrid template. 
    40     * Ticket #1617. Fix pagination of out of bound pages. 
    41  
    42  
    43 *Contributors* 
     8Changes 
     9~~~~~~~ 
     10 
     11* Introduction of tg.mochikit_suppress to prevent the inclusion of 
     12  the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
     13* PaginateDataGrid template now makes use of paginate attributes to render 
     14  the links for first/previous/next/last page. 
     15* ``paginate.href_last`` returns a special URL that allows paginate decorator 
     16  to compute the correct last page number at server-side. 
     17 
     18Features 
     19~~~~~~~~ 
     20 
     21* Introduction of tg.mochikit_suppress to prevent the inclusion of 
     22  the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
     23* Workaround in paginate for databases without ``OFFSET`` (#1601). 
     24* The database module exports a mapper which is either session.mapper 
     25  for SQLAlchemy >= 0.4, or something similar to assign_mapper 
     26  for SQLAlchemy < 0.4, but compatible with SQLAlchemy 0.4 and Elixir. 
     27* The ``tg-admin quickstart`` command has now an option ``-r`` 
     28  ``(--svn-repository)`` allowing automatic creation of the project in the 
     29  specified SVN repository. 
     30* Introduction of ``paginate.redirect_on_out_of_range`` and 
     31  ``paginate.redirect_on_last_page``, which determine if paginate decorator 
     32  should raise a redirect when current page is out of bound and the 
     33  last page is requested, respectively. 
     34 
     35Fixes 
     36~~~~~ 
     37 
     38* Fixed broken quickstart change (#1595). 
     39* KID-template string collection for i18n fixed so that it ignores XML 
     40  processing instructions and comments as well as script and style sections. 
     41* Fixed SQLAlchemy and Elixir issues (#1458, #1599 and #1604). 
     42* Fixed issues with ``tg-admin update`` on a project in SVN (#1608). 
     43* Fix pagination of SQLAlchemy Query ordering by backrefs and synonyms' 
     44  attributes. It also supports SQLAlchemy 0.4.1, which removed the 
     45  ``properties`` accessor on Mapper (#1582). 
     46* Ensure paginate links bring the same result when using ordering columns 
     47  with a custom datagrid template (#1605). 
     48* Fix pagination of out of bound pages (#1617). 
     49* ``tg-admin i18n`` now supports Unicode strings in Kid templates (#1397). 
     50 
     51Project Updates 
     52~~~~~~~~~~~~~~~ 
     53 
     54* TurboCheetah 1.0 
     55* TurboJson 1.1.2 
     56* TurboKid 1.0.4 
     57 
     58Contributors 
     59~~~~~~~~~~~~ 
    4460 
    4561Joel Pearson, Christoph Zwerschke, Roger Demetrescu, Juan Germano 
     62 
    4663 
    47641.0.4b2 (October, 27, 2007): 
    4865---------------------------- 
    49 *Changes* 
    50     * New quickstart templates for the SQLAlchemy support. 
    51     * Better transaction support. 
    52     * Paginate decorator enhanced SA support. 
    53  
    54 *Features* 
    55     * Ticket #1483: SQLAlchemy 0.4 is now supported: SA 0.3.10 is required as a 
    56       minimum. 
    57     * QuickStart no longer creates sqlobject-history directories for SQLAlchemy 
    58       projects. 
    59     * Ticket #1418: "tg-admin sql" is now more powerful for SQLAlchemy. 
    60     * Ticket #1582: Paginate allows ordering by attributes from related objects 
    61       (SQLAlchemy Query objects only). 
    62     * JavaScript i18n-features added 
    63  
    64 *Fixes* 
    65     * Ticket #1185: rollback SA transaction if a controller method fails, and it 
    66       has an exception_handler. 
    67     * sa_rwt (SQLAlchemy run with transaction) refactored to fix some corner 
    68       cases. 
    69     * Ticket #1508: fixed internal pagination ordering, avoiding a potential 
    70       error when paginating Query objects (sqlalchemy) and ordering by 4 or more 
    71       columns. 
    72     * Ticket #1434: Fixed pagination of Query objects (SQLAlchemy). The first 
    73       patch assumed that Query objects have a _query attribute which holds the 
    74       query object, which is only true for SelectResults objects. 
    75     * Ticket #1591: Paginate now works with SQLAlchemy 0.4. 
    76     * KID-template string collection for i18n enhanced so it matches the expectations 
    77       of the i18n-filter. 
    78  
    79 *Project Updates* 
    80     * Minimum requirement for SQLAlchemy support is now 0.3.10. 
    81     * The SQLAlchemy page on our wiki contains some upgrade information: 
    82       http://docs.turbogears.org/1.0/SQLAlchemy#id19 
    83  
    84 *Contributors* 
    85  
    86 Florent Aide, Roger Demetrescu, Jonathan Hitchcock, j, Paul Johnston, Remi Jolin, Diez B. Roggisch, Christoph Zwerschke 
     66 
     67Changes 
     68~~~~~~~ 
     69 
     70* New quickstart templates for the SQLAlchemy support. 
     71* Better transaction support. 
     72* Paginate decorator enhanced SQLAlchemy support. 
     73 
     74Features 
     75~~~~~~~~ 
     76 
     77* SQLAlchemy 0.4 is now supported, and SQLAlchemy 0.3.10 is required as a 
     78  minimum (#1483). 
     79* QuickStart no longer creates sqlobject-history directories for SQLAlchemy 
     80  projects. 
     81* "tg-admin sql" is now more powerful for SQLAlchemy (#1418). 
     82* Paginate allows ordering by attributes from related objects (SQLAlchemy 
     83  Query objects only) (#1582). 
     84* JavaScript i18n-features added. 
     85 
     86Fixes 
     87~~~~~ 
     88 
     89* Rollback SQLAlchemy transaction if a controller method fails, and it has an 
     90  exception_handler (#1185). 
     91* ``sa_rwt`` (SQLAlchemy run with transaction) refactored to fix some corner 
     92  cases. 
     93* Fixed internal pagination ordering, avoiding a potential error when 
     94  paginating Query objects (SQLAlchemy) and ordering by 4 or more 
     95  columns (#1508). 
     96* Fixed pagination of Query objects (SQLAlchemy). The first patch assumed 
     97  that Query objects have a _query attribute which holds the query object, 
     98  which is only true for SelectResults objects (#1434). 
     99* Paginate now works with SQLAlchemy 0.4 (#1591). 
     100* KID-template string collection for i18n enhanced so it matches the 
     101  expectations of the i18n-filter. 
     102 
     103Project Updates 
     104~~~~~~~~~~~~~~~ 
     105 
     106* Minimum requirement for SQLAlchemy support is now 0.3.10. 
     107* The SQLAlchemy page on our wiki contains some upgrade information: 
     108  http://docs.turbogears.org/1.0/SQLAlchemy#id19 
     109 
     110Contributors 
     111~~~~~~~~~~~~ 
     112 
     113Florent Aide, Roger Demetrescu, Jonathan Hitchcock, j, Paul Johnston, 
     114Remi Jolin, Diez B. Roggisch, Christoph Zwerschke 
     115 
    87116 
    881171.0.4b1 (September 13, 2007): 
    89118----------------------------- 
    90 *Changes* 
    91  
    92  * Ticket #1406: the cookies should have the same timeout as the session does, 
    93  this way it is possible to keep users logged in for longer than the time 
    94  the browser is running. 
    95  * SQLAlchemy 0.4 support added. The identity part and the SA quickstart model 
    96  were changed to do this. For the moment only the standard SA model has been 
    97  changed, the tbig is still not fully SA 0.4 compatible. 
    98  
    99 *Features* 
    100  
    101  * i18n support for Javascript (for real this time). 
    102  * Ticket #1410: allows pagination of multiple variables, simply by using 
    103  the @paginate decorator multiple times on a particular controller. 
    104  It maintains backwards compatibility with previous code, but introduces 
    105  a new template variable: tg.paginates. 
    106  * Added -o (--sqlobject) option to generate sqlobject template, by Fred Lin. 
    107  
    108 *Fixes* 
    109  
    110  * SQLAlchemy exception handling and transaction support has been 
    111  improved and polished. 
    112  * Added proper logging for exceptions that occured during the identity 
    113  providers. Thoses errors were lost silently before and made it hard to 
    114  understand from where the problem came. 
    115  * Improved support for the SQLAlchemy command line interface. 
    116  
    117 *Project Updates* 
    118  
    119  * A lot of unit tests have been fixed to support versions of nose 
    120  superior to 0.9.2. Paul also took great care to add more unit tests 
    121  to the SA handling in TG. 
    122  * Now require TurboKid 1.0.3 for Kid support. This will pull out the 
    123  latest TurboKid that includes fixes for choosing the kid output format. 
    124  
    125 *Contributors* 
     119 
     120Changes 
     121~~~~~~~ 
     122 
     123* The cookies should have the same timeout as the session does, this way it 
     124  is possible to keep users logged in for longer than the time the browser 
     125  is running (#1406). 
     126* SQLAlchemy 0.4 support added. The identity part and the SQLAlchemy quickstart 
     127  model were changed to do this. For the moment only the standard SQLAlchemy 
     128  model has been changed, the ``tbig`` is still not fully compatible with 
     129  SQLAlchemy 0.4. 
     130 
     131Features 
     132~~~~~~~~ 
     133 
     134* i18n support for Javascript (for real this time). 
     135* Allow pagination of multiple variables, simply by using the @paginate 
     136  decorator multiple times on a particular controller. 
     137  It maintains backwards compatibility with previous code, but introduces 
     138  a new template variable: tg.paginates (#1410). 
     139* Added ``-o`` ``(--sqlobject)`` option to generate SQLObject template, 
     140  by Fred Lin. 
     141 
     142Fixes 
     143~~~~~ 
     144 
     145* SQLAlchemy exception handling and transaction support has been 
     146  improved and polished. 
     147* Added proper logging for exceptions that occured during the identity 
     148  providers. Thoses errors were lost silently before and made it hard to 
     149  understand from where the problem came. 
     150* Improved support for the SQLAlchemy command line interface. 
     151 
     152Project Updates 
     153~~~~~~~~~~~~~~~ 
     154 
     155* A lot of unit tests have been fixed to support versions of nose 
     156  superior to 0.9.2. Paul also took great care to add more unit tests 
     157  to the SQLAlchemy handling in TG. 
     158* Now require TurboKid 1.0.3 for Kid support. This will pull out the 
     159  latest TurboKid that includes fixes for choosing the kid output format. 
     160 
     161Contributors 
     162~~~~~~~~~~~~ 
    126163 
    127164Diez B. Roggisch, j, Christoph Zwerschke, Chris Arndt, Paul Johnston, Florent Aide 
     
    1301671.0.3.2 (July 20, 2007): 
    131168------------------------ 
    132 *Changes* 
    133  
    134 *Features* 
    135  
    136 *Fixes* 
    137         * Ticket #1444: Genshi, while internally calling it "variable_lookup", has 
    138         a Buffet Engine plugin that expects "lookup_errors". TG 1.0 and 1.1 look 
    139         for and pass through only "variable_lookup", while TG 1.1 has 
    140         "lookup_errors" in configuration. 
    141         This helps in error handling with Genshi templates. 
    142         Patch by Neil Blakey-Milner. 
    143  
    144         * r3318: Output format must not be set for other templating engines than 
    145         Kid, and needs not be set for Kid either. Removed unnecessary imports. 
    146         Christoph Zwerschke. 
    147  
    148         * r3317: tg-admin toolbox did not run outside a project directory. 
    149         Christoph Zwerschke. 
    150  
    151 *Contributors* 
     169 
     170Fixes 
     171~~~~~ 
     172 
     173* Genshi, while internally calling it "variable_lookup", has a Buffet Engine 
     174  plugin that expects "lookup_errors". TG 1.0 and 1.1 look for and pass through 
     175  only "variable_lookup", while TG 1.1 has "lookup_errors" in configuration. 
     176  This helps in error handling with Genshi templates. 
     177  Patch by Neil Blakey-Milner (#1444). 
     178* Output format must not be set for other templating engines than Kid, 
     179  and needs not be set for Kid either. Removed unnecessary imports. 
     180  Christoph Zwerschke. 
     181* ``tg-admin toolbox`` did not run outside a project directory. 
     182  Christoph Zwerschke. 
     183 
     184Contributors 
     185~~~~~~~~~~~~ 
    152186 
    153187Neil Blakey-Milner, Christoph Zwerschke 
    154188 
     189 
    1551901.0.3 (July 19, 2007): 
    156 ----------------------- 
    157  
    158 *Changes* 
    159         * Added support for multiple databases using SA (ticket #1380 by Ian Charnas). 
    160  
    161 *Features* 
    162         * Elixir quickstart by FredLin 
    163  
    164         * Adding encryption on the fly for SA identity on in the template as 
    165           per discussion here: 
    166           http://groups.google.co.in/group/turbogears/browse_thread/thread/f4b43e9f148c3a9a 
    167           fixes ticket #1415 
    168  
    169         * Added slovenian translation thanks to mte on ticket #1190. 
    170  
    171         * Japanese Calendar ticket #1395 thanks to tmatsuo 
    172  
    173         * Handle locales in egg creation thanks to Christoph Zwerschke 
    174  
    175 *Fixes* 
    176         * ticket #1434. Now handles SA Query in addition of SelectResults 
    177           which will be deprecated in the near future. 
    178  
    179         * ticket #1325  Fix visit entries created more than once in the 
    180           database. 
    181  
    182         * Fixed toolbox config loading during startup. 
    183  
    184         * Applied patch from Simon Wittber on ticket #1284: Safari Unicode fix 
    185  
    186         * Fix for i18n for testsuites not run in the same directory as the project 
    187  
    188         * Patch for ticket #1319: @paginate barfs if you try to sort 
    189           on a column whose data is generated from SQL. thanks to Alastair 
    190  
    191         * Patch from ticket 1318: @paginate doesn't support SQLAlchemy 
    192           list properties. thanks to alastair! 
    193  
    194         * Fixes ticket #1321: Fixed paginate href. Thanks to alastair! 
    195  
    196         * Enable custom: plugins outside TG source tree thx to aalbrecht 
    197           fixes ticket #1178 
    198  
    199 *Project Updates* 
    200         * recommended version of Python is now 2.5 
    201  
    202 *Contributors* 
     191---------------------- 
     192 
     193Changes 
     194~~~~~~~ 
     195 
     196* Added support for multiple databases using SQLAlchemy (#1380 by Ian Charnas). 
     197 
     198Features 
     199~~~~~~~~ 
     200 
     201* Elixir quickstart by FredLin 
     202* Adding encryption on the fly for SQLAlchemy identity on in the template as 
     203  per mailing list discussion (#1415). 
     204* Added slovenian translation thanks to mte (#1190). 
     205* Japanese Calendar thanks to tmatsuo (#1395). 
     206* Handle locales in egg creation thanks to Christoph Zwerschke 
     207 
     208Fixes 
     209~~~~~ 
     210 
     211* Now handles SQLAlchemy Query in addition of SelectResults which will be 
     212  deprecated in the near future (#1434). 
     213* Fix visit entries created more than once in the database (#1325). 
     214* Fixed toolbox config loading during startup. 
     215* Safari Unicode fix (patch from Simon Wittber, #1284). 
     216* Fix for i18n for testsuites not run in the same directory as the project 
     217* @paginate barfed if you tried to sort on a column whose data 
     218  is generated from SQL. Thanks to Alastair (#1319). 
     219* @paginate didn't support SQLAlchemy list properties. 
     220  Thanks to Alastair (#1318). 
     221* Fixed paginate href. Thanks to Alastair (#1321). 
     222* Enable custom: plugins outside TG source tree thx to aalbrecht (#1178). 
     223 
     224Project Updates 
     225~~~~~~~~~~~~~~~ 
     226 
     227* Recommended version of Python is now 2.5. 
     228 
     229Contributors 
     230~~~~~~~~~~~~ 
    203231 
    204232Simon Wittber, Christopher Arndt, Christoph Zwerschke, Paul Johnston, FredLin, 
    205 jtate, Ian Charnas, Alastair Houghton, Ian Charnas, Alberto Valverde Gonzales, 
    206 , Florent Aide. 
     233jtate, Ian Charnas, Alastair Houghton, Ian Charnas, Alberto Valverde González, 
     234Florent Aide. 
     235 
    207236 
    2082371.0.2 (May 2, 2007): 
    209 ----------------------- 
    210  
    211 *Changes* 
    212  
    213 * New ``visit.cookie.secure``config option to send cookie only over a secure connection. 
    214   #1375 by James E. Blair. 
    215 * ``cherrypy.request`` is now available at the variables sent to every template. 
    216   #1362 by Christoph Zwerschke. 
    217 * SA transaction object is now stored at ``cherrypy.request.sa_transaction`` so it 
    218   can be accessed from the controllers. Patch at #1359 by Janzert. 
     238-------------------- 
     239 
     240Changes 
     241~~~~~~~ 
     242 
     243* New ``visit.cookie.secure`` config option to send cookie only over a secure 
     244  connection (#1375 by James E. Blair). 
     245* ``cherrypy.request`` is now available at the variables sent to every template 
     246  (#1362 by Christoph Zwerschke). 
     247* SQLAlchemy transaction object is now stored at ``cherrypy.request.sa_transaction`` so 
     248  it can be accessed from the controllers. Patch at #1359 by Janzert. 
    219249* SecureResource now raises an AttributeError when no require attribute is 
    220250  present in the controller class or in the config file. Closes #1336. 
    221251  (Note: This might break some "broken" apps, fortunately a detailed exception 
    222    is raised advising how to fix it). 
    223 * slight quickstart css modification for tables 
    224 * Add default css to highlight the validation error 
    225 * make 'flash' block dynamic in quickstart 
    226 * session setting is moved to config/app.cfg 
    227 * command/toolbox info could list the toolbox plugins 
    228 * Enhancement SQLAlchemy default model, use 'assign' to avoid repeatedly writing, thanks cito 
    229 * Able to specify a default doctype in genshi, thanks Alastair Houghton 
    230  
    231 *Features* 
    232  
    233 * Validators now support localized error messages. Thanks to Gregor Horvath and updated patch 
    234   at #1136 by Christian Vogler. 
    235 * Python 2.5 compatible, Thanks to Florent Aide and Fred Lin #1288 
    236 * AutoCompleteField now accepts a take_focus parameter to focus on load. Thanks to Grover at #1332 
    237  
    238 *Fixes* 
    239  
    240 * Fixed support for SA in paginate. #1360 by Jo Soares. 
    241 * Schemas are no longer deepcopied to prevent crashing on un-deep-copiable validators. #1333. 
    242 * Fixed bug in tg-admin that caused it not to operate properly on projects deployed as eggs. Patch 
    243   from #1361 by Christoph Zwerschke. 
    244 * SA auto-commiting fixed in some rare circumstances where sa_rwt was not being called. Patch from 
    245   #1267 by Paul Johnston. 
    246 * CatWalk now handles customized addRemoveName in SO. #911 by Joost 
    247 * using base64.decodestring in visitor.py for 2.3 compatibility. #1279 by Paul Fisher. 
    248 * Config file in quickstarted app now has config option to load identity classes. Thanks to Felix 
    249   Schwarz #1255. 
    250 * Identity now supports encrypted passwords with unicode characters. Thanks to Felix Schwarz and 
    251   Patrick Lewis #1281 
    252 * minor changes to template so they work properly when server.webpath != / thanks to "nludban" #1213 
    253 * fix quickstart project tests, thanks to Christoph Zwerschke #1289, Jeff Kowalczyk #1219 
    254 * fix TurboGears 1.0.1 not installable with python2.3, thanks to "corvus" #1264 
    255 * Automatic creation of identity model tables for SQLAlchemy, thanks to Christoph Zwerschke #1290 
    256 * fix DateTimeConverter, thanks to iberonesia #1262 
    257 * ModelDesigner? now write up-to-date model header 
    258 * decouple turbogears.identity.encrypt_password() from sqlobject 
    259 * remove class_mapper dependency from #1292, thanks chrisz 
    260  
    261 *Project Updates* 
     252  is raised advising how to fix it). 
     253* Slight quickstart CSS modification for tables. 
     254* Add default CSS to highlight the validation error. 
     255* Made "flash" block dynamic in quickstart. 
     256* Session setting is moved to config/app.cfg 
     257* command/toolbox info could list the toolbox plugins. 
     258* Enhancement SQLAlchemy default model, use 'assign' to avoid repeatedly writing, 
     259  thanks Christoph Zwerschke. 
     260* Able to specify a default doctype in genshi, thanks Alastair Houghton. 
     261 
     262Features 
     263~~~~~~~~ 
     264 
     265* Validators now support localized error messages. Thanks to Gregor Horvath and 
     266  updated patch #1136 by Christian Vogler. 
     267* Python 2.5 compatible, Thanks to Florent Aide and Fred Lin (#1288). 
     268* AutoCompleteField now accepts a take_focus parameter to focus on load. 
     269  Thanks to Grover (#1332). 
     270 
     271Fixes 
     272~~~~~ 
     273 
     274* Fixed support for SQLAlchemy in paginate (#1360 by Jo Soares). 
     275* Schemas are no longer deepcopied to prevent crashing on un-deep-copiable 
     276  validators (#1333). 
     277* Fixed bug in tg-admin that caused it not to operate properly on projects 
     278  deployed as eggs. Patch from #1361 by Christoph Zwerschke. 
     279* SQLAlchemy auto-commiting fixed in some rare circumstances where sa_rwt was 
     280  not being called. Patch from #1267 by Paul Johnston. 
     281* CatWalk now handles customized addRemoveName in SQLObject (#911 by Joost). 
     282* Using base64.decodestring in visitor.py for 2.3 compatibility 
     283  (#1279 by Paul Fisher). 
     284* Config file in quickstarted app now has config option to load identity classes. 
     285  Thanks to Felix Schwarz (#1255). 
     286* Identity now supports encrypted passwords with unicode characters. 
     287  Thanks to Felix Schwarz and Patrick Lewis (#1281). 
     288* Minor changes to template so they work properly when ``server.webpath`` is 
     289  not ``'\'`` thanks to "nludban" (#1213). 
     290* Fix quickstart project tests, thanks to Christoph Zwerschke (#1289), 
     291  Jeff Kowalczyk (#1219). 
     292* Fix TurboGears 1.0.1 not installable with Python 2.3, thanks to "corvus" (#1264). 
     293* Automatic creation of identity model tables for SQLAlchemy, thanks to 
     294  Christoph Zwerschke (#1290). 
     295* Fix DateTimeConverter, thanks to iberonesia (#1262). 
     296* ModelDesigner now writes up-to-date model header. 
     297* Decouple turbogears.identity.encrypt_password() from SQLObject. 
     298* Remove ``class_mapper`` dependency from #1292, thanks to Christoph Zwerschke. 
     299 
     300Project Updates 
     301~~~~~~~~~~~~~~~ 
    262302 
    263303* ez_setup.py version to 0.6c5 
     
    268308  deprecates functions used in decorator.py. 
    269309 
    270 *Contributors* 
    271  
    272 Alberto Valverde, Fred Lin, Jorge Vargas, Joseph Tate, Elvelind Grandin, Florent Aide, nludban, Jeff Kowalczyk, corvus, Christoph Zwerschke, iberonesia, Alastair Houghton, Felix Schwartz, Patrcik Lewis, Grover, Paul Fisher, Joost Moesker, Paul Johnston, Christian Vogler, Janzert, Chris Miles, Christopher Arndt, Jo Soares, James E. Blair. 
     310Contributors 
     311~~~~~~~~~~~~ 
     312 
     313Alberto Valverde, Fred Lin, Jorge Vargas, Joseph Tate, Elvelind Grandin, 
     314Florent Aide, nludban, Jeff Kowalczyk, corvus, Christoph Zwerschke, iberonesia, 
     315Alastair Houghton, Felix Schwartz, Patrcik Lewis, Grover, Paul Fisher, 
     316Joost Moesker, Paul Johnston, Christian Vogler, Janzert, Chris Miles, 
     317Christopher Arndt, Jo Soares, James E. Blair. 
    273318 
    274319 
     
    276321------------------------- 
    277322 
    278 *Changes* 
    279  
    280 * paginate decorator now supports SA, improves sorting and fixes problems 
    281   with CompoundWidget. Thanks to randall@tnr.cc and sbr77. #2404 
    282 * Catwalk now supports SQLMultipleJoin/SQLRelatedJoins. Thanks to Chris Arndt 
    283   #2382 
    284 * more docstring for widgets package #2355 
    285  
    286 *Fixes* 
    287  
    288  
    289 * Identity logout  now works properly when using ``set_identity_user`` #1245. 
     323Changes 
     324~~~~~~~ 
     325 
     326* ``paginate`` decorator now supports SQLAlchemy, improves sorting and fixes 
     327  problems with CompoundWidget. Thanks to randall@tnr.cc and sbr77 (#1115). 
     328* Catwalk now supports SQLMultipleJoin/SQLRelatedJoins. 
     329  Thanks to Chris Arndt (#910). 
     330* More docstring for widgets package. 
     331 
     332Fixes 
     333~~~~~ 
     334 
     335* Identity logout  now works properly when using ``set_identity_user`` (#1245). 
    290336  Thanks to Felix Schwarz 
    291 * set right default encoding 'utf-8' instead of 'utf8' which broke 
    292   XmlHttpRequest in IE. Thanks Simon King #2408 
    293 * workaround for MySQLdb imcompatibilty with MySQL 4.1. Thanks to Felix Schwarz 
    294   #2406 
    295 * minor code style improvement in quickstart template. #2378 
    296 * redirection to default feed in FeedController.index() fixed. Thanks to Florent 
    297   Aide #2374 
    298 * fixes for FR locale in JavaScript for CalendarPicker. Thanks to Florent Aide 
    299   #2370 
    300 * various test case fixes. Thanks to Christoph Zwerschke, Felix Schwarz 
    301   #2366 #2374 #2376 
    302 * adapt tests to changes in Kid 0.9.4. Thanks to Jeff Hinrichs and 
    303   Christoph Zwerschke #2364 
    304 * reverted #2256 which caused a RuntimeError #2340 
    305  
    306 *Contributors* 
    307  
    308 Alberto Valverde, Jeff Hinrichs, Christoph Zwerschke, Felix Schwarz, randall@tnr.cc, sbr77, Florent Aide, Christopher Andt, Simon King, Fred Lin 
     337* Set right default encoding 'utf-8' instead of 'utf8' which broke 
     338  XmlHttpRequest in IE. Thanks Simon King (#1248). 
     339* Workaround for MySQLdb imcompatibilty with MySQL 4.1. Thanks to Felix Schwarz 
     340  (#1245). 
     341* Minor code style improvement in quickstart template (#1231). 
     342* Redirection to default feed in ``FeedController.index()`` fixed. 
     343  Thanks to Florent Aide (#1237). 
     344* Fixes for FR locale in JavaScript for CalendarPicker. Thanks to Florent Aide. 
     345* Various test case fixes. Thanks to Christoph Zwerschke, Felix Schwarz 
     346  (#1236, #1237). 
     347* Adapt tests to changes in Kid 0.9.4. Thanks to Jeff Hinrichs and 
     348  Christoph Zwerschke (#1234). 
     349* Reverted patch for #1168 which caused a RuntimeError (#1225). 
     350 
     351Contributors 
     352~~~~~~~~~~~~ 
     353 
     354Alberto Valverde, Jeff Hinrichs, Christoph Zwerschke, Felix Schwarz, 
     355randall@tnr.cc, sbr77, Florent Aide, Christopher Andt, Simon King, Fred Lin 
    309356 
    310357 
     
    312359----------------------- 
    313360 
    314 *Changes* 
    315  
    316 * when used with the --future option, TurboGears can now function without having 
    317   SQLObject installed. #2326 
    318 * nose is now an optional setup component #2325 
    319 * now possible to pass any option (besides dburi and echo) to sqlalchemy 
    320   engine. Thanks to elftherios and Lee McFadden #2318 #2320 
    321 * now possible to place test specific configuration in "test.cfg". Thanks to 
    322   Tim Freund #2263 
    323 * support testing the code that uses identity. Thanks to Max Ischenko and 
    324   Felix Schwarz #2258 #2305 
    325 * auto reloading speedup. Thanks to John M. Camara #2256 
    326  
    327 *Features* 
    328  
    329 * now possible to add variables to the root template namespace via 
    330   turbogears.view.root_variable_providers. Thanks Arnar Birgisson #2261 
    331 * turbogears.database.run_with_transaction is now a MultiorderGenericFunction to 
    332   allow easier customization. #2226 
    333 * tg-admin now accepts --egg and --config as global options which works on all 
    334   commands. 
    335  
    336 *Fixes* 
    337  
    338 * Fix implicit transactions for SQLAlchemy. Thanks to Lee McFadden #2322 
    339 * Various CSS fixes for DataGrid. Thanks Florent Aide #2316 
    340 * FeedController is now a Controller so tg.url works properly and fixed missing 
    341   import in feed.py .Thanks Florent Aide #2310 #2312 
    342 * Looser Enum implementation taht works better with ToscaWidgets #2303 
    343 * Kid configuration settings were ignored under certain circumstances. Thanks Joost, Ksenia and Dan for the pathes #2259 
    344 * validators.Number handles non-string input gracefully #2254 
    345 * nestedVariablesFilter made more robust #2252 
    346 * throwing an identity.IdentityException inside a controller method is now 
    347   caught by identity.SecureResource #2250 
    348 * various test case fixes. Thanks to Felix Schwarz, Joost Moesker, 
    349   Jeff Kowalczyk #2247 #2266 #2268 #2314 
    350 * 'logout' method in SQLObjectIdentity was setting read-only property. Does not 
    351   suppress exception anymore. #2243 
    352  
    353  
    354 *Contributors* 
    355  
    356 Alberto Valverde, Joost Moesker, John M. Camara, Dan Jacob, Arnar Birgisson, Ksenia Marasanova, Felix Schwarz, Tim Freund, Max Ischenko, Fred Lin, Florent Aide, Jeff Kowalczyk, elftherios, Lee McFadden, Kevin Dangoor 
    357  
     361Changes 
     362~~~~~~~ 
     363 
     364* When used with the ``--future``  option, TurboGears can now function without 
     365  having SQLObject installed. 
     366* "nose" is now an optional setup component. 
     367* Now possible to pass any option (besides dburi and echo) to SQLAlchemy 
     368  engine. Thanks to elftherios and Lee McFadden (#1215). 
     369* Now possible to place test specific configuration in "test.cfg". Thanks to 
     370  Tim Freund (#1177, #1214). 
     371* Support testing the code that uses identity. Thanks to Max Ischenko and 
     372  Felix Schwarz (#1166, #1220). 
     373* Auto reloading speedup. Thanks to John M. Camara (#1168). 
     374 
     375Features 
     376~~~~~~~~ 
     377 
     378* Now possible to add variables to the root template namespace via 
     379  turbogears.view.root_variable_providers. Thanks Arnar Birgisson (#1097). 
     380* ``turbogears.database.run_with_transaction`` is now a 
     381  ``MultiorderGenericFunction`` to allow easier customization (#1201). 
     382* tg-admin now accepts ``--egg`` and ``--config`` as global options which works 
     383  on all commands. 
     384 
     385Fixes 
     386~~~~~ 
     387 
     388* Fix implicit transactions for SQLAlchemy. Thanks to Lee McFadden (#1209). 
     389* Various CSS fixes for DataGrid. Thanks Florent Aide (#1222). 
     390* ``FeedController`` is now a Controller so ``tg.url`` works properly and fixed 
     391  missing import in feed.py .Thanks Florent Aide (#1223, #1224). 
     392* Looser Enum implementation taht works better with ToscaWidgets. 
     393* Kid configuration settings were ignored under certain circumstances. 
     394  Thanks Joost, Ksenia and Dan for the pathes (#468). 
     395* ``validators.Number`` handles non-string input gracefully (#955). 
     396* ``nestedVariablesFilter`` made more robust (#1068). 
     397* Throwing an ``identity.IdentityException`` inside a controller method is now 
     398  caught by ``identity.SecureResource`` (#1131). 
     399* Various test case fixes. Thanks to Felix Schwarz, Joost Moesker, 
     400  Jeff Kowalczyk (#1204, #1206, #1216, #1217). 
     401* ``logout()`` method in SQLObjectIdentity was setting read-only property. 
     402  Does not suppress exception anymore (#1211, #1212). 
     403 
     404Contributors 
     405~~~~~~~~~~~~ 
     406 
     407Alberto Valverde, Joost Moesker, John M. Camara, Dan Jacob, Arnar Birgisson, 
     408Ksenia Marasanova, Felix Schwarz, Tim Freund, Max Ischenko, Fred Lin, 
     409Florent Aide, Jeff Kowalczyk, elftherios, Lee McFadden, Kevin Dangoor 
    358410 
    359411 
    3604121.0b2 (November 30, 2006): 
    361 --------------------- 
    362 *Changes* 
     413-------------------------- 
     414 
     415Changes 
     416~~~~~~~ 
    363417 
    364418* The CalendarDatePicker widget allows a validator now. 
    365419 
    366 *Features* 
    367  
    368 * introduced tgsetup.py which provides simpler installation and better 
    369   error messages. tgsetup.py also provides a --future switch to 
     420Features 
     421~~~~~~~~ 
     422 
     423* Introduced tgsetup.py which provides simpler installation and better 
     424  error messages. tgsetup.py also provides a ``--future`` switch to 
    370425  get SQLAlchemy and Genshi for you. 
    371426 
    372 *Fixes* 
     427Fixes 
     428~~~~~ 
    373429 
    374430* SQLAlchemy quickstart projects with identity were missing an import 
     
    378434* Identity + SQLAlchemy + PostgreSQL had a problem with timezones that 
    379435  has been corrected. 
    380 * JSLink now uses <script></script> instead of <script/> to avoid problems 
    381   when used with template languages that don't serialize XHTML->HTML 
     436* JSLink now uses ``<script></script>`` instead of ``<script/>`` to avoid 
     437  problems when used with template languages that don't serialize XHTML->HTML. 
    382438* A number of fixes and minor enhancements to the quickstart templates 
    383 * turbogears.url has a nicer default when you're not running within a 
     439* ``turbogears.url`` has a nicer default when you're not running within a 
    384440  request (ie when you're in a test) 
    385441 
    386 *Project Updates* 
     442Project Updates 
     443~~~~~~~~~~~~~~~ 
    387444 
    388445* setuptools 0.6c3 
    389446 
    390 *Contributors* 
     447Contributors 
     448~~~~~~~~~~~~ 
    391449 
    392450Fred Lin, Jorge Vargas, Jorge Godoy, Alberto Valverde, Elvelind Grandin, 
     
    396454other contributors already mentioned). 
    397455 
     456 
    3984571.0b1 (September 7, 2006): 
    399 --------------------- 
    400 *Changes* 
     458-------------------------- 
     459 
     460Changes 
     461~~~~~~~ 
    401462 
    402463* The CalendarDatePicker will no longer prefer the user's browser's language 
    403   if a language has been explicitly specified. #1056 
    404  
    405 *Features* 
     464  if a language has been explicitly specified (#1056). 
     465 
     466Features 
     467~~~~~~~~ 
    406468 
    407469* Calls to gettext inside kid templates are now detected by i18n. 
    408 * Can now pass `tg_format` in the output dict to override the one set by 
     470* Can now pass ``tg_format`` in the output dict to override the one set by 
    409471  expose. 
    410 * Can now set the config option `sqlalchemy.echo` to toggle SA's query logging. 
    411 * Can now use `field_for` inside `FormFieldContainer`s templates to get child 
     472* Can now set the config option ``sqlalchemy.echo`` to toggle SQLAlchemy's 
     473  query logging. 
     474* Can now use ``field_for`` inside ``FormFieldContainer`` templates to get child 
    412475  fields by name. 
    413476 
    414 *Fixes* 
    415  
    416 * You can now conveniently use non-ActiveMapper SQLAlchemy classes 
    417   with identity. #1041 
    418 * Identity testing is now easier because the `DummyRequest` now 
     477Fixes 
     478~~~~~ 
     479 
     480* You can now conveniently use non-ActiveMapper SQLAlchemy classes with 
     481  identity (#1041). 
     482* Identity testing is now easier because the ``DummyRequest`` now 
    419483  includes a remote_host. 
    420484* Default identity provider will be created if the request doesn't 
    421   have one. #876 
    422 * Swedish translation file for the calendar has been fixed #1055 
    423 * `testutil.DBTest` will only drop tables that exist #1094 
    424 * Added `validate_password` to the SQLAlchemy identity provider 
    425   to match the SQLObject one. #1098 
     485  have one (#876). 
     486* Swedish translation file for the calendar has been fixed (#1055). 
     487* ``testutil.DBTest`` will only drop tables that exist (#1094). 
     488* Added ``validate_password`` to the SQLAlchemy identity provider 
     489  to match the SQLObject one (#1098). 
    426490* Corrected spelling at italian CalendarDatePickers' i18n files. 
    427491* Fixed a bug with BLOBCols in Model Designer. 
    428 * Exceptions raised when SA flushes are now dispatched with TG's errorhandling. 
    429 * Can now use `format` (plus other internal named parameters) as a controller's 
     492* Exceptions raised when SQLAlchemy flushes are now dispatched with TG's 
     493  errorhandling. 
     494* Can now use ``format`` (plus other internal named parameters) as a controller's 
    430495  method argument name. 
    431496* The toolbox will now launch the browser to point to the same port number 
    432497  as the server is listening at. 
    433498 
    434 *Project Updates* 
     499Project Updates 
     500~~~~~~~~~~~~~~~ 
    435501 
    436502* SyntaxHighlighter 1.4.0 
    437503* setuptools 0.6c2 
    438504 
     505 
    4395060.9a9 (August 17, 2006): 
    440 --------------------- 
    441  
    442 *Features* 
    443  
    444 * tg-admin toolbox now accepts a --conf argument. 
     507------------------------ 
     508 
     509Features 
     510~~~~~~~~ 
     511 
     512* tg-admin toolbox now accepts a ``--conf`` argument. 
    445513* Catwalk now provide some feedback on ajaxcalls 
    446514* The quickstarted welcome page are updated and looks much better 
    447515 
    448 *Fixes* 
     516Fixes 
     517~~~~~ 
    449518 
    450519* Adding users with Catwalk should now work 
    451520* Admi18n now works with non-ascii translation and html entities 
    452521 
    453  
    454 *Project Updates* 
     522Project Updates 
     523~~~~~~~~~~~~~~~ 
    455524 
    456525* SQLObject 0.7.1dev-r1860 
     
    460529* TurboJson 0.9.9 
    461530 
     531 
    4625320.9a8 (July 21, 2006): 
    463533---------------------- 
    464534 
    465 *Fixes* 
     535Fixes 
     536~~~~~ 
    466537 
    467538* Some problems with the calendar widget that were introduced in 0.9a7 
     
    471542  will now restrict to < 0.8. 
    472543 
    473 *Project Updates* 
     544Project Updates 
     545~~~~~~~~~~~~~~~ 
    474546 
    475547* Kid 0.9.3 (addresses problems that people had with comments in base 
     
    481553--------------------- 
    482554 
    483 *Backwards Incompatibilities* 
     555Backwards Incompatibilities 
     556~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    484557 
    485558* Former LocalizableJSLink is now CalendarLangFile. New LocalizableJSLink is 
     
    488561  To restrict access to it use Identity.SecureObject instead. 
    489562 
    490 *Deprecations* 
     563Deprecations 
     564~~~~~~~~~~~~ 
    491565 
    492566* Use of "entrys" is now deprecated in the FeedController. You should use 
    493567  "entries" instead. 
    494568 
    495 *Features* 
     569Features 
     570~~~~~~~~ 
    496571 
    497572* Syntax highlighter is used in the widget browser to make the code 
     
    499574* Logging configuration produces better errors and also has access to the 
    500575  RotatingFileHandler and TimedRotatingFileHandler (#866, also fixes #820) 
    501 * The `validate` decorator now accepts a `state_factory` parameter which should 
    502   be a callable that returns the initial state for validation (the same `state` 
    503   parameter FormEncode validators use). The final state after validation can 
    504   be accessed at `cherrypy.request.validation_state` inside controller methods. 
    505 * `tg-admin` commands can state if they need to be run in a project dir. 
     576* The ``validate`` decorator now accepts a `state_factory` parameter which 
     577  should be a callable that returns the initial state for validation (the 
     578  same ``state`` parameter FormEncode validators use). The final state after 
     579  validation can be accessed at ``cherrypy.request.validation_state`` inside 
     580  controller methods. 
     581* ``tg-admin`` commands can state if they need to be run in a project dir. 
    506582* Toolbox now uses entrypoints so site-specific tools can be added. 
    507 * `tg-admin shell` now asks if it should commit changes to the database on exit. 
    508 * Widgets can be listed at the `tg.include_widgets` config. list to send them to 
    509   every template (a la `tg.mochikit_all`). 
    510 * `DBTest` now drops tables after each test so they don't interfere with others. 
     583* ``tg-admin shell`` now asks if it should commit changes to the database on exit. 
     584* Widgets can be listed at the ``tg.include_widgets`` config. list to send them 
     585  to every template (a la ``tg.mochikit_all``). 
     586* ``DBTest`` now drops tables after each test so they don't interfere with others. 
    511587* Toolbox is now secured using Identity 
    512588* SQLAlchemy support not only works again with the latest SQLAlchemy, 
     
    514590  for SQLAlchemy databases for the first time. 
    515591 
    516 *Fixes* 
    517  
    518 * The `sample-prod.cfg` file had an incorrect logging configuration. 
     592Fixes 
     593~~~~~ 
     594 
     595* The ``sample-prod.cfg`` file had an incorrect logging configuration. 
    519596* Simplified visit queue handling which solves some mysterious bugs. 
    520 * QUICKSTART: `model.py` now includes SQLObject's requirements when identity is 
    521   off. 
    522 * `DateTimeConverter` now handles dates < 1900. 
     597* Quickstart: ``model.py`` now includes SQLObject's requirements when identity 
     598  is off. 
     599* ``DateTimeConverter`` now handles dates < 1900. 
    523600* Catwalk now handles gracefully UnicodeCols. 
    524 * QUICKSTART: `start-project.py` now detects correct python binary's path in 
     601* Quickstart: ``start-project.py`` now detects correct Python binary's path in 
    525602  the system. 
    526603* Kid's base templates are now (re)loaded properly. 
    527604* Config file selection is now smarter. 
    528 * `tg-admin update` now finds correct identity provider. 
     605* ``tg-admin update`` now finds correct identity provider. 
    529606* Catwalk now handles InheritableSQLObjects with mixins gracefully. 
    530607* Output encoding wasn't set based on the config value under some 
    531608  circumstances (#972) 
    532609 
    533 *Changes* 
    534  
    535 * If `tg.empty_flash` is True in the app's configuration, then `tg_flash = None` 
    536   will be sent to the template when it's not set. Otherwise it will not be sent 
    537   at all. 
    538 * QUICKSTART: Now supports python2.3 with PEAK's [] decorator syntax. 
    539 * `DateTimeConverter` validator now raises Invalid('empty') exceptions properly 
    540   and uses the usual `not_empty` parameter. `allow_empty` is deprecated. 
    541  
    542 *Contributors* 
     610Changes 
     611~~~~~~~ 
     612 
     613* If ``tg.empty_flash`` is True in the app's configuration, then 
     614  ``tg_flash = None`` will be sent to the template when it's not set. 
     615  Otherwise it will not be sent at all. 
     616* Quickstart: Now supports Python 2.3 with PEAK's [] decorator syntax. 
     617* ``DateTimeConverter`` validator now raises Invalid('empty') exceptions properly 
     618  and uses the usual ``not_empty`` parameter. ``allow_empty`` is deprecated. 
     619 
     620Contributors 
     621~~~~~~~~~~~~ 
    543622 
    544623(My apologies if your name belongs here and is not!) 
     
    548627Charles Duffy, Matt Good, Ksenia Marasanova. 
    549628 
     629 
    5506300.9a6 (May 9, 2006) 
    551631------------------- 
    552632 
    553 *Backwards Incompatibilities* 
    554  
    555 * `i18n.runTemplateFilter` in the config file has been renamed 
    556   `i18n.run_template_filter` (#796) 
    557 * For people using FastData (experimental): `get_add_url`, 
    558   `get_edit_url` and `get_delete_url` all are passed the row instead 
     633Backwards Incompatibilities 
     634~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     635 
     636* ``i18n.runTemplateFilter`` in the config file has been renamed 
     637  ``i18n.run_template_filter`` (#796) 
     638* For people using FastData (experimental): ``get_add_url``, 
     639  ``get_edit_url`` and ``get_delete_url`` all are passed the row instead 
    559640  of the ID now, allowing you to use something other than the ID 
    560641  if desired. 
     
    565646  look at how the TableForm does that. 
    566647 
    567 *Features* 
    568  
    569 * A new function, `turbogears.util.find_precision`, to tell you 
    570   how many decimal places of precision are required. (To help 
    571   with `i18n.format.format_decimal` which needs to know the 
    572   precision.) 
    573 * tg-admin info shows which eggs require TurboGears 
     648Features 
     649~~~~~~~~ 
     650 
     651* A new function, ``turbogears.util.find_precision``, to tell you 
     652  how many decimal places of precision are required (to help 
     653  with ``i18n.format.format_decimal`` which needs to know the 
     654  precision). 
     655* tg-admin info shows which eggs require TurboGears. 
    574656* In widgets, SelectionField now supports grouped options, 
    575657  SingleSelectField and MultipleSelectField widgets take advantage of this 
    576   to provide an optgroup tag. The format of a grouped options list is like 
    577   the following: 
    578  
    579   options = [(None, [(1, "a"), (2, "b")]), ("Others", [(3, "c"), (4, "d")])] 
    580  
     658  to provide an optgroup tag (see below). 
    581659* The Widget Browser now displays the source of the example and the 
    582660  template provided by default in the widget (to allow for easier 
    583661  complete customization) (#840, #841) 
    584 * Tabber and Syntax Highlighter widgets are now included 
    585  
    586 *Changes* 
    587  
    588 * sqlite database URIs can now be specified as sqlite:///c:/foo/bar on 
    589   Windows, which is more natural for users. (The sqlite:///c|/foo/bar 
     662* Tabber and Syntax Highlighter widgets are now included. 
     663 
     664The format of a grouped options list mentioned above is like the following:: 
     665 
     666    options = [(None, [(1, "a"), (2, "b")]), ("Others", [(3, "c"), (4, "d")])] 
     667 
     668Changes 
     669~~~~~~~ 
     670 
     671* sqlite database URIs can now be specified as ``sqlite:///c:/foo/bar`` on 
     672  Windows, which is more natural for users. (The ``sqlite:///c|/foo/bar`` 
    590673  syntax still works.) 
    591674* ValueError is raised if an InputWidget contains "." or "-", which are 
    592675  reserved for use by the widgets 
    593 * Package name is used instead of `your_project` in the quickstart 
     676* Package name is used instead of ``your_project`` in the quickstart 
    594677  logging config. 
    595678 
    596 *Fixes* 
    597  
    598 * QUICKSTART: an exception comes up if a user logs in but is not in 
     679Fixes 
     680~~~~~ 
     681 
     682* Quickstart: an exception comes up if a user logs in but is not in 
    599683  a group that is required for access. The line with 
    600   `if not identity.current.anonymous and identity.was_login_attempted()
     684  ``if not identity.current.anonymous and identity.was_login_attempted()`
    601685  in controllers.py or root.py needs an additional 
    602   `and not identity.get_identity_errors()` condition. (#834) 
    603 * QUICKSTART: quickstart projects that used identity would generate 
    604   a table called "user", which is invalid for some databases. The 
    605   new quickstart model.py generates tables called `tg_user`. #805 
    606 * QUICKSTART: there were problems with the model template for SQLAlchemy 
    607   (#801) 
     686  ``and not identity.get_identity_errors()`` condition (#834). 
     687* Quickstart projects that used identity would generate a table called "user", 
     688  which is invalid for some databases. The new quickstart model.py generates 
     689  tables called ``tg_user`` (#805). 
     690* Quickstart: there were problems with the model template for SQLAlchemy 
     691  (#801). 
    608692* SQLAlchemy's identity provider was not selected by default when you 
    609   quickstart a new project. (#806) 
     693  quickstart a new project (#806). 
    610694* Core widgets all include WidgetDescriptions now and appear in the 
    611   Widget Browser in the Toolbox (#727) 
    612 * Access logging to a file wasn't working correctly (#816) 
    613 * Bug fix for convert/`from_python` for compound and repeating widgets 
     695  Widget Browser in the Toolbox (#727). 
     696* Access logging to a file wasn't working correctly (#816). 
     697* Bug fix for convert/``from_python`` for compound and repeating widgets 
    614698* User name is now encoded to the DB encoding before a query is run 
    615   in the SQLObject identity provider 
     699  in the SQLObject identity provider. 
    616700* JSLink widgets can now specify a location 
    617 * LocalizableJSLink (and the calendar widget) now work in IE (#846) 
    618 * Added scheduler to `turbogears.__init__.__all__` so that references 
     701* LocalizableJSLink (and the calendar widget) now work in IE (#846). 
     702* Added scheduler to ``turbogears.__init__.__all__`` so that references 
    619703  to it work properly. 
    620704* tg-admin info and Toolbox info commands now work properly and show 
    621705  the same information. 
    622 * Fixed a serious bug in Python 2.3 compatibility (#853) 
    623  
    624 *Project Updates* 
     706* Fixed a serious bug in Python 2.3 compatibility (#853). 
     707 
     708Project Updates 
     709~~~~~~~~~~~~~~~ 
    625710 
    626711* MochiKit updated to 1.3.1 (#804) 
    627712 
    628 *Contributors* 
     713Contributors 
     714~~~~~~~~~~~~ 
    629715 
    630716Max Ischenko, Claudio Martinez, Matt Good, Rune Hansen, Michele Cella, 
     
    634720Jorge Vargas, Bob Kuehne. 
    635721 
     722 
    6367230.9a5 (April 26, 2006) 
    637724---------------------- 
    638725 
    639 *Backwards Incompatibilties* 
     726Backwards Incompatibilities 
     727~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    640728 
    641729* An identity login form must have a submit button having the name 
    642730  specified in the config file (identity.form.submit).  If you have a 
    643731  commented identity.form.submit value and used the default login.kid 
    644   file, you will need to add 'name="login"' to the login.kid submit 
     732  file, you will need to add ``name="login"`` to the login.kid submit 
    645733  button. 
    646734* In widgets, the base Widget class no longer supports a validator. 
     
    649737  different signature (if you happen to use the "convert" parameter, 
    650738  you just need to use it as a keyword parameter and not a 
    651   positional one.) 
    652 * decorator() should be applied to the function accepting the function 
     739  positional one). 
     740* ``decorator()`` should be applied to the function accepting the function 
    653741  being decorated ("entangle" by convention), not the caller. 
    654742* Removed keyword argument "argsink" from decorator(), 
    655743  weak_signature_decorator() should be used instead. 
    656744 
    657 *Deprecations* 
    658 &