Libiqxmlrpc / News: Recent posts

Libiqxmlrpc 0.12.12 released.

0.12.11 - 0.12.12
Fix thread safety issues during HTTP packet generation. Reproduced on Windows only.
Thanks to Eugeny Babich.

Posted by Anton Dedov 2014-09-10

Libiqxmlrpc 0.12.11 released.

0.12.10 - 0.12.11
Fix client hangs on Windows in case of connection errors.

Posted by Anton Dedov 2014-08-26

Libiqxmlrpc 0.12.10 released

0.12.9 - 0.12.10
Fix building with libxml2 < 2.7.3 (broken in 0.12.6).

0.12.8 - 0.12.9
Support for some custom clients: ability to omit <string> tag names in server responses.

0.12.7 - 0.12.8
Reimplementation of changes in 0.12.7: Allow configure if empty int/i4 tags are
allowed, specify default int value.

0.12.6 - 0.12.7
Fix complatibility with some custom clients: treat empty int/i4 tags as zero integer.

Posted by Anton Dedov 2014-04-11

Libiqxmlrpc 0.12.6 released

0.12.5 - 0.12.6
Fix parsing errors for string/binary nodes > 10Mb.

Posted by Anton Dedov 2014-02-14

Libiqxmlrpc 0.12.5 released

Support for SSL connections verification was added. Now there is possibility to verify
client or server certificates natively by OpenSSL. Optionally one can implement
custom verifier, e.g. to check for specific certificate's fingerprint, etc.

Posted by Anton Dedov 2014-02-12

Libiqxmlrpc 0.12.4 released

0.12.3 - 0.12.4
Support for Visual Studio 2012 and

Posted by Anton Dedov 2013-04-22

Libiqxmlrpc 0.12.3 released

0.12.2 - 0.12.3
* Stability: Fix OpenSSL locking initialization (Thanks to Jeff Wildgen).
* Security: Disable SSLv2 completely.

0.12.1 - 0.12.2
* Fix build out of source tree.

0.12 - 0.12.1
* Fix parser behavior on systems with libxml2 <= 2.6.16.
* Send "HTTP/1.1 100" only once on long/framed requests.
* Fix compilation warnings on Unices.

0.11.1 - 0.12
API Changes:
* New Struct::find and Struct::erase methods... read more

Posted by Anton Dedov 2013-04-11

Libiqxmlrpc 0.11.1 released.

Changes 0.11 - 0.11.1:
* Fix xml-writer compatibility with libxml2-2.6.

Posted by Anton Dedov 2012-01-11

Libiqxmlrpc 0.11 released.

Changes 0.10.1 - 0.11:
* Fix parser's incorrect behavior for some corner cases.
* Move away from automake to cmake.

Thanks to Ryan Braud for important bug reports.

Posted by Anton Dedov 2012-01-10

Libiqxmlrpc 0.10.1 released.

Changes 0.10.0 - 0.10.1:
* Fix incorrect dump/parse of fault responses.
* Fix COREDUMPS on empty values during request/response parsing.

Big thanks to Pavel Denisov who has escalated bugs to me.
I've removed 0.10.0 files in sake of users safety.

Posted by Anton Dedov 2011-10-13

Libiqxmlrpc 0.10.0 released.

This realease is binary incompatible with previous ones! No Windows update, so far.

The library is now licensed under 2-clause BSD license.

* New XML parser and XML serializer based on libxml2 xmlreader/xmlwriter technology. This change DRAMATICALLY decreases memory usage of XML parse/dump tasks for LARGE datasets and significantly improves XML parse/dump performance (20-30%) for LARGE datasets.
* Get rid of libxml++ dependency.... read more

Posted by Anton Dedov 2011-07-08


I guess I will change library license to MIT or new-BSD next major release.

Posted by Anton Dedov 2011-03-20

Libiqxmlrpc 0.9.0 released.

Changes in 0.9.0
This realease is binary incompatible with previous ones!

* Firewall now sends HTTP 403 Forbidden as a default reject action.
* Icrease buffer size for hostname calculations (thanks to Ryan Braud).
* Fix hang in client during connection to server that rejects connections on specific port (thanks to Ryan Braud for bug report).
* Fix coredump in case if name of struct member contains XML tags.
* API enhancments: Http_server and Https_server allow binding to specific IP, not only port.... read more

Posted by Anton Dedov 2011-03-19

Libiqxmlrpc 0.8.10 released.

