Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Preparing for 2.3.0b3 release


* cope with the new jinja and markupsafe releases
* Report widget key instead of widget id for TW2 form_errors, this is to cope with the case ids have been changed and don't match the value names anymore
* Add tests for json encoding of pagination Pages
* Add support for serializing to json paginated collections
* Refactor response management and WSGI app forward. now only TGApp is in charge of calling start_response, also the TGController.__call__ is guaranteed to always return a WebOb Response object that can then be changed by application wrappers
* Replacing repoze.tm2 with a custom transaction manager to avoid generator consumption issue caused by repoze.tm2 version 2.0
* repoze.tm2 now always returns contenst through a generator, so by default we must use registry manager in streaming mode
* As caching is used internaly only permit to disable sessions for now
* Make easy to enable or disable beaker usage
* remove genshi trunk install as 0.7 got released
* remove info command, it was not implemented over gearbox
* Add test to check that setting up an app with package without app_globals works
* Fix jinja test on Py3.2
* when no lib.app_globals.Globals is provided use the default Bunch based one
* app_config: Added i18n extension to Jinja2 template renderer by default
* Added Jinja i18n support tests
* app_config: Added i18n extension to Jinja2 template renderer by default
* wsgiref should be part of python
* test on py3.3 too, all tests should be passing
* do not expect parameters to be encoded in any particular order when generating links
* Fix directory not being removed after test when running on py3.3
* More tests depending on dictionary ordering
* Avoid issues with dictionary keys ordering when running tests, this is to make tests pass on py3.3
* For now keep below webtest 2 due to backward incompatible changes
* Avoid crash in jinja setup when no application package is available
* when default renderer is not between renderers choose a new default renderer
* When minimal disable dotted templates notation by default so that packages are not required
* Make possible to declare an authenticate method in TGAuthMetadata This makes possible to use authentication on Py3 by avoiding the dependency, also instead of having to use external packages to provide authenticators for ming and sqla they should simply be provided by the quickstart inside the app itself much like get_user,get_groups and get_permissions are.
* fix repositories location
* Update for 230 the setup.cfg
* fixed error_handler code in dispatch to point to controller last seen in the stack.
* Fix string compare in test on py3
* reach full coverage, add tests for ming options and fix ming options
* Add test for coerce_config utils
* Avoid registering the Session and Cache objects more than once
* Remove friendlyform dependency
* Fix issue with SQLA 0.8
* Make the Page have a length
* Expose some core parts for single file web services into the tg namespace
* Fix issue with registry compatibility when paste StackedObjectProxy are used instead of tg StackedObjectProxy
* Make possible to choose redirection type in tg.redirect and move @with_trailing_slash and @without_trailing_slash to 301 permanent redirect for SEO
* Add support for SQLAlchemy queries in pagination and test it
* Refactor auth module and provide a py3 compatible alternative to FriendlyFormPlugin
* Tune package dependencies name for private index
* Provide coverage of wsgiapp, just ignore pylons compatibility mode and routes support
* Full coverage for statics file serving
* Provide full coverage for stacked objects registry
* Bring tg.validation to 100% coverage
* fix DottedFileLocatorError on Py3
* Remove app: prefix support from template lookup and add tests for tg.util
* Full coverage tests for pagination
* fix issues with body request/response management in py3
* This requires some investigation, on travis the json date encoding is different
* Clean up request/response and provide tests
* Require WebOb >= 1.2 and provide some tests for the request
* Tests for tg.render and remove deprecated flash and flash_status vars in template
* Enable context provider for TraceErrorsMiddleware
* make call_wsgi_application an internal detail for StatusCodeRedirect
* tests don't pass on travis-ci even though they do on same python version on other systems
* fix test on py26
* Skip mongodb jsonify on py3
* Add missing tests for json encoding
* Add tests for i18n management and fix some issues in i18n
* Fix tg.predicates bool evaluation on Py3 and cover tg.predicates with tests
* Full coverage for tg.flash module
* Add globals preservation after request in case of exceptions to make them available in debuggers
* Make use of backlash.TraceErrorsMiddleware when debug mode is disabled
* dottednames.mako_lookup brought to 100% coverage
* Bring to full coverage jinja_lookup and kajiki_lookup
* Refactor StackedProxyObject and TurboGearsContextMember and start testing the registry
* tg.decorators now 100% covered
* Remove postpone_commits decorator, it was not documented and it's better suited to specific projects needs than to the framework itself
* Remove allow_only decorator which actually didn't work and test was disabled
* Increase tg.decorators module coverage
* Fix pylons_formencode_gettext on Py3
* More tests for utils
* declare tg.url used functions internal and test on Py2 and Py3
* Bring dispatcher to 100% coverage and fix issue with mount_steps with AppConfig minimal mode
* Various cleanup, brings 100% coverage on decorated controller. Moved toscawidgets.default_view in app_config and removed _configured_engines which did nothing
* Extend the minimal setup to more options
* Various Speedups
* Should provide support on PY3
* Fixx BalancedSession and provide full coverage for it
* Always update even with nonzero is not available
* Improve testing for auth and remove unused else case from _AuthenticationForgerPlugin
* This test cannot run on Py3 now
* AppConfig is now 100% coverage
* Add Test for toscawidgets setup
* Fix commit_veto currently not being used at all due to repoze.tm2.make_tm accepting a configuration dictionary, not the commit_veto callable
* Let tgming force ming version
* Skip tests for not importing on py3
* correct dependency
* tests for auth setup, bringing coverage up to 97%
* Bring app_config coverage up to 90% on Py2.x
* 84% coverage for app_config, skipping chameleon.genshi and amf
* Focus on coverage on py2.x, raise tg.configuration.app_config coverage to 80%
* Make possible for template engine setup functions to remove themselves when they fail to initialize
* Actually unbound methods don't exist anymore in py3, was a broken test
* bring tg._compat and tg.caching at 100% coverage on Py3
* minor cleanups
* Test support on
* remove deprecated .exception
* All tests passing on both py2.6 and py3.2
* Avoid trying to import FormEncode again if not available
* Add repoze.lru dependency
* Cache path cleanup for statics
* All auth tests passing on Py3 (requires repoze.who git and port of friendlyform)
* make unicode_literals for test_controllers
* Fix unicode dispatch on python3, all dispatch tests passing
* solve some failing config tests and remove webob warning on Py3
* Fix tg.caching on Py3
* fix jsonify tests on py3
* Make configuration tests pass on Py3
* Validation tests passing
* Remove deprecationwarning on WebOb1.2
* Fix error_handler on Py3
* All rendering tests including inheritance now pass
* Fix @expose inherit=True on Py3
* All rendering tests passing on Python3
* Fix custom_format and override_template on Py3
* Fix pagination on Py3 due to true division
* Fix remainder in dispatchment on Py3
* pylons.app_globals replaced by tg.app_globals in config
* Fix i18n on Py3
* Fix jinja loader on Py3
* fix for tg.url on Py3
* Raise version to 2.3dev
* Use backlash module as a replacement for weberror due to weberror not supporting py3
* Fix broken test mode due to paste.registry not existing anymore
* Fix for WebOb1.2
* Avoid depending from WebOb.compat as we have our own compatibility module
* More improvements on Python3 support, now able to serve the quickstart
* Make easier to create single file TG applications
* Wasn't necessary and caused issues on Python3
* Fix test suite, all tests passing again
* Make mako templates load and render in testapp on Python3
* Tune Beaker middlewares instead of replacing them
* Says HELLO on Python3 and tests still passing on Python2
* Speed up things by applying controller wrappers only once on setup, also add application_wrappers support
* Fix crash when _call is called without thread locals
* Duplicate methods due to merge issue
* Change prefix for tw2 to make resources archiving work correctly
* Make routes optional and disable them by default
* __before__ and __after__ reappeared due to merge with development branch
* Add crank to dependencies
* Avoid using multiple StackedObjectProxy, register only one TurboGears Context and use TurboGearsContextMember to access its members, also fix compatibility with extensions that use _call directly by removing the need of the tgl parameters
* Crank based dispatch
* Be sure that we update decoration when controller has been changed due to validation errors
* Keep compatibility with applications that called or replcaed find_controller method
* always booleanize predicates
* Keep compatibility with old websetup quickstarted with reference to pylons.app_globals
* more performances, cache some request properties and avoid adding SCRIPT_NAME to remove it later in fast_path
* more speedboost, use private Request variables and cache more argspec. Up to 1700req/sec
* Make auto_reoad_templates editable both from .ini and app_cfg
* more speed boost, up to 1600req/sec on performance test
* more boost, got over 1300req/sec
* speedboost, got from 560req/sec to 1100req/sec on my computer
* Cleanup and bring decorated controller over 90% coverage
* tg_format is not used anywhere, probably stray piece from the past
* Remove legacy renderer and let tests test the mako compiled path
* Remove invalid comment
* Bring app_config coverage up to 85%
* Bring caching code coverage over 95%
* Fix fake XmlRpc Controller for pylons less test
* Remove dependency from repoze.what-quickstart on test_requirements
* Remove dependency from repoze.what-quickstart we actually used only 1 function
* Mark as 2.1.4
* Take languages_best_match implementation from pylons 1.0.1, it should behave like old pylons languages property
* Replace start response to check if we call a plain WSGI application during the dispatch
* More compatibility with Tg-pylons applications
* Remove last references to pylons. All the tests pass on environment without Pylons
* all tests passing
* Only one test not passing
* Fix issue with tests due to pylons_compatible option
* Tests starting to pass and performing little cleanup
* Now able to make quickstart application run in a virtualenv without pylons installed
* WebOb 1.2 compatibility
* Switch more references from pylons to tg
* Pylons less dispatch
* Avoid accessing multiple times the environ as objects are already available in request locals
* TGApp not depending from pylons anymore
* Add support for migrations autogeneration to 'gearbox migrate'
* remove url_for as routes is not installed by default
* Remove repoze.tm2 dependency also from tgtesting key
* Remove repoze.tm2 dependency as it is not used anymore
* remove link to 2.2 for quickstarted templates
* Update README for newly quickstarted apps
* Work around for sqla0.8 and sqlalchemy-migrate incompatiblity
* This is actually meaningless now
* Port test suite to gearbox from paste
* keep below webtest 2.0 to avoid backward incompatible changes
* quickstart tuning to make authentication work on Py3
* Update to reflect the gearbox package renaming
* Some quickstart options useful on Py3
* Update server due to gearbox package renamed to avoid collisions
* This is to make the versions directory exist
* Add schema initialization for migrations
* Switch from sqlalchemy-migrate to alembic for migrations to support SQLA0.8 and PY3. Keep sqla-migrate command around for backward compatibility
* Update pylons.app_globals to tg.app_globals
* Remove friendlyform dependency, not used anymore
* Add tg module to tgshell command
* Inherit from gearbox.command.Command instead of directly using cliff.command.Command
* Update dependencies
* Remove references to registry restorer which is not available
* Make command description more specific
* Make the tgshell command available only inside TurboGears projects
* Fix name collision with migrate package on python2
* Fix generated project for py3 and add --skip-tw quickstart option to disable tw
* move migrate and quickstart commands to gearbox for py3 support and add tgshell command to replace paster shell
* minor style and indentation fix
* remove reference to limited fields, in the tutorial is actually not fields limit
* Replace reference to Ticket model with Movie in CRUD tutorial
* Update migration documentation with some minor tunes on PasteScript and WebHelpers
* remove references to repoze.tm2
* updated streaming documentation to get on pair with the new behavior of 2.3
* Improve documentation on nested RestControllers
* Improve CrudRestController documentation adding references to pagination, substring filters and remember_values
* Dynamically generate private index urls from current version
* Remove references to Pylons
* Update version in README
* Fix mentions of to controllers/
* Fix mentions of to
* Mention move of paginate code in Upgrading guide
* Mention move of paginate code in Upgrading guide
* remove references to -E option of pip install which is deprecated
* Add tutorial for minimal mode
* Update tg22env references to tgenv, removing version specification
* Added doc for deploy under mozilla circus
* Port files about contribution from old book
* Warn about using cookies for session storage
* Warn about using cookies for session storage. Possible exploits using malicious pickled objects are only possible when cookies are used as storage backend. Users should be explicitly warned about that and use the filesystem storage instead - but they should also be aware of the cleanup they will then need to perform manually.
* Made colors a little bit less depressive.
* Add nose dependency for docs building
* update requirements.txt
* Merge reference into a single file for fast lookup
* Update documentation about migrations to Alembic
* Minor improvements and create the deploy section into the CookBook
* Try to improve main sections titling
* Tune minor changes and move Upgrading chapter from Doc to Cookbook
* Add GearBox documentation
* Remove some stray references to paster
* Remove some forgotten reference to the pylons namespace
* Remove references to tw.dojo
* Moving forward toward refactoring documentation
* Start documentation cleanup and rewrite for 2.3


* backport fix from TG2.3 on mime type detection


** Ming / Mongo
* Support connection options for ming/mongodb
* Support new ming configuration API
* Fix datastore options for ming

** Templating
* Jinja autoload filters
* Added jinja filter autoloading namespace protection test cases.
* When autoloading jinja filters use the special __all__ module
    variable to import the filters, if it is not defined then just
    import any defined callables.
* Jinja2 didn't perform escaping while mako, genshi and kajiki did
* Closes #17, mako bytecaching only works when
    use_dotted_templatenames = False.

** Authentication
* Better configuration of authenticators.
* More flexible configuration of authenticators. By adding ('default',
    None) to the list of authenticators, you can now include the
    default authenticator in the list of custom authenticators.

** Documentation
* Fix more references to pylons.c
* Update doc to deprecated pylons ns
* Update Wiki20 tutorial to TG2.2 and try to make it easier to follow
    and faster to read by hightlighting code and reducing parts that
    are more advanced or pure web developemnt/python related

** TurboGears Project
* Fix for travis due to repoze.who 2.1 now bringing in WebOb 1.2
* Travis-ci for development branch
* Add contributing file.

** Everything Else
* urljoin behavior on schemas seems to change depending on python
* Refactor request_type detection usage
* Fix issue with request extensions being wrongly handled two times
* Use the new built-in translations provided by ToscaWidgets 2.
* @beaker_cache was not available inside the deacorators module while
    it should have been
