Ver. 1.1.3 - 2016-Feb-19

Make sure the asyncio.coroutine decorator is used by all pulsar coroutines This allows to use pulsar to write python 3.5 compatible code with the async/await syntax. 709f9ff

Documentation

  • Mcve reference in the readme b49434d
  • Removed CHANGELOG.rst from the top level directory and created a folder inside the docs which contains a list of minor releases
  • Started using markdown in documentation. 6b20825

Http

  • Better keep-alive management of HTTP connections df1be4b
  • Http client uses the base class connection method rather than using a different one b584828
  • The http response object has the links attribute which return a parsed Links headers dictionary. Code from python requests 023ca50

Wsgi

  • Use file_response function in MediaMixin.serve_file method c012af1
  • FileRouter is now a proxy for MediaRouter

Ver. 1.1.2 - 2016-Feb-04

  • Removed release application and created a new repository for it
  • wait method in greenio app accepts an extra parameter for checking if in child greenlet
  • Specialised MustBeInChildGreenlet error for functions which should be called on a child greenlet
  • Critical bug fix in pubsub subscribe method for Redis backend
  • Added an asynchronous wsgi.file_wrapper to the WSGI environment
  • Added file_response utility to serve local files
  • Introduced pulsar.ensure_future in place of pulsar.async

Ver. 1.1.1 - 2016-Jan-06

  • Full support for python 3.5
  • Pulsar 1.1.x is the last minor release (“major.minor.micro”) to support python 3.4
  • From pulsar 1.2.x, support for python 3.4 will be dropped and the new async-await syntax will be used in the whole codebase

Core

  • Added CI for python 3.5
  • Added debug properties to all AsyncObject. The property returns the event loop debug mode flag

Http

  • Backward incompatible changes with API much closer to requests and far better support for streaming both uploads and downloads
  • Added content attribute to HttpResponse, in line with requests
  • Ability to pass stream=True during a request, same API as python requests
  • Added the raw property to the Http Response, it can be used in conjunction with stream to stream http data. Similar API to requests
  • Renamed proxy_info to proxies, same API as python requests
  • You can now pass proxies dictionary during a request
  • Stream uploads by passing a generator as data parameter
  • Better websocket upgrade process
  • Tidy up CONNECT request url (for tunneling)
  • Added tests for proxyserver example using requests

Wsgi

  • Both wsgi and http apps use the same pulsar.utils.httpurl.http_chunks function for transfer-encoding chunked
  • render_error escapes the Exception message to prevent XSS

Datastore

  • Better pulsards_url function, default value form cfg.data_store
  • key_value_save set to empty list by default (no persistence)

Examples

  • Refactored proxy server example
  • Updated django chat example so that warning are no longer issued