Changes in libsoup from 2.32.1 to 2.32.2:
* Fixed a regression in 2.32.0 that caused evolution-exchange
to get stuck and stop updating. [#634422]
* Fixed a regression in 2.32.0 with apps using asynchronous
sessions from multiple threads (in particular, gupnp)
[#635101]
* Fixed the regression test for #631525 to not cause spurious
"make check" failures on some machines.
changes:
-bugfixes
-Usernames/passwords specified explicitly in request URIs now
override existing cached auth info
-Added another workaround for stupid servers that close the
connection before returning the full response
-Added regression tests
This is pulled in early because it fixes a serious problem with servers
providing both IPv4 and v6: previous versions tried only the first
address returned by DNS, whether the box has connectivity or not.
Should fix problems with webkit in particular, as also reported by
Pouya D. Tafti.
Changes in libsoup from 2.30.0 to 2.30.1:
* Fix for https through proxies that close the connection when
returning a "407 Proxy Authentication Required" response,
and add a regression test for that case. [#611663]
* Fixed multiple forms/multipart-related interoperability
problems reported by Egon Andersen:
* Don't quote the multipart boundary string if it's
not needed, since RFC 2616 recommends that you
don't, and some servers don't handle quotes there
correctly. (Sigh.) [#614176]
* Don't put an extra blank line before the first
multipart part, since it's unnecessary and some
servers don't handle a multipart preamble correctly.
(Sigh.) [#614183]
* Don't put Content-Transfer-Encoding headers in the
multipart/form-data parts, even though the HTML 4
spec says you must, since no other browsers do, and
some servers don't handle them correctly. (Sigh.)
[#614198]
* Changed SoupCookieJarSqlite to actually erase deleted
cookies from the database. [#615711, Lukasz Slachciak]
* Fixed SoupLogger to be more robust against getting passed
bad data by the session. [#611663]
* Fixed SoupAuthDomain to ignore paths when doing proxy auth
* Fixed a g_warning when hovering over a javascript link in
WebKit. [#613442, Xan Lopez]
Changes in libsoup from 2.29.91 to 2.30.0:
* Fixed a crash in the whitespace-stripping code in
soup_uri_new() [#612644, "arnaud.lb"]
* Update content-sniffing algorithm to match Chrome and the
soon-to-be-updated sniffing spec. [#611502, Gustavo Noronha
Silva]
* We now handle "Content-Encoding: x-gzip" as well as "gzip"
(even though "x-gzip" has been deprecated for more than 10
years). [#611476]
* Fixed leaks found by valgrind
* Make the "make check" programs only bind to 127.0.0.1, not
any public network interfaces. [#609489, Saleem Absulrasool]
* Add a test to sniffing-test to make sure that Content-Type
parameters are preserved correctly. [Gustavo Noronha Silva]
Changes in libsoup from 2.29.90 to 2.29.91:
* Added SOUP_SESSION_SSL_STRICT and
SOUP_MESSAGE_CERTIFICATE_TRUSTED, to allow callers to
determine if an https response comes from a server with a
recognized/valid or unrecognized/invalid certificate.
[#610374, Gustavo Noronha Silva]
* Fixed handling of certain badly-formatted URIs [#590524]
Changes in libsoup from 2.29.6 to 2.29.90:
* Added soup_cookie_jar_set_accept_policy() and related API
for implementing cookie acceptance policies. [#608353, Xan
Lopez]
* Fixed the "request-read" signal in SoupServer to actually be
emitted.
Changes in libsoup from 2.29.5 to 2.29.6:
* Fixed SoupContentDecoder to ignore trailing junk after the
encoded message body (as other browsers do), rather than
getting stuck in an infinite loop. [#606352]
* Fixed an invalid read in soup_cookie_applies_to_uri()
[#607024, pointed out by Xan]
* Fixed linking on OS X [#606959]
* Removed a harmless warning in SoupServer. [#606645]
Changes in libsoup from 2.29.3 to 2.29.5:
* Added SoupContentDecoder, providing support for
Content-Encoding: gzip for WebKitGTK. [#522772]
* Added "accept-language" and "accept-language-auto"
properties to SoupSession, to support the Accept-Language
header. [#597004, Mario Sanchez Prada]
* Fixed a bug in SoupPasswordManagerGNOME that could cause
crashes if you typed the wrong password once and then tried
again. [#595554, debugged by Gustavo Noronha Silva]
* Fixed a crash in SoupAuthDigest if the server claims support
for both qop=auth and qop=auth-int. (This was not noticed
sooner because no one actually supports qop=auth-int, and
the server in question here was probably confused. :)
* Updated cookie parsing/output to more closely match
draft-ietf-httpstate-cookie-00. [Also fixes#603496 (WebKit
unit test), and #604794 (hang parsing malformed Set-Cookie
header)]
* Fixed https-via-proxy to not hang if there is an error
communicating with the proxy immediately after the TLS
negotiation. [#587528]
* Fixed a bug that broke gobject-introspection's introspection
of libsoup. [#603696, Vincent Untz]
* Handle spurious CR/LFs between responses. [#602863,
Alexander V. Butenko]
* Fixed soup-message-client-io to not erroneously include URI
fragments on the Request-Line when sending via a proxy.
[Related to WebKit bug #28687]
* Fixed Digest authentication against certain (buggy?)
clients/servers that require you to use quotes in exactly the
same places where the spec uses them. [#582219]
* Fix ugly gtype-related hack to work with the latest unstable
glib. [Benjamin Otte]
Changes in libsoup from 2.26.1 to 2.26.2:
* SOUP_SESSION_TIMEOUT now works properly with
SoupSessionAsync [#574414] and SSL [#578928]. Added
tests/timeout-test to test this.
* SoupDate fixes:
* soup_date_to_string() now handles SOUP_DATE_RFC2822
[#579055, Enrico Tröger]
* soup_date_new_from_string() now accepts 24:00 as a
time in ISO8601 timestamps
* soup_date_to_string() now coerces the date to UTC
for HTTP and cookie dates, and outputs the UTC
correct offset for the other date types.
* Added regression tests to tests/date
* soup_headers_parse() now completely ignores
syntactically-incorrect headers, rather than passing them to
soup_message_headers_append() and causing a g_warning.
soup_message_headers_append() now also rejects 0-length
header names. Updated tests/header-parsing to check this.
[#579318]
* Fix a crash when cancelling a message from a "restarted"
handler, and updated a regression test to notice the
underlying cause. [#580193]
* TLS1.1 support in gnutls has been temporarily disabled, to
work around what appears to be a bug in gnutls's support for
backward-compatibility with older servers. [#581342]
* DNS resolution should be slightly faster, as we no longer
set a flag that resulted in additional unnecessary DNS
requests.
* The --disable-more-warnings flag to configure is no longer
required when you are using gcc < 3.4. [#578851]
* Fixed a bug in the new body parsing code [qv #571283 below]
that caused libsoup to mistakenly reject some responses with
SOUP_STATUS_MALFORMED, "Message Corrupt". [#582002]
* soup_form_request_for_data() now allows you to use "PUT" as
the method, because apparently some web service authors
think that's how you spell "POST", or something. [#581860]
Changes in libsoup from 2.25.91 to 2.26.0:
* Temporarily disable libproxy support to work around a bug in
its gnome plugin that causes gvfsd-http (and probably
eventually other apps) to crash. [#571527]. For now,
SoupProxyResolverGNOME uses only GConf. To be fixed in
2.26.1
* Fixed a bug that showed up in WebKit, where if many messages
were queued all at once to a server that doesn't support
persistent connections, some of the requests will get lost.
#574365, reported by Xan Lopez.
* Fixed SoupServer to support using SOUP_ENCODING_EOF, so you
can stream responses of unknown length to HTTP/1.0 clients.
[#572153]. Added a regression test for this, and for chunked
and Content-Length-based streaming.
* Fixed several bugs that prevented SoupCookieJarSqlite from
working. [#572409, patch from Xan Lopez]
* Added G_{BEGIN,END}_DECLS guards to public headers that were
missing it. (Xan Lopez)
* Misc gtk-doc improvements
Changes in libsoup from 2.25.4 to 2.25.5:
* Fixed a crash in SoupProxyResolverGNOME when the proxy
requires authentication. (This does not make proxy
authentication *work* yet, it just makes it not crash.)
* Updated documentation
Changes in libsoup from 2.25.4 to 2.25.5:
* SoupProxyResolverGConf (which was incomplete) is gone, and
libsoup-gnome now requires libproxy, which is now officially
an external dependency of GNOME.
* Fixed a bug in SoupCookieJar that was making it send
"Cookie: (null)" when it had no cookies for a site, which
confused some web servers (WebKit bug 23240).
* Fixed a bug with using SOUP_MEMORY_TEMPORARY buffers and
soup_message_body_set_accumulate(FALSE). (Part of WebKit bug
18343, noticed by Gustavo Noronha Silva.)
* Fixed the build with non-gcc compilers
Changes in libsoup from 2.25.3 to 2.25.4:
* Added soup_session_get_feature() and
soup_session_get_features(), to query the features currently
available in a session (which is needed by the patch in
https://bugs.webkit.org/show_bug.cgi?id=22624)
Changes in libsoup from 2.25.2 to 2.25.3:
* Fixed a crash when using both cookies and a proxy. [#562191,
Mark Lee]
* Fixed soup_form_decode() to correctly handle forms with
URI-encoded parameter names [#563302, Evan Nemerson] and
added a regression test.
* Fixed a crash in SoupProxyResolverGConf. [#563145]
Changes in libsoup from 2.25.1 to 2.25.2:
* Fixed client behavior when presented with multiple auth
types to choose the *strongest* auth type (eg, Digest)
rather than the *weakest* one [#562339, Pontus Oldberg].
Added a regression test for this.
* Moved libsoup-gnome headers to a different directory to make
it easier to split libsoup and libsoup-gnome into separate
packages, and to ensure that things that only want to be
looking at plain libsoup headers (like gir-repository) don't
accidentally see the libsoup-gnome ones.
* Some minor doc fixes
* Fixed libsoup-gnome linking with --as-needed. [#559342]
Changes in libsoup from 2.24.1 to 2.25.1:
libsoup 2.25.1 introduces a new library, libsoup-gnome, which
will be used for features which are important to GNOME apps,
but which require GNOME-specific libraries that non-GNOME apps
may not want to add dependencies on.
In 2.25.1, libsoup-gnome contains:
* SOUP_TYPE_PROXY_RESOLVER_GNOME, a SoupSessionFeature
type that can be added to a SoupSession to provide
automatic proxy handling via the GConf proxy keys. (See
below) The default implementation uses libproxy, which
also handles WPAD, PAC, etc, but if libproxy is not
available it will use GConf directly, supporting only
the basic HTTP proxy functionality.
* SoupCookieJarSqlite, a SoupSessionFeature that handles
cookies and stores them in a Firefox 3-compatible sqlite
file. (This is not actually a "GNOME-specific" feature,
but I didn't want to make libsoup itself depend on
sqlite, and I didn't want to make the dependency
optional. This might change before 2.26.)
* SOUP_TYPE_GNOME_FEATURES_2_26: a SoupSessionFeature type
that can be added to a SoupSession to add all
GNOME-integration features that are available for 2.26;
as of 2.25.1, this is just the GNOME proxy resolver, but
by 2.26.0 it may also include gnome-keyring support and
possibly other features.
Applications/libraries that are currently doing GConf proxy
lookup by hand can be updated as follows:
* Remove all of the existing code that listens to the
GConf keys and sets SOUP_SESSION_PROXY_URI
* Change the configure check to require
"libsoup-gnome-2.4 >= 2.25.1" instead of "libsoup-2.4"
* #include <libsoup/soup-gnome.h>
* After creating your SoupSession, do:
soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
(Or alternatively, use SOUP_SESSION_ADD_FEATURE_BY_TYPE
with soup_session_async_new_with_options() or
soup_session_sync_new_with_options().)
Other new features and bug fixes in 2.25.1 include:
* SoupCookieJarText, like SoupCookieJarSqlite, but using the
old-style cookies.txt format, and in the base libsoup rather
than libsoup-gnome.
* Various bugfixes to SoupCookie and SoupCookieJar to fix the
problems with cookies not working on certain sites.
* The new SoupMultipart type provides support for multipart
MIME bodies, and soup-form now includes several methods for
generating and parsing multipart form data and file uploads.
* SoupMessageHeaders now has methods for easy handling of the
Content-Type, Content-Disposition, Range, and Content-Range
headers. The Content-Disposition handling recognizes
RFC2231-encoded UTF-8 filenames.
* SoupServer now automatically handles partial GET requests;
if your server returns SOUP_STATUS_OK in response to a
partial GET, libsoup will automatically convert it to a
SOUP_STATUS_PARTIAL_CONTENT response with only the requested
portions.
Thanks to Xan Lopez and Diego Escalante Urrelo for their work
on SoupCookie, SoupCookieJar, SoupCookieJarText, and
SoupCookieJarSqlite.
Changes in libsoup from 2.24.2.1 to 2.24.3:
* Fixed SoupCookieJar to not send "Cookie: (null)", which is
(a) wrong, and (b) confusing to some servers.
[bugs.webkit.org #23240]
* Fixed soup_form_decode() to correctly handle forms with
URI-encoded parameter names. [#563302, Evan Nemerson]
* Fixed SoupSession to use Digest auth when both Digest and
Basic are available. (It was mistakenly comparing the
strengths backwards before, choosing the weakest-available
auth instead of the strongest.) [#562339, Pontus Oldberg]
* Fixed a bug in the Client How-To docs. [#562411, Andreas
Bruse]
Changes in libsoup from 2.24.1 to 2.24.2.1:
* Fixed two bugs and a memory leak in cookie handling
* Added G_BEGIN_DECLS/G_END_DECLS to those public headers that
were missing them
* Minor updates to gtk-docs
* (2.24.2.1 fixes a crash in the cookie code introduced in
2.24.2. [#562191])
Changes in libsoup from 2.24.0.1 to 2.24.1:
* Fixed a crash when unreffing the session from a
soup_session_queue_message() callback [#533473], and added
regression test. In particular, this fixes a crash in
seahorse when trying to connect to a non-responsive
keyserver.
* Fixed an infinite loop when giving a bad password to a site
that uses non-standard capitalization in the
WWW-Authenticate header (eg, gmail.com) [#536285].
* Fixed a leak in SoupSessionAsync when using a non-default
GMainContext. [addendum to #498509, Arnout Vandecappelle]
Added additional code to the regression tests to make sure
sessions and servers do not get leaked.
* Fixed a leak in the XML-RPC code
* Compile fixes for "gcc -pedantic" [#553976, Sander Dijkhuis]
and -DG_DISABLE_DEPRECATED / -DG_DISABLE_SINGLE_INCLUDES
[#557072, Cosimo Cecchi]
* Patched xmlrpc-test to accept the incorrect response to
test_echo() that php-xmlrpc gives when it's built against
libxml2 >= 2.7.1 (qv http://bugs.php.net/45996), so that
I can "make distcheck"...
* Updated generated documentation