* @require now provides smart behavior, and can be used to just abort,
    rather than do redirect. Closes #27
* Make possible to import controllers (and so expose templates) before
    AppConfig.init_config has been called
* Most packages used by TG currently don't work with SQLAlchemy 0.8
* Permission._groups is currently defined as an array, so it expects
    to receive a list


Important Commit Messages:
* Fix template engine extension collision in tw2.core >= 2.1
* Permit TGController subclasses to keep the decorations made on the parent class methods around
* Support repoze.who v2
* New auth configuration layer that doesn't require repoze.what anymore while still being compatible
* Support validation dict using TW2 validators and make validation less dependant from FormEncode
* Always prefer default renderer when multiple engines are registered for the same content_type
* Fix empty documentation for some decorators
* Remove url kwargs which were marked for removal in 2.2
* Remove legacy renderers support
* Disable AuthMetadataProvider when is None
* Improved kajiki loader to solve some issues with py:extends
* use .jinja extension for jinja templates by default
* On Mako when using file loader templates where reloaded using the
  auto_reload_templates option, while when using dotted loader the
  mako.reloadfromdisk option was used. Merge the two options in
  auto_reload_templates as all the other templates engines use this
* __before__ and __after__ were renamed to _before and _after
* Expose render call as a public api with render_template name
* Create sqla module for sqlalchemy related things and add BalancedSession for master/slave load balancing
* Change prefix for tw2 to make resources archiving work correctly
* prefer_toscawidgets2 option in app_cfg enables tw2 and disables
  tw2. This should be the default in 2.2 newly quickstarted projects
