List Info

Thread: TurboGears 0.9a2 released!




TurboGears 0.9a2 released!
user name
2006-03-27 22:15:45
I'm happy to report that TurboGears 0.9a2
("amazing") has been
released! There has been quite a bit of cleanup since 0.9a1
based on
the feedback from that release. The changes for this release
appear
below and at
http://www.turbogears.org/preview/about/changelog.html

If you're upgrading from 0.9a1 or 0.8, be sure to read the
upgrade
instructions! There are steps you need to take to be sure
your app
will run correctly.

*Backwards Incompatibilities*

* Due to Python 2.3 issues and some additional discussion,
the config
  files have gone back to an INI-style format. This means
that some
  minor changes are needed if you were using the 0.9
".py" config files,
  but no changes are required for people using 0.8
".cfg" config files.
  See the upgrading guide for details.
* If you used CompoundWidgets in 0.9a1,
"widgets" has changed to
  "member_widgets".
* If you are using a Form or a FieldSet widget you must
explicitly pass
  the "fields" parameter, the first positional
parameter expected
  since 0.9a2 is "name".
* If you are using a Form or a FieldSet widget with a custom
template
  you must update your template accordingly to the new
templates
  TG is using.

*Deprecations*

* WidgetsDeclaration (introduced in 0.9a1) has been renamed
WidgetsList
  for clarity.
* turbogears.config now has get() and update() functions
that should
  be used in place of their cherrypy.config counterparts.
This change
  was made knowing that there will be more powerful,
TurboGears-specific
  configuration in TurboGears 1.1.
* The field_for method of a Form (introduced in 0.9a1) has
been
  deprecated and it's use is highly discouraged and error
prone,
  use display_field_for or render_field_for instead.
* In the turbogears.view module variableProviders has been
renamed
  variable_providers.
* turbogears.fastdata.formmaker's sqlwidgets function
(introduced in
  0.9a1) has been renamed fields_for.

*New Features*

* Controller methods can now have multiple expose()
decorators, allowing
  you to define different output formats (even with
different template
  engines) that can be chosen via tg_format or the Accept
header.
* New AjaxGrid widget provides a grid in JavaScript that is
populated via
  an Ajax call.
* Three new base widgets to manage forms have been
introduced:
  CompoundFormField, RepeatingFormField and
FormFieldsContainer.
* Experimental support for SQLAlchemy. For more complicated
databases
  or certain database requirements, SQLAlchemy handles the
database more
  gracefully. The main database layer for TurboGears remains
SQLObject
  and SQLObject is more fully supported within TurboGears.
However,
  for those who need it, SQLAlchemy support is there.
* display_field_for and render_field_for are automatically
added to the
  template scope of any FormFieldsContainer widget and can
be used to
  easily display/render a field with the corrects value and
options.
* The basis for creating repeating sets of widgets has been
created
  (see RepeatingFormField and RepeatingFieldSet for an
example)
* Catwalk can filter the data you see
* When using widgets, you can now have more than one form on
a page
  while retaining validation sanity.
* With widgets, required fields automatically get a CSS
class
* CompoundWidgets/Forms now use FormEncode schemas, which
provide
  a number of additional validation options.
* AutoCompleteFields can now pass an ID back to the server
when
  submitted (instead of just passing the matching search
string).
* quickstart includes a "release.py" file where
you can put your
  project information (including version number). This is
the
  safe mechanism for allowing your project itself to access
the
  version number while your setup script also has access to
the
  same information (Don't Repeat Yourself)
* quickstart has a new "tgbig" template designed
for larger projects.
  This adds a controllers package to the basic TurboGears
template.
* CSSLink and CSSSource widgets now support
"media"
* The AutoCompleteField now has an
"only_suggest" flag which makes
  it so that the first item on the list is not automatically
submitted
  when you press return. This is useful for search boxes (as
opposed
  to data entry fields).
* The turbogears.startup now contains call_on_startup and
call_on_shutdown
  lists. You can append callables to these to have them
executed at
  the right time.
* If you are using the i18n support, the _ function (alias
of the
  gettext function) is now properly mapped to lazy_gettext
if
  needed, this means you can use "_" for
everything.
* Added LocalizableJSLink widget that allows scripts to be
chosen based
  on the user's locale.

*Changes*

* log\_debug\_info\_filter is now turned off by default
(this is the
  CherryPy filter that lists the request time). This filter
causes
  problems with things like JSON output. You can still turn
it
  back on via the config file.
* Unless you specifically configure the decodingFilter
yourself,
  TurboGears will automatically turn on CherryPy's
decodingFilter
  (expecting utf-8 input).
* cherrypy.lowercase_api is set to True in new quickstarted
projects.
  This should result in a performance boost, and requires
that you use
  PEP 8 style names when calling CherryPy APIs/config
values.
* Table forms now use TH tags for the field labels, making
it easier to
  apply appropriate styling to the tables.
* AutoConnectHub used to support a
"processConnection" (something it
  inherited from SQLObject). This is not really a supported
model of
  operation, so it has been removed. If you do want to work
that way,
  use SQLObject's own ConnectionHub class.
* The test_model test has been commented out from the
quickstart template,
  because some projects don't have databases.


*Fixes*

* The TextArea widget now posts properly within a
RemoteForm.
* Catwalk styling cleanup
* Catwalk no longer has problems with empty tables with
foreign keys
* ForEach validator added to turbogears.validators namespace
* Catwalk will show related joins in the edit view
* SQLObject identity provider passwords are automatically
encrypted
  (this was in 0.9a1). This didn't work properly when
identity wasn't
  fully running (as in the tg-admin shell). This has been
fixed.
* The AutoCompleteField turns off the browser's own
autocompletion.
* A nicer error message is provided if you return something
other
  than a string or a dict from your controller method.
* admi18n does a better job of grouping files in the correct
folder
  when collecting strings and skips over folders like
".svn".
* The turbogears.url() function was flipping around path
elements
  in the application root. Applications roots are not
commonly used
  right now, but this was noticeable if you used the
FeedController.
* Various fixes for CatWalk's database access (see tickets
  #568, #249, #213, #618)
* ModelDesigner and admi18n can find your model.py file even
if you
  change your package name at quickstart time.

*Project Updates*

* Kid 0.9 / TurboKid 0.9.2
* CherryPy 2.2.0rc1
* PasteScript 0.5
* TurboGears' JSON output now comes from the TurboJson
plugin

*Contributors*

This release comes to you thanks to the work of Michele
Cella,
Elvelind Grandin, Ronald Jaramillo, Simon Belak, Jeff
Watkins,
Alberto Valverde González, Jason Chu, Owen Mead-Robins,
Dan Weeks, Dennis Brakhane, Heikichi Umahara, Patrick Lewis,
Joost Moesker, Roger Demetrescu, Liza Daly.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the
Google Groups "TurboGears Announcements" group.
To post to this group, send email to turbogears-announcegooglegroups.com
To unsubscribe from this group, send email to
turbogears-announce-unsubscribegooglegroups.com
For more options, visit this group at ht
tp://groups.google.com/group/turbogears-announce
-~----------~----~----~----~------~----~------~--~---

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )