LibSoup Changelog

What's new in LibSoup 2.68.3

Dec 4, 2019
  • Fixes to testing infrastructure [Simon McVittie]
  • Enable GNOME support in mingw [Fabiano Fidêncio]
  • Allow introspection in cross builds [Ross Burton]
  • Updated translations: Chinese (Taiwan)

New in LibSoup 2.68.2 (Oct 9, 2019)

  • Documentation fixes [Sonny Piers]
  • Windows compatibility test fixes [Ignacio Casal Quinteiro]
  • WebSockets: client_max_window_bits in server must have a value [Carlos Garcia Campos]
  • build: improve diagnostics when detecting Apache [Simon McVittie]
  • NTLM: Make v2 authentication more robust [Claudio Saavedra]
  • Updated translations: British English, Chinese (Taiwan), Danish, Dutch

New in LibSoup 2.68.1 (Sep 30, 2019)

  • Several memory leaks fixed in tests, examples, and parsing code [Claudio Saavedra]
  • SoupServer: Fixes to Windows path handling [Ignacio Casal Quinteiro]

New in LibSoup 2.68.0 RC2 (Sep 3, 2019)

  • SoupMessage: Handle Transfer-Encoding: identity for compatibility reasons [#148, Thomas Bluemel, Normen Bolling]
  • WebSockets: Only poll IO stream when needed [Carlos Garcia Campos]
  • WebSockets: Properly set cookies received during handshake [Carlos Garcia Campos]
  • WebSockets: Plug a couple of memory leaks and fix a few read-after-free memory errors [Claudio Saavedra]
  • WebSockets: document how web socket extensions should treat buffers in case of error [Claudio SaavedrÉ™]
  • SoupSession: Don't reset user GCancellable internally [Tom Bailey]
  • Tests: Make tests installable [Simon McVittie]
  • Remove deprecate GTimeVal internal usage [Claudio Saavedra]
  • CI: increase coverage by enabling all features during testing [Claudio Saavedra]
  • Updated translations: Korean, German, Galician, Hungarian, Slovenian, Latvian, Finnish, Serbian, Catalan, Polish

New in LibSoup 2.68.0 RC (Aug 31, 2019)

  • Silence GTimeVal deprecation warnings. [Michael Catanzaro]
  • API documentation and annotation fixes [Дилян Палаузов, Claudio Saavedra]
  • Plug a couple of NTLM authentication memory leaks [#156, Claudio Saavedra]
  • Fix build in SmartOS/SunOS [#157, Juraj Lutter]
  • Meson: Use feature options [Xavier Claessens]
  • Meson: Do not fallback to system krb5-config for cross-compilation [Xavier Claessens]
  • NTLM: Fix build with NTLM enabled [Claudio Saavedra]
  • Updated translations: Basque, Czech, Indonesian, Lithuanian, Swedish

New in LibSoup 2.68.0 Beta 2 (Aug 7, 2019)

  • HSTS: New API to retrieve information about existing HSTS policies [Claudio Saavedra]
  • Updated translations: French, Romanian, Spanish

New in LibSoup 2.68.0 Beta (Aug 1, 2019)

  • WebSockets: add support for WebSocket extensions via new SoupWebsocketExtensionManager and SoupWebsocketExtension API [Carlos Garcia Campos]
  • WebSockets: add support for the permessage-deflate extension, enabled by default in SoupServer and in the client side only if SoupWebsocketExtensionManager is added to a session [Carlos Garcia Campos]
  • WebSockets: Allow sending close frames with no body [Carlos Garcia Campos]
  • WebSockets: ignore messages after close has been sent and received [Carlos Garcia Campos]
  • Meson: tls-check improved [Xavier Claessens]
  • Meson: improve Apache checks [Claudio Saavedra]

New in LibSoup 2.67.3 (Jul 24, 2019)

  • WebSockets: allow sending empty binary data [Carlos Garcia Campos]
  • WebSockets: fail and load the connection on invalid payload length [Carlos Garcia Campos]
  • WebSockets: allow NULL characters in text messages data [Carlos Garcia Campos]
  • WebSockets: Close connection on wrongly masked/unmasked frame as per RFC [Carlos Garcia Campos]
  • WebSockets: other code fixes [Carlos Garcia Campos]
  • NTLM: Fix NTLMv2 authentication [Thibaut Robert]
  • SoupMessage: fix several deprecation warnings related to private data [Claudio Saavedra]

New in LibSoup 2.67.2 (Jun 19, 2019)

  • gobject-introspection: Fix annotation for soup_auth_new() [Rico Tzschichholz]
  • brotli: Do not advertise the decoder as it's failing with some websites [Patrick Griffis]
  • Meson: Fix xml2 and sqlite fallbacks [Xavier Claessens]
  • HSTS: Add SoupHSTSEnforcer:hsts-enforced signal [Claudio Saavedra]
  • HSTS: Fixes to the types used to store policies in the SQLite storage [Claudio Saavedra]
  • HSTS: Accept Strict-Transport-Security regardless of casing [Claudio Saavedra]
  • WebSockets: Ensure messages finishes when handshake fails [Carlos Garcia Campos]
  • WebSockets: Fix critical warnings and test failures [Carlos Garcia Campos]

New in LibSoup 2.67.1 (May 23, 2019)

  • Add a brotli decoder. This adds a new dependency on libbrotli [Patrick Griffis]
  • Add strict secure cookies support [Patrick Griffis]
  • Add HSTS enforcer SoupSession feature (with both memory and sqlite backends) [Adrien Plazas, Claudio Saavedra]
  • meson gtk-doc documentation fixes [Claudio Saavedra]
  • Bump the CI test image to Fedora 30 and add libbrotli dependency [Claudio Saavedra]

New in LibSoup 2.66.2 (May 16, 2019)

  • Make gettext optional (might not be available in Windows) [Seungha Yang]
  • MSVC: set encoding to UTF-8 to avoid errors [Seungha Yang]
  • MinGW tests build fix [Tomas Popela]
  • Check for TLS support only when external glib dependency is available [Seungha Yang]

New in LibSoup 2.66.1 (Apr 10, 2019)

  • Fix dylib versioning in MacOS [Tom Schoonjans]
  • Visual Studio build fixes [Chun-wei Fan]
  • MinGW build fixes [Руслан Ижбулатов]
  • Meson build system improvements [Claudio Saavedra, Jakub Adam]
  • Fix random CI failures due to parallel apache tests [Claudio Saavedra]
  • Code cleanups [Claudio Saavedra]

New in LibSoup 2.66.0 (Mar 25, 2019)

  • Fix lookup for libxml2 on Visual Studio builds [Chun-wei Fan]

New in LibSoup 2.66.0 Beta 2 (Feb 20, 2019)

  • Remove RFCs from sources [Tomas Popela, #133]

New in LibSoup 2.66.0 Beta (Feb 13, 2019)

  • Avoid using threads in SoupRequestFile asynchronous API [Ignacio Casal Quinteiro]

New in LibSoup 2.65.2 (Jan 21, 2019)

  • Remove autotools build system and change to meson by default [#12, Tomas Popela]
  • Many fixes to Meson [Claudio Saavedra, Tomas Popela, Xavier Claessens]
  • Improvements to the continuous integration infrastructure [Xavier Claessens]
  • Make sure SoupSession features are not disposed until all pending messages are processed [#130, Claudio Saavedra]
  • Updated translations: Greek, Slovak, French.

New in LibSoup 2.64.2 (Oct 29, 2018)

  • TLD tests updated (Claudio Saavedra)
  • Updated translations: Serbian

New in LibSoup 2.65.1 (Oct 9, 2018)

  • Added MTLMv2 responses support [Michal Hrubý]
  • Many fixes to the meson build system [Tomas Popela]
  • Remove Visual Studio project files [Chun-wei Fan]
  • Enable VAPI by default [#119, Jeremy Bicha]
  • New strict header field parameter parsing API [Claudio Saavedra]
  • Code cleanups [Claudio Saavedra]
  • Updated translations: Belarusian, Serbian

New in LibSoup 2.64.1 (Sep 26, 2018)

  • Many fixes to the meson build system (which, by the way, is NOT official yet) (#13, Tomas Popela)
  • Updated translations: Belarusian.

New in LibSoup 2.64.0 (Sep 11, 2018)

  • Many fixes to the meson build system [#7, #8, #9, #11, Tomas Popela]
  • Updated translations: Brazilian Portuguese, Galician, Hungarian, Latvian, Danish.

New in LibSoup 2.64.0 RC (Aug 28, 2018)

  • Make sure that XMLRPC tests build in Debian too [Claudio Saavedra]
  • Distribute missing meson files [Claudio Saavedra]
  • Some fixes to the meson build files [Claudio Saavedra]
  • Updated Korean and Swedish translations

New in LibSoup 2.64.0 Beta 2 (Aug 15, 2018)

  • Simplify soup_hosts_matches_host() [Claudio Saavedra]
  • Add new tests for trailing dots in domain names [Claudio Saavedra]
  • Updated Turkish translation

New in LibSoup 2.62.3 (Aug 11, 2018)

  • Check for trailing dots in domains [#5, Claudio Saavedra]
  • Set default cookie path for NULL origins [#1, Adrian Perez de Castro]
  • Use atomic-refcounting in classes that are not using GObject-refcounting [bgo#785110, Edward Hervey]
  • Many Coverity-found code fixes [bgo#781771, Milan Crha]
  • Bail out on cookie-jar calls with empty hostnames [#3, Michael Catanzaro]

New in LibSoup 2.64.0 Beta 1 (Aug 11, 2018)

  • Set default cookie path for NULL origins [#1, Adrian Perez de Castro]
  • Fixes to GObject-introspection [bgo#794787, Corentin Noël]
  • Use atomic-refcounting in classes that are not using GObject-refcounting [bgo#785110, Edward Hervey]
  • Many Coverity-found code fixes [bgo#781771, Milan Crha]
  • Bail out on cookie-jar calls with empty hostnames [#3, Michael Catanzaro]
  • Fixes to the simple-httpd example [#2, Mooffie]
  • Updated translations: Chinese (Taiwan), Catalan
  • Note: from now onwards bgo# references bugs in GNOME Bugzilla and # issues in GNOME gitlab.

New in LibSoup 2.63.2 (May 21, 2018)

  • Many fixes to the meson build system support [#795324, #782410, Tomas Popela, Jan Alexander Steffens]
  • Fixes to xmlrpc-server test with PHP >= 7.2 and related [#795111, #782410 Jan Alexander Steffens]
  • Fix critical warning in SoupSocket [Carlos Garcia Campos]
  • Updated translations: Romanian, Friulian, Slovenian, Czech, Spanish, Indonesian, Chinese (China).

New in LibSoup 2.62.2 (May 10, 2018)

  • Fixes to instrospection annotation [#795135, Claudio Saavedra]
  • Fixes to the test suite with PHP version >= 7.2 [#795111, Jan Alexander Steffens]
  • Critical warning fixes to SoupSocket [Carlos Garcia Campos]
  • Updated Romanian translation.

New in LibSoup 2.63.1 (Apr 25, 2018)

  • Fix digest authentication with encoded URIs [#794208, Claudio Saavedra]

New in LibSoup 2.62.0 (Mar 14, 2018)

  • Updated translations.

New in LibSoup 2.62.0 Beta (Feb 14, 2018)

  • Various improvements to the WebSocket implementation [#792113, Italo Guerrieri]
  • cookie-jar: use base domain to decide if cookie is third party [#792130, Michael Catanzaro]
  • Add new API to create a new connection from a SoupSession [#792212, Carlos Garcia Campos]
  • soup-headers: accept any 3 digit number as message status code [#792124, Carlos Garcia Campos]

New in LibSoup 2.60.3 (Jan 21, 2018)

  • heap-buffer-overflow in soup_ntlm_parse_challenge() [#788037, Milan Crha]
  • session: don't request Keep-Alive for upgraded connections [#788723, Lionel Landwerlin]
  • soup-headers: accept any 3 digit number as message status code [#792124, Carlos Garcia Campos]

New in LibSoup 2.61.1 (Dec 27, 2017)

  • tld-parser: use Python 3 [#785735, Ross Burton]
  • Fix heap-buffer-overflow in soup_ntlm_parse_challenge() [#788037, Milan Crha]
  • Fix possibly uninitialized value in ssl-test. [Tomas Popela]
  • SoupCache: fix the timestamp for responses [#791031, Claudio Saavedra]

New in LibSoup 2.60.2 (Oct 29, 2017)

  • Fix documentation typos [#788920, Nirbheek Chauhan]
  • format-zero-length warning triggered in soup-logger.c [#789096, Tomas Popela]
  • Warnings while generating inrospection files [#789099, Tomas Popela]
  • Visual Studio builds: Enhance security of x64 binaries [Chun-wei Fan]
  • Updated translation: Nepali.

New in LibSoup 2.60.0 (Sep 13, 2017)

  • New/updated translations: Catalan, Danish, Dutch, Nepali.

New in LibSoup 2.58.1 (May 8, 2017)

  • Reverts a change to SoupSession to close all open connections when the :proxy-resolver property is changed [#777326; this change was made in 2.58.0 but accidentally left out of the NEWS for that release]; although that behavior made :proxy-resolver more consistent with :proxy-uri, it ended up breaking Evolution EWS. [#781590]
  • Fixed undefined behavior in tests/header-parsing that could make the test spuriously fail. [#777258]
  • Updates to the configure tests for Apache for use in tests/:
  • Dropped support for Apache 2.2
  • Changed PHP support from PHP 5 to PHP 7
  • mod_unixd can now be either built-in or dynamically loaded [#776478]
  • Updated translations:
  • Turkish

New in LibSoup 2.58.0 (Apr 29, 2017)

  • Fix authentication issues when the SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE flag is used. [#778497, #777936, Carlos Garcia Campos]
  • MSVC build improvements (Chun-wei Fan)
  • Updated translations: Basque, Belarusian, Brazilian Portuguese, Chinese (Taiwan), Danish, French, Galician, Greek, Indonesian, Italian, Korean, Latvian, Lithuanian, Norwegian bokmål, Russian, Serbian, Slovak, Slovenian, Spanish, zh_CN

New in LibSoup 2.57.1 (Dec 19, 2016)

  • Changes in libsoup from 2.56.0 to 2.57.1:
  • Added SoupWebsocketConnection:keepalive-interval, to make a connection send regular pings. [#773253, Ignacio Casal Quinteiro]
  • Added soup_auth_manager_clear_cached_credentials() and SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE, to allow greater control over the use of cached HTTP auth credentials. [#774031, #774033, Carlos Garcia Campos]
  • Fixed the use of SoupSession:proxy-uri values containing passwords. [#772932, Jonathan Lebon]
  • Various minor WebSocket fixes [Ignacio Casal Quinteiro]:
  • Avoid sending data after we start closing the connection [#774957]
  • Do not log a critical if the peer sends an invalid close status code
  • Log a debug message when a "pong" is received
  • Fixed introspection of soup_message_headers_get_content_range() [Jasper St. Pierre]
  • Replaced Vala [Deprecated] annotations with [Version] to avoid build warnings [#773177, Evan Nemerson]
  • MSVC build improvements (Chun-wei Fan)
  • Updated error/message strings to use Unicode punctuation. [#772217, Piotr Drąg]
  • Updated translations:
  • Czech, Friulian, German, Hebrew, Hungarian,
  • Norwegian bokmål, Polish, Swedish

New in LibSoup 2.56.0 (Sep 24, 2016)

  • Added SoupWebsocketConnection:max-incoming-payload-size property, to override the default maximum incoming payload size. [#770022, Ignacio Casal Quinteiro]
  • Added soup-version.h symbols (in particular soup_check_version()) to introspection. [#771439, Rico Tzschichholz]
  • Updated the copy of the public suffix list used by SoupTLD [#769650, Michael Catanzaro]
  • Updated translations:
  • British English, Greek, Polish

New in LibSoup 2.56.0 Beta (Aug 30, 2016)

  • Removed support for SSLv3 fallback; sites that reject TLS 1.x handshakes will now just fail with an error. (Firefox and Chrome have both already switched to this behavior.) [#765940, Dan Winship]
  • Fixed the parsing of < double >s in the new GVariant-based XMLRPC code. [#767707, Dan Winship]
  • Fixed soup_server_set_ssl_cert_file(), which was added in 2.48 but didn't actually work... [patch on libsoup-list from Sean DuBois]
  • Added GObject properties to SoupLogger to make it bindings-friendly. [#768053, Jonh Wendell]
  • Fixed build error on FreeBSD [#765376, Ting-Wei Lan]
  • Fixed build with certain new versions of glibc that define "EOF" as a macro. [#768731, Philip Withnall]
  • Updated m4/ax_code_coverage.m4 with support for lcov 1.12 [Philip Withnall]
  • Updated po files for future gettext versions [Piotr Drąg]
  • New/updated translations:
  • Occitan, Scottish Gaelic

New in LibSoup 2.53.2 (Nov 27, 2015)

  • Fixed up symbol visibility handling for mingw by copying GLib's system [Ignacio Casal Quinteiro, #757146]
  • Finally marked the old SoupSessionAsync and SoupSessionSync methods as deprecated [Ignacio Casal Quinteiro, Dan Winship, #757146]
  • Added libsoup-2.4.deps for valac [Rico Tzschichholz]
  • Make it possible to build from git without gtk-doc being installed [Ignacio Casal Quinteiro]
  • Updated translations: Norwegian bokmal, Occitan

New in LibSoup 2.52.2 (Nov 15, 2015)

  • Fixed build under MinGW [Ignacio Casal Quintero]
  • Fix SoupServerWebsocketCallback handling so that the SoupClientContext passed to it is still valid.
  • Added a .deps file to define dependencies for valac [Rico Tzschichholz]

New in LibSoup 2.52 Beta 1 (Aug 20, 2015)

  • Added a new GVariant-based XMLRPC API, and deprecated the old GValue-based API (along with the associated GValue-manipulating utilities). [#746495, Xavier Claessens]
  • Multiple build fixes for Visual Studio [#752952, Chun-wei Fan]
  • Added VAPI generation [#750679, Daniel Espinosa]
  • Fixed the mode bits on soup-cookie.c, which was previously marked executable for some reason. [rh #1247285]
  • Updated translations: Norwegian bokmal, Portuguese, Thai, Turkish

New in LibSoup 2.51.3 (Jun 23, 2015)

  • Fixed "make check" in non-English locales [rh #1224989, #749397]
  • Fixed some compiler warnings [#748514, Philip Withnall]
  • New/Updated translations:
  • Aragonese, Catalan, Occitan, Russian

New in LibSoup 2.50.0 (Mar 24, 2015)

  • Updated translations: Basque, Chinese (Taiwan), Danish, Indonesian, Norwegian bokmal

New in LibSoup 2.50.0 RC (Mar 20, 2015)

  • Fixed an NTLM problem that caused spurious "Authentication Failed" errors in evolution-ews. [#735197]
  • New/updated translations:
  • Bosnian, Czech, Greek, Hebrew, Italian, Korean, Lithuanian, Polish, Serbian, Slovak, Slovenian, Spanish, Swedish

New in LibSoup 2.50.0 Beta 2 (Mar 16, 2015)

  • WebSockets! Libsoup now has support for WebSockets in both SoupSession and SoupServer. [#627738, Dan Winship and Lionel Landwerlin, based on code from the Cockpit project]
  • Added support for NTLMv2 Session Security to SoupAuthNTLM. (This is transparent to the app/user; if the server supports it, it will be used.) [#739192, Adam Seering]
  • Added soup_server_accept_iostream() to allow feeding a non-GSocketConnection GIOStream to SoupServer (eg, when accepting HTTP requests on some other sort of connection). [#744186, Marc-André Lureau]
  • Added soup_session_steal_connection() and soup_client_context_steal_connection(), to allow you to steal a GIOStream from a SoupSession or SoupServer and then use it for non-HTTP purposes. [#721343, Dan Winship]
  • Added soup_server_add_early_handler(), for adding SoupServer handlers to run at :got-headers time rather than :got-body (eg, to set up a streaming read of the request body). [#625645, Dan Winship]
  • Added a new SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag, which can be used to bypass SoupSession:max-conns and SoupSession:max-conns-per-host on a per-message basis. [#744720, Carlos Garcia Campos]
  • Multiple SoupCache fixes from Carlos Garcia Campos:
  • Leaked resources are now cleaned up when opening the cache. [#667682]
  • The "Age" header is no longer added to cached responses. [#741108]
  • Fixed the interpretation of the "must-revalidate" directive to not be stricter than required. [#744468]
  • Messages retrieved from cache now behave slightly more like non-cache messages in terms of SoupSession signals and timing. [#744788] Additionally, there is a new SoupMessage::starting signal, which is like SoupSession::request-started, but emitted for cached resources as well. [#731153]
  • Fixed soup_session_cancel_message() to work reliably on paused messages. [#745094, Sven Neumann]
  • Added code-coverage support to the build.
  • Fixed the library symbol check in "make check" to work when building with linker options that result in slightly different organization. [#741348, Iain Lane]
  • Added a hack to SoupSessionFeature so that people will stop re-reporting an old Eclipse bug against libsoup. [#710242]
  • Miscellaneous bug and leak fixes in the test programs, leak fixes in libsoup, and documentation updates.
  • Updated translations:
  • Brazilian Portuguese, French, Galician, Hungarian, Slovak, Slovenian, Spanish, Turkish

New in LibSoup 2.49.1 (Feb 5, 2015)

  • Fixed a bug in the SoupMessage:event signal that broke evolution's ability to connect to https hosts with "bad" certificates. [#739951, Dan Winship]
  • Fixed a case where the async codepaths could potentially block on a synchronous write [#727138, Dan Winship]
  • Fixed the symbol soup_server_set_ssl_cert_file() to get exported, and added soup_server_get_uris() to the documentation. [Tristan Van Berkom]
  • Improved a bunch of introspection annotations [#729987, Evan Nemerson]
  • Clarified some documentation. [Tristan Van Berkom, Dan Winship]
  • Fixed Windows build, twice [#738003, Kouhei Sutou, and #738551, Kalev Lember].
  • Updated translations: Bengali (Indian), Chinese (Traditional), Italian, Latvian, Serbian, Telugu, Ukranian

New in LibSoup 2.48.1 (Feb 5, 2015)

  • Fixed a bug in the SoupMessage:event signal that broke evolution's ability to connect to https hosts with "bad" certificates. [#739951, Dan Winship]
  • Fixed a case where the async codepaths could potentially block on a synchronous write [#727138, Dan Winship]
  • Fixed the symbol soup_server_set_ssl_cert_file() to get exported, and added soup_server_get_uris() to the documentation. [Tristan Van Berkom]
  • Improved a bunch of introspection annotations [#729987, Evan Nemerson]
  • Clarified some documentation. [Tristan Van Berkom, Dan Winship]
  • Fixed Windows build, twice [#738003, Kouhei Sutou, and #738551, Kalev Lember].
  • Updated translations: Bengali (Indian), Chinese (Traditional), Italian, Latvian, Serbian, Telugu, Ukranian

New in LibSoup 2.45.3 (Dec 20, 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 LibSoup 2.42.3 (Nov 15, 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 LibSoup 2.44.2 (Nov 12, 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 LibSoup 2.44.1 (Oct 16, 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 LibSoup 2.44.0 (Sep 24, 2013)

  • New/updated translations: Dutch, Indonesian.

New in LibSoup 2.44 Beta 1 (Aug 20, 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 LibSoup 2.43.5 (Jul 30, 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 LibSoup 2.43.4 (Jul 10, 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 LibSoup 2.43.2 (May 29, 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]

New in LibSoup 2.43.1 (May 1, 2013)

  • Including no longer pulls in the system networking headers. This may cause some packages to no longer compile, if they were accidentally depending on this. Adding "#include " will fix them on both unix and Windows. (This was done as part of fixing the build on Windows.) [#692134, Dan]

New in LibSoup 2.42.2 (Apr 29, 2013)

  • Fixed SoupSession:proxy-resolver [#698163, Dan]
  • Further win32 build fixes [#692134, Dan]
  • Fixed several test programs to still work if glib-networking isn't installed [Dan], and fixed another to still work if the kernel has no IPv6 support. [#698220, Dan]

New in LibSoup 2.42.0 (Mar 25, 2013)

  • Fixed a compiler warning on 32bit in a test program. [Kalev Lember]
  • New/updated translations: Hindi, Kannada, Korean, Malayalam, Marathi, Odia, Persian, Tadjik, Tamil, Telugu.

New in LibSoup 2.41.92 (Mar 19, 2013)

  • Fixed a bug that caused libsoup to retry an incorrect password repeatedly, forever, in a certain case that affected Google calendars in evolution in particuar. [Red Hat bug #916224, Dan]
  • Also added code to make such infinite retry loops impossible in the future. [Dan]
  • Fixed SoupRequestData's handling of URIs with "" in them. [#695246, Žan DoberÅ¡ek]
  • Added the SoupSession:proxy-resolver property, to override the GProxyResolver used by a session. (This means there are now three different ways of controlling proxy resolution in SoupSession... this will be cleaned up a bit after 2.42.) [#680273, Dan]
  • Added missing G_BEGIN_DECLS/G_END_DECLS to soup-message-headers.h, so that its functions can be called from C++. [Carlos Garcia Campos]
  • Updated translations: Assamese, Belarusian, Brazilian Portuguese, Catalan (Valencian), Catalan, Danish, Estonian, French, Greek, Gujarati, Hungarian, Italian, Latvian, Portuguese, Russian, Slovenian, Thai

New in LibSoup 2.41.91 (Mar 6, 2013)

  • Fixed a crash that showed up with XMLRPC requests in WebKitGTK. [#694920, Sergio]
  • Fixed SoupCache to update the cached headers when it receives a 304 Not Modified response, and added a test for this. [#695121, Sergio]
  • libsoup now builds under automake 1.13 (and "make check" works under the parallel test harness which is the default in 1.13) [#694135]
  • The tests/ directory now contains only actual test programs that are run by "make check", and the programs that are intended more as example code are under examples/.
  • New/updated translations: Aragonese, Chinese (traditional), Czech, Galician, Hebrew, Lithuanian, Norwegian bokmÃ¥l, Punjabi, Spanish, Uyghur, Vietnamese

New in LibSoup 2.41.90 (Feb 20, 2013)

  • Added SoupSession:local-address property, which allows you to force connections to bind to a particular local address (eg, to control the interface that is used). [#693215, Jonh Wendell]
  • Fixed SoupCache to properly handle messages that get cancelled, and added tests for this. [#692310, Sergio]
  • Fixed a reference leak in SoupCache that resulted in epiphany hanging for several seconds on exit and then eventually printing "Cache flush finished despite X pending requests". And added more tests. [#682527, Sergio]
  • Fixed SoupAuthNTLM so that SoupSession:authenticate gets emitted with retrying=TRUE if the first attempt fails (ie, make it work the same way as SoupAuthBasic and SoupAuthDigest). [#693222, Dan]
  • Fixed the SoupSession:add-feature-by-type property to accept non-SoupSessionFeature features as well (eg, auth types) [Dan]
  • Fixed a build bug that would break all the apache-based tests if you didn't have PHP installed. [#693311, Dan]
  • Updated translations: Malayalam, Polish, Serbian, Slovak

New in LibSoup 2.41.5 (Feb 6, 2013)

  • Reverted the change to SoupURI's password handling from 2.41.4, since it turns out to have broken some things. [#692149, Dan]
  • Avoid a g_return_if_fail() when loading SoupSession:ssl-ca-file fails. [#691930, Guillaume Desmottes]
  • Fixed a bug in SoupBodyInputStream that caused redirects in WebKitGTK to hang. [#692026, Sergio]
  • Updated translations: Belarusian, Chinese (traditional), German, Italian, Norwegian bokmÃ¥l, Serbian, Uyghur

New in LibSoup 2.41.4 (Jan 15, 2013)

  • Lots of docs fixes, including catching up with some (but not all!) of the API additions and deprecations, and a new chapter with hints on porting from SoupSessionAsync/SoupSessionSync to the new-and-improved plain SoupSession.
  • The plain SoupSession type now supports soup_session_queue_message() (with SoupSessionAsync semantics) and soup_session_send_message() (with SoupSessionSync semantics), and there are now soup_session_new() and soup_session_new_with_options().
  • The mirroring of the SoupMessage API onto SoupRequestHTTP, added in 2.41.3, has been reverted. However, new APIs soup_session_send() and soup_session_send_async() have been added that let you use the GInputStream-based API with SoupMessages rather than SoupRequest, so if you're doing HTTP-specific stuff, you can just use that instead.
  • soup_message_get_https_status() now returns the certificate and flags for unsuccessful https connections as well as successful ones. [#690176]
  • Fixed a deadlock when calling soup_session_abort() on a SoupSessionSync in some cases. [#691399]
  • Internal SoupCache rewrites/improvements [#682112, Sergio]
  • Plugged a memory leak in SoupCache [#690382, Sudarsana Nagineni] and one in SoupAuthDigest [#690142]
  • LIBSOUP_DISABLE_DEPRECATED has been renamed to SOUP_DISABLE_DEPRECATED, but that's just to keep gtk-doc happy, and you shouldn't use it. You should use SOUP_VERSION_MIN_REQUIRED instead.
  • Fixed the samba-windbind-based NTLM support, which appears to have been broken before.
  • SoupAuthManager is now a public class (so you can remove it as a feature from a session, or disable it for a particular message). It also has a new method soup_auto_manager_use_auth(), which can be used to "preload" authentication for a host so that libsoup will use authentication on the very first request.
  • SoupURI now treats "http://[email protected]" as having a password of "" rather than NULL, since a NULL password would not be valid for any known HTTP auth type.
  • build: libsoup now uses autoreconf instead of gnome-autogen.sh, and no longer uses AM_GLIB_GNU_GETTEXT [Javier Jardon].
  • Updated translations:
  • Assamese, Bulgarian, Estonian, Friulian, Galician, Hebrew, Polish, Slovenian, Spanish

New in LibSoup 2.41.3 (Dec 18, 2012)

  • BUILD DEPENDENCY CHANGES: libsoup-gnome no longer depends on libgnome-keyring, and the sqlite3 dependency has been moved from libsoup-gnome to libsoup proper. (See below).
  • SoupRequest is now stable API. SoupRequester, however, is deprecated. Instead you can now call soup_session_request() or soup_session_request_uri() to create a SoupRequest.
  • Some documentation has been updated to reflect this, but much more still needs to be (in particular the "Client-side Tutorial").
  • SoupRequestHTTP now has a number of fields and methods that mirror the SoupMessage data, so you don't have to use soup_request_http_get_message() in many cases. On the flip side, there is also now soup_message_get_request(). And you can create a SoupRequestHTTP directly (and override its request method) by using soup_session_request_http() or soup_session_request_http_uri()).
  • soup_message_set_chunk_allocator() is now deprecated; apps that want to do streaming reads should just use SoupRequest, which is vastly more sane.
  • SoupPasswordManager is now deprecated, and SoupPasswordManagerGNOME is now a no-op (and libsoup-gnome no longer links against libgnome-keyring). [#594377, #679866]
  • SoupCookieJarSqlite is now deprecated in favor of SoupCookieJarDB, which is exactly the same thing except that it's in libsoup itself rather than being in libsoup-gnome (something that many people have requested over the years). This means that libsoup now requires sqlite3... if this offends you horribly then you have a few months to speak up...
  • SoupProxyResolverGNOME is now deprecated; there hasn't been any real reason to use it since SoupProxyResolverDefault was added.
  • As a result of the last three items, libsoup-gnome now consists entirely of deprecated APIs, and there is no reason you should use it any more (though packagers need to keep building it, for backward compatibility).
  • SoupSession is no longer an abstract class, and you can create a plain SoupSession, which behaves in a more traditionally-gio-like way (allowing a mix of sync and async methods, etc). This "plain" SoupSession also has more sane default values of certain properties, and has certain SoupSessionFeatures built in.
  • This will eventually replace SoupSessionAsync and SoupSessionSync completely, but most of the documentation hasn't yet been updated at this point...
  • This change involved merging the majority of the SoupSessionAsync and SoupSessionSync code into SoupSession, getting rid of lots of redundancy in the process. There may be some bug fallout from this (probably on the SoupSessionSync side, since WebKit's tests tend to shake out all SoupSessionAsync bugs). However, this should help to avoid SoupSessionSync-only bugs in the future, since much more of the code is now shared.
  • Usernames and passwords passed into SoupSession a URI will now be cleared after they're used, so that if they are wrong, the authenticate signal will be emitted on the next round. [#689673, Martin Robinson]
  • SoupURI now leaves "" in URIs as-is, rather than decoding it to "\0", which was not intended and is never useful.
  • Fixed a bug in SoupBodyOutputStream that could cause libsoup to sometimes use blocking I/O rather than non-blocking when writing chunked message bodies. [#688974, Milan Plzik]
  • Fixed a bug in SoupFilterInputStream that could cause some non-blocking reads to suck up CPU while waiting for the network. (This was noticed with multipart/x-mixed-replace processing; it's not clear if it affected anything else.) [Gustavo]
  • tests: misc small fixes
  • New/updated translations: Assamese, Galician, Japanese, Odia, Polish, Spanish

New in LibSoup 2.40.1 (Oct 17, 2012)

  • Improved the parsing of multipart/x-mixed-replace responses. [#685752, Gustavo]
  • Fixed handling of IPv6 address literals. [#684990, Dan]
  • New/updated translations: Catalan, Catalan (Valencian), Norwegian bokmÃ¥l

New in LibSoup 2.38.0 (Mar 27, 2012)

  • Minor documentation fixes

New in LibSoup 2.37.2 (Nov 29, 2011)

  • Fixed up the output of SoupDirectoryInputStream, thus improving the display of local directories in WebKit-based browsers. [#662266, Sergio]
  • Fixed a bug introduced in 2.37.1 that caused some cancelled SoupMessages to be leaked. [#662847, Sergio]
  • Added new SoupSession properties "http-aliases" and "https-aliases" that allow you to configure more explicitly what URL protocols are treated as aliases for http (eg, "dav:", "webcal:", etc), and which should be recognized as meaning something else, (eg, "ftp:") [Dan]
  • Added soup_session_would_redirect() and soup_session_redirect_message(), to help users that want to handle some or all redirects themselves. Added soup_message_set_redirect() to make it easier to return redirection responses from a SoupServer. [Dan]
  • Added the SoupSession "use-thread-context" property, which tells it to use GMainContexts in a gio-compliant way (and in particular, allows having different messages running in different GMainContexts on the same SoupSession, though only to a limited extent since SoupSessionAsync is still not thread-safe). In particular, this was added in order to address WebKit bug 68238. [Dan]
  • Made SoupURI %-encode non-ASCII characters when parsing URIs, in particular to fix a problem with certain servers sending syntactically invalid redirects that they would then only interpret correctly if you fixed the syntax for them. (@$!@#! Although the new code is probably more correct than the old code anyway, so...) [#662806, Dan]
  • Fixed a connection-handling bug that could cause problems with servers that requested authentication and then timed out the connection while the application was waiting for the user to enter a password. [#660057, Dan]
  • Made NTLM and Basic authentication handle some non-ASCII usernames and passwords. (NTLM should handle most. It's impossible to fix Basic in the general case.) [#576838, Joachim Breitner, "sponsored by ITOMIG GmbH and the City of Böblingen"]
  • Added support for "deflate" Content-Encoding, so that we can work with broken servers that insisted on using it even though we explicitly indicated in the request headers that we didn't support it. (@$#!#) [#661682, Sergio]

New in LibSoup 2.36.1 (Oct 18, 2011)

  • Fixed a problem with connections being assigned to multiple requests at once after a redirection [#651146, Sergio]
  • Bumped the glib requirement to 2.30.0; although libsoup does not use any new glib 2.30 APIs, there are several important bugfixes in glib between 2.28 and 2.30 that libsoup needs.

New in LibSoup 2.36.0 (Oct 3, 2011)

  • Improvements to gtk-doc documentation. [Dan]

New in LibSoup 2.35.90 (Sep 15, 2011)

  • Added SOUP_MESSAGE_CAN_REBUILD flag, to use with soup_message_body_set_accumulate(FALSE) on a request body, to indicate that the caller will recreate the request body after it has been discarded if the message needs to be re-sent. [#656650]
  • Fixed the build on mingw-w64 by not using "interface" as as variable name. [#656402, Erik van Pienbroek]
  • (The multihosted https server regression mentioned in the 2.35.5 NEWS turned out to be a glib-networking bug, which is fixed as of 2.29.18.)

New in LibSoup 2.34.2 (May 27, 2011)

  • Minor build fix for Debian/Ubuntu [#648948]
  • Two SoupCache-related leak fixes [Xan]
  • Fixed a docs typo

New in LibSoup 2.34.1 (Apr 29, 2011)

  • Two multipart forms/Content-Disposition fixes [Dan]:
  • UTF-8-encoded header encoding/decoding rules updated to match RFC 5987. In particular, a UTF-8-encoded filename parameter in Content-Disposition will now override an ASCII one.
  • When not using UTF-8-encoded filenames in Content-Disposition, always quote the filename, since some servers erroneously fail to handle non-quoted ones. [#641280]
  • Fixed several memory leaks [Dan, Xan]
  • Fixed decoding base64 data: URLs [#646896, Sergio]
  • Simplified the libsoup-gnome build on Windows by dropping the gnome-keyring dependency. [Fridrich Å trba]
  • Fixed a bug in soup_uri_to_string() in which (invalid) port numbers could be output as negative numbers (tripping up a WebKit "sanity checking" test). [#647767, Sergio]
  • Fixed a cache corruption bug in SoupCache. [#648285, Sergio]
  • Fixed a crash in SoupSessionSync when using soup_session_abort().

New in LibSoup 2.34 (Apr 5, 2011)

  • Fixed the GMainContext handling of the new
  • SoupProxyResolverDefault (which among other things fixes
  • gstreamer usage inside epiphany). [#646201, Sebastian Dröge]
  • Tweaked the introspection Makefile rules to fix a problem
  • building on Debian/Ubuntu. [#645505]
  • Belated bumped the shared library versioning to reflect the API additions since 2.32.0

New in LibSoup 2.33.92 (Mar 22, 2011)

  • LIBSOUP NO LONGER DEPENDS ON GCONF OR LIBPROXY. (see below).
  • Added SoupProxyResolverDefault, which uses uses gio's GProxyResolver to resolve proxies [#642982, Gustavo Noronha Silva]. Despite the "default" in the name, it is not used by default, for compatibility reasons, but it is available in plain libsoup, not libsoup-gnome. (Of course, it depends on having glib-networking installed.)
  • Updated SoupProxyResolverGNOME to be based on SoupProxyResolverDefault, but explicitly requesting the "gnome" GProxyResolver if it is available [#625898], and removed the old code that used GConf and libproxy directly.
  • Added soup_server_disconnect(), to explicitly disconnect a SoupServer, since it is not possible to g_object_unref() it from memory-managed language bindings. [#638576, Andreas Rottmann]
  • SoupDate now parses month names case-insensitively [#644048, Christian Dywan]
  • Avoid a g_return_if_fail() when using SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY with non-http URIs (file:, data:, etc). [#643226]
  • SoupCookieJar now catches overflows when parsing very distant dates [#643462, based on a patch from Mark Starovoytov]
  • Fixed a buggy interaction between request body streaming and restarted requests [David Woodhouse]. Added some new tests to tests/chunk-test.c to make sure that a specific (unsupported!) way of using those methods would not get broken in the future.
  • Fixed soup_socket_get_remote_address(), which had been broken since 2.33.4 (and which in turn caused soup_client_context_get_address/_get_host to be broken) [#645227]

New in LibSoup 2.33.90 (Feb 22, 2011)

  • Attempted to make libsoup's dependency on glib-networking (for TLS support) more explicit, by requiring that glib-networking be present at compile time unless the builder explicitly passes "--disable-tls-check", and noting that packagers should give libsoup a runtime dependency on glib-networking.
  • Fixed a bug in talking to servers with virtual hosts with Unicode names (IDNs) [#642075]
  • Added a "Connection: Keep-Alive" header when talking to HTTP/1.0 hosts, to improve performance. [#640414, Sergio Villar Senin]
  • Changed SoupCache to not cache multipart/x-mixed-replace content. [#642028, Sergio Villar Senin]

New in LibSoup 2.33.6 (Feb 1, 2011)

  • Made SoupSessionAsync do idle-connection cleanup more sanely, resulting in faster load times for pages with lots of subresources. [#639768, Sergio Villar Senin]
  • Fixed soup_form_decode()'s behavior (and by extension, SoupServer query string handling) with datasets that contain multiple values for the same key, and added a test case. [#639783, Sven Neumann]
  • Fixed warnings pointed out by gcc 4.6, including a bug in SoupCache that would cause unnecessary revalidations [#640556].
  • Belated copied a fix from the WebKit copy of soup-cache.c into ours, and fixed a bug in the local copy of soup-request-data.c [#641022, Sergio Villar Senin], in preparation for making WebKit use the libsoup versions.

New in LibSoup 2.33.5 (Jan 11, 2011)

  • Fixed certain cases of soup_session_cancel_message() with SoupSessionSync that could previously cause warnings or crashes. [#637741]

New in LibSoup 2.32.2 (Nov 30, 2010)

  • 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.

New in LibSoup 2.32.1 (Nov 16, 2010)

  • Fixed a regression in 2.32.0 with the use of persistent connections that caused spurious "Connection terminated unexpectedly" errors. [#631525, debugged by Sergio Villar]
  • Fixed a regression in 2.32.0 that caused proxy-related DNS errors to return SOUP_STATUS_CANT_RESOLVE rather than SOUP_STATUS_CANT_RESOLVE_PROXY.
  • Usernames/passwords specified explicitly in request URIs now override existing cached auth info. [#631679, Sergio Villar]
  • Changed soup_uri_decode() and soup_uri_normalize() to just ignore malformed %-encoding rather than returning NULL, for consistency with soup_uri_new(). [#630540]
  • Fixed soup_form_decode() to ignore invalid parameters, and soup_form_encode_hash() to just g_return_if_fail() rather than crashing if there are NULL values in the hash. [#620220]
  • Added another workaround for stupid servers that close the connection before returning the full response (in this case, when using chunked encoding and failing to include the final 0-length chunk). [#629160]
  • Fixed a bug in SoupCookieJarText that deleted excess cookies whenever any cookie expired. [#631641, Michał Kazior]
  • Fixed a small leak in SoupContentDecoder if you were using it incorrectly. [pointed out in email by Christophe Gillette]
  • Added regression tests for passwords-in-URIs [#631679, Sergio Villar] and SOUP_SESSION_IDLE_TIMEOUT.

New in LibSoup 2.31.92 (Sep 14, 2010)

  • Updated for gobject-introspection 0.9.5. Also added some new annotations and removed a bunch of private headers from the scanning process.
  • Percent-encoded characters in URIs are no longer automatically normalized to uppercase, since apparently some servers are stupid. [#628728, Sergio Villar Senin]
  • Fixed a crash when resolving a URI containing both spaces and non-UTF8 8bit characters. [#629449]

New in LibSoup 2.31.90 (Aug 17, 2010)

  • libsoup now tries to connect to each IP address associated with a hostname, if the first one fails. In particular, if a host has both IPv4 and IPv6 addresses, and only one of them
  • is reachable from the current host, libsoup will now try the other one rather than failing. (libc is supposed to sort the IP addresses in the right order, such that, eg, if you don't have IPv6 connectivity, it will put the IPv4 address first. For some reason though, this seems to be broken on some distros.) [#526321]
  • Fixed Accept-Language header generation in locales where "," is used as the decimal point.

New in LibSoup 2.31.6 (Aug 3, 2010)

  • Disabled TLS 1.2 in addition to the already-disabled 1.1 and 1.0 [see below, in libsoup 2.27.2], thus making libsoup usable with gnutls 2.10. [#622857. This commit, 01a43ad9, can be applied to libsoup 2.30.x as well if you need that release to work with gnutls 2.10.]
  • When using libproxy 0.3 or newer, libsoup no longer leaks proxy-related environment variables into child processes [#603285]
  • Changed the way message/connection binding works in SoupSession so that (among other things), when there are multiple requests queued to a host, and one of them gets a network error, the other requests are still allowed to try to succeed, rather than all failing immediately. [#619633]
  • SoupSession now limits the number of times a message can be redirected, to avoid infinite loops [#604383, José Millán Soto]
  • Fixed handling of certain messages where the response headers included "Connection: close" but the server did not actually close the connection at the end. [#611481]
  • Fixed some incorrect g-i annotations [#621021]
  • Fixed an out-of-bounds memory access when processing certain Set-Cookie headers [#620288]
  • Improved msg->reason_phrase on network errors [#623274]
  • Fixed gir file disting [#621727, Yaakov Selkowitz]

New in LibSoup 2.30.2 (Jun 22, 2010)

  • Fixed a problem with SoupSessionAsync that would cause messages to get lost if you aborted a previous message while it was still looking up the hostname. Fixed several other problems that were discovered while adding a regression test for that. [#618641, thanks to Claudio Saavedra for a good test case]
  • SoupSession now only allows a message to be redirected a fixed number of times, and returns an error after that. [#604383, José Millán Soto]
  • Fixed another connecting-to-lame-https-server problem, and a getting-stuck-in-a-loop-reconnecting bug that it revealed. [#615535]
  • Fixed an invalid read when parsing certain Cookie headers [#620288]
  • Fixed a memory leak in soup_form_request_from_data [#619897]
  • Failed SSL connections now include the correct reason_phrase ("SSL handshake failed" rather than "SSL support not available").

New in LibSoup 2.30.1 (Apr 27, 2010)

  • 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]