[Libwebsockets] Plan for 1.6

Andy Green andy at warmcat.com
Sun Dec 6 04:22:41 CET 2015


Hi -

Just a heads-up I'm planning to release 1.6 shortly.

Although it's a short time since 1.5, we have a lot of new things.

  - api rationalization (I explain in a moment)

  - mingw and clang compatibility working

  - mbed3 support usable (+/- the remaining mbed3 "500ms bug" they are 
working on fixing - https://github.com/ARMmbed/sockets/issues/38 )

  - several fixed mainly on windows stuff

  - big refactor on the test apps including an official pthreads example

  - cleaned out almost all windows build warnings (couple of deprecated 
api warnings is all that is left)

  - zero defects on coverity (3 small ones fixed)... they have an 
interesting graph "average OSS defect density" is supposedly 0.35 per 
100KLOC, our density started at 0.05 a year ago when Joakim set up 
coverity and now is zero.  (It's not the same as zero bugs 
unfortunately, but it hopefully means something).


The goal of the api rationalization was to get rid of the confusing 
libwebsocket_ / libwebsockets_ api and struct prefixes and only use lws 
for everything.

If you want to align your code with that, you can do it with

  - /libwebsocket_/lws_/
  - /libwebsockets_/lws_/
  - /struct\ libwebsocket/struct\ lws/

If you don't want to, or can't, update your user code, there are two 
layers of backwards compatibility.... #defines in libwebsockets.h mean 
you can just rebuild your app without changing anything (ie, keep the 
old api names) and you're good to go.

If you are building the library for distro type usage, and / or you 
can't rebuild your app, you can enable a new cmake define 
-DLWS_WITH_OLD_API_WRAPPERS=1

This causes the library to build wrapper functions with the old names, 
while also supporting the new names so you are compatible with both. 
For that reason there's no soname bump involved.

Any testing of HEAD would be helpful ^^

-Andy



More information about the Libwebsockets mailing list