New features not documented in the PDF book (2nd edition) as highlights in release order sequence (newest to oldest).
If you find posts detailing the use of a specific feature in this list, email me to add them to the next revision. 1.77.3 small fixes and code cleanup (no post announcing it) 1.77.2 fixed z-index in calendars http://groups.google.com/group/web2py/msg/5b1e436c7bd281a9 1.77.1 - Replaced CherryPy with Rocket web server - CacheOnDisk allows to specify a folder http://groups.google.com/group/web2py/msg/3d73aca7763d53c2 - IS_DATE/DATETIME can handle any year since 0 - SQLTABLE(...,headers='fieldname:capitalize') - Field().with_alias - has_membership(group=...,role=...) - db.define_table(username=True) - gluon.tools.prettydate - can specify hostname in routes_out (same syntax as routes in) - db.table.bulk_insert([...records...]) now works on GAE - IS_EMAIL validates on 'localhost' - welcome/views/layout.html uses ez.css - mail attachments support utf8 - works with PyPy - better Firebird support - better Oracle support - cron supports days of week - SQLFORM(...,formstyle="table3cols") or "table2cols" or "divs" or "ul" http://groups.google.com/group/web2py/msg/9823ffc7410fd3e4 - crud.settings.formstyle - web2py.py -f folder allows to specify locations of applications - better/faster regex in template works in Jython - fixed lots of small bugs http://groups.google.com/group/web2py/msg/cf4baa5b7a5f73be 1.76.5 Fixed a typo in auth that created some registration problems (no post announcing it) 1.76.4 - SQLTABLE(db(db.auth_user.id>0).select(),headers='fieldname:capitalize') - Oracle limitby improved - fixed migrations in Firebird - gluon/contrib/login_methods/linkedin_account.py - cron/newcron fixes (no post announcing it) 1.76.3 repost of 1.76.2 with crud captcha fix http://groups.google.com/group/web2py/browse_thread/thread/658c72a8c08040d9# 1.76.2 *** use 1.76.3 *** Main changes include: 1) major fix in cron (yet again) 2) auth.settings.login_captcha and auth.settings.register_captcha 3) crud.settings.create_captcha and crud.settings.update_captcha 4) automatic update button in admin To test (4): - make a fresh web2py installation - locate the file VERSION (under web2py/ on Win and under web2py.app/Contents/Resources/ on Mac) - edit this file and set it to something old like 1.0.0 - restart web2py - in admin/default/site click on "upgrade web2py" - restart web2py - send feedback to the group http://groups.google.com/group/web2py/browse_thread/thread/658c72a8c08040d9# 1.76.1 * editarea 0.8.2 + zencoding * new (better) cron locking mechanism * no storing session cookies on session.forget() * routes_apps_raw allows disabling of request.args validation * fixed problem with edit_languages ad multiple tabs * crud captcha * softcron disabled by default in wsgihandler and fcgihandler The new cron mechanism may need a little more testing but it is being released since the previous one had bugs anyway. http://groups.google.com/group/web2py/browse_thread/thread/52f4d0615f32f088# 1.75.5 - fixed behaviour with languages.py - added Chinese and Hungarian - fixed problem with GAE deleted by id - fixed bug in LOAD with custom views - improved IS_IN_SET takes iterator, dict, list or list of tuples - Auth(...,controller='default') - fixed major bug in parsing repeated request.vars - IS_DATE and IS_DATETIME can now handle any 0<year - allow to disable editarea onload http://groups.google.com/group/web2py/browse_thread/thread/8bb2b0d72ec587ef# 1.75.4 - bug fix in BEAUTIFY 1.75.3 *** skip, use 1.75.4 *** - better BEAUTIFY - Linux PAM (Pluggable Authentication Modules) support http://groups.google.com/group/web2py/msg/f87ec95bc8eca536 1.75.2 - no more cron with -S option - ability to overwrite/upgrade and app http://groups.google.com/group/web2py/msg/4f3ba5eedeced6a6 - gluon.tools.prettydate http://groups.google.com/group/web2py/msg/03ea6109ec90f0c8 - crud.archive http://groups.google.com/group/web2py/msg/d4892f347889fc6e - better uuid avoids conflicts on replicated servers in the cloud http://groups.google.com/group/web2py/msg/12e8a11e1c574838 http://groups.google.com/group/web2py-developers/msg/dcfe498b80e66e64 note: moved from EC2 to VPS.net http://groups.google.com/group/web2py/browse_thread/thread/6fbcd5f9a0c5032c# 1.75.1 * minor fixes http://groups.google.com/group/web2py/browse_thread/thread/9507d225c0ff40c3# 1.74.11 / 1.74.10 - fixes a few problems with CRON, typos - check for invalid field and in DB http://groups.google.com/group/web2py/browse_thread/thread/d830cb54fe913028# 1.74.9 * Fixes security hole that affects 1.74.8 and 1.74.7 http://groups.google.com/group/web2py/browse_thread/thread/23c04866d81fe57d# 1.74.8 *** UPGRADE TO 1.74.9 IMMEDIATELY! *** http://groups.google.com/group/web2py/browse_thread/thread/23c04866d81fe57d# 1) IS_SLUG() 2) web2py.py -nogui 3) solved a problem with jython 4) login has "remember me option" 5) fixed problem with keepvalues in update forms http://groups.google.com/group/web2py/browse_thread/thread/4075ac6578a5197e# 1.74.7 *** UPGRADE TO 1.74.9 IMMEDIATELY! *** http://groups.google.com/group/web2py/browse_thread/thread/23c04866d81fe57d# 1) request_password_reset and password reset verification 2) python web2py.py -S app -M -R script.py -A arg1 arg2 arg3 3) support for T("%(a)s") % dict(a="hello") http://groups.google.com/group/web2py/browse_thread/thread/fed8aa7e13d44ab2# 1.74.6 Mostly bug fixes and two main security issues fixed: * deals with misconfiguration of postgresql that may cause SQL Injection vulnerability * blocked accounts were not really blocked http://groups.google.com/group/web2py/browse_thread/thread/5b60ab4685d33b57# 1.74.5 * auth.user_id (shortcut for auth.user.id, defaults to None if not logged in) * support for all native types on GAE (e.g. StringListProperty) * cache.ram usage statistics * no more auth menu in scaffolding * no more splash screen with -Q * export_to_csv_file has represent http://groups.google.com/group/web2py/browse_thread/thread/89a718332e6d7115# 1.74.4 - 1.74.2: bug fix releases LOAD function introduced along the plugin system, this went fairly unnoticed LOAD(a, b, args=args, vars=vars, ajax=ajax, ajax_trap=ajax_trap ) http://www.web2py.com/AlterEgo/default/show/252 1.74.1 * Moved to mercurial * Default validators use the new define_table(....,format='...') http://groups.google.com/group/web2py/browse_thread/thread/35298fa6005a3a5b * New get_vars and post_vars compatible in 2.5 and 2.6 * Major rewrite of gql.py extends DAL syntax on GAE, supports belongs http://groups.google.com/group/web2py/browse_thread/thread/6efa5dd4095f91e1 * No more *.w2p, welcome.w2p is created automatically, base apps are always upgraded * decimal validator allows negative numbers * last version with the old DAL, the new DAL is in gluon/dal.py To try out the new experimental DAL copy or rename gluon/dal.py as gluon/sql.py http://groups.google.com/group/web2py/msg/3e40f3d30c3b82f2 1.73.1 * New decimal field type, as discussed in http://groups.google.com/group/web2py/browse_thread/thread/3c1957d8ed743513 * New IS_DECIMAL_IN_RANGE validator * Experimental support for non UTF8 encoding in DB * T.current_languages default to 'en' and new T.set_current_languages * New gluon/contrib/populate.py * Customizable CSV and more... http://groups.google.com/group/web2py/browse_thread/thread/72a7d6d43a8aecb1 1.72.1 * Alias for id field allows to redefine the name of the 'id' field. * make_migrate=True rebuild missing .table files http://groups.google.com/group/web2py/browse_thread/thread/eed21229883b5a1a * keyed tables support for legacy tables (MS SQL, DB2, Ingres & Informix) http://groups.google.com/group/web2py/browse_thread/thread/db150376b06d47fc 1.71.1 * complete rewrite of the Rows object, makes web2py faster and smaller * DALStorage is renamed Row * Now you can call web DAL from any Python program * You can also use the template language from any Python program http://groups.google.com/group/web2py/browse_thread/thread/159b44bfbb634df2 http://groups.google.com/group/web2py/browse_thread/thread/c81061bc00c6181e 1.70.1 It fixes some problems introduced by new features in 1.69.1. It also includes: * db(...).select().as_dict() * Experimental distributed transactions with mysql, postgresql and firebird * Improved validators * ability to call wsgi apps from actions http://groups.google.com/group/web2py/browse_thread/thread/5faa2e926e05e200 * local_import http://groups.google.com/group/web2py/browse_thread/thread/ca06c49b1aa2df5a 1.69.1 * Lots of new DAL APIs including OR, LIKE, BELONGS, and more on GAE * response.meta.keywords, reponse.meta.description, response.meta.author, ... * response.files.append for including JS & CSS files * experimental plugin mechanism http://groups.google.com/group/web2py/browse_thread/thread/fe6381e136995563 http://www.web2py.com/AlterEgo/default/show/248 1.68.1 * New cron * New hindi and spanish translations * cached uploads allow for progress bars * Ingres support * default setting of content-type (this may cause strange behavior in old apps when downloading images) * IS_UPPER and IS_LOWER work with unicode * CLEANUP now takes regex of allowed/now allowed characters * New rewrite.py allows dynamic routes * Better error messages for IS_INT_* and IS_FLOAT_* http://groups.google.com/group/web2py/browse_thread/thread/ba5fa43f53ad38ad Other info ---------- How to make your own layouts http://groups.google.com/group/web2py/browse_thread/thread/6f321414a058b4b3 http://groups.google.com/group/web2py/browse_thread/thread/5a75171b835f542d http://code.google.com/p/web2py/source/browse/trunk/scripts/layout_make.py Virtual fields http://groups.google.com/group/web2py/browse_thread/thread/c684346f13773f93 http://groups.google.com/group/web2py/browse_thread/thread/d59ee3d6c2e6d836 http://www.vimeo.com/7296755 http://www.web2py.com/AlterEgo/default/show/248 (at the end) having in DAL http://groups.google.com/group/web2py/msg/4cd49ce7e2f64329 http://groups.google.com/group/web2py/msg/604ba1b85d5e2f92 .