Still 2.0.2. On Friday, August 31, 2012 3:31:20 PM UTC+12, Massimo Di Pierro wrote: > > Can you please try again the windows binary and let me know if the problem > persists. > > On Thursday, 30 August 2012 21:13:18 UTC-5, Andrew wrote: >> >> Well, perhaps not. >> The Download page says 2.0.3, but when I start it says 2.0.2. in the app >> ? Perhaps the windoes exe has not been updated. >> >> >> On Friday, August 31, 2012 2:09:29 PM UTC+12, Andrew wrote: >>> >>> The Issue is still there in 2.0.3 >>> >>> On Thursday, August 30, 2012 11:40:07 PM UTC+12, Sridhar wrote: >>>> >>>> Hi Team, >>>> >>>> Thanks a ton for the new features and improvements! >>>> >>>> I'm just getting started and was trying to run web2py.exe on Windows 7 >>>> after downloading it from >>>> http://www.web2py.com/examples/static/web2py_win.zip (2.0.2 stable). >>>> >>>> However, ran into this error: >>>> >>>> ****************************** >>>> D:\web2py>web2py -S welcome >>>> Traceback (most recent call last): >>>> File "web2py.py", line 16, in <module> >>>> File "gluon/__init__.py", line 15, in <module> >>>> File "gluon/globals.py", line 24, in <module> >>>> File "gluon/serializers.py", line 11, in <module> >>>> File "gluon/languages.py", line 264, in <module> >>>> File "gluon/languages.py", line 250, in read_possible_plurals >>>> WindowsError: [Error 3] The system cannot find the path specified: >>>> 'D:\\web2py\\gluon\\contrib\\rules/*.*' >>>> ****************************** >>>> >>>> Then, realized there was no folder called "gluon" in the extracted >>>> folder. I downloaded the source from >>>> http://www.web2py.com/examples/static/web2py_src.zip and copied the >>>> "gluon" folder from this source code to the previous web2py folder. >>>> >>>> This solved the error and was able to web2py GUI. Hope this helps. >>>> >>>> Regards, >>>> Sridhar >>>> >>>> On Thursday, August 30, 2012 9:11:34 AM UTC+5:30, Massimo Di Pierro >>>> wrote: >>>>> >>>>> After 5 months. It is done. This is the most waited and the most >>>>> feature-packed release. >>>>> >>>>> I am sure we'll find some corners that need to be ironed but it is >>>>> considerably better than 1.99.7. It adds lot of new features and improves >>>>> many existing ones: >>>>> >>>>> - 57,000 new lines of code and closed 279 issues since 1.99.7. >>>>> - Retrieving data from DB should be faster, in particular >>>>> select(cacheable=True) >>>>> - Has a new scheduler, a built-in wiki, new language and pluralization >>>>> system, better markmin with oembed support and better scaffolding app, >>>>> increased security. >>>>> - Lots of experimental features including GIS support, mongodb >>>>> support, built-in auth.wiki(), and more. >>>>> >>>>> Should be 100% backward compatible. If you run into any issue let us >>>>> know ASAP. >>>>> >>>>> I personally want to thank the major contributors to this release (in >>>>> alphabetic order) >>>>> Alan, Andrew, Anthony, Bruno, Christian, Dave, Dominic, Iceberg, >>>>> Jonathan, Marc, Mariano, Marin, Martin, Mark, Michael, Michele, Niphlod, >>>>> Patrick, Vladyslav, >>>>> They spend many nights testing, coding, debugging at a very fast pace. >>>>> >>>>> Many many people have contributed. >>>>> >>>>> If your contribution has not been properly acknowledged please let us >>>>> know ASAP. It is probably an oversight. >>>>> >>>>> >>>>> Massimo >>>>> >>>>> >>>>> Detailed changelog >>>>> =============== >>>>> >>>>> ## 2.00.2 >>>>> >>>>> ### DAL Improvements >>>>> >>>>> - Support for DAL(lazy_tables=True) and >>>>> db.define_table(on_define=lambda table:), thanks Jonathan >>>>> - db(...).select(cacheable=True) make select 30% faster >>>>> - db(...).select(cache=(cache.ram,3600)) now caches parsed data 100x >>>>> faster >>>>> - db(...).count(cache=(cache.ram,3600)) now supported >>>>> - MongoDB support in DAL (experimental), thanks Mark Breedveld >>>>> - geodal and spatialite, thanks Denes and Fran (experimental) >>>>> - db.mytable._before_insert, _after_insert, _before_update, >>>>> _after_update, _before_delete. _after_delete (list of callbacks) >>>>> - db(...).update_naive(...) same as update but ignores >>>>> table._before_update and table._after_update >>>>> - DAL BIGINT support and DAL(...,bigint_id=True) >>>>> - IS_IN_DB(..., distinct=True) >>>>> - new syntax: db.mytable.insert(myuploadfield=open(....)), thank you >>>>> Iceberg >>>>> - db(...).select(db.mytable.myfield.count(distinct=True)) >>>>> - db(db.a)._update(name=db(db.b.a==db.a.id).nested_select(db.b.id)) >>>>> - db.mytable.myfield.filter_in, filter_out >>>>> - db.mytable._enable_record_versioning(db) adds versioning to this >>>>> table >>>>> - teradata adapter, thanks Andrew Willimott >>>>> - experimental Sybase Adapter >>>>> - added db.table.field.avg() >>>>> - Support for Google App Engine projections, thanks Christian >>>>> - Field(... 'upload', default=path) now accepts a path to a local file >>>>> as default value, if user does not upload a file. Relative path looks >>>>> inside current application folder, thanks Marin >>>>> - executesql(...,fields=,columns=) allows parsing of results in Rows, >>>>> thanks Anthony >>>>> >>>>> ### Auth improvements >>>>> >>>>> - auth.enable_record_versioning(db) adds full versioning to all tables >>>>> - @auth.requires_login(otherwise=URL(...)) >>>>> - auth supports salt and compatible with third party data, thanks Dave >>>>> Stoll >>>>> - CRYPT now defaults to pbkdf2(1000,20,sha1) >>>>> - Built-in wiki with menu, tags, search, media, permissions. def >>>>> index: return auth.wiki() >>>>> - auth.settings.everybody_group_id >>>>> - allow storage of uploads on any PyFileSystem (including amazon) >>>>> >>>>> ### Form improvements >>>>> >>>>> - FORM.confirm('Are you sure?',{'Back':URL(...)}) >>>>> - SQLFORM.smartdictform(dict) >>>>> - form.add_button(value,link) >>>>> - SQLFORM.grid(groupby='...') >>>>> - fixed security issue with SQLFORM.grid and SQLFORM.smartgrid >>>>> - more export options in SQLFORM.grid and SQLFORM.smartgrid (html, >>>>> xml, csv, ...) >>>>> >>>>> ### Admin improvements >>>>> >>>>> - new admin pages: manage_students, bulk_regsiter, and progress reports >>>>> - increased security in admin against CSRF >>>>> - experimental Git integration >>>>> - experimental OpenShift deployment >>>>> - multi-language pluralization engine >>>>> - ace text web editor in admin >>>>> - Ukrainian translations, thanks Vladyslav Kozlovskyy >>>>> - Romanian translation for welcome, thanks ionel >>>>> - support for mercurial 2.6, thanks Vlad >>>>> >>>>> ### Scheduler Improvements (thanks to niphlod, ykessler, dhx, toomim) >>>>> >>>>> - web2py.py -K myapp -X starts the myapp scheduler alongside the >>>>> webserver >>>>> - tasks are marked EXPIRED (if stop_time passed) >>>>> - functions with no result don't end up in scheduler_run >>>>> - more options: web2py.py -E -b -L >>>>> - scheduler can now handle 10k tasks with 20 concurrent workers and >>>>> with no issues >>>>> - new params: >>>>> tasks can be found in the environment (no need to define the tasks >>>>> parameter) >>>>> max_empty_runs kills the workers automatically if no new tasks are >>>>> found in queue (nice for "spikes" of processing power) >>>>> discard_results to completely discard the results (if you don't >>>>> need the output of the task) >>>>> utc_time enables datetime calculations with UTC time >>>>> - scheduler_task changes: >>>>> task_name is no longer required (filled automatically with >>>>> function_name if found empty) >>>>> uuid makes easy to coordinate scheduler_task maintenance (filled >>>>> automatically if not provided) >>>>> stop_time has no default (previously was today+1) >>>>> retry_failed to requeue automatically failed tasks >>>>> sync_output refreshes automatically the output (nice to report >>>>> percentages) >>>>> - workers can be: >>>>> DISABLED (put to sleep and do nothing if not sending the heartbeat >>>>> every 30 seconds) >>>>> TERMINATE (complete the current task and then die) >>>>> KILL (kill ASAP) >>>>> >>>>> ### Other Improvements >>>>> >>>>> - gluon/contrib/webclient.py makes it easy to create functional tests >>>>> for app >>>>> - DIV(..).elements(...replace=...), thanks Anthony >>>>> - new layout based on Twitter Bootstrap >>>>> - New generic views: generic.ics (Mac Mail Calendar) and generic.map >>>>> (Google Maps) >>>>> - request.args(0,default=0, cast=int, otherwise=URL(...)), thanks >>>>> Anthony >>>>> - redirect(...,type='auto') will be handled properly in ajax responses >>>>> - routes in can redirect outside with >>>>> routes_in=[('/path','303->http://..')] >>>>> - better memcache support >>>>> - improved spreadsheet, thanks Alan >>>>> - new internationalization engine, thanks Vladyslav >>>>> - pluralization engine, thanks Vladyslav >>>>> - new markmin with support for nested lists, <i>, <em>, autolinks, >>>>> thanks Vladyslav >>>>> - new syntax: {{=BR()*5}} >>>>> - gluon.cache.lazy_cache decorator allows caching functions in modules >>>>> - .coffee and .less support in response.files, thanks Sam Sheftel >>>>> - ldap certificate support >>>>> - pg8000 postgresql driver support (experimental) >>>>> - @cache('%(name)s%(args)s%(vars)s',5) and cache.autokey >>>>> - added tox.ini, thanks Marc >>>>> - web2py.py --run_system_tests, thanks Marc Abramowitz >>>>> - html.py (and web2py helpers) can be used without web2py dependencies >>>>> - new fpdf, thanks Mariano >>>>> >>>>
--