web2py Changelog

What's new in web2py 2.8.1

Dec 16, 2013
  • no more winservice (use nssm instead)
  • better imap support in DAL
  • db().select().as_tree()
  • bootstrap 2.3.2
  • codemirror 3.19
  • improved mongoDB support, thanks Alan
  • support for wiki custom render function
  • Wiki(...groups=['x','y']) allows bypassing default permissions
  • fixed websocket_messaging.py to support newer Tornado
  • NDB support for GAE, thanks Quint
  • fixed major concurrecy issue with MEMDB
  • blocked generic.jsonp for security reasons
  • many bug fixes, thanks Niphlod, Michele, Anthony, Tim, and many others.

New in web2py 1.68.1 (Oct 22, 2009)

  • This release includes a new cron implementation, Hindi and Spanish translations, progress bars in cached uploads, Ingres database support, and legacy database support for DB2 and MSSQL with non-int primary keys.
  • A default setting was provided for content-type, which may cause strange behavior in old apps when downloading images.
  • IS_UPPER and IS_LOWER now work with Unicode.
  • CLENUP now takes a regexp of allowed/non-allowed characters. rewrite.py now allows dynamic routes.
  • Better error messages were provided for IS_INT_* and IS_FLOAT_* .

New in web2py 1.67.1 (Sep 18, 2009)

  • Lots of small bugs were fixed.
  • For upload fields, you can choose the Field(...,uploadfolder="...").
  • The latest wsgiserver is included, which should solve problems with truncated downloads.
  • Default string fields are now 512 bytes. This may trigger a migration on existing tables.
  • The shell has [unlock] buttons.
  • appadmin works on GAE out of the box.

New in web2py 1.66.1 (Aug 24, 2009)

  • This release fixes a bug in IS_LENGTH and allows actions to return Unicode strings (automatically converted to UTF-8).
  • There are minor typos and bugfixes.
  • form.vars.uploadfield_newfilename is back.
  • The new logo is in (experimental).
  • The major change is the following replacements: SQLField -> Field, SQLRows -> Rows, SQLXorable -> Expression, SQLQuery -> Query, SQLSet -> Set, and SQLStorage -> DALStorage.
  • The classes with the SQL prefix try for backward compatibility.
  • Now you can use Field everywhere; you never need SQLField or db.Field anymore.