It is called stable since no one using trunk/nightly build detected those
errors.

I agree with you, but you cannot blame anyone.
Web2py has so much features and it is impossible to test everything.


On Fri, Aug 31, 2012 at 1:44 PM, vinicius...@gmail.com <
vinicius...@gmail.com> 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>).nested_**select(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