# TurboGears Changelog

## 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 tg_html 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.