There are some new features in trunk:
1)
I got tired of writing default='value',readable=False,writable=False
etc.
So:
Field(':name') is the same as
Field('name',readable=False,writable=False)
Field('.name') is the same as
Field('name',readable=True,writable=False)
Field('name=value') is the same as Field('name',default='value')
and combinations:
Field(':name=value') is the same as
Field('name',default='value',readable=True,writable=False)
notice
Field('name=') is the same as Field('name',default='')
2)
db(db.table).select((db.table.field.length()+5).sum())
note operators length(), +5, sum() can be combined in more ways than
before.