Skip to content
Marcel Hellkamp edited this page Aug 28, 2016 · 8 revisions

This is a (rough, in discussion) Roadmap for the Bottle project as a source of information for contributors and developers. Discussions should happen within the issue tracker or mailing list. If you find this document to be outdated or missing something, please feel free to fix it.

The upcoming 0.* releases are there to make the transition to version 1.0 as smooth as possible. Some APIs will change drastically and some old cruft will be removed, breaking existing applications. As usual, upgrading your application from bottle 0.x to 0.x+1 is save as long as you fix all deprecation warnings first.

Bottle 1.0

  • Drop Support for Python 2.5, 2.6 and 3.1 (finally).
  • Move to dependency injection (DI):
    • Integrate the bottle-inject plugin or similar functionality.
    • Drop module globals (request/response):
    • Discourage trivial plugins that can be replaced with DI.
  • Move to application bound configuration (app.config):
    • Drop module-level settings (e.g. TEMPLATE_PATH).
  • Improve mount/merge functionality to allow complex applications.
  • Provide a test framework specifically for bottle (based on webtest?).
  • Improve documentation:
    • Streamline multilingual documentation.
    • Provide a non-trivial example application with multiple interlinking applications.
    • Provide working examples for the most common use cases.
    • Include all examples into the test environment.

Bottle 2.0

  • Drop Support for Python 2, 3.3 and 3.4
  • Massively use Python 3 features.
  • Improve upon/beyond WSGI to support advanced backend features:
    • Async server backends, async/await request handlers.
    • Optional HTTP2.0 features for supporting backends.
    • Integrated WebSocket support.
Clone this wiki locally