Changes in 0.8.10
* Client_base::set_timeout now affects connection process too.
* Fix compatibility with xmlrpc++: do not throw error on absent
<params> section in request.
* Fix minor bug related to error reporting on different platforms.


Posted by Anton Dedov 2010-12-07

Libiqxmlrpc 0.8.9 released.

0.8.8 - 0.8.9
* Fix compatibility with Perl XML-RPC: Do not validate "Connection" HTTP
header option. Check if it contain "keep-alive" token otherwise ignore

Posted by Anton Dedov 2009-06-14

Libiqxmlrpc 0.8.8 released.

0.8.7 - 0.8.8
* Increase thread-safety in Inet_addr class.
* Increase thread-safety in Date_time, http server
(by using boost data_time instead of localtime/gmtime functions).
* Turn off XML-formatting for XML-RPC requests/responses.
* Remove users guide from sources because it lives now at

Posted by Anton Dedov 2009-05-12

Project web moved to wikidot.


I've moved most contents from old wiki that had been hosted on to The old site redirects to a new place now.

Also, I've ported users guide that were shipped with source code onto wikidot. Guide's sources will be removed from source tree in next release.

Posted by Anton Dedov 2008-12-23

Libiqxmlrpc 0.8.7 released.

This release introduces binary incompatibilities with 0.8.6a.

* Binary compatibility with previous releases broken.
* Unit test require Boost 1.34. Sorry, I have no enough mana to
maintain different boost branches for unit tests.
* The to_xml method of Request and Response classes became private.
Use new dump_xml functions that do not depend on XML parser library.

* Now users able to construct/parse raw XML-RPC requests/responses
by them-selves in order to achieve higher level of customization
* Add support for GCC visibility "hidden" option.... read more

Posted by Anton Dedov 2008-02-10

Libiqxmlrpc 0.8.6a released.

0.8.6 - 0.8.6a
* Fix undefined behavior in Pool_executor, introduced in 0.8.6.
* Fix undefined behavior in http module built with MSVC 8.

Posted by Anton Dedov 2007-09-05

Libiqxmlrpc 0.8.6 released.

0.8.5 - 0.8.6
Several fixes related to starting/stopping server:
* Server no longer wait for all open connections to close on exit.
This is much more secure behavior.
* Now it is safe using the same Server object after work/set_exit_flag cycle.
* Fix thread-leaks in Pool_executor_factory.

Compilation fix on Windows

Posted by Anton Dedov 2007-08-15

Libiqxmlrpc 0.8.5 released.

0.8.4a - 0.8.5
This release introduces interface incompatibilities with 0.8.4.

Interface changes:
An interface of Auth_Plugin_base has been changed. Now one must implement do_authenticate_anonymous instead of transfering flag to Auth_Plugin_base constructor.

* The fix allows one to stop server by calling Server::set_exit_flag fromanother thread. This fix should also allow run multiple HTTP servers in one process.... read more

Posted by Anton Dedov 2007-06-07

Libiqxmlrpc 0.8.4a released.

This is maintenance release that fixes some bugs in new code.

0.8.4 - 0.8.4a
* Update MSVC project file.
* Fix unresolved symbols error when one try use Client_base::set_proxy
* Enhance compatibility with HTTP proxies (e.g. Privoxy). Put full URI in
POST header line when client configured work through HTTP proxy.

Posted by Anton Dedov 2007-05-29

Libiqxmlrpc 0.8.4 released.

0.8.3 - 0.8.4
New features:
* HTTP Authorization (client and server).
* HTTP(S) Proxy support (on client side).

* Make Array::const_iterator compatible with STL iterators.
* Get rid of leading \n character in encoded base64.
* Send correct HTTP error packets on HTTP exceptions.
* Code cleanups, refactoring.
* Compilation warning fixes on Windows (thanks to Max Khon).

Posted by Anton Dedov 2007-05-27

Libiqxmlrpc at

I decided transmit whole project's code base to Bazaar (instead of CVS) primarily to be more independent on network availability. I've created an account for a project on, which provides Bazaar hosting.

You can visit and there.

File hosting, bug tracking and other activities will stay at SF.NET (at least for a while).

Posted by Anton Dedov 2007-04-07

Libiqxmlrpc 0.8.3 released.

0.8.2a - 0.8.3
* Debian packaging.

* Do not throw exception on select/poll interruption with some signal. E.g during binding with gdb to an existing process.
* Refinement for Windows build: now all library dependences should be placed in a single directory, which should be stated with DEPENDS_ROOT environment variable.

Posted by Anton Dedov 2006-11-15