Changes in libsoup from 2.2.100 to 2.2.101:
* Fix build on cygwin [384498]
* Fix SSL rehandshaking on synchronous sockets [415402, Jacob
Berkman] and add a regression test for it.
* Fix two bugs in https tunnels over proxies that require
authentication (noticed by Varadhan), and add a regression
test for them.
* Ensure that if you queue multiple messages at once to an
http server that requires authentication but that you
haven't authenticated to yet, that all of the messages get
properly authenticated [271540, James Willcox]. And add a
regression test for it.
* Fix NTLM authentication, which got broken by the previous
fix. [471389, Varadhan]. Add a basic NTLM regression test
that doesn't really test the crypto/encoding parts, but at
least makes sure that the message flow is correct.
* Allow trailing whitespace after HTTP version in
Response-Line, for compatibility with broken servers
[475169, Stephane Loeuillet]. Add that case to the
header-parsing regression test.
* Fix crash then the session's "authenticate" handler returns
a username and no password when using NTLM. [480987, Wendell
MacKenzie]
* Use "new" glib base64 and iso8601 methods rather than
duplicating them. [337010, patch from Emmanuele Bassi].
* Implement soup_session_queue_message() for SoupSessionSync.
* Add G_BEGIN_DECLS / G_END_DECLS to all headers that were
missing them. [438776, patch from Jonathon Jongsma].
* Fix broken definition of SOUP_IS_MESSAGE_FILTER_CLASS. Noted
by "cascardo" on libsoup-list.
* Remove documentation of non-public MD5 methods [440092,
Jonathon Jongsma]. Removed a mysterious half-sentence in the
SoupMessage docs [458116, Marco Barisione].
Changes in libsoup from 2.2.99 to 2.2.100:
* Fixed soup_headers_parse_status_line() so WebDAV response
parsing will work again. [406997]
* Fixed a bug in the header-parsing regression test that
caused the test to fail sometimes, even though the actual
header-parsing code was fine.
Changes in libsoup from 2.2.98 to 2.2.99:
* Fixed header parsing, including a crash in SoupServer with
certain malformed requests [391970].
* Fixed redirection to other hosts with SoupSessionAsync.
[382251]
* Fixed a small memory leak pointed out by Chris Austin.
Changes in libsoup from 2.2.97 to 2.2.98:
* The XML-RPC code now correctly interprets foo
as meaning the same thing as
foo. [364490] Pointed out by
Todd Kulesza.
* Memory leak fixes from Andrew W. Nosenko.
* A few symbols that should have been static before now are.
[376387] Patch from Matthias Clasen.
Changes in libsoup from 2.2.96 to 2.2.97:
* Fixed SOAP and XML-RPC code to handle whitespace and
comments in the XML better. (Based on a patch from Andrew W.
Nosenko.)
* Fixed lots of typecasting/constness warnings in the code
(mostly via a patch from Andrew W. Nosenko)
* Fixed build on Cygwin [321827]
* Fixed libsoup-2.2.pc fields [343340] and make it get
uninstalled correctly [356809]. (Mikhail Zabaluev and
Matthew Barnes)
* Fixed some small leaks in SoupServer pointed out by Paolo
Borelli. [351500]
Changes in libsoup from 2.2.95.1 to 2.2.96:
* SoupServer now works even if you don't explicitly set an
encoding for the response. (In particular, the automatic 404
if you request a path with no handlers now works. Problem
pointed out by Dennis Jacobfeuerborn.)
* WWW-Authenticate and Proxy-Authenticate responses with no
realm parameter are now ignored, as per RFC 2617, fixing a
crash pointed out by Nate Nielsen.
* Added soup_xmlrpc_message_from_string(), from Fernando
Herrera [348532].
* simple-httpd and "get" now support HEAD
Changes in libsoup from 2.2.94 to 2.2.95.1:
* Even more fixes to XML-RPC, found by the new XML-RPC
regression test. This includes some API changes that I don't
feel guilty about, because the code totally didn't work at
all before.
* Fixed a bug in soup_mktime_utc()
* (2.2.95 was identical to 2.2.95.1. The only difference is
that the shared library version was belatedly bumped from
8.2.0 to 8.3.0 to reflect the API "additions")
Changes in libsoup from 2.2.93 to 2.2.94:
* Various fixes to the XML-RPC code (which apparently had not
actually ever worked before) from Brent Smith. [343973,
344222, 344458]
* Added client and server API tutorials to the docs
* auth-test now uses a local Apache 2.2 install, if possible,
rather than depending on files that used to be on an old
Ximian web server but haven't been anywhere for a long time.
[311825]
Changes in libsoup from 2.2.92 to 2.2.93:
* Fixed outgoing data corruption caused when SoupServer
started writing out a response a second time after already
having started once. [334469]. Also fixed 342640 and another
bug caused by the workaround for 334469 in 2.2.92. Based on
patches and analysis from William Jon McCann and Armin
Bauer.
* Fixed a deadlock when changing a session's proxy URI.
[309867 / bnc 174255, based on a patch by Veerapuram
Varadhan].
* Fixed https-via-proxies in the synchronous case. [bnc 174255]
* Fixed a crash in evolution-exchange [342545, fix based on an
analysis by Wang Xin].
* Fixed simple-proxy to not crash at startup. Oops. (Alex
Larsson)
Changes in libsoup from 2.2.91 to 2.2.92:
* Fixed server-side digest auth to return a valid "algorithm"
value and client-side to not crash if it sees an invalid one
[328615].
* Fixed the Request-Line parsing code to not hardcode a
maximum URI length (to allow very long DAAP requests from
iTunes in Rhythmbox). [335040]
* Fixed some warnings (signed/unsigned mismatch).
Changes in libsoup from 2.2.7 to 2.2.91:
* (The large version number bump is because there was an
internal 2.2.90 release for SUSE 10.1 alphas, which was
supposed to be intermediate between 2.2.7 and 2.4.0. But
2.4.0 didn't end up happening, and I don't want to regress
the version number at this point.)
* SoupSession, SoupServer, SoupConnection, SoupSocket, and
SoupAddress now have an "async-context" property that allows
you to use the async API in a non-default GMainContext.
[Based on patches from Armin Bauer and Jürg Billeter.]
* SoupSession, SoupConnection, and SoupSocket now have a
"timeout" property to stop synchronous sockets from hanging
forever if the remote end is unresponsive (from Varadhan).
* Fixed some bugs in soup_date_iso8601_parse(). [324671, from
Emmanuele Bassi]
* More Windows build fixes from Tor.
Changes in libsoup from 2.2.6.1 to 2.2.7:
* Fixed a crash when using NTLM connections [316313, probably
also 318252]. (Also 321208, which was a bug introduced in
the original fix for 316313.)
* Fixed a bug that could cause soup to suck up all available
CPU when a connection to a SoupServer was dropped by the
other side [319305, patch from Jonathan Matthew]
* Fixed the creation of struct elements in XMLRPC messages
[321362, patch from Sebastian Bauer]
* Plugged a small memory leak in SoupSocket (from Wang Xin).
* Fixed two compile problems, a gccism [320349, patch from
Roland Illig], and a strict-aliasing warning from gcc 4.1.
Changes in libsoup from 2.2.6 to 2.2.6.1:
* Fixed a crash when using SoupSoapMessage
Changes from 2.2.5 to 2.2.6:
* Fixed a crash when canceling a message (from Tambet Ingo)
* Fixed a bug where a connection could be leaked forever in
some circumstances if a request got a 30x, 401, or 407
response, eventually causing a hang when the session hit its
maximum connection limit. (Dan/Tambet)
* Fixed a memory leak. (Tambet)
* Fixed a bug that would sometimes show up when connecting to
a server on localhost [#312540]
* Added some API to SoupServer and SoupSocket to help fix a
long-standing rcd bug.
Changes from 2.2.4 to 2.2.5:
* Win32 support (from Tor Lillqvist)
* Up-to-date API documentation pretty much everywhere
* Basic XMLRPC support (from Mariano Suarez-Alvarez, Fernando
Herrera, and Jeff Bailey)
* New HTTP timestamp-manipulation methods soup_date_parse,
soup_date_generate, and soup_date_iso8601_parse.
* SoupSession now handles relative URLs in the Location header
(in violation of RFC 2616, but in line with how some servers
behave.) [270688]
Changes from 2.2.3 to 2.2.4:
* Fixed a problem with NTLM authentication against
multi-domain servers. [306877]
* Fixed DNS lookups on Solaris. [254551, 268389]
Changes from 2.2.2 to 2.2.3:
* Now compiles against gnutls 1.2.0 [257811]
* Fixed a bug that could result in 100% CPU usage if an SSL
server closed the connection uncleanly. [273352]
Changes from 2.2.1 to 2.2.2:
* The SSL validation fix from 2.2.1 [264414] is now completely
fixed. (Part of the fix didn't actually make it into 2.2.1)
* HTTPS certificate validation now works when using an HTTP
proxy. [268583]
* HTTP proxy code deals better with proxies that try to make
the user do HTML-form-based authentication. [268531]
* 64-bit fixes for NTLM auth code. [270323, from Michael
Zucchi]
Changes from 2.2.0 to 2.2.1:
* Updated for a libgcrypt API change between 1.1.9x and 1.2.x
that caused a crash at runtime if you compiled against
1.2.x. [266342]
* SSL certificate validation failure should now always result
in a status of SOUP_STATUS_SSL_FAILED, rather than getting
turned into SOUP_STATUS_IO_ERROR. [264414]
Changes in libsoup from the 2.0 series (1.99.x versions) to 2.2:
* Most of the libsoup datatypes are now GObjects. (SoupUri
is currently an exception to this.)
* SoupMessage now emits signals at various stages of
processing. (Eg, "wrote_body", "got_headers".) (You
can also still use soup_message_add_*handler().)
* SoupContexts are gone; soup_message_new() now takes a URI
string.
* All formerly global state is now maintained by the
SoupSession object. (This includes the connection pool,
proxy server, cached authentication information, SSL
certificates, etc.)
* You can create a SoupSessionAsync (for 2.0-like
behavior) or SoupSessionSync (for blocking,
synchronous usage).
* You can add SoupMessageFilter objects to a session
to have certain processing automatically performed
on every message sent via that session. (Eg, setting
up handlers.)
* NTLM authentication is no longer supported by
default. You must enable it by setting the
SOUP_SESSION_USE_NTLM flag on the session.
* The preferred method of handling authentication is
now via the "authenticate" and "reauthenticate"
signals on SoupSession. (The old style, of encoding
the user and password information into the url is
also still supported.)
* The SOUP_ERROR_* values are now SOUP_STATUS_* (so that we
don't have "SOUP_ERROR_OK" and the like).
* SOUP_MESSAGE_IS_ERROR() is gone, since some cases
want to include 3xx responses and some don't.
* SOUP_ERROR_CANT_AUTHENTICATE and
SOUP_ERROR_CANT_AUTHENTICATE_PROXY are now gone,
since they didn't carry any information that
SOUP_STATUS_UNAUTHORIZED and
SOUP_STATUS_PROXY_UNAUTHORIZED don't.
* DNS errors now show up as the new status code
SOUP_STATUS_CANT_RESOLVE rather than being mixed in
with SOUP_ERROR_CANT_CONNECT.
* Minimal SOAP support has been added back, via
SoupSoapMessage/SoupSoapResponse
* The HTTP I/O state machine was completely rewritten, fixing
numerous crashes, leaks, and protocol errors.
* SoupUri now conforms to RFC 2396. Mostly.
* Various test programs have been added under tests/
* Removed:
* Support for OpenSSL (which was horribly buggy) and
Mozilla NSS (which was never finished). We only
support GNUTLS for SSL now.
* SOCKS support
* CGI support in SoupServer