Changelog

All notable changes to this project will be documented in this file.

1.0.2 – 2020-12-18

Fixed

  • Relaxed version pins on gevent and typing_inspect. The former switched to calendar-versioning back in April.
  • Fixed OpenAPI generation for generic types w/o type parameters under Python 3.9.
  • Fixed a deadlock in WebsocketsTestClient under Python 3.9.

1.0.1 – 2020-02-15

Fixed

I just _knew_ I was tempting fate with that 1.0 release. This release fixes a build issue with the package where a template file was missing. (#37)

1.0.0 – 2020-02-15

Molten has been extremely stable for the past year and a half so I’ve decided to make it official by tagging this release as 1.0.

Changed

  • Updated version pin for typing-inspect to allow 0.5. (#35)

0.7.4 – 2018-11-10

Changed

  • The test client now supports specifying the mime type of each uploaded file. (#30, @jairojair)

Fixed

0.7.3 – 2018-11-10

Fixed

  • A type annotation in Templates. (#25, @mands)

0.7.2 – 2018-11-10

Added

  • UploadedFile can now be requested via DI inside handlers.
  • The test client now supports file uploads via the file keyword argument.

Fixed

  • UploadedFile now renders a file upload element in OpenAPI documents. (#23)

0.7.1 – 2018-10-15

Fixed

  • Fixed an issue where singletons that were dependencies of other singletons were instantiated multiple times.

0.7.0 – 2018-10-15

Changed

  • CookieStore now accepts string signing keys and automatically encodes them to bytes.
  • Environment variables can now be substituted into TOML settings using the $VARIABLE_NAME syntax. This is a breaking change if your settings files contain $ characters; replace them with $$ to escape them.

0.6.1 – 2018-10-14

Fixed

0.6.0 – 2018-10-06

Added

  • Support for typing.Union in schemas.
  • Support for forward_refs.

Fixed

  • Any can now be used to annotate schema fields that can contain values of any type.
  • APIKeySecurityScheme now takes a param_name that correctly identifies the header/query param/cookie name. (#17)

0.5.2 – 2018-09-29

Fixed

  • OpenAPI docs can now be generated from handler methods. (#13)

0.5.1 – 2018-09-23

Fixed

  • An issue where OpenAPI docs containing typed list fields would blow up at render time. (#12)
  • OpenAPI docs now use {read,write}Only field markers instead of generating one schema per context (request, response). This may be a breaking change if your tests depended on the old way for some reason, but I’m treating it as a bugfix.

0.5.0 – 2018-08-18

Added

Changed

  • ResponseRendererMiddleware now looks up renderers directly off of the app object. This means you no longer have to pass them to the middleware upon instantiation. This is a breaking change.

    To upgrade, change code that looks like this:

    app = App(
      middleware=[ResponseRendererMiddleware([JSONRenderer()])],
    )
    

    to:

    app = App(
      middleware=[ResponseRendererMiddleware()],
      renderers=[JSONRenderer()],
    )
    

0.4.2 – 2018-08-14

Fixed

  • Dropped SCRIPT_NAME from Request.path.

0.4.1 – 2018-07-28

Fixed

  • mypy errors.

0.4.0 – 2018-07-28

Added

Fixed

  • App instances can now be injected into singleton components.

0.3.3 – 2018-07-26

Fixed

  • Multi-valued accept headers are now tested against renderers in order. This fixes an issue where, if the header looked liked text/html,*/*, the first renderer would always be chosen, regardless of if there was a better one available.

0.3.2 – 2018-07-25

Fixed

  • Custom field validators are no longer ignored.

0.3.1 – 2018-07-25

Fixed

  • Multi-valued accept headers are now handled correctly.

0.3.0 – 2018-07-25

Added

0.2.1 – 2018-07-09

Fixed

  • SQLAlchemy sessions are now explicitly closed at the end of the request.

0.2.0 – 2018-07-05

Fixed

  • Schema field metadata inheritance.

0.1.0 – 2018-06-23

Changed

  • Initial release.