TurboGears Changelog
====================

0.8.9 (February 6, 2006)
------------------------

* Fixes a warning message that appears with each quickstart

0.8.8 (January 10, 2006)
------------------------

* A security flaw was discovered in CherryPy's static filter. This
  TurboGears update changes the CherryPy requirement to 2.1.1.

0.8.7 (January 4, 2006)
-----------------------

This update primarily solves installation issues and is not required
otherwise.

* quickstart corrected to properly produce egg-info directories
  (previously, directories could be created with "-" when it should
  have a "_"). Note that setuptools 0.6a9 will warn you if you have
  a - in your egg-info directory name. Just rename the directory,
  and you'll be fine.
* Installation issues that people may have had earlier are resolved
  in this setuptools update.
* version number set to 0.8.7 to reflect that this is considered the
  "stable" version of TurboGears vs. the current 0.9 code in svn.

*Project Updates*

* setuptools 0.6a9
* sqlobject 0.7.1dev_r1457 (updated to handle the setuptools change,
  but also includes other bugfixes)

0.8a6 (December 26, 2005)
-------------------------

* Chained validators will now cause an Invalid exception to be raised
  as appropriate.
* When validation would fail, previously an unexpected exception may
  be raised when an Invalid exception is expected
* quickstart didn't look out for .pyo files in the same way that it did
  .pyc files.

*Project Updates*

* json-py updated to 3.4

0.8a5 (December 2, 2005)
------------------------

* setup has been changed to ensure that people properly
  get the CherryPy 2.1 release version.

*Project Updates*

* Kid updated to 0.8.0
* MochiKit updated to 1.1
* FormEncode updated to 0.4
* setuptools updated to 0.6a8


0.8a4 (October 25, 2005)
------------------------

*Project Updates*

* setuptools 0.6a6
* CherryPy 2.1 final
* MochiKit 1.0

*Fixes*

* On some servers, TurboGears can take a minute to start answering
connections due to the way the OS handles incoming connections to
ports that have nothing listening on them.


0.8a3 (October 16, 2005)
------------------------

*Fixes*

* setup.py was not using setup_requires in a productive way. This has
  been changed, so tg-admin quickstart will no longer need to
  go to the internet to function.
* turbogears.database.set_db_uri was not properly putting the setting
  in the global config section. By Robert Leftwich.
* some people have had trouble with the url function not being able to
  find cherrypy.request.approot. This may be due to older classes that
  do not extend controllers.Root. This was not listed as a
  requirement for the URL function. The documentation for the
  url function has been updated, and the code has been updated
  to always set the approot to the top of the site at least.

0.8a2 (Oct 14, 2005)
--------------------
*Fixes*

* tg-admin quickstart was missing the appropriate egg-info for the sql
  commands to work properly

0.8a1 (Oct 12, 2005)
--------------------

*Backwards Incompatibilities*

* All of the "turbogears*" variables have been changed to "tg_*". These
  are tg_template, tg_format, tg_flash and tg_js. (Note that
  turbogearsfmt has become tg_format and turbogearshtml has become
  tg_template.)
* The StringBoolean validator (which has moved into FormEncode proper)
  now returns strings for from_python. For example, from_python(True) 
  now returns 'true'. It used to return True.
* turbogears-admin.py is now called tg-admin and is automatically
  generated by setuptools
* The tg-admin sql commands now require a properly setup .egg-info
  directory to automatically find the model classes. If the egg info
  is not properly set up, the command can fix it automatically.
* The view.render method's "html" parameter has been renamed "template"
  to reflect that the templates might be for XML presentations. Most
  people don't call view.render directly.

*New Features*

* There is a new PackageHub that is designed to allow different parts
  of a site to use different databases. Use of the PackageHub works
  just like the AutoConnectHub.
* Added a new function: turbogears.database.set_db_uri. This is a
  more pleasant wrapper around the cherrypy config variables that
  can be used in command line tools and the like.
* IPython is used in tg-admin shell, if it's available. By David Guaraglia.
* You can specify a default format via the new format parameter
  to expose. For example, expose(format="json") will cause the
  method to output JSON by default, even if HTML is available.
  By Elvelind Grandin.
* You can specify the Content-Type via expose. Example:
  expose(content_type="text/javascript"). By Elvelind Grandin.
* expose now has a "template" parameter that can be used in place
  of "html". This is more pleasant for non-HTML applications.
* On Macs, if you're running in development mode the server will
  be advertised via Bonjour. If you enable Bonjour bookmarks
  (via the Bookmarks Preferences tab in Safari), you'll see your
  development server show up automatically. By Bob Ippolito.
* There is now a url function that can be used to generate URLs
  conveniently and, more importantly, with an appropriate view
  of where the root of the web application is.
* validators can now be specified with a dict (the 0.5 way) or with a
  FormEncode Schema, which provides more options. By Fabian Neumann.
* Quickstart now provides a basic static files skeleton. By 
  Elvelind Grandin.
* Added config setting to determine Kid's output format (HTML/XHTML). 
  By Fabian Neumann.
* In quickstart, project-start.py now takes a config file on the 
  command line. By Elvelind Grandin.
* project-start.py is also made executable automatically. By 
  Fabian Neumann.
* Added turbogears.tests.util.call function to allow you to call a
  controller method and get the dictionary back without processing
  to HTML or JSON. This allows you to test controller logic independent
  of presentation.

*Project Updates*

* setuptools updated to 0.6a5
* SQLObject updated to 0.7 final
* FormEncode updated to 0.2.3dev-r1108
* CherryPy updated to 2.1-rc2
* MochiKit updated to 0.9
* Kid updated to 0.7adev-r186

*Notable Improvements in the Projects*

Kid can now generate plain text output using the PlainSerializer.

_Fixes_

* All of the sqlobject-admin commands now work through the use of
  egg metadata.
* If a template was specified in the returned dictionary from an
  exposed method, but not in the parameters to expose itself,
  that template was not applied. By Ronald Jaramillo.
* The content-type meta tag in the quickstart files is now automatically
  stripped out, because Kid's HTML serializer puts one in.
* Improved comments in the quickstart config files.
* There is a temporary hack to handle threadsafety issues with sqlite.
  This has been changed to *only* affect sqlite.
* JSON output should work for Opera now (Opera appeared to have a
  problem with the text/javascript content-type and utf-8 encoding.)
  By "Lethalman".
* All files needed for a project to install and run from an egg should
  be installed properly based on the quickstart setup script.
* The flash cookie was not always deleted. Setting the path on the
  cookie corrected this. By Nick.

0.5.1 (Sep 17, 2005)
--------------------

Relaxed version requirements and changed version numbering for 
included ElementTree packages to ease installation troubles


0.5.0 (Sep 17, 2005)
--------------------

* Initial public release.
