Back to Falcon

Changelog for Falcon 1.3.0

docs/changes/1.3.0.rst

4.2.02.1 KB
Original Source

Changelog for Falcon 1.3.0

.. falcon-release: 2017-09-06

Breaking Changes

(None)

Changes to Supported Platforms

  • CPython 3.6 is now fully supported.
  • Falcon appears to work well on PyPy3.5, but we are waiting until that platform is out of beta before officially supporting it.
  • Support for both CPython 2.6 and Jython 2.7 is now deprecated and will be discontinued in Falcon 2.0.

New & Improved

  • We added built-in resource representation serialization and deserialization, including input validation based on JSON Schema. (See also: :ref:Media <media>)
  • URI template field converters are now supported. We expect to expand this feature over time. (See also: :ref:Field Converters <routing_field_converters>)
  • A new method, :meth:~falcon.Request.get_param_as_datetime, was added to :class:~falcon.Request.
  • A number of attributes were added to :class:~falcon.Request to make proxy information easier to consume. These include the :attr:~falcon.Request.forwarded, :attr:~falcon.Request.forwarded_uri, :attr:~falcon.Request.forwarded_scheme, :attr:~falcon.Request.forwarded_host, and :attr:~falcon.Request.forwarded_prefix attributes. The :attr:~falcon.Request.prefix attribute was also added as part of this work.
  • A :attr:~falcon.Request.referer attribute was added to :class:~falcon.Request.
  • We implemented __repr__() for :class:~falcon.Request, :class:~falcon.Response, and :class:~.HTTPError to aid in debugging.
  • A number of Internet media type constants were defined to make it easier to check and set content type headers. (See also: :ref:Media Type Constants <media_type_constants>)
  • Several new 5xx error classes were implemented. (See also: :ref:Error Handling <errors>)

Fixed

  • If even a single cookie in the request to the server is malformed, none of the cookies will be parsed (all-or-nothing). Change the parser to simply skip bad cookies (best-effort).
  • :class:~.API instances are not pickleable. Modify the default router to fix this.