Version 5.1.7
- Fix dependency on std::filesystem library

Version 5.1.6
- Fix the visibility of types in zeep::json::detail::iterator_impl
- Reintroduced resolving of bind addresses, using "localhost" is
  easier than only numerical addresses.
- Return correct status code in case of catching an exception
  in rest controllers.
- Fix dependency in .cmake config file for Threads
- Generate config.hpp file.

Version 5.1.5
- update zeepConfig.cmake to include required link file
- fix infinite loop in processing incorrect :inline constructs

Version 5.1.4
- Update cmakefile to work more reliably

Version 5.1.3
- Update SONAME to 5.1
- Create reproducible builds of documentation (and thus whole package)

Version 5.1.2
- Fix glob code to match empty path specifications for controllers
- Change CMakeLists file to generate only shared or static libs,
  but not both
- Generate pkgconfig file again

Version 5.1.1
- Removed uriparser again. URI implementation is now regex based.
- Replaced GNU configure with cmake

Version 5.1.0
- Added base32 encoding/decoding
- Various REST controller fixes, mainly in accepting parameters
- The library is now always compiled with PIC
- Requred boost version is now 71
- Ignore SIGCHLD in foreground mode, signals are now handled by 
  cross platform implementation
- reintroduced a Windows version
- Fixed a couple of security issues, all caused by incorrectly
  parsing uri's. Switched to using liburiparser for now.

Version 5.0.2
- Add support for building shared libraries
- Decoupled example code from rest, should now be build after installation,
  or use the STAGE=1 option to make.
- rest controller can now return a reply object, adding flexibility

Version 5.0.1

- Update makefile to include changes made for the Debian package
- Fix writing HTML, proper empty elements
- Added some workarounds to build on macOS
- Fixed endianness issue in sha implementation

Version 5.0.0

- Total rewrite of about everything
- Controllers are now the main handlers of requests, three major
  variants for HTML, REST and SOAP.
- Implemented some cryptographic routines in order to drop
  dependency on libcrypto++
- Redesigned authentication, dropped HTTP digest and opted for JWT,
  added security_context class for managing all of this
- Code now requires a c++17 compiler
- Lots of test code added
- Added some real world examples
- Tested with boost 1.65.1 up to 1.73
- Refactored request, it is now a class and credentials are
  always stored if a valid access-token was detected.
- A bunch of fixes to make web application work behind a
  reverse proxy.

Version 4.0.0

- Major rewrite, may break code.
- Added a JSON parser and compatible internal object, is analogous
  to the version of nlohmann. Replaces the old element class in
  webapp.
- Removed parameter_map, get request parameters from request itself.
- Reorganized code, separate folder for lib and examples.
- Refactored webapp and move the tag processing into a separate
  class. Added a second tag processor that mimics thymeleaf.

Version 3.0.2

- Change in zeep/xml/serialize.hpp for gcc 4.7 compiler

Version 3.0.1

- added cast to uint32 in webapp-el to allow compilation on s390

Version 3.0

- Support for non-intrusive serialization. The call to serialize is now
  done by the templated struct zeep::xml::struct_serializer. You can
  create a specialization for this struct to do something else than
  calling MyClass::serialize.
- xml::document now has serialize and deserialize members.
- A streaming input added, process_document_elements calls the callback
  for all elements that match a given xpath.
- ISO8859-1 support (finally)
- some xpath additions (matches e.g.)
- changed signature of various find routines to work with const char*
- changed authentication mechanism in webapp to allow multiple realms
- some small changes in writing out XML documents/xml::writer
- added line number to validation error messages
- process value tag of mrs:option tag
- el processing returns original string if it does not contain an expression
- in expression language, support var1[var2] constructs
- fix in writing doctype declaration
- insert/erase implementations of zeep::xml::node...
- fixed bug in el implementation (dividing numbers)
- extended log format of HTTP server to allow better awstat logs (using the
  extra fields for SOAP calls). Also writes the X-Forwarded-For client if any.
- Patches provided by Patrick Rotsaert: serializer for xsd:time and
  optional data types based on boost::optional.
- Split out log_request as a virtual method in http::server
- Added quick and dirty test for requests from mobile clients
- Added virtual destructors to all base classes.
- OPTIONS and HEAD support in web server

Version 2.9.0

- Added some calls to xml::writer to write e.g. xml-decl and doctypes
Version 2.8.2

- Fix in unicode support code
- Preliminary support for handling authentication

Version 2.8.1

- removed boost::ptr_vector/ptr_list.
- work around a crashing bug in el::object[string] when compiling with icpc

Version 2.8.0

- write_content added.
- nullptr instead of nil, added a stub for old compilers.
- fix in el::object (mixing up uint64 and size_t)

Version 2.6.3

- Fix for stack overflow in delete large XML documents

Version 2.6.2

- Apparently the word size has changed on amd64/GNUC targets. I've
  switched to a more robust template selection algorithm for WSDL
  generation.

Version 2.6.1

- Fix in keep-alive (clear reply object after each served reply)
- Implemented missing at() virtual method for el::vector
- Writing comments now validates output
- check mounted paths instead of only the root for handlers
- optimization flags in makefile

Version 2.6.0

- Changed parameter_map (for webapp) into a multimap

Version 2.5.2

- Throw exception when attempting to write null character.

Version 2.5.1
  
- Removed the use of split_iterator from webapp since it generated
  crashes when built as a shared library...

Version 2.5.0
  
- added webapp, a base class used to create web applications,
  it uses XHTML templates to fill in. It uses a script language
  to enable interaction with the C++ code.

Version 2.1.0

- support for HTTP/1.1
- added multiplication in xpath expression language... oops
- revised interface for container::iterator, now it is possible
  to use more STL and boost functions on a container directly, like:
  
  xml::container cnt = ...;
  foreach (node* n, cnt) { cout << n->name() << endl; }