* Add option for setting the template rendering parameters.
* Permit to avoid doctype injection when manually rendering templates with tg.render.render
* Object dispatch has been delegated to the crank package, improving performance and test coverage
* Quickstart new applications using repoze.who v2
* Add dynamic response.charset to meta in mako templates
* New quickstart template
* Quickstart projects without repoze.what requirement using new auth layer
* Fix issue with kajiki quickstart
* Adapt the bootstrap based template to jinja changes, always provide
  master.html for extensions and remove the minimal template as the
  new one is minimal enough
* Make genshi always available to have a lingua franca for pluggable apps and extensions
* Storing sessions in encrypted cookies is easier to manage then the file based solution for newly quickstarted projects
* tgext.admin now works with ToscaWidgets2
* Paste quickstart command will now ask if you want to use an alternative templating system instead of asking for each one
* New Upgrading TG2 page
* Document new inherit option of @expose with examples
* Fix missing kajiki setup_renderer reference and remove reference to default_renderer
* Update Authentication documentation
* Document flash and caching
* Document lurl usage
* Document WebFlash
* Add more docs and example about app_globals and tmpl_context
* Document ugettext and lazy_ugettext
* Document DBsession().using_engine switch to a context manager
* Minor fixes in MultipleDtabases documentation
* Added documentation about master slave load balancing
* Removing some old and now invalid parts of the documentation and add ToscaWidgets2 documentation
* Remove some references to tw1 in core parts of the doc

