Good Job! Thanks...

I will help in the next releases soon...



Saludos,

--------------------------------
Alfonso de la Guarda
Twitter: @alfonsodg
Redes sociales: alfonsodg
   Telef. 991935157
1024D/B23B24A4
5469 ED92 75A3 BBDB FD6B  58A5 54A1 851D B23B 24A4


On Wed, Aug 29, 2012 at 10:41 PM, Massimo Di Pierro
<massimo.dipie...@gmail.com> 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
>
> --
>
>
>

-- 



Reply via email to