0.2.0.2
 - On keep-alive UPnP result, always move to next item if device found in list (even if removed as a Sonos slave)
 
0.2.0.1
 - (airupnp) search for master should return true in case of UPnP error
 - (aircast) mDNS search for groups was messed-up
 
0.2.0.0
 - new handling of discovery (mDNS-SD and UPnP) for on-the-fly player addition / removal (no more discovery time and removal counts)
 - Review of all mutex-related issue and various risk of unprotected code
 - review of memory leaks (only the SSL remains, which is the same all over execution)
 - mDNS records is now 120s (per RFQ) and not 75m so that in case of crash, player do not appear sticky for some applications
 - add possibility to dump players ('dump' & 'dumpall' commmands)
 - in SETUP response, cport and tport are set to 0 by default which will cause session to fail if none of these are provided
 - handle "header folding" in HTTP response
 - HTTP headers w/o : should not crash kbd_free
 - use closesocket under Windows, not close!
 - (aircast) SSL context is not deleted at every disconnect to avoid memory leaks
 - (aircast) wrong volume local change when mute was set
  
0.1.6.1
 - add Solaris i86pc build
 - change some mdns options
 
0.1.5.3
 - compile flag to store streams
 
0.1.5.2
 - FreeBSD does not exit accept() even when socket shutdown properly, need to use select()
 
0.1.5.1
 - memory leak correction in isMatsre & GetGroupVolume (@codepeon)
 
0.1.5.0
 - add "+" after default name to identify AirConnect players
 
0.1.4.4
 - always remove players on BYEBYE message
 
0.1.4.3
 - (airupnp) default name is zone name for Sonos device

0.1.4.2
 - (airupnp) properly eliminate Sonos slaves
 
0.1.4.1
 - misc Sonos group cleaning
 
0.1.4.0
 - (airupnp) detect Sonos groups and do not add slaves
 - (airupnp) add Sonos groups volume
 
0.1.3.2
 - discovery and exit (-i) could abort without searching on aircast
 - new devices were not added to existing file when using -I
 
0.1.3.1
 - when cannot start, exit with no-zero code
 
0.1.3.0
 - title changed to "Streaming from AirConnect"
 - code cleaning
 
0.1.2.0
 - send minimum metadata
 - (aircast) remove unused config items 
 
0.1.1.0
 - support wav and pcm codecs
 
0.1.0.5
  - rare race condition in UPnP search timeout/result

0.1.0.4
 - flac_ready boolean was un-necessary
 - wait for playing (RTP) before sending silent frames
 - was sending a few raw frames at the beginning when using flac
 - functions renaming for better consistency
 
0.1.0.3
 - pthread_join of remote search could be called twice
 - update renderer thread cleaned for better exit
 - memory leaks correction
 
0.1.0.2
 - code cleaning
 - exclusion (-m) parsing was wrong and ";" is not a valid separator
 
0.1.0.0
 - HTTP delay uses silence frames
 
0.0.2.7
 - do not hold RTP frames when they are available! only hold missing one, up to RTP latency
 - add HTTP delay for Chromecast as well

0.0.2.6
 - NULL (empty xml item) was causing crash and default save set <latency> to empty
 
0.0.2.5
 - <name> in config file was not taken into account

0.0.2.4 
 - only notify of playback when frame is not silence (all 0) to avoid iOS 10.x spurious play
 - add wav header so that wav can be used in AirCast as well

0.0.2.3
 - increase SO_SNDBUF to try to better handle sloppy networks
 
0.0.2.2
 - high CPU usage in http frames handling