Release Notes - 0.4.0

The 0.4.0 release of liblacewing is now available, featuring many fixes and new features.

Streams

The Stream system introduced in 0.3.x provides a strong base for any library object capable of I/O, complete with filtering, intelligent splicing and automatic queueing.

0.4.0 has many improvements regarding the stability of the Stream system in general, resolving issues with graph corruption and erroneous queueing behaviour (which was the cause of HTTP requests often hanging in 0.3.x).

SPDY

The Webserver class now has support for the SPDY protocol. Outside of Google, SPDY has enjoyed a surge in adoption in recent months by high profile websites such as Twitter and Facebook, server software such as nginx, and browsers such as Firefox and Opera.

SPDY support is completely transparent, and will automatically be advertised to clients where TLS NPN is available server-side. (NPN is not currently available on Windows due to the native SChannel being used for TLS.)

Multipart Form Data

Prior to 0.4.0, the Webserver used a dated ad-hoc parser to handle multipart form data. This was not robust or efficient, and often choked on data produced by some user agents.

This has now been completely replaced with Igor Afanov's multipart-parser-c, which is far more maintainable and compliant with the multipart specification.

Other changes