LibSoup Changelog

New in version 2.45.3

December 20th, 2013
  • The documentation has finally been updated to reflect the new APIs added in 2.42.
  • Added GBytes-valued :request-body-data and :response-body-data properties to SoupMessage, which should help some bindings.
  • We now set TCP_NODELAY on sockets, improving throughput a bit. In particular, this avoids an unnecessary extra round trip in the TLS handshake.
  • The SoupSession APIs that return GErrors now return the actual underlying gio errors in the event of connection failures and the like.
  • Updated the copy of the Public Suffix list used by soup-tld.

New in version 2.42.3 (November 15th, 2013)

  • Fixed an authentication error when using NTLM when connecting to an https site over a proxy; the code was getting confused and thinking that the 200 OK response to the CONNECT meant that NTLM auth had succeeded. [#698728, Dan]
  • Fixed a bug that could cause synchronous sessions to get stuck in a state where no new messages would ever get processed. [#703463, Philip Withnall]
  • Fixed a bug in the connection-pool code, which would in certain cases accidentally keep using a connection after a message was cancelled while in progress, causing the next request on that connection to get the response to the previous request, etc. [#708006, David Woodhouse]
  • Fixed some problems when falling back from samba single-sign-on-based NTLM to ordinary ask-for-a-password NTLM. [#703186, David Woodhouse]
  • If you called g_input_stream_close() on a SoupRequests's GInputStream before you finished reading it, it would block until the rest of the response had been read (which in the case of, eg, an infinite audio stream, meant that it would block forever). [#695652, Dan]
  • Updated translations: Indonesian

New in version 2.44.2 (November 12th, 2013)

  • Fixed a hang with internet radio streams in Rhythmbox (and some other places).
  • Fixed a connection leak when cancelling the close of a message GInputStream.
  • Plugged a few memory leaks.
  • Fix build with --without-ntlm.
  • Fixed a few warnings.
  • Fixed connection-test to pass with current glib.
  • Tests are now more verbose by default under "make check", since current automake just redirects all the output to a log file anyway.

New in version 2.44.1 (October 16th, 2013)

  • If you called g_input_stream_close() on SoupMessage or SoupRequests's GInputStream before you finished reading it, it would block until the rest of the response had been read (which in the case of, eg, an infinite audio stream, meant that it would block forever). This was an unintended change from 2.42 and is now fixed. [#695652, Dan]
  • soup_session_queue_message() on a plain SoupSession (not SoupSessionAsync) was operating synchronously rather than asynchronously as it should have. [#707711, Dan]
  • soup-form methods now use the HTML5 x-www-form-urlencoded rules rather than the HTML4 ones. (In particular, they leave
  • "-", "_", and "." unencoded.) [#708621, Alban Browaeys]
  • The test programs now explicitly request the "memory" GSettings backend, meaning they won't print a warning if they get it accidentally, and they won't accidentally use the dconf proxy settings if the dconf backend is available. [Dan]
  • Fix SoupSession so that if you override the proxy configuration at construct time, it doesn't try to resolve the default GProxyResolver. (This is important in particular for programs that expect to run outside a user session, which would otherwise spew errors from the dconf GSettings backend about not being able to connect to dconf.) Likewise with TLS settings and the TLS backend. [#708696, Dan]
  • Fix the SoupServer:tls-certificate property; soup_server_is_https() had not been updated to recognize it, and so would return FALSE, which in turn meant that the server would return 400 Bad Request in response to https requests. [#709647, Fabiano Fidêncio]
  • Fixed a sporadic failure in tests/connection-test. [Dan]
  • Updated translations:
  • Tajik

New in version 2.44.0 (September 24th, 2013)

  • New/updated translations: Dutch, Indonesian.

New in version 2.44 Beta 1 (August 20th, 2013)

  • Fixed the handling of unsatisfiable range requests in SoupServer [pointed out on mailing list, Dan]. Also, added more documentation clarifying that you don't need to handle range requests yourself in many cases.
  • Fixed the handling of IPv6 address literals with scope IDs. (Requires the latest glib as well for the complete fix.) [#669724, Dan]

New in version 2.43.5 (July 30th, 2013)

  • SoupProxyURIResolver is now deprecated in favor of the SoupSession:proxy-resolver property (which takes a GProxyResolver). [#680273, Dan]
  • The SoupKnownStatusCode enum is now called SoupStatus. The old name continues to exist as an alias, but is deprecated. (This change has no visible effect in C; it is primarily to help language bindings, so that, eg, SOUP_STATUS_NOT_FOUND maps to "Soup.Status.NOT_FOUND" rather than "Soup.KnownStatusCode.NOT_FOUND".) [#684409, Dan]
  • Fixed the parsing of URI schemes in SoupURI (in particular, to allow scheme names with digits in them). [#703776, Dan]
  • Fixed SoupLogger to print a message's response headers even if the message gets cancelled before the complete response body is received. [#703200, Andres Gomez]
  • Fixed a build problem in non-UTF-8 locales [#702534, Ross Lagerwall]
  • SoupSession now warns if you use soup_session_pause_message() or soup_session_unpause_message() on a synchronous message (which has never worked, though that fact wasn't documented). [#703461, Philip Withnall]

New in version 2.43.4 (July 10th, 2013)

  • Fixed a bug that could cause synchronous sessions to get stuck in a state where no new messages would ever get processed. [#703463, Philip Withnall]
  • Fixed another memory leak in SoupSocket (found while added a test case for #700472)
  • Switched to using g_cclosure_marshal_generic() rather than using glib-genmarshal. [#686042, Olivier Blin]
  • Changed SoupServer to call unref() on the query hash table after calling the handler, rather than destroy(), so that the handler can keep a copy of the query data if it wants. [#702793, Bernhard Schuster]
  • Fixed a few introspection annotations
  • Updated examples/get to use SoupLogger and to allow redirecting the output to a file [#703231, #703229, Andres Gomez]

New in version 2.43.2 (May 29th, 2013)

  • Fixed an authentication error when using NTLM when connecting to an https site over a proxy; the code was getting confused and thinking that the 200 OK response to the CONNECT meant that NTLM auth had succeeded. [#698728, Dan]
  • Fixed a memory leak in SoupSocket. [#700472, Richard Röjfors]
  • Fixed a missing include error on some platforms [#700003, Erik van Pienbroek]
  • Fixed warnings when running against the "dummy" TLS backend. [#700518, Dan]