Degu 0.16

Milestone information

Project:
Degu
Series:
trunk
Version:
0.16
Released:
2016-05-27  
Registrant:
Jason Gerard DeRose
Release registered:
2016-05-27
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon degu-0.16.0.tar.gz (md5, sig) tarball 6
last downloaded 44 weeks ago
Total downloads: 6

Release notes 

Degu 0.16 again brings a number of small breaking API changes; however, the changes in this release are quite unlikely to break the behavior of existing Degu server and client consumers during normal run-time use. If any changes are needed to port your applications to Degu 0.16, it will most likely be changes to your unit tests.

For full details, see:
http://docs.novacut.com/degu/changelog.html#may-2016

Breaking API changes:

* The `degu.base.Bodies` namedtuple has been renamed to `degu.base.API`, plus the new `Range` and `ContentRange` attributes were added

* The `degu.base.bodies` constant has been renamed to `degu.base.api` and is now a `degu.base.API` instance; for backward compatibility, `degu.base.bodies` is still available as as alias for `degu.base.api`, but note that `degu.base.bodies` will be removed in a future Degu release

* The `degu.client.Connection.bodies` attribute has been renamed to `degu.client.Connection.api` and is now a `degu.base.API` instance; for backward compatibility, `degu.client.Connection.bodies` is still available as as alias for `degu.client.Connection.api`, but note that `degu.client.Connection.bodies` will be removed in a future Degu release

* `degu.server.Request.shift_path()` now returns None when `degu.server.Request.path` is empty (rather than raising an IndexError)

* The `read_chunk()` and `write_chunk()` functions have been removed from the `degu.base` module, as they were only useful for unit testing and illustration, had no value during normal run-time-use; equivalent functions might eventually be added to the `degu.misc` module

* The `parse_headers()` and `format_headers()` functions have been moved from the `degu.base` module to `degu.misc`, as they were only useful for unit testing and illustration, had no value during normal run-time-use

* The *base_headers* argument provided to the `degu.client.Connection` constructor now must be a tuple of (key,value) pairs instead of a dict; as before, *base_headers* can still be None, which is treated the same as an empty tuple

New API additions:

* The `degu.client.Client` and `degu.client.SSLClient` constructors now take an optional *authorization* keyword option, which can be used to specify a static HTTP Authorization header that will be unconditionally included in each HTTP request made by `degu.client.Connection.request()`

* The `degu.client.Client.set_base_header()` method was added, providing a mechanism for 3rd-party applications to set addition base headers without adding new keyword options to the `degu.client.Client` constructor

* The `degu.misc.mkreq()` function was added, which makes it easier to construct well-formed `degu.server.Request` instances for unit-testing

* The `degu.misc.mkuri()` function was added, which makes it easier to build a valid HTTP request URI from RGI-like path and query components for unit-testing

* The `degu.applib` module was added, with the goal of providing a library of RGI application and middleware components for common scenarios; thus far it contains two components:

 1 - `degu.applib.RouterApp` - generic RGI routing middleware

 2 - `degu.applib.ProxyApp` - generic RGI reverse-proxy application

Changelog 

This release does not have a changelog.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.