Changeset 3743

Show
Ignore:
Timestamp:
11/20/07 17:35:06 (9 months ago)
Author:
chrisz
Message:

Copied prettified Changelog from 1.0 to 1.1 branch.

Files:

Legend:

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

    r3741 r3743  
    22==================== 
    33 
     4 
    451.1: 
    56---------------------------- 
    6 *Changes* 
    7     * Genshi and SQLAlchemy are now the defaults 
    8  
    9 *Features* 
    10     * Added full support for multiple databases using SA (Ticket #1592). 
    11     * TGWidgets in Genshi templates automatically call ET() on display 
    12       (Ticket #1355). 
    13  
    14 *Fixes* 
    15  
    16 *Contributors* 
     7 
     8Changes 
     9~~~~~~~ 
     10 
     11* Genshi and SQLAlchemy are now the defaults. 
     12 
     13Features 
     14~~~~~~~~ 
     15 
     16* Added full support for multiple databases using SA (#1592). 
     17* TGWidgets in Genshi templates automatically call ET() on display (#1355). 
     18 
     19Fixes 
     20~~~~~ 
     21 
     22* ... 
     23 
     24Contributors 
     25~~~~~~~~~~~~ 
    1726 
    1827Paul Johnston, Florent Aide, Roger Demetrescu 
     28 
    1929 
    20301.0.4: 
    2131---------------------------- 
    2232 
    23 *Changes* 
    24     * Introduction of tg.mochikit_suppress to prevent the inclusion of 
    25       the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
    26     * PaginateDataGrid template now makes use of paginate attributes to render 
    27       the links for first/previous/next/last page. 
    28     * paginate.href_last returns a special URL that allows paginate decorator 
    29       to compute the correct last page number at server-side. 
    30  
    31 *Features* 
    32     * Introduction of tg.mochikit_suppress to prevent the inclusion of 
    33       the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
    34     * Ticket #1601. Workaround in paginate for databases without OFFSET. 
    35     * The database module exports a mapper which is either session.mapper 
    36       for SQLAlchemy >= 0.4, or something similar to assign_mapper 
    37       for SQLAlchemy < 0.4, but compatible with SQLAlchemy 0.4 and Elixir. 
    38     * The tg-admin quickstart command has now an option --svn allowing 
    39       automatic creation of the project in the specified SVN repository. 
    40     * Introduction of paginate.redirect_on_out_of_range and 
    41       paginate.redirect_on_last_page, which determine if paginate decorator 
    42       should raise a redirect when current page is out of bound and the 
    43       last page is requested, respectively. 
    44  
    45 *Fixes* 
    46     * Ticket #1595. Fixed broken quickstart change. 
    47     * KID-template string collection for i18n fixed so that it ignores XML 
    48       processing instructions and comments as well as script and style sections. 
    49     * Tickets #1458, #1599 and #1604. Fixed SQLAlchemy and Elixir issues. 
    50     * Ticket #1608. Fixed issues with tg-admin update on a project in SVN. 
    51     * Ticket #1582. Fix pagination of SQLAlchemy Query ordering by backrefs 
    52       and synonyms' attributes. It also supports SQLAlchemy 0.4.1, which 
    53       removed the "properties" accessor on Mapper. 
    54     * Ticket #1605. Ensure paginate links bring the same result when using 
    55       ordering columns with a custom datagrid template. 
    56     * Ticket #1617. Fix pagination of out of bound pages. 
    57  
    58 *Contributors* 
     33Changes 
     34~~~~~~~ 
     35 
     36* Introduction of tg.mochikit_suppress to prevent the inclusion of 
     37  the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
     38* PaginateDataGrid template now makes use of paginate attributes to render 
     39  the links for first/previous/next/last page. 
     40* ``paginate.href_last`` returns a special URL that allows paginate decorator 
     41  to compute the correct last page number at server-side. 
     42 
     43Features 
     44~~~~~~~~ 
     45 
     46* Introduction of tg.mochikit_suppress to prevent the inclusion of 
     47  the shipped MochiKit 1.3.1. That allows to include custom mochikit versions. 
     48* Workaround in paginate for databases without ``OFFSET`` (#1601). 
     49* The database module exports a mapper which is either session.mapper 
     50  for SQLAlchemy >= 0.4, or something similar to assign_mapper 
     51  for SQLAlchemy < 0.4, but compatible with SQLAlchemy 0.4 and Elixir. 
     52* The ``tg-admin quickstart`` command has now an option ``-r`` 
     53  ``(--svn-repository)`` allowing automatic creation of the project in the 
     54  specified SVN repository. 
     55* Introduction of ``paginate.redirect_on_out_of_range`` and 
     56  ``paginate.redirect_on_last_page``, which determine if paginate decorator 
     57  should raise a redirect when current page is out of bound and the 
     58  last page is requested, respectively. 
     59 
     60Fixes 
     61~~~~~ 
     62 
     63* Fixed broken quickstart change (#1595). 
     64* KID-template string collection for i18n fixed so that it ignores XML 
     65  processing instructions and comments as well as script and style sections. 
     66* Fixed SQLAlchemy and Elixir issues (#1458, #1599 and #1604). 
     67* Fixed issues with ``tg-admin update`` on a project in SVN (#1608). 
     68* Fix pagination of SQLAlchemy Query ordering by backrefs and synonyms' 
     69  attributes. It also supports SQLAlchemy 0.4.1, which removed the 
     70  ``properties`` accessor on Mapper (#1582). 
     71* Ensure paginate links bring the same result when using ordering columns 
     72  with a custom datagrid template (#1605). 
     73* Fix pagination of out of bound pages (#1617). 
     74* ``tg-admin i18n`` now supports Unicode strings in Kid templates (#1397). 
     75 
     76Project Updates 
     77~~~~~~~~~~~~~~~ 
     78 
     79* TurboCheetah 1.0 
     80* TurboJson 1.1.2 
     81* TurboKid 1.0.4 
     82 
     83Contributors 
     84~~~~~~~~~~~~ 
    5985 
    6086Joel Pearson, Christoph Zwerschke, Roger Demetrescu, Juan Germano 
     87 
    6188 
    62891.0.4b2 (October, 27, 2007): 
    6390---------------------------- 
    64 *Changes* 
    65     * New quickstart templates for the SQLAlchemy support. 
    66     * Better transaction support. 
    67     * Paginate decorator enhanced SA support. 
    68  
    69 *Features* 
    70     * Ticket #1483: SQLAlchemy 0.4 is now supported: SA 0.3.10 is required as a 
    71       minimum. 
    72     * QuickStart no longer creates sqlobject-history directories for SQLAlchemy 
    73       projects. 
    74     * Ticket #1418: "tg-admin sql" is now more powerful for SQLAlchemy. 
    75     * Ticket #1582: Paginate allows ordering by attributes from related objects 
    76       (SQLAlchemy Query objects only). 
    77     * JavaScript i18n-features added 
    78  
    79 *Fixes* 
    80     * Ticket #1185: rollback SA transaction if a controller method fails, and it 
    81       has an exception_handler. 
    82     * sa_rwt (SQLAlchemy run with transaction) refactored to fix some corner 
    83       cases. 
    84     * Ticket #1508: fixed internal pagination ordering, avoiding a potential 
    85       error when paginating Query objects (sqlalchemy) and ordering by 4 or more 
    86       columns. 
    87     * Ticket #1434: Fixed pagination of Query objects (SQLAlchemy). The first 
    88       patch assumed that Query objects have a _query attribute which holds the 
    89       query object, which is only true for SelectResults objects. 
    90     * Ticket #1591: Paginate now works with SQLAlchemy 0.4. 
    91     * KID-template string collection for i18n enhanced so it matches the expectations 
    92       of the i18n-filter. 
    93  
    94 *Project Updates* 
    95     * Minimum requirement for SQLAlchemy support is now 0.3.10. 
    96     * The SQLAlchemy page on our wiki contains some upgrade information: 
    97       http://docs.turbogears.org/1.0/SQLAlchemy#id19 
    98  
    99 *Contributors* 
    100  
    101 Florent Aide, Roger Demetrescu, Jonathan Hitchcock, j, Paul Johnston, Remi Jolin, Diez B. Roggisch, Christoph Zwerschke 
     91 
     92Changes 
     93~~~~~~~ 
     94 
     95* New quickstart templates for the SQLAlchemy support. 
     96* Better transaction support. 
     97* Paginate decorator enhanced SQLAlchemy support. 
     98 
     99Features 
     100~~~~~~~~ 
     101 
     102* SQLAlchemy 0.4 is now supported, and SQLAlchemy 0.3.10 is required as a 
     103  minimum (#1483). 
     104* QuickStart no longer creates sqlobject-history directories for SQLAlchemy 
     105  projects. 
     106* "tg-admin sql" is now more powerful for SQLAlchemy (#1418). 
     107* Paginate allows ordering by attributes from related objects (SQLAlchemy 
     108  Query objects only) (#1582). 
     109* JavaScript i18n-features added. 
     110 
     111Fixes 
     112~~~~~ 
     113 
     114* Rollback SQLAlchemy transaction if a controller method fails, and it has an 
     115  exception_handler (#1185). 
     116* ``sa_rwt`` (SQLAlchemy run with transaction) refactored to fix some corner 
     117  cases. 
     118* Fixed internal pagination ordering, avoiding a potential error when 
     119  paginating Query objects (SQLAlchemy) and ordering by 4 or more 
     120  columns (#1508). 
     121* Fixed pagination of Query objects (SQLAlchemy). The first patch assumed 
     122  that Query objects have a _query attribute which holds the query object, 
     123  which is only true for SelectResults objects (#1434). 
     124* Paginate now works with SQLAlchemy 0.4 (#1591). 
     125* KID-template string collection for i18n enhanced so it matches the 
     126  expectations of the i18n-filter. 
     127 
     128Project Updates 
     129~~~~~~~~~~~~~~~ 
     130 
     131* Minimum requirement for SQLAlchemy support is now 0.3.10. 
     132* The SQLAlchemy page on our wiki contains some upgrade information: 
     133  http://docs.turbogears.org/1.0/SQLAlchemy#id19 
     134 
     135Contributors 
     136~~~~~~~~~~~~ 
     137 
     138Florent Aide, Roger Demetrescu, Jonathan Hitchcock, j, Paul Johnston, 
     139Remi Jolin, Diez B. Roggisch, Christoph Zwerschke 
     140 
    102141 
    1031421.0.4b1 (September 13, 2007): 
    104143----------------------------- 
    105 *Changes* 
    106  
    107  * Ticket #1406: the cookies should have the same timeout as the session does, 
    108  this way it is possible to keep users logged in for longer than the time 
    109  the browser is running. 
    110  * SQLAlchemy 0.4 support added. The identity part and the SA quickstart model 
    111  were changed to do this. For the moment only the standard SA model has been 
    112  changed, the tbig is still not fully SA 0.4 compatible. 
    113  
    114 *Features* 
    115  
    116  * i18n support for Javascript (for real this time). 
    117  * Ticket #1410: allows pagination of multiple variables, simply by using 
    118  the @paginate decorator multiple times on a particular controller. 
    119  It maintains backwards compatibility with previous code, but introduces 
    120  a new template variable: tg.paginates. 
    121  * Added -o (--sqlobject) option to generate sqlobject template, by Fred Lin. 
    122  
    123 *Fixes* 
    124  
    125  * SQLAlchemy exception handling and transaction support has been 
    126  improved and polished. 
    127  * Added proper logging for exceptions that occured during the identity 
    128  providers. Thoses errors were lost silently before and made it hard to 
    129  understand from where the problem came. 
    130  * Improved support for the SQLAlchemy command line interface. 
    131  
    132 *Project Updates* 
    133  
    134  * A lot of unit tests have been fixed to support versions of nose 
    135  superior to 0.9.2. Paul also took great care to add more unit tests 
    136  to the SA handling in TG. 
    137  * Now require TurboKid 1.0.3 for Kid support. This will pull out the 
    138  latest TurboKid that includes fixes for choosing the kid output format. 
    139  
    140 *Contributors* 
     144 
     145Changes 
     146~~~~~~~ 
     147 
     148* The cookies should have the same timeout as the session does, this way it 
     149  is possible to keep users logged in for longer than the time the browser 
     150  is running (#1406). 
     151* SQLAlchemy 0.4 support added. The identity part and the SQLAlchemy quickstart 
     152  model were changed to do this. For the moment only the standard SQLAlchemy 
     153  model has been changed, the ``tbig`` is still not fully compatible with 
     154  SQLAlchemy 0.4. 
     155 
     156Features 
     157~~~~~~~~ 
     158 
     159* i18n support for Javascript (for real this time). 
     160* Allow pagination of multiple variables, simply by using the @paginate 
     161  decorator multiple times on a particular controller. 
     162  It maintains backwards compatibility with previous code, but introduces 
     163  a new template variable: tg.paginates (#1410). 
     164* Added ``-o`` ``(--sqlobject)`` option to generate SQLObject template, 
     165  by Fred Lin. 
     166 
     167Fixes 
     168~~~~~ 
     169 
     170* SQLAlchemy exception handling and transaction support has been 
     171  improved and polished. 
     172* Added proper logging for exceptions that occured during the identity 
     173  providers. Thoses errors were lost silently before and made it hard to 
     174  understand from where the problem came. 
     175* Improved support for the SQLAlchemy command line interface. 
     176 
     177Project Updates 
     178~~~~~~~~~~~~~~~ 
     179 
     180* A lot of unit tests have been fixed to support versions of nose 
     181  superior to 0.9.2. Paul also took great care to add more unit tests 
     182  to the SQLAlchemy handling in TG. 
     183* Now require TurboKid 1.0.3 for Kid support. This will pull out the 
     184  latest TurboKid that includes fixes for choosing the kid output format. 
     185 
     186Contributors 
     187~~~~~~~~~~~~ 
    141188 
    142189Diez B. Roggisch, j, Christoph Zwerschke, Chris Arndt, Paul Johnston, Florent Aide 
     
    1451921.0.3.2 (July 20, 2007): 
    146193------------------------ 
    147 *Changes* 
    148  
    149 *Features* 
    150  
    151 *Fixes* 
    152         * Ticket #1444: Genshi, while internally calling it "variable_lookup", has 
    153         a Buffet Engine plugin that expects "lookup_errors". TG 1.0 and 1.1 look 
    154         for and pass through only "variable_lookup", while TG 1.1 has 
    155         "lookup_errors" in configuration. 
    156         This helps in error handling with Genshi templates. 
    157         Patch by Neil Blakey-Milner. 
    158  
    159         * r3318: Output format must not be set for other templating engines than 
    160         Kid, and needs not be set for Kid either. Removed unnecessary imports. 
    161         Christoph Zwerschke. 
    162  
    163         * r3317: tg-admin toolbox did not run outside a project directory. 
    164         Christoph Zwerschke. 
    165  
    166 *Contributors* 
     194 
     195Fixes 
     196~~~~~ 
     197 
     198* Genshi, while internally calling it "variable_lookup", has a Buffet Engine 
     199  plugin that expects "lookup_errors". TG 1.0 and 1.1 look for and pass through 
     200  only "variable_lookup", while TG 1.1 has "lookup_errors" in configuration. 
     201  This helps in error handling with Genshi templates. 
     202  Patch by Neil Blakey-Milner (#1444). 
     203* Output format must not be set for other templating engines than Kid, 
     204  and needs not be set for Kid either. Removed unnecessary imports. 
     205  Christoph Zwerschke. 
     206* ``tg-admin toolbox`` did not run outside a project directory. 
     207  Christoph Zwerschke. 
     208 
     209Contributors 
     210~~~~~~~~~~~~ 
    167211 
    168212Neil Blakey-Milner, Christoph Zwerschke 
     213 
    169214 
    1702151.0.3 (July 19, 2007): 
    171216---------------------- 
    172217 
    173 *Changes* 
    174         * Added support for multiple databases using SA (ticket #1380 by Ian Charnas). 
    175  
    176 *Features* 
    177         * Elixir quickstart by FredLin 
    178  
    179         * Adding encryption on the fly for SA identity on in the template as 
    180           per discussion here: 
    181           http://groups.google.co.in/group/turbogears/browse_thread/thread/f4b43e9f148c3a9a 
    182           fixes ticket #1415 
    183  
    184         * Added slovenian translation thanks to mte on ticket #1190. 
    185  
    186         * Japanese Calendar ticket #1395 thanks to tmatsuo 
    187  
    188         * Handle locales in egg creation thanks to Christoph Zwerschke 
    189  
    190 *Fixes* 
    191         * ticket #1434. Now handles SA Query in addition of SelectResults 
    192           which will be deprecated in the near future. 
    193  
    194         * ticket #1325  Fix visit entries created more than once in the 
    195           database. 
    196  
    197         * Fixed toolbox config loading during startup. 
    198  
    199         * Applied patch from Simon Wittber on ticket #1284: Safari Unicode fix 
    200  
    201         * Fix for i18n for testsuites not run in the same directory as the project 
    202  
    203         * Patch for ticket #1319: @paginate barfs if you try to sort 
    204           on a column whose data is generated from SQL. thanks to Alastair 
    205  
    206         * Patch from ticket 1318: @paginate doesn't support SQLAlchemy 
    207           list properties. thanks to alastair! 
    208  
    209         * Fixes ticket #1321: Fixed paginate href. Thanks to alastair! 
    210  
    211         * Enable custom: plugins outside TG source tree thx to aalbrecht 
    212           fixes ticket #1178 
    213  
    214 *Project Updates* 
    215         * recommended version of Python is now 2.5 
    216  
    217 *Contributors* 
     218Changes 
     219~~~~~~~ 
     220 
     221* Added support for multiple databases using SQLAlchemy (#1380 by Ian Charnas). 
     222 
     223Features 
     224~~~~~~~~ 
     225 
     226* Elixir quickstart by FredLin 
     227* Adding encryption on the fly for SQLAlchemy identity on in the template as 
     228  per mailing list discussion (#1415). 
     229* Added slovenian translation thanks to mte (#1190). 
     230* Japanese Calendar thanks to tmatsuo (#1395). 
     231* Handle locales in egg creation thanks to Christoph Zwerschke 
     232 
     233Fixes 
     234~~~~~ 
     235 
     236* Now handles SQLAlchemy Query in addition of SelectResults which will be 
     237  deprecated in the near future (#1434). 
     238* Fix visit entries created more than once in the database (#1325). 
     239* Fixed toolbox config loading during startup. 
     240* Safari Unicode fix (patch from Simon Wittber, #1284). 
     241* Fix for i18n for testsuites not run in the same directory as the project 
     242* @paginate barfed if you tried to sort on a column whose data 
     243  is generated from SQL. Thanks to Alastair (#1319). 
     244* @paginate didn't support SQLAlchemy list properties. 
     245  Thanks to Alastair (#1318). 
     246* Fixed paginate href. Thanks to Alastair (#1321). 
     247* Enable custom: plugins outside TG source tree thx to aalbrecht (#1178). 
     248 
     249Project Updates 
     250~~~~~~~~~~~~~~~ 
     251 
     252* Recommended version of Python is now 2.5. 
     253 
     254Contributors 
     255~~~~~~~~~~~~ 
    218256 
    219257Simon Wittber, Christopher Arndt, Christoph Zwerschke, Paul Johnston, FredLin, 
    220 jtate, Ian Charnas, Alastair Houghton, Ian Charnas, Alberto Valverde Gonzales
     258jtate, Ian Charnas, Alastair Houghton, Ian Charnas, Alberto Valverde Gonz�z
    221259Florent Aide. 
     260 
    222261 
    2232621.0.2 (May 2, 2007): 
    224263-------------------- 
    225264 
    226 *Changes* 
    227  
    228 * New ``visit.cookie.secure``config option to send cookie only over a secure connection. 
    229   #1375 by James E. Blair. 
    230 * ``cherrypy.request`` is now available at the variables sent to every template. 
    231   #1362 by Christoph Zwerschke. 
    232 * SA transaction object is now stored at ``cherrypy.request.sa_transaction`` so it 
    233   can be accessed from the controllers. Patch at #1359 by Janzert. 
     265Changes 
     266~~~~~~~ 
     267 
     268* New ``visit.cookie.secure`` config option to send cookie only over a secure 
     269  connection (#1375 by James E. Blair). 
     270* ``cherrypy.request`` is now available at the variables sent to every template 
     271  (#1362 by Christoph Zwerschke). 
     272* SQLAlchemy transaction object is now stored at ``cherrypy.request.sa_transaction`` so 
     273  it can be accessed from the controllers. Patch at #1359 by Janzert. 
    234274* SecureResource now raises an AttributeError when no require attribute is 
    235275  present in the controller class or in the config file. Closes #1336. 
    236276  (Note: This might break some "broken" apps, fortunately a detailed exception 
    237    is raised advising how to fix it). 
    238 * slight quickstart css modification for tables 
    239 * Add default css to highlight the validation error 
    240 * make 'flash' block dynamic in quickstart 
    241 * session setting is moved to config/app.cfg 
    242 * command/toolbox info could list the toolbox plugins 
    243 * Enhancement SQLAlchemy default model, use 'assign' to avoid repeatedly writing, thanks cito 
    244 * Able to specify a default doctype in genshi, thanks Alastair Houghton 
    245  
    246 *Features* 
    247  
    248 * Validators now support localized error messages. Thanks to Gregor Horvath and updated patch 
    249   at #1136 by Christian Vogler. 
    250 * Python 2.5 compatible, Thanks to Florent Aide and Fred Lin #1288 
    251 * AutoCompleteField now accepts a take_focus parameter to focus on load. Thanks to Grover at #1332 
    252  
    253 *Fixes* 
    254  
    255 * Fixed support for SA in paginate. #1360 by Jo Soares. 
    256 * Schemas are no longer deepcopied to prevent crashing on un-deep-copiable validators. #1333. 
    257 * Fixed bug in tg-admin that caused it not to operate properly on projects deployed as eggs. Patch 
    258   from #1361 by Christoph Zwerschke. 
    259 * SA auto-commiting fixed in some rare circumstances where sa_rwt was not being called. Patch from 
    260   #1267 by Paul Johnston. 
    261 * CatWalk now handles customized addRemoveName in SO. #911 by Joost 
    262 * using base64.decodestring in visitor.py for 2.3 compatibility. #1279 by Paul Fisher. 
    263 * Config file in quickstarted app now has config option to load identity classes. Thanks to Felix 
    264   Schwarz #1255. 
    265 * Identity now supports encrypted passwords with unicode characters. Thanks to Felix Schwarz and 
    266   Patrick Lewis #1281 
    267 * minor changes to template so they work properly when server.webpath != / thanks to "nludban" #1213 
    268 * fix quickstart project tests, thanks to Christoph Zwerschke #1289, Jeff Kowalczyk #1219 
    269 * fix TurboGears 1.0.1 not installable with python2.3, thanks to "corvus" #1264 
    270 * Automatic creation of identity model tables for SQLAlchemy, thanks to Christoph Zwerschke #1290 
    271 * fix DateTimeConverter, thanks to iberonesia #1262 
    272 * ModelDesigner? now write up-to-date model header 
    273 * decouple turbogears.identity.encrypt_password() from sqlobject 
    274 * remove class_mapper dependency from #1292, thanks chrisz 
    275  
    276 *Project Updates* 
     277  is raised advising how to fix it). 
     278* Slight quickstart CSS modification for tables. 
     279* Add default CSS to highlight the validation error. 
     280* Made "flash" block dynamic in quickstart. 
     281* Session setting is moved to config/app.cfg 
     282* command/toolbox info could list the toolbox plugins. 
     283* Enhancement SQLAlchemy default model, use 'assign' to avoid repeatedly writing, 
     284  thanks Christoph Zwerschke. 
     285* Able to specify a default doctype in genshi, thanks Alastair Houghton. 
     286 
     287Features 
     288~~~~~~~~ 
     289 
     290* Validators now support localized error messages. Thanks to Gregor Horvath and 
     291  updated patch #1136 by Christian Vogler. 
     292* Python 2.5 compatible, Thanks to Florent Aide and Fred Lin (#1288). 
     293* AutoCompleteField now accepts a take_focus parameter to focus on load. 
     294  Thanks to Grover (#1332). 
     295 
     296Fixes 
     297~~~~~ 
     298 
     299* Fixed support for SQLAlchemy in paginate (#1360 by Jo Soares). 
     300* Schemas are no longer deepcopied to prevent crashing on un-deep-copiable 
     301  validators (#1333). 
     302* Fixed bug in tg-admin that caused it not to operate properly on projects 
     303  deployed as eggs. Patch from #1361 by Christoph Zwerschke. 
     304* SQLAlchemy auto-commiting fixed in some rare circumstances where sa_rwt was 
     305  not being called. Patch from #1267 by Paul Johnston. 
     306* CatWalk now handles customized addRemoveName in SQLObject (#911 by Joost). 
     307* Using base64.decodestring in visitor.py for 2.3 compatibility 
     308  (#1279 by Paul Fisher). 
     309* Config file in quickstarted app now has config option to load identity classes. 
     310  Thanks to Felix Schwarz (#1255). 
     311* Identity now supports encrypted passwords with unicode characters. 
     312  Thanks to Felix Schwarz and Patrick Lewis (#1281). 
     313* Minor changes to template so they work properly when ``server.webpath`` is 
     314  not ``'\'`` thanks to "nludban" (#1213). 
     315* Fix quickstart project tests, thanks to Christoph Zwerschke (#1289), 
     316  Jeff Kowalczyk (#1219). 
     317* Fix TurboGears 1.0.1 not installable with Python 2.3, thanks to "corvus" (#1264). 
     318* Automatic creation of identity model tables for SQLAlchemy, thanks to 
     319  Christoph Zwerschke (#1290). 
     320* Fix DateTimeConverter, thanks to iberonesia (#1262). 
     321* ModelDesigner now writes up-to-date model header. 
     322* Decouple turbogears.identity.encrypt_password() from SQLObject. 
     323* Remove ``class_mapper`` dependency from #1292, thanks to Christoph Zwerschke. 
     324 
     325Project Updates 
     326~~~~~~~~~~~~~~~ 
    277327 
    278328* ez_setup.py version to 0.6c5 
     
    283333  deprecates functions used in decorator.py. 
    284334 
    285 *Contributors* 
    286  
    287 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. 
     335Contributors 
     336~~~~~~~~~~~~ 
     337 
     338Alberto Valverde, Fred Lin, Jorge Vargas, Joseph Tate, Elvelind Grandin, 
     339Florent Aide, nludban, Jeff Kowalczyk, corvus, Christoph Zwerschke, iberonesia, 
     340Alastair Houghton, Felix Schwartz, Patrcik Lewis, Grover, Paul Fisher, 
     341Joost Moesker, Paul Johnston, Christian Vogler, Janzert, Chris Miles, 
     342Christopher Arndt, Jo Soares, James E. Blair. 
    288343 
    289344 
     
    291346------------------------- 
    292347 
    293 *Changes* 
    294  
    295 * paginate decorator now supports SA, improves sorting and fixes problems 
    296   with CompoundWidget. Thanks to randall@tnr.cc and sbr77. #2404 
    297 * Catwalk now supports SQLMultipleJoin/SQLRelatedJoins. Thanks to Chris Arndt 
    298   #2382 
    299 * more docstring for widgets package #2355 
    300  
    301 *Fixes* 
    302  
    303  
    304 * Identity logout  now works properly when using ``set_identity_user`` #1245. 
     348Changes 
     349~~~~~~~ 
     350 
     351* ``paginate`` decorator now supports SQLAlchemy, improves sorting and fixes 
     352  problems with CompoundWidget. Thanks to randall@tnr.cc and sbr77 (#1115). 
     353* Catwalk now supports SQLMultipleJoin/SQLRelatedJoins. 
     354  Thanks to Chris Arndt (#910). 
     355* More docstring for widgets package. 
     356 
     357Fixes 
     358~~~~~ 
     359 
     360* Identity logout  now works properly when using ``set_identity_user`` (#1245). 
    305361  Thanks to Felix Schwarz 
    306 * set right default encoding 'utf-8' instead of 'utf8' which broke 
    307   XmlHttpRequest in IE. Thanks Simon King #2408 
    308 * workaround for MySQLdb imcompatibilty with MySQL 4.1. Thanks to Felix Schwarz 
    309   #2406 
    310 * minor code style improvement in quickstart template. #2378 
    311 * redirection to default feed in FeedController.index() fixed. Thanks to Florent 
    312   Aide #2374 
    313 * fixes for FR locale in JavaScript for CalendarPicker. Thanks to Florent Aide 
    314   #2370 
    315 * various test case fixes. Thanks to Christoph Zwerschke, Felix Schwarz 
    316   #2366 #2374 #2376 
    317 * adapt tests to changes in Kid 0.9.4. Thanks to Jeff Hinrichs and 
    318   Christoph Zwerschke #2364 
    319 * reverted #2256 which caused a RuntimeError #2340 
    320  
    321 *Contributors* 
    322  
    323 Alberto Valverde, Jeff Hinrichs, Christoph Zwerschke, Felix Schwarz, randall@tnr.cc, sbr77, Florent Aide, Christopher Andt, Simon King, Fred Lin 
     362* Set right default encoding 'utf-8' instead of 'utf8' which broke 
     363  XmlHttpRequest in IE. Thanks Simon King (#1248). 
     364* Workaround for MySQLdb imcompatibilty with MySQL 4.1. Thanks to Felix Schwarz 
     365  (#1245). 
     366* Minor code style improvement in quickstart template (#1231). 
     367* Redirection to default feed in ``FeedController.index()`` fixed. 
     368  Thanks to Florent Aide (#1237). 
     369* Fixes for FR locale in JavaScript for CalendarPicker. Thanks to Florent Aide. 
     370* Various test case fixes. Thanks to Christoph Zwerschke, Felix Schwarz 
     371  (#1236, #1237). 
     372* Adapt tests to changes in Kid 0.9.4. Thanks to Jeff Hinrichs and 
     373  Christoph Zwerschke (#1234). 
     374* Reverted patch for #1168 which caused a RuntimeError (#1225). 
     375 
     376Contributors 
     377~~~~~~~~~~~~ 
     378 
     379Alberto Valverde, Jeff Hinrichs, Christoph Zwerschke, Felix Schwarz, 
     380randall@tnr.cc, sbr77, Florent Aide, Christopher Andt, Simon King, Fred Lin 
    324381 
    325382 
     
    327384----------------------- 
    328385 
    329 *Changes* 
    330  
    331 * when used with the --future option, TurboGears can now function without having 
    332   SQLObject installed. #2326 
    333 * nose is now an optional setup component #2325 
    334 * now possible to pass any option (besides dburi and echo) to sqlalchemy 
    335   engine. Thanks to elftherios and Lee McFadden #2318 #2320 
    336 * now possible to place test specific configuration in "test.cfg". Thanks to 
    337   Tim Freund #2263 
    338 * support testing the code that uses identity. Thanks to Max Ischenko and 
    339   Felix Schwarz #2258 #2305 
    340 * auto reloading speedup. Thanks to John M. Camara #2256 
    341  
    342 *Features* 
    343  
    344 * now possible to add variables to the root template namespace via 
    345   turbogears.view.root_variable_providers. Thanks Arnar Birgisson #2261 
    346 * turbogears.database.run_with_transaction is now a MultiorderGenericFunction to 
    347   allow easier customization. #2226 
    348 * tg-admin now accepts --egg and --config as global options which works on all 
    349   commands. 
    350  
    351 *Fixes* 
    352  
    353 * Fix implicit transactions for SQLAlchemy. Thanks to Lee McFadden #2322 
    354 * Various CSS fixes for DataGrid. Thanks Florent Aide #2316 
    355 * FeedController is now a Controller so tg.url works properly and fixed missing 
    356   import in feed.py .Thanks Florent Aide #2310 #2312 
    357 * Looser Enum implementation taht works better with ToscaWidgets #2303 
    358 * Kid configuration settings were ignored under certain circumstances. Thanks Joost, Ksenia and Dan for the pathes #2259 
    359 * validators.Number handles non-string input gracefully #2254 
    360 * nestedVariablesFilter made more robust #2252 
    361 * throwing an identity.IdentityException inside a controller method is now 
    362   caught by identity.SecureResource #2250 
    363 * various test case fixes. Thanks to Felix Schwarz, Joost Moesker, 
    364   Jeff Kowalczyk #2247 #2266 #2268 #2314 
    365 * 'logout' method in SQLObjectIdentity was setting read-only property. Does not 
    366   suppress exception anymore. #2243 
    367  
    368  
    369 *Contributors* 
    370  
    371 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 
    372  
     386Changes 
     387~~~~~~~ 
     388 
     389* When used with the ``--future``  option, TurboGears can now function without 
     390  having SQLObject installed. 
     391* "nose" is now an optional setup component. 
     392* Now possible to pass any option (besides dburi and echo) to SQLAlchemy 
     393  engine. Thanks to elftherios and Lee McFadden (#1215). 
     394* Now possible to place test specific configuration in "test.cfg". Thanks to 
     395  Tim Freund (#1177, #1214). 
     396* Support testing the code that uses identity. Thanks to Max Ischenko and 
     397  Felix Schwarz (#1166, #1220). 
     398* Auto reloading speedup. Thanks to John M. Camara (#1168). 
     399 
     400Features 
     401~~~~~~~~ 
     402 
     403* Now possible to add variables to the root template namespace via 
     404  turbogears.view.root_variable_providers. Thanks Arnar Birgisson (#1097). 
     405* ``turbogears.database.run_with_transaction`` is now a 
     406  ``MultiorderGenericFunction`` to allow easier customization (#1201). 
     407* tg-admin now accepts ``--egg`` and ``--config`` as global options which works 
     408  on all commands. 
     409 
     410Fixes 
     411~~~~~ 
     412 
     413* Fix implicit transactions for SQLAlchemy. Thanks to Lee McFadden (#1209). 
     414* Various CSS fixes for DataGrid. Thanks Florent Aide (#1222). 
     415* ``FeedController`` is now a Controller so ``tg.url`` works properly and fixed 
     416  missing import in feed.py .Thanks Florent Aide (#1223, #1224). 
     417* Looser Enum implementation taht works better with ToscaWidgets. 
     418* Kid configuration settings were ignored under certain circumstances. 
     419  Thanks Joost, Ksenia and Dan for the pathes (#468). 
     420* ``validators.Number`` handles non-string input gracefully (#955). 
     421* ``nestedVariablesFilter`` made more robust (#1068). 
     422* Throwing an ``identity.IdentityException`` inside a controller method is now 
     423  caught by ``identity.SecureResource`` (#1131). 
     424* Various test case fixes. Thanks to Felix Schwarz, Joost Moesker, 
     425  Jeff Kowalczyk (#1204, #1206, #1216, #1217). 
     426* ``logout()`` method in SQLObjectIdentity was setting read-only property. 
     427  Does not suppress exception anymore (#1211, #1212). 
     428 
     429Contributors 
     430~~~~~~~~~~~~ 
     431 
     432Alberto Valverde, Joost Moesker, John M. Camara, Dan Jacob, Arnar Birgisson, 
     433Ksenia Marasanova, Felix Schwarz, Tim Freund, Max Ischenko, Fred Lin, 
     434Florent Aide, Jeff Kowalczyk, elftherios, Lee McFadden, Kevin Dangoor 
    373435 
    374436 
    3754371.0b2 (November 30, 2006): 
    376438-------------------------- 
    377 *Changes* 
     439 
     440Changes 
     441~~~~~~~ 
    378442 
    379443* The CalendarDatePicker widget allows a validator now. 
    380444 
    381 *Features* 
    382  
    383 * introduced tgsetup.py which provides simpler installation and better 
    384   error messages. tgsetup.py also provides a --future switch to 
     445Features 
     446~~~~~~~~ 
     447 
     448* Introduced tgsetup.py which provides simpler installation and better 
     449  error messages. tgsetup.py also provides a ``--future`` switch to 
    385450  get SQLAlchemy and Genshi for you. 
    386451 
    387 *Fixes* 
     452Fixes 
     453~~~~~ 
    388454 
    389455* SQLAlchemy quickstart projects with identity were missing an import 
     
    393459* Identity + SQLAlchemy + PostgreSQL had a problem with timezones that 
    394460  has been corrected. 
    395 * JSLink now uses <script></script> instead of <script/> to avoid problems 
    396   when used with template languages that don't serialize XHTML->HTML 
     461* JSLink now uses ``<script></script>`` instead of ``<script/>`` to avoid 
     462  problems when used with template languages that don't serialize XHTML->HTML. 
    397463* A number of fixes and minor enhancements to the quickstart templates 
    398 * turbogears.url has a nicer default when you're not running within a 
     464* ``turbogears.url`` has a nicer default when you're not running within a 
    399465  request (ie when you're in a test) 
    400466 
    401 *Project Updates* 
     467Project Updates 
     468~~~~~~~~~~~~~~~ 
    402469 
    403470* setuptools 0.6c3 
    404471 
    405 *Contributors* 
     472Contributors 
     473~~~~~~~~~~~~ 
    406474 
    407475Fred Lin, Jorge Vargas, Jorge Godoy, Alberto Valverde, Elvelind Grandin, 
     
    411479other contributors already mentioned). 
    412480 
     481 
    4134821.0b1 (September 7, 2006): 
    414483-------------------------- 
    415 *Changes* 
     484 
     485Changes 
     486~~~~~~~ 
    416487 
    417488* The CalendarDatePicker will no longer prefer the user's browser's language 
    418   if a language has been explicitly specified. #1056 
    419  
    420 *Features* 
     489  if a language has been explicitly specified (#1056). 
     490 
     491Features 
     492~~~~~~~~ 
    421493 
    422494* Calls to gettext inside kid templates are now detected by i18n. 
    423 * Can now pass `tg_format` in the output dict to override the one set by 
     495* Can now pass ``tg_format`` in the output dict to override the one set by 
    424496  expose. 
    425 * Can now set the config option `sqlalchemy.echo` to toggle SA's query logging. 
    426 * Can now use `field_for` inside `FormFieldContainer`s templates to get child 
     497* Can now set the config option ``sqlalchemy.echo`` to toggle SQLAlchemy's 
     498  query logging. 
     499* Can now use ``field_for`` inside ``FormFieldContainer`` templates to get child 
    427500  fields by name. 
    428501 
    429 *Fixes* 
    430  
    431 * You can now conveniently use non-ActiveMapper SQLAlchemy classes 
    432   with identity. #1041 
    433 * Identity testing is now easier because the `DummyRequest` now 
     502Fixes 
     503~~~~~ 
     504 
     505* You can now conveniently use non-ActiveMapper SQLAlchemy classes with 
     506  identity (#1041). 
     507* Identity testing is now easier because the ``DummyRequest`` now 
    434508  includes a remote_host. 
    435509* Default identity provider will be created if the request doesn't 
    436   have one. #876 
    437 * Swedish translation file for the calendar has been fixed #1055 
    438 * `testutil.DBTest` will only drop tables that exist #1094 
    439 * Added `validate_password` to the SQLAlchemy identity provider 
    440   to match the SQLObject one. #1098 
     510  have one (#876). 
     511* Swedish translation file for the calendar has been fixed (#1055). 
     512* ``testutil.DBTest`` will only drop tables that exist (#1094). 
     513* Added ``validate_password`` to the SQLAlchemy identity provider 
     514  to match the SQLObject one (#1098). 
    441515* Corrected spelling at italian CalendarDatePickers' i18n files. 
    442516* Fixed a bug with BLOBCols in Model Designer. 
    443 * Exceptions raised when SA flushes are now dispatched with TG's errorhandling. 
    444 * Can now use `format` (plus other internal named parameters) as a controller's 
     517* Exceptions raised when SQLAlchemy flushes are now dispatched with TG's 
     518  errorhandling. 
     519* Can now use ``format`` (plus other internal named parameters) as a controller's 
    445520  method argument name. 
    446521* The toolbox will now launch the browser to point to the same port number 
    447522  as the server is listening at. 
    448523 
    449 *Project Updates* 
     524Project Updates 
     525~~~~~~~~~~~~~~~ 
    450526 
    451527* SyntaxHighlighter 1.4.0 
    452528* setuptools 0.6c2 
    453529 
     530 
    4545310.9a9 (August 17, 2006): 
    455532------------------------ 
    456533 
    457 *Features* 
    458  
    459 * tg-admin toolbox now accepts a --conf argument. 
     534Features 
     535~~~~~~~~ 
     536 
     537* tg-admin toolbox now accepts a ``--conf`` argument. 
    460538* Catwalk now provide some feedback on ajaxcalls 
    461539* The quickstarted welcome page are updated and looks much better 
    462540 
    463 *Fixes* 
     541Fixes 
     542~~~~~ 
    464543 
    465544* Adding users with Catwalk should now work 
    466545* Admi18n now works with non-ascii translation and html entities 
    467546 
    468  
    469 *Project Updates* 
     547Project Updates 
     548~~~~~~~~~~~~~~~ 
    470549 
    471550* SQLObject 0.7.1dev-r1860 
     
    475554* TurboJson 0.9.9 
    476555 
     556 
    4775570.9a8 (July 21, 2006): 
    478558---------------------- 
    479559 
    480 *Fixes* 
     560Fixes 
     561~~~~~ 
    481562 
    482563* Some problems with the calendar widget that were introduced in 0.9a7 
     
    486567  will now restrict to < 0.8. 
    487568 
    488 *Project Updates* 
     569Project Updates 
     570~~~~~~~~~~~~~~~ 
    489571 
    490572* Kid 0.9.3 (addresses problems that people had with comments in base 
     
    496578--------------------- 
    497579 
    498 *Backwards Incompatibilities* 
     580Backwards Incompatibilities 
     581~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    499582 
    500583* Former LocalizableJSLink is now CalendarLangFile. New LocalizableJSLink is 
     
    503586  To restrict access to it use Identity.SecureObject instead. 
    504587 
    505 *Deprecations* 
     588Deprecations 
     589~~~~~~~~~~~~ 
    506590 
    507591* Use of "entrys" is now deprecated in the FeedController. You should use 
    508592  "entries" instead. 
    509593 
    510 *Features* 
     594Features 
     595~~~~~~~~ 
    511596 
    512597* Syntax highlighter is used in the widget browser to make the code 
     
    514599* Logging configuration produces better errors and also has access to the 
    515600  RotatingFileHandler and TimedRotatingFileHandler (#866, also fixes #820) 
    516 * The `validate` decorator now accepts a `state_factory` parameter which should 
    517   be a callable that returns the initial state for validation (the same `state` 
    518   parameter FormEncode validators use). The final state after validation can 
    519   be accessed at `cherrypy.request.validation_state` inside controller methods. 
    520 * `tg-admin` commands can state if they need to be run in a project dir. 
     601* The ``validate`` decorator now accepts a `state_factory` parameter which 
     602  should be a callable that returns the initial state for validation (the 
     603  same ``state`` parameter FormEncode validators use). The final state after 
     604  validation can be accessed at ``cherrypy.request.validation_state`` inside 
     605  controller methods. 
     606* ``tg-admin`` commands can state if they need to be run in a project dir. 
    521607* Toolbox now uses entrypoints so site-specific tools can be added. 
    522 * `tg-admin shell` now asks if it should commit changes to the database on exit. 
    523 * Widgets can be listed at the `tg.include_widgets` config. list to send them to 
    524   every template (a la `tg.mochikit_all`). 
    525 * `DBTest` now drops tables after each test so they don't interfere with others. 
     608* ``tg-admin shell`` now asks if it should commit changes to the database on exit. 
     609* Widgets can be listed at the ``tg.include_widgets`` config. list to send them 
     610  to every template (a la ``tg.mochikit_all``). 
     611* ``DBTest`` now drops tables after each test so they don't interfere with others. 
    526612* Toolbox is now secured using Identity 
    527613* SQLAlchemy support not only works again with the latest SQLAlchemy, 
     
    529615  for SQLAlchemy databases for the first time. 
    530616 
    531 *Fixes* 
    532  
    533 * The `sample-prod.cfg` file had an incorrect logging configuration. 
     617Fixes 
     618~~~~~ 
     619 
     620* The ``sample-prod.cfg`` file had an incorrect logging configuration. 
    534621* Simplified visit queue handling which solves some mysterious bugs. 
    535 * QUICKSTART: `model.py` now includes SQLObject's requirements when identity is 
    536   off. 
    537 * `DateTimeConverter` now handles dates < 1900. 
     622* Quickstart: ``model.py`` now includes SQLObject's requirements when identity 
     623  is off. 
     624* ``DateTimeConverter`` now handles dates < 1900. 
    538625* Catwalk now handles gracefully UnicodeCols. 
    539 * QUICKSTART: `start-project.py` now detects correct python binary's path in 
     626* Quickstart: ``start-project.py`` now detects correct Python binary's path in 
    540627  the system. 
    541628* Kid's base templates are now (re)loaded properly. 
    542629* Config file selection is now smarter. 
    543 * `tg-admin update` now finds correct identity provider. 
     630* ``tg-admin update`` now finds correct identity provider. 
    544631* Catwalk now handles InheritableSQLObjects with mixins gracefully. 
    545632* Output encoding wasn't set based on the config value under some 
    546633  circumstances (#972) 
    547634 
    548 *Changes* 
    549  
    550 * If `tg.empty_flash` is True in the app's configuration, then `tg_flash = None` 
    551   will be sent to the template when it's not set. Otherwise it will not be sent 
    552   at all. 
    553 * QUICKSTART: Now supports python2.3 with PEAK's [] decorator syntax. 
    554 * `DateTimeConverter` validator now raises Invalid('empty') exceptions properly 
    555   and uses the usual `not_empty` parameter. `allow_empty` is deprecated. 
    556  
    557 *Contributors* 
     635Changes 
     636~~~~~~~ 
     637 
     638* If ``tg.empty_flash`` is True in the app's configuration, then 
     639  ``tg_flash = None`` will be sent to the template when it's not set. 
     640  Otherwise it will not be sent at all. 
     641* Quickstart: Now supports Python 2.3 with PEAK's [] decorator syntax. 
     642* ``DateTimeConverter`` validator now raises Invalid('empty') exceptions properly 
     643  and uses the usual ``not_empty`` parameter. ``allow_empty`` is deprecated. 
     644 
     645Contributors 
     646~~~~~~~~~~~~ 
    558647 
    559648(My apologies if your name belongs here and is not!) 
     
    563652Charles Duffy, Matt Good, Ksenia Marasanova. 
    564653 
     654 
    5656550.9a6 (May 9, 2006) 
    566656------------------- 
    567657 
    568 *Backwards Incompatibilities* 
    569  
    570 * `i18n.runTemplateFilter` in the config file has been renamed 
    571   `i18n.run_template_filter` (#796) 
    572 * For people using FastData (experimental): `get_add_url`, 
    573   `get_edit_url` and `get_delete_url` all are passed the row instead 
     658Backwards Incompatibilities 
     659~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     660 
     661* ``i18n.runTemplateFilter`` in the config file has been renamed 
     662  ``i18n.run_template_filter`` (#796) 
     663* For people using FastData (experimental): ``get_add_url``, 
     664  ``get_edit_url`` and ``get_delete_url`` all are passed the row instead 
    574665  of the ID now, allowing you to use something other than the ID 
    575666  if desired. 
     
    580671  look at how the TableForm does that. 
    581672 
    582 *Features* 
    583  
    584 * A new function, `turbogears.util.find_precision`, to tell you 
    585   how many decimal places of precision are required. (To help 
    586   with `i18n.format.format_decimal` which needs to know the 
    587   precision.) 
    588 * tg-admin info shows which eggs require TurboGears 
     673Features 
     674~~~~~~~~ 
     675 
     676* A new function, ``turbogears.util.find_precision``, to tell you 
     677  how many decimal places of precision are required (to help 
     678  with ``i18n.format.format_decimal`` which needs to know the 
     679  precision). 
     680* tg-admin info shows which eggs require TurboGears. 
    589681* In widgets, SelectionField now supports grouped options, 
    590682  SingleSelectField and MultipleSelectField widgets take advantage of this 
    591   to provide an optgroup tag. The format of a grouped options list is like 
    592   the following: 
    593  
    594   options = [(None, [(1, "a"), (2, "b")]), ("Others", [(3, "c"), (4, "d")])] 
    595  
     683  to provide an optgroup tag (see below). 
    596684* The Widget Browser now displays the source of the example and the 
    597685  template provided by default in the widget (to allow for easier 
    598686  complete customization) (#840, #841) 
    599 * Tabber and Syntax Highlighter widgets are now included 
    600  
    601 *Changes* 
    602  
    603 * sqlite database URIs can now be specified as sqlite:///c:/foo/bar on 
    604   Windows, which is more natural for users. (The sqlite:///c|/foo/bar 
     687* Tabber and Syntax Highlighter widgets are now included. 
     688 
     689The format of a grouped options list mentioned above is like the following:: 
     690 
     691    options = [(None, [(1, "a"), (2, "b")]), ("Others", [(3, "c"), (4, "d")])] 
     692 
     693Changes 
     694~~~~~~~ 
     695 
     696* sqlite database URIs can now be specified as ``sqlite:///c:/foo/bar`` on 
     697  Windows, which is more natural for users. (The ``sqlite:///c|/foo/bar`` 
    605698  syntax still works.) 
    606699* ValueError is raised if an InputWidget contains "." or "-", which are 
    607700  reserved for use by the widgets 
    608 * Package name is used instead of `your_project` in the quickstart 
     701* Package name is used instead of ``your_project`` in the quickstart 
    609702  logging config. 
    610703 
    611 *Fixes* 
    612  
    613 * QUICKSTART: an exception comes up if a user logs in but is not in 
     704Fixes 
     705~~~~~ 
     706 
     707* Quickstart: an exception comes up if a user logs in but is not in 
    614708  a group that is required for access. The line with 
    615   `if not identity.current.anonymous and identity.was_login_attempted()
     709  ``if not identity.current.anonymous and identity.was_login_attempted()`
    616710  in controllers.py or root.py needs an additional 
    617   `and not identity.get_identity_errors()` condition. (#834) 
    618 * QUICKSTART: quickstart projects that used identity would generate 
    619   a table called "user", which is invalid for some databases. The 
    620   new quickstart model.py generates tables called `tg_user`. #805 
    621 * QUICKSTART: there were problems with the model template for SQLAlchemy 
    622   (#801) 
     711  ``and not identity.get_identity_errors()`` condition (#834). 
     712* Quickstart projects that used identity would generate a table called "user", 
     713  which is invalid for some databases. The new quickstart model.py generates 
     714  tables called ``tg_user`` (#805). 
     715* Quickstart: there were problems with the model template for SQLAlchemy 
     716  (#801). 
    623717* SQLAlchemy's identity provider was not selected by default when you 
    624   quickstart a new project. (#806) 
     718  quickstart a new project (#806). 
    625719* Core widgets all include WidgetDescriptions now and appear in the 
    626   Widget Browser in the Toolbox (#727) 
    627 * Access logging to a file wasn't working correctly (#816) 
    628 * Bug fix for convert/`from_python` for compound and repeating widgets 
     720  Widget Browser in the Toolbox (#727). 
     721* Access logging to a file wasn't working correctly (#816). 
     722* Bug fix for convert/``from_python`` for compound and repeating widgets 
    629723* User name is now encoded to the DB encoding before a query is run 
    630   in the SQLObject identity provider 
     724  in the SQLObject identity provider. 
    631725* JSLink widgets can now specify a location 
    632 * LocalizableJSLink (and the calendar widget) now work in IE (#846) 
    633 * Added scheduler to `turbogears.__init__.__all__` so that references 
     726* LocalizableJSLink (and the calendar widget) now work in IE (#846). 
     727* Added scheduler to ``turbogears.__init__.__all__`` so that references 
    634728  to it work properly. 
    635729* tg-admin info and Toolbox info commands now work properly and show 
    636730  the same information. 
    637 * Fixed a serious bug in Python 2.3 compatibility (#853) 
    638  
    639 *Project Updates* 
     731* Fixed a serious bug in Python 2.3 compatibility (#853). 
     732 
     733Project Updates 
     734~~~~~~~~~~~~~~~ 
    640735 
    641736* MochiKit updated to 1.3.1 (#804) 
    642737 
    643 *Contributors* 
     738Contributors 
     739~~~~~~~~~~~~ 
    644740 
    645741Max Ischenko, Claudio Martinez, Matt Good, Rune Hansen, Michele Cella, 
    646 Jorge Godoy, Alberto Valverde González, Simon Belak, Jeroen Dekkers, 
     742Jorge Godoy, Alberto Valverde Gonzz, Simon Belak, Jeroen Dekkers, 
    647743Mark Ramm-Christensen, Ronald Jaramillo, 
    648744Richard Standbrook, Roger Demetrescu, Patrick Lewis, Hal Wine, 
    649745Jorge Vargas, Bob Kuehne. 
    650746 
     747 
    6517480.9a5 (April 26, 2006) 
    652749---------------------- 
    653750 
    654 *Backwards Incompatibilties* 
     751Backwards Incompatibilities 
     752~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    655753 
    656754* An identity login form must have a submit button having the name 
    657755  specified in the config file (identity.form.submit).  If you have a 
    658756  commented identity.form.submit value and used the default login.kid 
    659