Tickets Closed:
1	Improve documentation on authentication, identification and authorization
2	Include lazy translations in the documentation
11	Document SecureFormMixin from TW
19	DataGrid and pagination tutorial/​reference missing for TG2
21	sqlite db creation error in wiki20 tutorial
26	Documentation for app_globals unclear
27	Document webflash aka tg.flash
51	Turbogears 2.1b1 tgext.admin Doesn't Handle Boolean Options
57	add a --clean option to quickstart
68	Simplify database migration in TG2
70	Migrating turbogears to pip
71	Create some kind of "component" architecture for TG2
75	quickstart graphics aren't easy to modify
137	Proper use of url() for widgets in the documentation
138	Backport repoze.what-quickstart and repoze.what-pylonshq removal
139	Move dispatch to Crank
140	Verify quickstart and devtools dependency
149	Expose the tg.render.render function as render_template
150	Full ToscaWidgets2 support and make it default when quickstarting app
151	Minimal Search and Sorting functions in admin
152	Jinja Support in quickstart
153	Master /​ Slave database support
154	Merge autoreload options for template engines
156	Provide a way to quickstart with Kajiki
157	repoze.who-1.0 is bugged when using auth_tkt
158	Permit to inherit decorations on TGController subclasses
160	allow_only doesn't get checked in dynamically dispatched RestController


TG2 Core Updates:
 * Template engines in tw2.core could collide, based on template extensions. Fixed.
 * Subclassed controllers now keep the decorations inherited from their parents
 * repoze.who v2 is now supported
 * Form validation now supports TW2 validation dictionaries, less dependent on FormEncode
 * When multiple renderers are registered for the same content type, the default renderer is now preferred
 * URL keyword args, marked for removal in 2.2, are now removed.
 * Ming setup issues are resolved, and Ming is in its own module
 * repoze.who v2 is not compatible with repoze.what v1. New compatible module has been provided to make code change minimal.
 * Jinja templates must now have the extension .jinja Conflicts with .html were being found when Genshi and Jinja were mixed in the same project.
 * Mako option "reloadfromdisk" has been deprecated. Use "auto_reload_templates" as this is the default for other rendering engines
 * __before__ and __after__ were renamed to _before and _after in the past. Code and documentation now reflects this.

Devtools / Quickstart Updates
 * New applications will be set up to use repoze.who v2 by default
 * Improvements to the quickstart look, layout, and content
 * Quickstarts now support Kajiki as a rendering engine
 * Twitter Bootstrap support in quickstart
 * Genshi is always available in new quickstarted projects. Provides a common template language for use in extensions
 * Sessions are now stored in encrypted cookies


Beta release of 2.2. No long message here, as I'm trying to push this…
… out. Will do full changelog for full release.


* Backport template rendering parameters from 2.2
* Add hook for render calls to be able to hook even partials
* Test unit for validation messing hooks
* Improved Jinja template support for Python 2.4
* Avoid running wrong decoration hooks when controller is switched due to a validation error
* Permit to avoid doctype injection when manually rendering templates with tg.render.render
* Added new new command (tgdevelop tgdeps) to setup.cfg to help with creating a good working virtualenv.
* Added jinja2 template loader with dotted notation.
* Fixed multiple paginators in same page
* Fixed missing tw.forms dependency when auth is disabled


* Deprecated Python 2.4 support. In 2.2, Python 2.4 support will be r…
…emoved, and only 2.5-2.7 will be supported

* TurboGears extension architecture enhanced. Better support for hooks before and after configuration
* Performance enhancements in tg module and in default templates
* Enhancements to lazy_url
* WebOb version locked in. The change of virtualenv to "distribute" by default has broken dependency_links and allow_hosts in the config files, and this works around that issue.
* Jinja2 filters are now automatically loaded
* Work arounds for best_match, which was not producing the expected behavior with IE7 and IE8
* Add "auto_reload_template" as an .ini option
* Performance tuning the default size of the Genshi cache
* Added Genshi advanced i18n support
* Better compatibility with SQLAlchemy 0.7
* Changed default quickstart options to help ensure that some model is always available
* Documentation enhancements
* Nested RestControllers now work as expected (no longer required to implement "_custom_actions")


