Web2py and its support community are fantastic. I will try to participate 
more in testing.


On Friday, August 31, 2012 7:46:29 AM UTC-5, Massimo Di Pierro wrote:
>
> We should have tested the osx and win more. This is my mistake. Other 
> minor issues are physiological.
> Anyway, I believe all issues have been taken care within 24hrs.
>
> massimo
>
> On Friday, August 31, 2012 7:28:19 AM UTC-5, viniciusban wrote:
>>
>> See, guys, I'm not blaming anyone and I'm not saying Web2py is not good, 
>> or your work failed. 
>>
>> I pay my bills working with web2py for the last year. I use it for 3 
>> years, now. I really like that and help spread the word. 
>>
>>
>> > Web2py has so much features and it is impossible to test everything. 
>>
>> Sorry, but I cannot agree with this statement. Is it the official 
>> position? 
>>
>> Remember, one of the strengths is our backward compatibility. It can be 
>> achieved with detailed tests **before** anouncing a new stable release. 
>>
>> "Stable" means: "you can download and just use it". Anything different 
>> is "almost stable" or "buggy yet" or, using beautiful words, "release 
>> candidate" or "pre-release version". 
>>
>> I'd like to hear your oppinions. 
>>
>> -- 
>> Vinicius Assef 
>>
>>
>>
>> On 08/31/2012 09:01 AM, Marin Pranjić wrote: 
>> > It is called stable since no one using trunk/nightly build detected 
>> > those errors. 
>> > 
>> > I agree with you, but you cannot blame anyone. 
>> > 
>> > 
>> > On Fri, Aug 31, 2012 at 1:44 PM, [email protected] 
>> > <mailto:[email protected]> <[email protected] 
>> > <mailto:[email protected]>> wrote: 
>> > 
>> >     First of all, I'd like to thank you all. You're making a great job, 
>> >     guys. 
>> >     I see web2py becoming more reliable to bigger projects and I'm very 
>> >     pleased with it. 
>> >     You all rock! :-) 
>> > 
>> >     In spite of this huge effort, isn't it premature to call 2.0.2 or 
>> >     even 2.0.3 stable? I know there were several months of hard work, 
>> >     but if we have bugs detected so fast, we cannot call it stable yet, 
>> >     right? 
>> > 
>> >     Maybe some release candidate call or a pre-release period for 
>> tests, 
>> >     before spreading it as stable would help us. 
>> > 
>> >     -- 
>> >     Vinicius Assef 
>> > 
>> > 
>> >     On 08/30/2012 05:49 PM, Massimo Di Pierro wrote: 
>> > 
>> >         All bugs reported today have been fixed in 2.0.3 out now 
>> (except 
>> >         a minor 
>> >         issue with markmin that we are investigating). 
>> > 
>> >         If you find other issues, please continue report them. We'd 
>> >         rather fix 
>> >         them sooner rather than later. 
>> > 
>> >         Thanks for all your help and testing. 
>> > 
>> >         Massimo 
>> > 
>> > 
>> > 
>> >         On Wednesday, 29 August 2012 22:41:34 UTC-5, 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 <
>> http://db.a.id> 
>> >              <http://db.a.id>).nested___select(db.b.id <http://db.b.id> 
>>
>> >         <http://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 
>> > 
>> >         -- 
>> > 
>> > 
>> > 
>> > 
>> >     -- 
>> > 
>> > 
>> > 
>> > 
>> > -- 
>> > 
>> > 
>> > 
>>
>

-- 



Reply via email to