All Versions
Latest Version
Avg Release Cycle
45 days
Latest Release
1040 days ago

Changelog History
Page 2

  • v2.18.3

    March 03, 2019
  • v2.18.2

    February 26, 2019
  • v2.17.2

    October 06, 2018
  • v2.17.1 Changes

    August 06, 2018

    πŸ›  Many bug fixes and integration with pyDAL 18.08

  • v2.17.1-2 Changes

    • pydal 18.08
    • πŸ›  many small bug fixes
  • v2.16.1 Changes

    November 14, 2017
    • pydal 17.11
    • bootstrap 4
    • πŸ‘ better welcome examples
    • πŸ›  many bug fixes
  • v2.15.1-4 Changes

    • pydal 17.08
    • ⬇️ dropped support for python 2.6
    • ⬇️ dropped web shell
    • πŸ‘ experimental python 3 support
    • experimental authapi for service login
    • πŸ‘ allow ajax file uploads
    • βœ… more tests
    • more pep8 compliance
    • d3.js model visulization
    • πŸ‘Œ improved scheduler
    • πŸ‘ is_email support for internationalized Domain Names
    • πŸ‘Œ improved used of cookies with CookieJar
    • SQLFORM.grid(showblobs=True)
    • import JS events (added w2p.componentBegin event)
    • βž• added support for CASv3
    • allow first_name and last_name placeholders in verify_email message
    • βž• added three-quote support in markmin
    • ⚑️ updated pg8000 driver (but we still recommend psycopg2)
    • compiled views use . separator not _ separator (must recompile code)
    • πŸ‘ better serbian, french, and catalan translations
    • πŸ”¨ speed improvements (refactor of compileapp and pyc caching)
    • βœ‚ removed web shell (never worked as intended)
    • allow Expose(..., follow_symlink_out=False).
    • ⚑️ Updated fpdf to latest version
    • πŸ‘ JWT support
    • πŸš€ import fabfile for remote deployment
    • ⏱ scheduler new feature: you can now specify intervals with cron
    • 🚚 gluon/* removed from sys.path. Applications relying on statements like e.g. "from storage import Storage" will need to be rewritten with "from import Storage"
    • tests can only be run with the usual --run_system_tests OR with python -m unittest -v gluon.tests on the root dir
    • jQuery 3.2.1
    • PyDAL 17.07 including: allow jsonb support for postgres correctly configure adapters that need connection for configuration better caching updated IMAP adapter methods to new API experimental suport for joinable subselects improved Teradata support improved mongodb support overall refactoring experimental support for Google Cloud SQL v2 new pymysql driver
  • v2.14.6 Changes

    • βœ… Increased test coverage (thanks Richard)
    • πŸ›  Fixed some newly discovered security issues in admin: CSRF vulnerability in admin that allows disabling apps Brute force password attack vulnerability in admin (thanks Narendra and Leonel)
  • v2.14.1-5 Changes

    • πŸ›  fixed two major security issues that caused the examples app to leak information
    • πŸ†• new Auth(…,host_names=[…]) to prevent host header injection
    • πŸ‘Œ improved scheduler
    • pep8 enhancements
    • πŸ›  many bug fixes
    • βͺ restored GAE support that was broken in 2.13.*
    • πŸ‘Œ improved fabfile for deployment
    • πŸ”¨ refactored examples with stupid.css
    • πŸ†• new JWT implementation (experimental)
    • πŸ†• new gluon.contrib.redis_scheduler
    • myconf.get
    • LDAP groups (experimental)
    • .flash -> .w2p_flash
    • ⚑️ Updated 5.2.1
    • ⚑️ Updated jQuery 1.12.2
    • welcome app now checks for version number
    • Redis improvements. New syntax:

      BEFORE: from gluon.contrib.redis_cache import RedisCache cache.redis = RedisCache('localhost:6379',db=None, debug=True)

      NOW: from gluon.contrib.redis_utils import RConn from gluon.contrib.redis_cache import RedisCache rconn = RConn()

      or RConn(host='localhost', port=6379,

      db=0, password=None, socket_timeout=None,

      socket_connect_timeout=None, .....)

      exactly as a redis.StrictRedis instance

      cache.redis = RedisCache(redis_conn=rconn, debug=True)

      BEFORE: from gluon.contrib.redis_session import RedisSession sessiondb = RedisSession('localhost:6379',db=0, session_expiry=False) session.connect(request, response, db = sessiondb)

      NOW: from gluon.contrib.redis_utils import RConn from gluon.contrib.redis_session import RedisSession rconn = RConn() sessiondb = RedisSession(redis_conn=rconn, session_expiry=False) session.connect(request, response, db = sessiondb)

    Many thanks to Richard and Simone for their work and dedication.

  • v2.13 Changes

    • fixed a security issue in request_reset_password
    • βž• added
    • πŸ›  fixed oauth2 renew token, thanks dokime7
    • fixed add_membership, del_membership, add_membership IntegrityError (when auth.enable_record_versioning)
    • πŸ‘ allow passing unicode to template render
    • allow IS_NOT_IN_DB to work with custom primarykey, thanks timmyborg
    • πŸ‘ allow HttpOnly cookies
    • french pluralizaiton rules, thanks Mathieu Clabaut
    • πŸ›  fixed bug in redirect to cas service, thanks Fernando GonzΓ‘lez
    • πŸ‘ allow deploying to pythonanywhere from the web2py admin that you're running locally, thanks Leonel
    • πŸ‘ better tests
    • πŸ›  many more bug fixes