* Added support for MongoDB into the quickstart template
* Added lurl (lazy_url) support for late evaluation
* Adding tests module back into source distribution. Solves ticket 115
* Template caching is now manageable by TG applications
* Clean up output for flash() in default quickstart
* Performance enhancements
* Fixed missing dependencies in TG quickstart on Python 2.4


 * Improved content-type handling (…
…ars2/tickets/73/ )

 * Fixed dotted filename support for Genshi and Chameleon.Genshi
 * Removed lxml dependency; now preparation of virtualenv is much easier on 64 bit systems
 * Upgraded Chameleon.Genshi support to Chameleon1.3rc
 * Set up render_genshi on demand only, improves Google App Engine support
 * Support for Python 2.7
 * Improved Jinja2 and Jinja2 filters support ( )
 * Added option to prevent auto-saving sessions ( )
 * Fixed crash where multiple templates were registered and user called override_template ( )
 * Fixed problem with ":" in error messages ( )
 * Improved i18n support
 * Improved pagination support ( )
 * Fixed warning resets when in debug mode ( )


2011-06-15 Michael J. Pedersen <>
	* Fixed dependencies for Python 2.4. Now any packages that are
	  needed are automatically installed.
	* Updated package requirements as high as possible.
	* Verified nested RestControllers work as expected
	* Added/fixed Kajiki support
	* Ignore repoze.who_testutil when running nosetests
	* Fixed import order for pylons.middleware
	* Fixed crash when PYTHONOPTIMIZE is enabled
	* Report a warning about ErrorMiddleware is disabled
	* Fixed concurrency issues with use_custom_format
	* Fixed 404 errors if a controller uses only custom formats
	* Verified that user object is available inside of the error controller/template
	* Fixed expansion of arguments on before/after calls
	* Fixed wrong header response for 405 error
	* Fixed WebOb version requirment. Newer version required
	* Added test case to check for replace_header when called from WSGIApp
	* Fixed issues with Content-Type header appearing multiples times on 204/205 responses
	* Removed redundant hasattr checks on override_template
	* Improved support for pylons 1.0 strict_c
	* Fixed post traceback, now reports to Pylons correctly
	* Added test case to check for spurious content type removal on empty content
	* Fixed crash when content type header is missing
	* Fixed crash when response Content-Type is set to None
	* Fixed support for etags. Pylons 1.0 changes slightly, we support the correct version now
	* Added dependency_links and setup.cfg allow_hosts: easy_install TurboGears2 now works
	* Fixed DecoratedController. should not call super(), 2.6 revealed a problem
	* Fixed Genshi output method. Use XHTML if none specified, instead of XML


The following changes were added for 2.0.4:
	* Python 2.4 compatibility was fixed.
	* Nested RestControllers had a bug preventing the proper
	  resolution of the "delete" method. This has been fixed.
	* When all @expose'd methods of a controller had a
	  CUSTOM_CONTENT_TYPE, a 404 would be returned. This has been fixed.
	* Problem existed with getting tuples into controllers. Patch from
	  bug 37 applied to fix this.
	* Brought the current TG2 private PyPI current. Getting installation
	  to work is now as easy as "easy_install TurboGears2==2.0.4"
	* Got automated testing working consistently.
	* Added tests for mixing positional args, keyword args, and pagination
	* dependency_links is now in place to make it easier to get the initial
	  setup done
	* Several other smaller bugs were fixed.


Fixing helper import issues -- pylons.package does not exist, but 'pa…
…ckage' does.


changed version number to tg 2.1a2


fixed an extra space left in the version number.


Using the .message attribute in Exception classes gives deprecation w…
…arnings in Python 2.6 (also, if you don't use the default .args attribute, then you should add a __str__ method to display the message in the stack trace). It's simpler to just use the BaseException mechanisms. The additional print statement is not necessary any more because the error message is now printed properly at the end of the stack trace.

branch : 2.0
extra : rebase_source : 8f4081316a3dfff2902bdc450aed500f015612ed
Something went wrong with that request. Please try again.