Version 0.4:
=============
2026-04-19:
- JSONElement: adding SetArray function to create an valid empty array

2026-04-17:
- adding function to request a certain headline
- base64decode increase the outputbuffer by 2 bytes for null-temrinated strings

2026-04-16:
- base64encode and base64decode implemented

Version 0.3:
=============

2026-04-15:
- getrandomtext did not init with a good seed value. using the sample from the
  linux man pages.

2026-04-04:
- WebRequestBuffer::GerCookie did not return the correct cookie
- test-webserver: added some basic data in and output.

2026-03-26:
- WebRequestBuffer::GetRequestCmdObj complete values where the pointer
  is set.

2026-03-17:
- ssl: somehow ssl is not showing a closed TCP stream.
  if the tcp stream closes, we get do not get any error and no data.
  ret = SSL_read(ssl, buffer, len); will just return 0

2026-03-13:
- json could not handle double types.

2026-02-15:
- webserver exited if file was not found. Return error code and keep running
- webserver did not set the document root as expected 

2026-02-06:
- fixed: character '=' was ignored in the request

2026-01-06: Version: 0.3
- Added a simple WebServer functionality.

2023-11-17:
- TCP::WebGetFile timeout increased to 20000ms and added another function including an timeout parameter.

2022-02-02:
- TCP::WebGetFile downloaading from web is working fine now.
- TCP constructor is dealing better on windows now. WinSock is Hell.

2020-10-18:
- needed to disable ipv6 on windows for the moment, as long as i can't
  get both ipv4 and ipv6 to work at the same time.
- fixed getpeername was not supported on accept connections
- fixed windows support with TCP sockets. Needed to call closesocket on windows.
- added support for windows. Everything should work but UNIX sockets.

2020-10-15:
- added: TCP::isListen function

2019-12-29:
- added: UDP reads can be set to non blocked mode.

2019-07-21:
- fixed: compile will work with older versions of SSL.

2019-05-05:
- added SSLSocket support. SSL.Connect (TCP.GetSocket())
  it supports as well as non blocking connections with a defined timeout.

2019-03-04:
- added: TCP connections have set up a timeout of 2 seconds.
- fixed: TCP connect set up the sock struct too fast so threaded applications had some
  problem if the connect went into a time out.

2019-02-21:
- fixed: TCP::Accept needed to set up the lenght of the sockaddr structure

2019-02-03:
- fixed: if connection could not established we need to clear sock to -1
- fixed: setsockopt SO_REUSE was not right option was not setup properly

2019-01-30:
- Adding unix socket to the possible connections

2019-01-26:
- TCP::Write - added MSG_NOSIGNAL to send, in case something gets wrong the application would stop working

