1Changes in libsoup from 2.70.0 to 2.71.0: 2 3 * Redesign directory list returned for `file://` requests [Jan-Michael Brummer] 4 5 * Add `SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY` policy [Carlos Garcia Campos] 6 7 * Add soup_message_is_feature_disabled() API [Carlos Garcia Campos] 8 9 * Fix potential leak when setting SoupSession:tls-interaction [Scott Hutton] 10 11 * Fix building with Visual Studio [Chun-wei Fan] 12 13 * Updated translations: Ukrainian, Romanian, Swedish, Polish, Lithuanian, Spanish, 14 French, Chinese (China) 15 16Changes in libsoup from 2.69.90 to 2.70.0: 17 18 * Deprecate SoupSession:proxy-uri [Patrick Griffis] 19 20 * Update translations: Persian, Finnish, Ukrainian 21 22Changes in libsoup from 2.68.3 to 2.69.90: 23 24 * Add new API to expose support for same-site cookies [Patrick Griffis] 25 26 * Fix TRACE method not being considered safe and idempotent internally [Patrick 27 Griffis] 28 29 * WebSockets: ensure a new connection is created for WebSocket requests [Carlos 30 Garcia Campos] 31 32 * WebSockets: do not start the input source when IO is closing [Carlos Garcia 33 Campos] 34 35 * Deprecate soup_date_to_timeval() [Claudio Saavedra] 36 37 * build: Update glib requirement to 2.58 [Xavier Claessens] 38 39 * Updated translations: Malay [Umarzuki Mochlis] 40 41Changes in libsoup from 2.68.2 to 2.68.3: 42 43 * Fixes to testing infrastructure [Simon McVittie] 44 45 * Enable GNOME support in mingw [Fabiano Fidêncio] 46 47 * Allow introspection in cross builds [Ross Burton] 48 49 * Updated translations: Chinese (Taiwan) 50 51Changes in libsoup from 2.68.1 to 2.68.2: 52 53 * Documentation fixes [Sonny Piers] 54 55 * Windows compatibility test fixes [Ignacio Casal Quinteiro] 56 57 * WebSockets: client_max_window_bits in server must have a value [Carlos Garcia Campos] 58 59 * build: improve diagnostics when detecting Apache [Simon McVittie] 60 61 * NTLM: Make v2 authentication more robust [Claudio Saavedra] 62 63 * Updated translations: British English, Chinese (Taiwan), Danish, Dutch 64 65Changes in libsoup from 2.68.0 to 2.68.1: 66 67 * Several memory leaks fixed in tests, examples, and parsing code [Claudio Saavedra] 68 69 * SoupServer: Fixes to Windows path handling [Ignacio Casal Quinteiro] 70 71Changes in libsoup from 2.67.93 to 2.68.0: 72 73 * Updated translations: Brazilian Portuguese, Croatian, 74 Friulian, Italian, Turkish 75 76Changes in libsoup from 2.67.92 to 2.67.93: 77 78 * SoupMessage: Handle Transfer-Encoding: identity for 79 compatibility reasons [#148, Thomas Bluemel, Normen Bolling] 80 81 * WebSockets: Only poll IO stream when needed [Carlos Garcia 82 Campos] 83 84 * WebSockets: Properly set cookies received during handshake 85 [Carlos Garcia Campos] 86 87 * WebSockets: Plug a couple of memory leaks and fix a few 88 read-after-free memory errors [Claudio Saavedra] 89 90 * WebSockets: document how web socket extensions should treat 91 buffers in case of error [Claudio Saavedrə] 92 93 * SoupSession: Don't reset user GCancellable internally [Tom 94 Bailey] 95 96 * Tests: Make tests installable [Simon McVittie] 97 98 * Remove deprecate GTimeVal internal usage [Claudio Saavedra] 99 100 * CI: increase coverage by enabling all features during 101 testing [Claudio Saavedra] 102 103 * Updated translations: Korean, German, Galician, Hungarian, 104 Slovenian, Latvian, Finnish, Serbian, Catalan, Polish 105 106Changes in libsoup from 2.67.91 to 2.67.92: 107 108 * Silence GTimeVal deprecation warnings. [Michael Catanzaro] 109 110 * API documentation and annotation fixes [Дилян Палаузов, Claudio Saavedra] 111 112 * Plug a couple of NTLM authentication memory leaks [#156, Claudio Saavedra] 113 114 * Fix build in SmartOS/SunOS [#157, Juraj Lutter] 115 116 * Meson: Use feature options [Xavier Claessens] 117 118 * Meson: Do not fallback to system krb5-config for cross-compilation 119 [Xavier Claessens] 120 121 * NTLM: Fix build with NTLM enabled [Claudio Saavedra] 122 123 * Updated translations: Basque, Czech, Indonesian, Lithuanian, Swedish 124 125Changes in libsoup from 2.67.90 to 2.67.91: 126 127 * HSTS: New API to retrieve information about existing HSTS policies 128 [Claudio Saavedra] 129 130 * Updated translations: French, Romanian, Spanish 131 132Changes in libsoup from 2.67.3 to 2.67.90a: 133 134 * WebSockets: add support for WebSocket extensions via new 135 SoupWebsocketExtensionManager and SoupWebsocketExtension API 136 [Carlos Garcia Campos] 137 138 * WebSockets: add support for the permessage-deflate extension, enabled 139 by default in SoupServer and in the client side only if SoupWebsocketExtensionManager 140 is added to a session [Carlos Garcia Campos] 141 142 * WebSockets: Allow sending close frames with no body [Carlos Garcia Campos] 143 144 * WebSockets: ignore messages after close has been sent and received [Carlos Garcia Campos] 145 146 * Meson: tls-check improved [Xavier Claessens] 147 148 * Meson: improve Apache checks [Claudio Saavedra] 149 150Changes in libsoup from 2.67.2 to 2.67.3: 151 152 * WebSockets: allow sending empty binary data [Carlos Garcia Campos] 153 154 * WebSockets: fail and load the connection on invalid payload length [Carlos Garcia Campos] 155 156 * WebSockets: allow NULL characters in text messages data [Carlos Garcia Campos] 157 158 * WebSockets: Close connection on wrongly masked/unmasked frame as per RFC [Carlos Garcia Campos] 159 160 * WebSockets: other code fixes [Carlos Garcia Campos] 161 162 * NTLM: Fix NTLMv2 authentication [Thibaut Robert] 163 164 * SoupMessage: fix several deprecation warnings related to private data [Claudio Saavedra] 165 166Changes in libsoup from 2.67.1 to 2.67.2: 167 168 * gobject-introspection: Fix annotation for soup_auth_new() 169 [Rico Tzschichholz] 170 171 * brotli: Do not advertise the decoder as it's failing with 172 some websites [Patrick Griffis] 173 174 * Meson: Fix xml2 and sqlite fallbacks [Xavier Claessens] 175 176 * HSTS: Add SoupHSTSEnforcer:hsts-enforced signal [Claudio 177 Saavedra] 178 179 * HSTS: Fixes to the types used to store policies in the 180 SQLite storage [Claudio Saavedra] 181 182 * HSTS: Accept Strict-Transport-Security regardless of casing 183 [Claudio Saavedra] 184 185 * WebSockets: Ensure messages finishes when handshake fails 186 [Carlos Garcia Campos] 187 188 * WebSockets: Fix critical warnings and test failures [Carlos 189 Garcia Campos] 190 191Changes in libsoup from 2.66.2 to 2.67.1: 192 193 * Add a brotli decoder. This adds a new dependency on libbrotli 194 [Patrick Griffis] 195 196 * Add strict secure cookies support [Patrick Griffis] 197 198 * Add HSTS enforcer SoupSession feature (with both memory 199 and sqlite backends) [Adrien Plazas, Claudio Saavedra] 200 201 * meson gtk-doc documentation fixes [Claudio Saavedra] 202 203 * Bump the CI test image to Fedora 30 and add libbrotli 204 dependency [Claudio Saavedra] 205 206Changes in libsoup from 2.66.1 to 2.66.2: 207 208 * Make gettext optional (might not be available in Windows) 209 [Seungha Yang] 210 211 * MSVC: set encoding to UTF-8 to avoid errors [Seungha Yang] 212 213 * MinGW tests build fix [Tomas Popela] 214 215 * Check for TLS support only when external glib dependency is available 216 [Seungha Yang] 217 218Changes in libsoup from 2.66.0 to 2.66.1: 219 220 * Fix dylib versioning in MacOS [Tom Schoonjans] 221 222 * Visual Studio build fixes [Chun-wei Fan] 223 224 * MinGW build fixes [Руслан Ижбулатов] 225 226 * Meson build system improvements [Claudio Saavedra, Jakub Adam] 227 228 * Fix random CI failures due to parallel apache tests [Claudio Saavedra] 229 230 * Code cleanups [Claudio Saavedra] 231 232Changes in libsoup from 2.65.92 to 2.66.0: 233 234 * Fix lookup for libxml2 on Visual Studio builds [Chun-wei Fan] 235 236Changes in libsoup from 2.65.91 to 2.65.92: 237 238 * SoupConnection: Fix check for remote disconnectin idle state 239 [Michael Catanzaro, #134] 240 241 * Code cleanups and warnings fixed [Michael Catanzaro] 242 243 * Remove stale .pc.in files [Claudio Saavedra, #137] 244 245 * Updated translations: Dutch 246 247Changes in libsoup from 2.65.90 to 2.65.91: 248 249 * Remove RFCs from sources [Tomas Popela, #133] 250 251Changes in libsoup from 2.65.2 to 2.65.90: 252 253 * Avoid using threads in SoupRequestFile asynchronous API 254 [Ignacio Casal Quinteiro] 255 256Changes in libsoup from 2.65.1 to 2.65.2: 257 258 * Remove autotools build system and change to meson by default 259 [#12, Tomas Popela] 260 261 * Many fixes to Meson [Claudio Saavedra, Tomas Popela, Xavier 262 Claessens] 263 264 * Improvements to the continuous integration infrastructure 265 [Xavier Claessens] 266 267 * Make sure SoupSession features are not disposed until all 268 pending messages are processed [#130, Claudio Saavedra] 269 270 * Updated translations: Greek, Slovak, French. 271 272Changes in libsoup from 2.64.0 to 2.65.1: 273 274 * Added MTLMv2 responses support [Michal Hrubý] 275 * Many fixes to the meson build system [Tomas Popela] 276 * Remove Visual Studio project files [Chun-wei Fan] 277 * Enable VAPI by default [#119, Jeremy Bicha] 278 * New strict header field parameter parsing API [Claudio Saavedra] 279 * Code cleanups [Claudio Saavedra] 280 * Updated translations: Belarusian, Serbian 281 282Changes in libsoup from 2.63.92 to 2.64.0: 283 284 * Many fixes to the meson build system [#7, #8, #9, #11, Tomas Popela] 285 * Updated translations: Brazilian Portuguese, Galician, 286 Hungarian, Latvian, Danish. 287 288Changes in libsoup from 2.63.91 to 2.63.92: 289 290 * Make sure that XMLRPC tests build in Debian too [Claudio Saavedra] 291 * Distribute missing meson files [Claudio Saavedra] 292 * Some fixes to the meson build files [Claudio Saavedra] 293 * Updated Korean and Swedish translations 294 295Changes in libsoup from 2.63.90 to 2.63.91: 296 297 * Simplify soup_hosts_matches_host() [Claudio Saavedra] 298 * Add new tests for trailing dots in domain names [Claudio Saavedra] 299 * Updated Turkish translation 300 301Changes in libsoup from 2.63.2 to 2.63.90: 302 303 * Set default cookie path for NULL origins [#1, Adrian Perez de Castro] 304 * Fixes to GObject-introspection [bgo#794787, Corentin Noël] 305 * Use atomic-refcounting in classes that are not using GObject-refcounting 306 [bgo#785110, Edward Hervey] 307 * Many Coverity-found code fixes [bgo#781771, Milan Crha] 308 * Bail out on cookie-jar calls with empty hostnames [#3, Michael Catanzaro] 309 * Fixes to the simple-httpd example [#2, Mooffie] 310 * Updated translations: Chinese (Taiwan), Catalan 311 312 Note: from now onwards bgo# references bugs in GNOME Bugzilla 313 and # issues in GNOME gitlab. 314 315Changes in libsoup from 2.63.1 to 2.63.2: 316 317 * Many fixes to the meson build system support [#795324, 318 #782410, Tomas Popela, Jan Alexander Steffens] 319 * Fixes to xmlrpc-server test with PHP >= 7.2 and related 320 [#795111, #782410 Jan Alexander Steffens] 321 * Fix critical warning in SoupSocket [Carlos Garcia Campos] 322 * Updated translations: Romanian, Friulian, Slovenian, 323 Czech, Spanish, Indonesian, Chinese (China). 324 325Changes in libsoup from 2.62.0 to 2.63.1: 326 327 * Fix digest authentication with encoded URIs [#794208, 328 Claudio Saavedra] 329 * Avoid unaligned memory accesses in WebSocket implementation 330 [#794421, Rolf Eike Beer] 331 * Use base domain to decide if cookies are third-party [#792130, 332 Michael Catanzaro] 333 * Fix crash under soup_socket_new() [#762138, Milan Crha] 334 * Use libpsl for the SoupTLD API instead of shipping a copy of 335 the public-suffix list [#769650, Claudio Saavedra] 336 * Introspection documentation fixes [#795135, Claudio Saavedra] 337 * Minor cleanups and fixes [Tomas Popela] 338 * Initial meson build system support [#784212, Sebastian Dröge, 339 Chun-wei Fan, Tomas Popela] 340 * Various fixes to the meson build system [#795233, Iñigo Martinez] 341 * Updated translations: Chinese, Croatian, Italian, Slovak. 342 343Changes in libsoup from 2.61.91 to 2.62.0: 344 345 * Updated translations. 346 347Changes in libsoup from 2.61.90 to 2.61.91: 348 349 * Add limit to header length to avoid DOS attacks 350 [#792173, Michele Dionisio] 351 352 * Update the public-suffix list. 353 [Claudio Saavedra] 354 355 * Revert "cookie-jar: use base domain to decide if cookie is third party" 356 [#792130, Claudio Saavedra] 357 358Changes in libsoup from 2.61.2 to 2.61.90: 359 360 * Various improvements to the WebSocket implementation 361 [#792113, Italo Guerrieri] 362 363 * cookie-jar: use base domain to decide if cookie is third party 364 [#792130, Michael Catanzaro] 365 366 * Add new API to create a new connection from a SoupSession 367 [#792212, Carlos Garcia Campos] 368 369 * soup-headers: accept any 3 digit number as message status code 370 [#792124, Carlos Garcia Campos] 371 372Changes in libsoup from 2.61.1 to 2.61.2: 373 374 * session: don't request Keep-Alive for upgraded connections 375 [#788723, Lionel Landwerlin] 376 377Changes in libsoup from 2.60.2 to 2.61.1: 378 379 * tld-parser: use Python 3 [#785735, Ross Burton] 380 381 * Fix heap-buffer-overflow in soup_ntlm_parse_challenge() 382 [#788037, Milan Crha] 383 384 * Fix possibly uninitialized value in ssl-test 385 [Tomas Popela] 386 387 * SoupCache: fix the timestamp for responses [#791031, 388 Claudio Saavedra] 389 390Changes in libsoup from 2.60.1 to 2.60.2: 391 392 * Fix documentation typos [#788920, Nirbheek Chauhan] 393 394 * format-zero-length warning triggered in soup-logger.c 395 [#789096, Tomas Popela] 396 397 * Warnings while generating inrospection files 398 [#789099, Tomas Popela] 399 400 * Visual Studio builds: Enhance security of x64 binaries 401 [Chun-wei Fan] 402 403 * Updated translation: Nepali. 404 405Changes in libsoup from 2.60.0 to 2.60.1: 406 407 * Fallback to another authentication type if the current 408 failed [#788238, Tomas Popela] 409 410 * Fix unbalanced G_GNUC_BEGIN_IGNORE_DEPRECATIONS use in 411 soup-session.c [#787166, Zan Dobersek] 412 413 * SoupCache: fix setting default value for cache dir 414 [#788452, Cosimo Cecchi] 415 416 * Updated translations: Catalan (Valencian). 417 418Changes in libsoup from 2.59.90.1 to 2.60.0: 419 420 * New/updated translations: Catalan, Danish, Dutch, Nepali 421 422Changes in libsoup from 2.59.90 to 2.59.90.1: 423 424 * CVE-2017-2885: Fixed a chunked decoding buffer overrun that 425 could be exploited against either clients or servers. 426 [#785774] 427 428Changes in libsoup from 2.58.0 to 2.59.90: 429 430 * Several SoupAuthNegotiate compatibility fixes [#783780, 431 #783781, Tomas Popela] 432 433 * Include a payload in SoupWebsocketConnection's "ping" 434 messages (to avoid problems with certain buggy server 435 implementations), and emit a signal when receiving a "pong" 436 (to allow apps to notice when the remote peer has 437 disconnected them). [#785660, David Woodhouse] 438 439 * Fix the interpretation of wss:// URIs, which previously 440 mostly didn't work. [#784766, Nirbheek Chauhan]. 441 442 * Fixed SoupContentSniffer behavior on XML files with no 443 Content-Type 444 [https://bugs.webkit.org/show_bug.cgi?id=173923] 445 446 * Fixed a bug with cancelling async requests [#773257, Carlos 447 Garcia Campos] 448 449 * Reverted the (undocumented) change in 2.58.0 to call 450 soup_session_abort() after changing 451 SoupSession:proxy-resolver; while this made its behavior 452 more consistent with :proxy-uri, it ended up breaking 453 things. [#781590] 454 455 * Allow HTTP responses that have no trailing CRLF after the 456 response headers (and no body) [#780352, Carlos Garcia 457 Campos] 458 459 * Fixed an out-of-bounds read in SoupURI parsing [#785042] 460 461 * Fixed a spurious (debug-level) error message in 462 SoupWebsocketConnection [#784935, Ignacio Casal Quinteiro] 463 464 * Fixed introspection annotations on 465 soup_message_headers_get_content_range() [Philip Withnall] 466 467 * Fixed a flake in tests/header-parsing [#777258] 468 469 * Update tests/test-cert.pem to use stronger algorithms to 470 avoid problems with newer gnutls. [#784949, Jan Alexander 471 Steffens] 472 473 * Fixed examples/get to not accidentally break https 474 certificate validation [#784259, Sebatian Dröge] 475 476 * Misc updates to apache/php stuff in unit tests: 477 * Dropped support for Apache 2.2 478 * Deal with mod_unixd being compiled-in [#776478] 479 * Switched PHP support from PHP 5 to PHP 7 480 481 * Updated translations: 482 Esperanto, Turkish 483 484Changes in libsoup from 2.2.57.1 to 2.58.0: 485 486 * Fix authentication issues when the SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE 487 flag is used. [#778497, #777936, Carlos Garcia Campos] 488 489 * MSVC build improvements (Chun-wei Fan) 490 491 * Updated translations: 492 Basque, Belarusian, Brazilian Portuguese, Chinese (Taiwan), Danish, 493 French, Galician, Greek, Indonesian, Italian, Korean, Latvian, 494 Lithuanian, Norwegian bokmål, Russian, Serbian, Slovak, Slovenian, 495 Spanish, zh_CN 496 497Changes in libsoup from 2.56.0 to 2.57.1: 498 499 * Added SoupWebsocketConnection:keepalive-interval, to make a 500 connection send regular pings. [#773253, Ignacio Casal 501 Quinteiro] 502 503 * Added soup_auth_manager_clear_cached_credentials() and 504 SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE, to allow greater control 505 over the use of cached HTTP auth credentials. [#774031, 506 #774033, Carlos Garcia Campos] 507 508 * Fixed the use of SoupSession:proxy-uri values containing 509 passwords. [#772932, Jonathan Lebon] 510 511 * Various minor WebSocket fixes [Ignacio Casal Quinteiro]: 512 * Avoid sending data after we start closing the 513 connection [#774957] 514 * Do not log a critical if the peer sends an invalid 515 close status code 516 * Log a debug message when a "pong" is received 517 518 * Fixed introspection of 519 soup_message_headers_get_content_range() [Jasper St. Pierre] 520 521 * Replaced Vala [Deprecated] annotations with [Version] to 522 avoid build warnings [#773177, Evan Nemerson] 523 524 * MSVC build improvements (Chun-wei Fan) 525 526 * Updated error/message strings to use Unicode punctuation. 527 [#772217, Piotr Drąg] 528 529 * Updated translations: 530 Czech, Friulian, German, Hebrew, Hungarian, 531 Norwegian bokmål, Polish, Swedish 532 533Changes in libsoup from 2.55.90 to 2.56.0: 534 535 * Added SoupWebsocketConnection:max-incoming-payload-size 536 property, to override the default maximum incoming payload 537 size. [#770022, Ignacio Casal Quinteiro] 538 539 * Added soup-version.h symbols (in particular 540 soup_check_version()) to introspection. [#771439, Rico 541 Tzschichholz] 542 543 * Updated the copy of the public suffix list used by SoupTLD 544 [#769650, Michael Catanzaro] 545 546 * Updated translations: 547 British English, Greek, Polish 548 549Changes in libsoup from 2.54.1 to 2.55.90: 550 551 * Removed support for SSLv3 fallback; sites that reject TLS 552 1.x handshakes will now just fail with an error. (Firefox 553 and Chrome have both already switched to this behavior.) 554 [#765940, Dan Winship] 555 556 * Fixed the parsing of <double>s in the new GVariant-based 557 XMLRPC code. [#767707, Dan Winship] 558 559 * Fixed soup_server_set_ssl_cert_file(), which was added in 560 2.48 but didn't actually work... [patch on libsoup-list from 561 Sean DuBois] 562 563 * Added GObject properties to SoupLogger to make it 564 bindings-friendly. [#768053, Jonh Wendell] 565 566 * Fixed build error on FreeBSD [#765376, Ting-Wei Lan] 567 568 * Fixed build with certain new versions of glibc that define 569 "EOF" as a macro. [#768731, Philip Withnall] 570 571 * Updated m4/ax_code_coverage.m4 with support for lcov 1.12 572 [Philip Withnall] 573 574 * Updated po files for future gettext versions [Piotr Drąg] 575 576 * New/updated translations: 577 Occitan, Scottish Gaelic 578 579Changes in libsoup from 2.54.0.1 to 2.54.1: 580 581 * *** IMPORTANT *** 582 Fixed an ABI break in 2.54.0 caused by adding a member to 583 SoupAuthClass; 2.54.1 is ABI-compatible with 2.53.92 and 584 earlier, but NOT with the anomalous 2.54.0. If you built 585 packages against 2.54.0, you will need to rebuild them 586 against 2.54.1. 587 588 * Fixed NTLM authentication when ntlm_auth from the latest 589 version of Samba is present. [#765106, Milan Crha] 590 591 * Updates to MSVC build, including for GSS-API support 592 [Chun-wei Fan] 593 594 * Updated translations: 595 Friulian 596 597Changes in libsoup from 2.53.92 to 2.54.0.1: 598 599 * (2.54.0.1 fixes a build problem with the 2.54.0 tarball, 600 which would not build if you configured with 601 "--without-gnome". There are no other changes between 2.54.0 602 and 2.54.0.1.) 603 604 * Fixed examples/simple-httpd on Windows [#758759, Chun-wei 605 Fan] 606 607Changes in libsoup from 2.53.90 to 2.53.92: 608 609 * libsoup now supports HTTP "Negotiate"/GSSAPI/Kerberos 610 authentication. It must be enabled specifically by the 611 application and is also subject to certain other 612 restrictions, some of which are not yet controllable through 613 the API. [#587145, Guido Guenther, Tomas Popela, David 614 Woodhouse, Dan Winship] 615 616 * Added support for building under MSVC [#758759, Chun-wei 617 Fan] 618 619 * Fixed a problem with the 2.53.90 tarball that caused 620 translations to be mis-installed. 621 622 * Updated translations: 623 Occitan 624 625Changes in libsoup from 2.53.2 to 2.53.90: 626 627 * NUL bytes in headers are now ignored [#760832, Dan Winship] 628 629 * Fixed transfer annotation of soup_form_decode* functions 630 [#743966, Lionel Landwerlin] 631 632 * Updated translations: 633 Bulgarian, Latvian, Norwegian bokmål 634 635Changes in libsoup from 2.53.1 to 2.53.2: 636 637 * Fixed up symbol visibility handling for mingw by copying 638 GLib's system [Ignacio Casal Quinteiro, #757146] 639 640 * Finally marked the old SoupSessionAsync and SoupSessionSync 641 methods as deprecated [Ignacio Casal Quinteiro, Dan Winship, 642 #757146] 643 644 * Added libsoup-2.4.deps for valac [Rico Tzschichholz] 645 646 * Make it possible to build from git without gtk-doc being 647 installed [Ignacio Casal Quinteiro] 648 649 * Updated translations: 650 Norwegian bokmål, Occitan 651 652Changes in libsoup from 2.52.1 to 2.53.1: 653 654 * Really fixed build under MinGW for sure this time [Ignacio 655 Casal Quinteiro] 656 657 * Fixed SoupServer Web Sockets code so that the 658 SoupClientContext passed to a SoupServerWebsocketCallback is 659 fully usable (rather than crashing when you try to do most 660 things). 661 662Changes in libsoup from 2.52.0 to 2.52.1: 663 664 * Fixed build under MinGW [Chun-wei Fan] 665 666 * Fixed build with --disable-introspection [#755389, Quentin 667 Glidic] 668 669 * Fixed HTTP authentication protection space handling for 670 files directly under the root directory. [#755617, Carlos 671 Garcia Campos] 672 673 * Fixed a warning when loading data from SoupCache while using 674 an authenticated proxy. [#756076, Carlos Garcia Campos] 675 676 * Updated translations: 677 German, Vietnamese 678 679Changes in libsoup from 2.51.92 to 2.52.0: 680 681 * Removed duplicate test paths from tests/date so it will pass 682 with glib 2.46.0 683 684Changes in libsoup from 2.51.90 to 2.51.92: 685 686 * Added g_autoptr() support for all libsoup types. [#754721, 687 Kalev Lember] 688 689 * Added a missing (allow-none) annotation to 690 soup_uri_normalize() [#754776, Jens Georg] 691 692 * Updated translations: 693 Polish 694 695Changes in libsoup from 2.51.3 to 2.51.90: 696 697 * Added a new GVariant-based XMLRPC API, and deprecated the 698 old GValue-based API (along with the associated 699 GValue-manipulating utilities). [#746495, Xavier Claessens] 700 701 * Multiple build fixes for Visual Studio [#752952, Chun-wei Fan] 702 703 * Added VAPI generation [#750679, Daniel Espinosa] 704 705 * Fixed the mode bits on soup-cookie.c, which was previously 706 marked executable for some reason. [rh #1247285] 707 708 * Updated translations: 709 Norwegian bokmål, Portuguese, Thai, Turkish 710 711Changes in libsoup from 2.50.0 to 2.51.3: 712 713 * Fixed "make check" in non-English locales [rh #1224989, 714 #749397] 715 716 * Fixed some compiler warnings [#748514, Philip Withnall] 717 718 * New/Updated translations: 719 Aragonese, Catalan, Occitan, Russian 720 721Changes in libsoup from 2.49.92 to 2.50: 722 723 * Updated translations: 724 Basque, Chinese (Taiwan), Danish, Indonesian, 725 Norwegian bokmål 726 727Changes in libsoup from 2.49.91.1 to 2.49.92: 728 729 * Fixed an NTLM problem that caused spurious "Authentication 730 Failed" errors in evolution-ews. [#735197] 731 732 * New/updated translations: 733 Bosnian, Czech, Greek, Hebrew, Italian, Korean, Lithuanian, 734 Polish, Serbian, Slovak, Slovenian, Spanish, Swedish 735 736Changes in libsoup from 2.49.1 to 2.49.91.1: 737 738 * WebSockets! Libsoup now has support for WebSockets in both 739 SoupSession and SoupServer. [#627738, Dan Winship and Lionel 740 Landwerlin, based on code from the Cockpit project] 741 742 * The WebSocket code in libsoup 2.49.91 did not build on 743 32-bit architectures. 2.49.91.1 was released to fix 744 this. 745 746 * Added support for NTLMv2 Session Security to SoupAuthNTLM. 747 (This is transparent to the app/user; if the server supports 748 it, it will be used.) [#739192, Adam Seering] 749 750 * Added soup_server_accept_iostream() to allow feeding a 751 non-GSocketConnection GIOStream to SoupServer (eg, when 752 accepting HTTP requests on some other sort of connection). 753 [#744186, Marc-André Lureau] 754 755 * Added soup_session_steal_connection() and 756 soup_client_context_steal_connection(), to allow you to 757 steal a GIOStream from a SoupSession or SoupServer and then 758 use it for non-HTTP purposes. [#721343, Dan Winship] 759 760 * Added soup_server_add_early_handler(), for adding SoupServer 761 handlers to run at :got-headers time rather than :got-body 762 (eg, to set up a streaming read of the request body). 763 [#625645, Dan Winship] 764 765 * Added a new SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag, 766 which can be used to bypass SoupSession:max-conns and 767 SoupSession:max-conns-per-host on a per-message basis. 768 [#744720, Carlos Garcia Campos] 769 770 * Multiple SoupCache fixes from Carlos Garcia Campos: 771 772 * Leaked resources are now cleaned up when opening the 773 cache. [#667682] 774 775 * The "Age" header is no longer added to cached 776 responses. [#741108] 777 778 * Fixed the interpretation of the "must-revalidate" 779 directive to not be stricter than required. [#744468] 780 781 * Messages retrieved from cache now behave slightly more 782 like non-cache messages in terms of SoupSession 783 signals and timing. [#744788] Additionally, there is a 784 new SoupMessage::starting signal, which is like 785 SoupSession::request-started, but emitted for cached 786 resources as well. [#731153] 787 788 * Fixed soup_session_cancel_message() to work reliably on 789 paused messages. [#745094, Sven Neumann] 790 791 * Added code-coverage support to the build. [#744744, 792 Marc-André Lureau] 793 794 * Fixed the library symbol check in "make check" to work when 795 building with linker options that result in slightly 796 different organization. [#741348, Iain Lane] 797 798 * Added a hack to SoupSessionFeature so that people will stop 799 re-reporting an old Eclipse bug against libsoup. [#710242] 800 801 * Miscellaneous bug and leak fixes in the test programs, leak 802 fixes in libsoup, and documentation updates. 803 804 * Updated translations: 805 Brazilian Portuguese, French, Galician, Hungarian, Slovak, 806 Slovenian, Spanish, Turkish 807 808Changes in libsoup from 2.48.0 to 2.49.1: 809 810 * Fixed a bug in the SoupMessage:event signal that broke 811 evolution's ability to connect to https hosts with "bad" 812 certificates. [#739951, Dan Winship] 813 814 * Fixed a case where the async codepaths could potentially 815 block on a synchronous write [#727138, Dan Winship] 816 817 * Fixed the symbol soup_server_set_ssl_cert_file() to get 818 exported, and added soup_server_get_uris() to the 819 documentation. [Tristan Van Berkom] 820 821 * Improved a bunch of introspection annotations [#729987, Evan 822 Nemerson] 823 824 * Clarified some documentation. [Tristan Van Berkom, Dan 825 Winship] 826 827 * Fixed Windows build, twice [#738003, Kouhei Sutou, and 828 #738551, Kalev Lember]. 829 830 * Updated translations: 831 Bengali (Indian), Chinese (Traditional), Italian, Latvian, 832 Serbian, Telugu, Ukranian 833 834Changes in libsoup from 2.47.92 to 2.48.0: 835 836 * Updated translations: 837 Bengali (India), Danish, German, Hindi, Kannada, Punjabi 838 839Changes in libsoup from 2.47.4 to 2.47.92: 840 841 * Fixed a crash in SoupCache when receiving certain invalid 842 Cache-Control headers. [#733587, Raveendra Karu] 843 844 * Updated translations: 845 Assamese, Basque, Catalan (Valencian), Catalan, Chinese 846 (Traditional), French, Gujarati, Hungarian, Indonesian, 847 Korean, Marathi, Norwegian bokmål, Oriya, Polish, Swedish, 848 Tamil 849 850Changes in libsoup from 2.47.3 to 2.47.4: 851 852 * Fixed two crashes that could occur in multithreaded use 853 (in particular, with the latest git gvfs). [#732783, 854 #732925, Ross Lagerwall] 855 856 * Fixed the handling of data: URIs with base64-encoded data 857 but no explicit MIME type. [#732112, Raveendra Karu]. Added 858 tests for this and other data: URI cases. [Dan] 859 860 * Fixed a bug in SoupAuthNTLM that affected 28-character-long 861 passwords. [#732087, David Woodhouse] 862 863 * Fixed tests to pass with GLib git master (which warns if you 864 use deprecated GObject properties, and which also caught a 865 mutex-handling bug in test-utils.c) 866 867 * Updated translations: 868 Galician, Greek, Lithuanian, Russian 869 870Changes in libsoup from 2.46.0 to 2.47.3: 871 872 * Added new-and-improved SoupServer API, and deprecated much 873 of the existing API: 874 875 * Servers can now listen on multiple ports, including 876 listening on both IPv4 and IPv6 (which is the default 877 behavior when using the new API), or serving both http 878 and https from a single SoupServer. 879 880 * You can create a SoupServer from an existing listening 881 socket (either a file descriptor or a GSocket). 882 883 * When using the new APIs, SoupServer now obeys the 884 thread-default GMainContext rather than using the 885 :async-context property. 886 887 * soup_server_set_ssl_cert_file() allows setting the 888 certificate and key files with feedback if it fails 889 (unlike the old construct-time "ssl-cert-file" and 890 "ssl-key-file" properties, which fail with a 891 g_warning() and a NULL return from g_object_new() if 892 they fail). 893 894 * SoupClientContext has new methods that return GSocket 895 and GSocketAddress, rather than SoupSocket and 896 SoupAddress. 897 898 * SoupSession now has a :tls-interaction property, which can 899 be used to add a GTlsInteraction to a session, allowing it 900 to provide a client-side certificate if the server requests 901 one. [#334021, Colin Walters] 902 903 * soup_session_abort() no longer tries to close active 904 connections, which was causing crashes in evolution 905 [rh#1093314] 906 907 * Fixed a GMainContext-handling bug that could cause crashes 908 in gstreamer's souphttpsrc. [#729737, Dmitry Shatrov] 909 910 * Fixed a memory leak when requesting to delete a cookie that 911 didn't exist [Joseph Artsimovich] 912 913 * Updated translations: 914 Brazilian Portuguese, Czech, Hebrew, Spanish 915 916Changes in libsoup from 2.45.92 to 2.46.0: 917 918 * (No changes, just a version bump) 919 920Changes in libsoup from 2.45.90 to 2.45.92: 921 922 * Fixed problems with using an http proxy on port 80. [patch 923 from Slava Monich on libsoup-list] 924 925 * Plugged a small per-connection leak. [patch from Slava 926 Monich on libsoup-list] 927 928 * Belatedly bumped up the glib requirement to 2.38, which is 929 required for the TAP driver. 930 931 * Fixed up some leftover issues from the test porting to 932 gtestutils: 933 934 test-utils: change http_debug command-line flag 935 xmlrpc-test: use g_test_skip() 936 redirect-test: remove a flaky test 937 auth-test: remove some erroneous SKIP_IF_NO_APACHEs 938 tests: split up some test programs into more tests 939 tests: remove debug_printf()s that are redundant with test names 940 tests: use g_test_bug() to annotate test cases 941 942Changes in libsoup from 2.45.3 to 2.45.90: 943 944 * Fixed a problem where libsoup would use the "http" proxy 945 settings for "https" requests [#724316, Matt Barnes] 946 947 * Updated SoupContentSniffer to match the current version of 948 the MIME sniffing specification [#648849 / #715126, Gustavo 949 Noronha Silva] 950 951 * Updated the soup-tld APIs to accept ASCII-encoded hostnames 952 in addition to UTF-8 ones. 953 954 * Ported the test programs to the gtestutils framework, added 955 support for installed tests, and made the tests use the TAP 956 driver. 957 958 Some tests still need to be split up into more pieces, and 959 the debug output is now somewhat less useful in some cases. 960 961 * Fixed the test programs to not depend on local proxy 962 settings. 963 964 * Added some more checks to header-tests [#722341, Lionel 965 Landwerlin] 966 967 * Fixed the "simple-proxy" example program, which had been 968 broken for a while. 969 970 * Updated translations: 971 Korean 972 973Changes in libsoup from 2.44.1 to 2.45.3: 974 975 * The documentation has finally been updated to reflect the 976 new APIs added in 2.42. 977 978 * Added GBytes-valued :request-body-data and 979 :response-body-data properties to SoupMessage, which should 980 help some bindings. 981 982 * We now set TCP_NODELAY on sockets, improving throughput a 983 bit. In particular, this avoids an unnecessary extra round 984 trip in the TLS handshake. 985 986 * The SoupSession APIs that return GErrors now return the 987 actual underlying gio errors in the event of connection 988 failures and the like. 989 990 * Updated the copy of the Public Suffix list used by soup-tld. 991 992 * Fixed a hang with internet radio streams in Rhythmbox (and 993 some other places). [#710494, Dan] 994 995 * Fixed a connection leak when cancelling the close of 996 a message GInputStream. [#711260, Dan] 997 998 * Updated the soup_server_pause_message() / 999 soup_server_unpause_message() documentation to clarify when 1000 you can and can't call them. [#710602, Philip Withnall] 1001 1002 * soup_message_set_request() and soup_message_set_response() 1003 now g_warn_if_fail() if you pass an invalid Content-Type. 1004 (And they also have better introspection annotations.) 1005 [#686766, Dan] 1006 1007 * Plugged a few memory leaks [#711085, Christophe Fergeau] 1008 1009 * Fixed connection-test to pass with current glib [#711361, 1010 Colin Walters] 1011 1012 * session-test now passes when run against the dummy TLS 1013 backend (ie, if you don't have glib-networking installed), 1014 as long as you have the latest glib. 1015 1016 * Fixed build with -Werror=format-nonliteral [#720082, Ryan 1017 Lortie] 1018 1019 * Fix build with --without-ntlm [#710267, Dan] 1020 1021 * Fixed a few warnings [Dan, Fabiano Fidêncio] 1022 1023 * Tests are now more verbose by default under "make check", 1024 since current automake just redirects all the output to a 1025 log file anyway. 1026 1027 * Updated translations: 1028 Chinese 1029 1030Changes in libsoup from 2.44.0 to 2.44.1: 1031 1032 * If you called g_input_stream_close() on SoupMessage or 1033 SoupRequests's GInputStream before you finished reading it, 1034 it would block until the rest of the response had been read 1035 (which in the case of, eg, an infinite audio stream, meant 1036 that it would block forever). This was an unintended change 1037 from 2.42 and is now fixed. [#695652, Dan] 1038 1039 * soup_session_queue_message() on a plain SoupSession (not 1040 SoupSessionAsync) was operating synchronously rather than 1041 asynchronously as it should have. [#707711, Dan] 1042 1043 * soup-form methods now use the HTML5 x-www-form-urlencoded 1044 rules rather than the HTML4 ones. (In particular, they leave 1045 "-", "_", and "." unencoded.) [#708621, Alban Browaeys] 1046 1047 * The test programs now explicitly request the "memory" 1048 GSettings backend, meaning they won't print a warning if 1049 they get it accidentally, and they won't accidentally use 1050 the dconf proxy settings if the dconf backend is available. 1051 [Dan] 1052 1053 * Fix SoupSession so that if you override the proxy 1054 configuration at construct time, it doesn't try to resolve 1055 the default GProxyResolver. (This is important in particular 1056 for programs that expect to run outside a user session, 1057 which would otherwise spew errors from the dconf GSettings 1058 backend about not being able to connect to dconf.) Likewise 1059 with TLS settings and the TLS backend. [#708696, Dan] 1060 1061 * Fix the SoupServer:tls-certificate property; 1062 soup_server_is_https() had not been updated to recognize it, 1063 and so would return FALSE, which in turn meant that the 1064 server would return 400 Bad Request in response to https 1065 requests. [#709647, Fabiano Fidêncio] 1066 1067 * Fixed a sporadic failure in tests/connection-test. [Dan] 1068 1069 * Updated translations: 1070 Tajik 1071 1072Changes in libsoup from 2.43.92 to 2.44.0: 1073 1074 * New/updated translations: 1075 Dutch, Indonesian 1076 1077Changes in libsoup from 2.43.90 to 2.43.92: 1078 1079 * Fixed a bug in the connection-pool code, which would in 1080 certain cases accidentally keep using a connection after a 1081 message was cancelled while in progress, causing the next 1082 request on that connection to get the response to the 1083 previous request, etc. [#708006, David Woodhouse] 1084 1085 * Fixed some problems when falling back from samba 1086 single-sign-on-based NTLM to ordinary ask-for-a-password 1087 NTLM. [#703186, David Woodhouse] 1088 1089 * When sending a conditional GET request, SoupCache now 1090 preserves the original message's list of disabled features, 1091 ensure that it gets back the same kind of response the 1092 original message would have. [#706338, Andre Moreira 1093 Magalhaes] 1094 1095 * Fixed a warning when the remote host closes the connection 1096 while we are writing something using chunked encoding. 1097 [#703297, Dan] 1098 1099 * Added SoupServer:http-aliases and :https-aliases properties, 1100 to specify URI schemes that should be treated as though they 1101 were http (just like SoupSession:http-aliases and 1102 :https-aliases, but on the server side). [#703694, Dan] 1103 1104 * Fixed race conditions in cache-test and timeout-test that 1105 could case spurious failures. [#698305, #660581, Dan] 1106 1107Changes in libsoup from 2.43.5 to 2.43.90: 1108 1109 * Fixed the handling of unsatisfiable range requests in 1110 SoupServer [pointed out on mailing list, Dan]. Also, added 1111 more documentation clarifying that you don't need to handle 1112 range requests yourself in many cases. 1113 1114 * Fixed the handling of IPv6 address literals with scope IDs. 1115 (Requires the latest glib as well for the complete fix.) 1116 [#669724, Dan] 1117 1118Changes in libsoup from 2.43.4 to 2.43.5: 1119 1120 * SoupProxyURIResolver is now deprecated in favor of the 1121 SoupSession:proxy-resolver property (which takes a 1122 GProxyResolver). [#680273, Dan] 1123 1124 * The SoupKnownStatusCode enum is now called SoupStatus. The 1125 old name continues to exist as an alias, but is deprecated. 1126 (This change has no visible effect in C; it is primarily to 1127 help language bindings, so that, eg, SOUP_STATUS_NOT_FOUND 1128 maps to "Soup.Status.NOT_FOUND" rather than 1129 "Soup.KnownStatusCode.NOT_FOUND".) [#684409, Dan] 1130 1131 * Fixed the parsing of URI schemes in SoupURI (in particular, 1132 to allow scheme names with digits in them). [#703776, Dan] 1133 1134 * Fixed SoupLogger to print a message's response headers even 1135 if the message gets cancelled before the complete response 1136 body is received. [#703200, Andres Gomez] 1137 1138 * Fixed a build problem in non-UTF-8 locales [#702534, Ross 1139 Lagerwall] 1140 1141 * SoupSession now warns if you use 1142 soup_session_pause_message() or 1143 soup_session_unpause_message() on a synchronous message 1144 (which has never worked, though that fact wasn't 1145 documented). [#703461, Philip Withnall] 1146 1147Changes in libsoup from 2.43.2 to 2.43.4: 1148 1149 * Fixed a bug that could cause synchronous sessions to get 1150 stuck in a state where no new messages would ever get 1151 processed. [#703463, Philip Withnall] 1152 1153 * Fixed another memory leak in SoupSocket (found while 1154 added a test case for #700472) 1155 1156 * Switched to using g_cclosure_marshal_generic() rather than 1157 using glib-genmarshal. [#686042, Olivier Blin] 1158 1159 * Changed SoupServer to call unref() on the query hash table 1160 after calling the handler, rather than destroy(), so that 1161 the handler can keep a copy of the query data if it wants. 1162 [#702793, Bernhard Schuster] 1163 1164 * Fixed a few introspection annotations 1165 1166 * Updated examples/get to use SoupLogger and to allow 1167 redirecting the output to a file [#703231, #703229, Andres 1168 Gomez] 1169 1170Changes in libsoup from 2.43.1 to 2.43.2: 1171 1172 * Fixed an authentication error when using NTLM when 1173 connecting to an https site over a proxy; the code was 1174 getting confused and thinking that the 200 OK response to 1175 the CONNECT meant that NTLM auth had succeeded. [#698728, 1176 Dan] 1177 1178 * Fixed a memory leak in SoupSocket. [#700472, Richard 1179 Röjfors] 1180 1181 * Fixed a missing include error on some platforms [#700003, 1182 Erik van Pienbroek] 1183 1184 * Fixed warnings when running against the "dummy" TLS backend. 1185 [#700518, Dan] 1186 1187Changes in libsoup from 2.42.1 to 2.43.1: 1188 1189 * Including <libsoup/soup.h> no longer pulls in the system 1190 networking headers. This may cause some packages to no 1191 longer compile, if they were accidentally depending on this. 1192 Adding "#include <gio/gnetworking.h>" will fix them on both 1193 unix and Windows. (This was done as part of fixing the build 1194 on Windows.) [#692134, Dan] 1195 1196 * Fixed SoupSession:proxy-resolver [#698163, Dan] 1197 1198 * Added soup_message_set_priority(), to mark messages as being 1199 high, low, or normal priority, and update the message queue 1200 to prioritize them accordingly. [#696277, Sergio] 1201 1202 * Fixed several test programs to still work if glib-networking 1203 isn't installed [Dan], and fixed another to still work if 1204 the kernel has no IPv6 support. [#698220, Dan] 1205 1206Changes in libsoup from 2.42.0 to 2.42.1: 1207 1208 * Fixed SoupProxyResolverDefault, which got broken in 2.42.92. 1209 [#697028, Dan] 1210 1211 * Fixed a gigantic memory leak when using SoupCache. [#696594, 1212 Xan] 1213 1214 * Fixed a build problem on Windows. [#696354, Kalev Lember] 1215 1216 * Fixed ntlm-test to pass whether or not Samba ntlm_auth 1217 support was compiled in. [#697510, Dan] 1218 1219 * New/updated translations: 1220 Basque, Turkish 1221 1222Changes in libsoup from 2.41.92 to 2.42.0: 1223 1224 * Fixed a compiler warning on 32bit in a test program. [Kalev 1225 Lember] 1226 1227 * New/updated translations: 1228 Hindi, Kannada, Korean, Malayalam, Marathi, Odia, Persian, 1229 Tadjik, Tamil, Telugu 1230 1231Changes in libsoup from 2.41.91 to 2.41.92: 1232 1233 * Fixed a bug that caused libsoup to retry an incorrect 1234 password repeatedly, forever, in a certain case that 1235 affected Google calendars in evolution in particuar. 1236 [Red Hat bug #916224, Dan] 1237 1238 * Also added code to make such infinite retry loops impossible 1239 in the future. [Dan] 1240 1241 * Fixed SoupRequestData's handling of URIs with "%00" in them. 1242 [#695246, Žan Doberšek] 1243 1244 * Added the SoupSession:proxy-resolver property, to override 1245 the GProxyResolver used by a session. (This means there are 1246 now three different ways of controlling proxy resolution in 1247 SoupSession... this will be cleaned up a bit after 2.42.) 1248 [#680273, Dan] 1249 1250 * Added missing G_BEGIN_DECLS/G_END_DECLS to 1251 soup-message-headers.h, so that its functions can be called 1252 from C++. [Carlos Garcia Campos] 1253 1254 * Updated translations: 1255 Assamese, Belarusian, Brazilian Portuguese, Catalan 1256 (Valencian), Catalan, Danish, Estonian, French, Greek, 1257 Gujarati, Hungarian, Italian, Latvian, Portuguese, Russian, 1258 Slovenian, Thai 1259 1260Changes in libsoup from 2.41.90 to 2.41.91: 1261 1262 * Fixed a crash that showed up with XMLRPC requests in 1263 WebKitGTK. [#694920, Sergio] 1264 1265 * Fixed SoupCache to update the cached headers when it 1266 receives a 304 Not Modified response, and added a test for 1267 this. [#695121, Sergio] 1268 1269 * libsoup now builds under automake 1.13 (and "make check" 1270 works under the parallel test harness which is the default 1271 in 1.13) [#694135] 1272 1273 * The tests/ directory now contains only actual test programs 1274 that are run by "make check", and the programs that are 1275 intended more as example code are under examples/. 1276 1277 * New/updated translations: 1278 Aragonese, Chinese (traditional), Czech, Galician, Hebrew, 1279 Lithuanian, Norwegian bokmål, Punjabi, Spanish, Uyghur, 1280 Vietnamese 1281 1282Changes in libsoup from 2.41.5 to 2.41.90: 1283 1284 * Added SoupSession:local-address property, which allows you 1285 to force connections to bind to a particular local address 1286 (eg, to control the interface that is used). [#693215, Jonh 1287 Wendell] 1288 1289 * Fixed SoupCache to properly handle messages that get 1290 cancelled, and added tests for this. [#692310, Sergio] 1291 1292 * Fixed a reference leak in SoupCache that resulted in 1293 epiphany hanging for several seconds on exit and then 1294 eventually printing "Cache flush finished despite X pending 1295 requests". And added more tests. [#682527, Sergio] 1296 1297 * Fixed SoupAuthNTLM so that SoupSession:authenticate gets 1298 emitted with retrying=TRUE if the first attempt fails (ie, 1299 make it work the same way as SoupAuthBasic and 1300 SoupAuthDigest). [#693222, Dan] 1301 1302 * Fixed the SoupSession:add-feature-by-type property to accept 1303 non-SoupSessionFeature features as well (eg, auth types) 1304 [Dan] 1305 1306 * Fixed a build bug that would break all the apache-based 1307 tests if you didn't have PHP installed. [#693311, Dan] 1308 1309 * Updated translations: 1310 Malayalam, Polish, Serbian, Slovak 1311 1312Changes in libsoup from 2.41.4 to 2.41.5: 1313 1314 * Reverted the change to SoupURI's password handling from 1315 2.41.4, since it turns out to have broken some things. 1316 [#692149, Dan] 1317 1318 * Avoid a g_return_if_fail() when loading 1319 SoupSession:ssl-ca-file fails. [#691930, Guillaume 1320 Desmottes] 1321 1322 * Fixed a bug in SoupBodyInputStream that caused redirects in 1323 WebKitGTK to hang. [#692026, Sergio] 1324 1325 * Updated translations: 1326 Belarusian, Chinese (traditional), German, Italian, 1327 Norwegian bokmål, Serbian, Uyghur 1328 1329Changes in libsoup from 2.41.3 to 2.41.4: 1330 1331 * Lots of docs fixes, including catching up with some (but not 1332 all!) of the API additions and deprecations, and a new 1333 chapter with hints on porting from 1334 SoupSessionAsync/SoupSessionSync to the new-and-improved 1335 plain SoupSession. 1336 1337 * The plain SoupSession type now supports 1338 soup_session_queue_message() (with SoupSessionAsync 1339 semantics) and soup_session_send_message() (with 1340 SoupSessionSync semantics), and there are now 1341 soup_session_new() and soup_session_new_with_options(). 1342 1343 * The mirroring of the SoupMessage API onto SoupRequestHTTP, 1344 added in 2.41.3, has been reverted. However, new APIs 1345 soup_session_send() and soup_session_send_async() have been 1346 added that let you use the GInputStream-based API with 1347 SoupMessages rather than SoupRequest, so if you're doing 1348 HTTP-specific stuff, you can just use that instead. 1349 1350 * soup_message_get_https_status() now returns the certificate 1351 and flags for unsuccessful https connections as well as 1352 successful ones. [#690176] 1353 1354 * Fixed a deadlock when calling soup_session_abort() on a 1355 SoupSessionSync in some cases. [#691399] 1356 1357 * Internal SoupCache rewrites/improvements [#682112, Sergio] 1358 1359 * Plugged a memory leak in SoupCache [#690382, Sudarsana 1360 Nagineni] and one in SoupAuthDigest [#690142] 1361 1362 * LIBSOUP_DISABLE_DEPRECATED has been renamed to 1363 SOUP_DISABLE_DEPRECATED, but that's just to keep gtk-doc 1364 happy, and you shouldn't use it. You should use 1365 SOUP_VERSION_MIN_REQUIRED instead. 1366 1367 * Fixed the samba-windbind-based NTLM support, which appears 1368 to have been broken before. 1369 1370 * SoupAuthManager is now a public class (so you can remove it 1371 as a feature from a session, or disable it for a particular 1372 message). It also has a new method 1373 soup_auto_manager_use_auth(), which can be used to "preload" 1374 authentication for a host so that libsoup will use 1375 authentication on the very first request. 1376 1377 * SoupURI now treats "http://user@example.com" as having a 1378 password of "" rather than NULL, since a NULL password would 1379 not be valid for any known HTTP auth type. 1380 1381 * build: libsoup now uses autoreconf instead of 1382 gnome-autogen.sh, and no longer uses AM_GLIB_GNU_GETTEXT 1383 [Javier Jardon]. 1384 1385 * Updated translations: 1386 Assamese, Bulgarian, Estonian, Friulian, Galician, Hebrew, 1387 Polish, Slovenian, Spanish 1388 1389Changes in libsoup from 2.41.2 to 2.41.3 (codename: "I Left My 1390Deprecated APIs in A Coruña"): 1391 1392 * BUILD DEPENDENCY CHANGES: libsoup-gnome no longer depends on 1393 libgnome-keyring, and the sqlite3 dependency has been moved 1394 from libsoup-gnome to libsoup proper. (See below). 1395 1396 1397 * SoupRequest is now stable API. SoupRequester, however, is 1398 deprecated. Instead you can now call soup_session_request() 1399 or soup_session_request_uri() to create a SoupRequest. 1400 1401 Some documentation has been updated to reflect this, but 1402 much more still needs to be (in particular the "Client-side 1403 Tutorial"). 1404 1405 * SoupRequestHTTP now has a number of fields and methods that 1406 mirror the SoupMessage data, so you don't have to use 1407 soup_request_http_get_message() in many cases. On the flip 1408 side, there is also now soup_message_get_request(). And you 1409 can create a SoupRequestHTTP directly (and override its 1410 request method) by using soup_session_request_http() or 1411 soup_session_request_http_uri()). 1412 1413 * soup_message_set_chunk_allocator() is now deprecated; apps 1414 that want to do streaming reads should just use SoupRequest, 1415 which is vastly more sane. 1416 1417 1418 * SoupPasswordManager is now deprecated, and 1419 SoupPasswordManagerGNOME is now a no-op (and libsoup-gnome 1420 no longer links against libgnome-keyring). [#594377, #679866] 1421 1422 * SoupCookieJarSqlite is now deprecated in favor of 1423 SoupCookieJarDB, which is exactly the same thing except that 1424 it's in libsoup itself rather than being in libsoup-gnome 1425 (something that many people have requested). This means that 1426 libsoup now requires sqlite3... if this offends you horribly 1427 then you have a few months to speak up... 1428 1429 * SoupProxyResolverGNOME is now deprecated; there hasn't been 1430 any real reason to use it since SoupProxyResolverDefault was 1431 added. 1432 1433 * As a result of the last three items, libsoup-gnome now 1434 consists entirely of deprecated APIs, and there is no reason 1435 you should use it any more (though packagers need to keep 1436 building it, for backward compatibility). 1437 1438 1439 * SoupSession is no longer an abstract class, and you can 1440 create a plain SoupSession, which behaves in a more 1441 traditionally-gio-like way (allowing a mix of sync and async 1442 methods, etc). This "plain" SoupSession also has more sane 1443 default values of certain properties, and has certain 1444 SoupSessionFeatures built in. 1445 1446 This will eventually replace SoupSessionAsync and 1447 SoupSessionSync completely, but most of the documentation 1448 hasn't yet been updated at this point... 1449 1450 This change involved merging the majority of the 1451 SoupSessionAsync and SoupSessionSync code into SoupSession, 1452 getting rid of lots of redundancy in the process. There may 1453 be some bug fallout from this (probably on the 1454 SoupSessionSync side, since WebKit's tests tend to shake out 1455 all SoupSessionAsync bugs). However, this should help to 1456 avoid SoupSessionSync-only bugs in the future, since much 1457 more of the code is now shared. 1458 1459 1460 * Usernames and passwords passed into SoupSession a URI will 1461 now be cleared after they're used, so that if they are 1462 wrong, the authenticate signal will be emitted on the next 1463 round. [#689673, Martin Robinson] 1464 1465 * SoupURI now leaves "%00" in URIs as-is, rather than decoding 1466 it to "\0", which was not intended and is never useful. 1467 1468 * Fixed a bug in SoupBodyOutputStream that could cause libsoup 1469 to sometimes use blocking I/O rather than non-blocking when 1470 writing chunked message bodies. [#688974, Milan Plzik] 1471 1472 * Fixed a bug in SoupFilterInputStream that could cause some 1473 non-blocking reads to suck up CPU while waiting for the 1474 network. (This was noticed with multipart/x-mixed-replace 1475 processing; it's not clear if it affected anything else.) 1476 [Gustavo] 1477 1478 * tests: misc small fixes 1479 1480 1481 * New/updated translations: 1482 Assamese, Galician, Japanese, Odia, Polish, Spanish 1483 1484Changes in libsoup from 2.41.1 to 2.41.2: 1485 1486 * libsoup-2.4.so and libsoup-gnome-2.4.so now only export the 1487 symbols that are part of the public API. (Plus, temporarily, 1488 one additional symbol, soup_message_io_cleanup, which is 1489 used by gvfs and possibly a few other modules, even though 1490 it shouldn't be. If you copied soup-input-stream.c from 1491 gvfs, you should port your code to use SoupRequest instead.) 1492 [Dan, #595176] 1493 1494 * Added SOUP_VERSION_MIN_REQUIRED / SOUP_VERSION_MAX_ALLOWED 1495 macros like the corresponding glib ones, to allow libsoup 1496 users to request per-version deprecation/availability 1497 warnings. [Dan] 1498 1499 * Fixed a crash caused by a race condition in SoupSessionSync, 1500 and reorganized some code to avoid other possible similar 1501 race conditions. [#684238, Dan] 1502 1503 * Fixed a crash when a DNS resolution failed, caused by a bug 1504 in the GTask porting in 2.41.1. [#688330, Milan Crha] 1505 1506 * Fixed a problem that would cause g_warning()s in epiphany 1507 when browsing sites that (incorrectly) returned empty 1508 Cache-Control headers. [#683433, Dan] 1509 1510 * We now add a Host header to HTTP/1.0 requests as well as 1511 HTTP/1.1 ones. [Dan] 1512 1513 * Fixed a bug in the printing of IPv6 address literals in the 1514 Host header in SoupLogger. (They were being sent across the 1515 wire correctly, they were just printed wrong by SoupLogger.) 1516 [Dan] 1517 1518 * Belatedly added soup-multipart-input-stream.h to soup.h. 1519 [Dan] 1520 1521 * Removed an evil hack in the long-deprecated 1522 SoupProxyResolver code (not to be confused with 1523 SoupProxyURIResolver), to avoid warnings with glib master. 1524 If you had previously implemented a custom 1525 SoupProxyResolver, then it will probably (silently) stop 1526 working, but you should have ported it to 1527 SoupProxyURIResolver years ago anyway... [Dan, #687659] 1528 1529 * Fixed a few race conditions in the test programs that could 1530 cause "make check" to fail on slow or heavily-loaded 1531 machines. [Dan] 1532 1533 * Further cleaned up and reorganized the internal HTTP I/O 1534 codepaths, in preparation for an improved SoupCache. 1535 [#682112, Sergio] (This change should not actually be 1536 externally noticeable. But if SoupContentDecoder or 1537 SoupContentSniffer turns out to be broken in this release, 1538 this would be why). 1539 1540 * New/updated translations: 1541 Slovak, Uyghur 1542 1543Changes in libsoup from 2.40.1 to 2.41.1: 1544 1545 * Changed the behavior of NTLM authentication to be more like 1546 what other apps apparently do. Now if the user does not 1547 specify a domain in the username (eg, "MYDOMAIN\username"), 1548 then we will not specify a domain in the NTLM response 1549 (rather than assuming that the user is in the server's 1550 default domain). People who get broken by this change should 1551 be able to fix it by including an explicit domain in their 1552 username, but the theory is that no one should get broken by 1553 this... If this change does turn out to hurt more than it 1554 helps then it may be reverted later. [#624613, Dan, based on 1555 a suggestion from David Woodhouse] 1556 1557 * Fixed a crash caused by a race condition in SoupSessionSync. 1558 [#684238, Dan] 1559 1560 * SoupRequest now supports resource:// URIs, for reading from 1561 gresource. [#682721, Carlos] 1562 1563 * Added new compile-time and runtime APIs for checking the 1564 libsoup version. [#684514, Martin Robinson] 1565 1566 * Updated to take advantage of (and require) glib 2.35; 1567 removed all g_type_init() calls and ported to GTask. [Dan] 1568 1569 * Added support for Apache 2.4 to the unit tests. [Dan] 1570 1571 * New translations: 1572 Uzbek (Cyrillic) 1573 1574Changes in libsoup from 2.40.0 to 2.40.1: 1575 1576 * Improved the parsing of multipart/x-mixed-replace responses. 1577 [#685752, Gustavo] 1578 1579 * Fixed handling of IPv6 address literals. [#684990, Dan] 1580 1581 * New/updated translations: 1582 Catalan, Catalan (Valencian), Norwegian bokmål 1583 1584Changes in libsoup from 2.39.92 to 2.40.0: 1585 1586 * New/updated translations: 1587 Bengali (India), Bulgarian, Chinese (Simplified), Estonian, 1588 German, Hebrew, Hindi, Hungarian, Latvian, Malayalam, 1589 Punjabi, Tamil, Telugu, Thai, Ukranian 1590 1591Changes in libsoup from 2.39.91 to 2.39.92: 1592 1593 * Fixed some g_warnings (and a possible crash) with the 1594 soup_request_send_async(). [#683404, Dan] 1595 1596 * Fixed a hang with SoupSessionSync [#682923, Dan] 1597 1598 * Handle empty "Cache-Control" headers. [Sergio] 1599 1600 * New/updated translations: 1601 Assamese, Belarusian, Brazilian Portuguese, British English, 1602 Chinese (Traditional), Czech, Danish, French, Galician, 1603 Greek, Gujarati, Hungarian, Indonesian, Italian, Lithuanian, 1604 Marathi, Persian, Polish, Portuguese, Russian, Serbian, 1605 Slovenian, Spanish 1606 1607Changes in libsoup from 2.39.90 to 2.39.91: 1608 1609 * Added missing (transfer full) annotation to 1610 soup_cookie_jar_add_cookie() and 1611 soup_cookie_jar_add_cookie_with_first_party(), fixing 1612 crashes in bindings. [#682554, Daniel Drake] 1613 1614 * Fixed a crash [#682569, Alexander Larsson] and a win32 build 1615 problem [#683200, Kalev Lember] introduced by the memory 1616 leak fixes in 2.39.90 1617 1618 * Fixed the SoupMessage:network-event signal, which had been 1619 skipping the G_SOCKET_CLIENT_COMPLETE state in tunneled 1620 https connections. And added a test for this. [Dan] 1621 1622 * New/updated translations: 1623 French, Japanese, Korean, Latvian, Lithuanian, Polish, 1624 Punjabi, Swedish, Tamil 1625 1626Changes in libsoup from 2.39.5 to 2.39.90: 1627 1628 * Added SoupMultipartInputStream, for handling multipart 1629 responses (particularly multipart/x-mixed-replace). 1630 [#656684, Gustavo] 1631 1632 * Fixed a potential crash in SoupSessionAsync after the 1633 session is finalized. 1634 1635 * Fixed a regression in soup_tls_is_public_suffix() [#681085, 1636 Sergio] 1637 1638 * Added a SOUP_MESSAGE_IDEMPOTENT flag, so that apps can 1639 bypass the "POSTs must be sent on new connections" check, 1640 which was causing evolution-ews to have to create a new 1641 connection for every request. [#681493, Milan Crha] 1642 1643 * Changed SoupSession so that pending SoupMessages now hold a 1644 ref on the session. It is possible that this will break code 1645 that was depending on the old, dumb, behavior (where 1646 unreffing the session with messages pending would cause 1647 those messages to be cancelled), in which case this will be 1648 reverted before 2.40. 1649 1650 * Fixed memory leaks found by valgrind. 1651 1652 * Cleaned up some code in SoupCache. [#681509, Sergio] 1653 1654 * New/updated translations: 1655 Bengali (India), Chinese (Traditional), German, Marathi, 1656 Turkish, Ukranian 1657 1658Changes in libsoup from 2.39.4.1 to 2.39.5: 1659 1660 * Fixed several bugs in the soup-message-io updates that could 1661 cause hangs or I/O errors. [#679527 and other bugs not filed 1662 in bugzilla] 1663 1664 * Fixed SoupServer:async-context to work properly again 1665 1666 * Further fixes to soup_uri_normalize() when using the 1667 "unescape_extra" parameter. [#680018] 1668 1669 * Fixed soup_xmlrpc_parse_method_call() to handle the case 1670 where there is no <params> element (which is legal). 1671 [#671661] 1672 1673 * Fixed the deprecation warning on soup_message_headers_get() 1674 [#680143] 1675 1676 * Added warnings to some erroneous SoupSocket usages rather 1677 than returning bogus data. [#673083, Simon McVittie] 1678 1679 * Fixed build under Windows/MinGW 1680 1681 * SoupSocket no longer emits the "readable" signal when a 1682 socket is disconnected if that socket is non-blocking. 1683 1684 * Updated public suffix list to the current version. 1685 1686 * New/Updated translations: 1687 Assamese, Chinese (simplified), Esperanto, Galician, Greek, Gujarati, 1688 Hebrew, Norwegian bokmål, Russian, Serbian, Slovenian 1689 1690Changes in libsoup from 2.39.4 to 2.39.4.1: 1691 1692 * Fixed indentation problems in tld-parser.py so it will work 1693 under python 3. [#680089, "marduk"] 1694 1695 * Actually fixed cookies in non-suffixed/private domains, 1696 which still didn't work after the last fix. [#679230, 1697 Carlos] 1698 1699 * Updated translations: 1700 Spanish 1701 1702Changes in libsoup from 2.39.3 to 2.39.4: 1703 1704 * Fixed the SoupRequest codepaths to properly retry in the 1705 case where the server closes a persistent connection when we 1706 try to use it. [Dan, might be the fix for #679527, but this 1707 is not yet confirmed] 1708 1709 * Fixed the content-type and content-length of requests 1710 retrieved from SoupCache. [#680029, Carlos Garcia Campos] 1711 1712 * Fixed the handling of cookies in non-suffixed and private 1713 domains ("localhost", "foo.local", etc) [#679230, Sergio and 1714 Dan] 1715 1716 * Fixed cookie parsing to allow attribute values on "secure" 1717 and "HttpOnly". (Neither is supposed to have a value, but it 1718 happens in the real world.) [#678753, Dan, based on a patch 1719 from "Basavaraj"] 1720 1721 * Fixed soup_uri_normalize() to not always run the "fixup" 1722 codepath. [#680018, pointed out by Yann Soubeyrand] 1723 1724 * Fixed a (rare) crash when closing the stream returned from 1725 SoupRequestHTTP. [Dan] 1726 1727 * Use G_DEPRECATED on deprecated functions, and then fix up 1728 the warnings this caused due to libsoup using its own 1729 deprecated functions. [#671770, Javier Jardón] 1730 1731 * Fixed up "make dist" by, among other things, rewriting 1732 tld-parser in python. [#678909, Colin Walters] 1733 1734 * Removed the "getbug" example program in tests/, which didn't 1735 work any more anyway. [Dan] 1736 1737 * Various internal code cleanups. [Dan] Fixed one crash 1738 resulting from this [#680055, Alban Browaeys]; hopefully 1739 there won't be any more. 1740 1741 * New/Updated translations: 1742 Assamese, Belarusian, Bulgarian, Chinese (traditional), Hebrew, 1743 Indonesian, Lithuanian, Norwegian bokmål, Vietnamese 1744 1745Changes in libsoup from 2.39.2 to 2.39.3: 1746 1747 * Added new functions for comparing domains against the 1748 "public suffix" list (http://publicsuffix.org/), and in 1749 particular fixed SoupCookieJar to not allow setting cookies 1750 in "public" domains (eg, ".co.uk"). [#673802, Sergio] 1751 1752 * Added two new SoupCookieJar APIs 1753 (soup_cookie_jar_get_cookies() and 1754 soup_cookie_jar_set_cookie_with_first_party()) as part of 1755 fixing the handling of HttpOnly cookies in WebKitGTK. 1756 [#677922, Christophe Dumez] 1757 1758 * Fixed g-i annotation of 1759 soup_message_headers_get_content_type(). [#677002, Dan] 1760 1761 * Updated translations: 1762 Galician, Greek, Slovenian, Spanish, Telugu 1763 1764Changes in libsoup from 2.39.1 to 2.39.2: 1765 1766 * Fixed several bugs that resulted from the I/O code rewrite 1767 in 2.39.1, and added more test cases to exercise the new 1768 code paths: 1769 1770 * Problems with cancelling messages from the 1771 got-headers signal [#674747, Dan] 1772 1773 * Persistent connections were not always being closed 1774 properly after a message was cancelled mid-response. 1775 [Dan] 1776 1777 * Cancelling a SoupRequest before it started I/O 1778 didn't work. [Dan] 1779 1780 * Asynchronous HTTP authentication via the SoupRequest 1781 API [#675306, Dan] 1782 1783 * Memory leak [#676038, Ray Strode] 1784 1785 * Refcounting bug that manifested as a crash in rygel 1786 [#676038, Ray Strode] 1787 1788 * Handling failed CONNECT requests via SoupRequest 1789 [#675865, Sergio] 1790 1791 * Messages with trailing junk following a compressed 1792 message body [#676477, Dan] 1793 1794 * Fixed three cache-related bugs that affect some sites 1795 (notably Twitter) [Sergio] 1796 1797 * Fixed a bug in the /usr/bin/ntlm_auth integration when you 1798 don't already have credentials cached, and avoid printing 1799 warning messages when ntlm_auth is present but not usable. 1800 [Dan] 1801 1802 * Fixed some g-ir-scanner warnings, and included 1803 SoupRequester/SoupRequest in the introspected API [#676742, 1804 Jasper St. Pierre] 1805 1806 * Added soup_buffer_get_as_bytes() [#676776, Jasper] 1807 1808 * New/updated translations: 1809 Belarusian, Chinese (simplified), French, Galician, Greek, 1810 Hebrew, Polish, Punjabi, Romanian, Slovenian, Spanish 1811 1812Changes in libsoup from 2.38.1 to 2.39.1: 1813 1814 * Major rewrite of the I/O code to use gio streams more 1815 directly. In particular, when using SoupRequestHTTP now, the 1816 input stream that is returned is actually pulling data from 1817 the socket, rather than just repeatedly pausing and 1818 unpausing the underlying SoupMessage and waiting for data to 1819 be pushed into it. This also means that SoupRequestHTTP now 1820 works with SoupSessionSync as well. [#591739, Dan] 1821 1822 (The SoupRequest API is still protected by unstable-API 1823 #ifdefs, but will be made public later in this cycle.) 1824 1825 * Libsoup now finally supports SOCKS proxies again. [#553269, 1826 Dan] 1827 1828 * Certain error messages returned from the streaming API 1829 (SoupRequest, etc) are now localized; more strings will be 1830 localized later on. 1831 1832 * New translations: Galician, Hebrew, Indonesian, Norwegian 1833 bokmål, Polish, Russian, Slovenian, Spanish. 1834 1835 * Added a SoupCookieJar:is-persistent property, to distinguish 1836 memory-only jars from SoupCookieJarText and 1837 SoupCookieJarSqlite. [#672838, Carlos Garcia Campos] 1838 1839Changes in libsoup from 2.38.0 to 2.38.1: 1840 1841 * Fixed a situation where soup_connection_disconnect() could 1842 end up calling g_object_unref(NULL) when an idle connection 1843 was closed. [Sergio, #672178] 1844 1845 * Fixed two warnings when cancelling an in-progress 1846 soup_socket_connect_async(). [pointed out on the mailing 1847 list by Sven Neumann] 1848 1849 * Fixed a crash when disposing a SoupServer with open 1850 connections. [#673468, Jonny Lamb] 1851 1852 * Fixed the SoupSession:ssl-use-system-ca-file property to get 1853 turned off (rather than on) when you set it to FALSE... Also 1854 fixed up the property notifications around the various 1855 certificate-verification properties (ssl-ca-file, 1856 ssl-use-system-ca-file, and tls-database). 1857 1858 * Fixed SoupSession to not leak paused SoupMessages that 1859 were still in progress when it was unreffed. [#673905] 1860 1861 * Updated the win32 file: URI code again, to fix regressions 1862 in the WebKit tests. [WebKit bug #82484] 1863 1864Changes in libsoup from 2.37.92 to 2.38.0: 1865 1866 * Minor documentation fixes 1867 1868Changes in libsoup from 2.37.91 to 2.37.92: 1869 1870 * Added soup_session_prefetch_dns() and deprecated 1871 soup_session_prepare_for_uri(). The new method takes a 1872 completion callback, allowing you to know how many DNS 1873 resolutions are currently outstanding, so you don't spam the 1874 resolver. [Sergio, WebKit bug #41630] 1875 1876Changes in libsoup from 2.37.90 to 2.37.91: 1877 1878 * Fixed an out-of-bounds memory read that could occur when 1879 parsing malformed requests/responses. 1880 1881 * Fixed a build-related bug in Makefile.glib that affected 1882 locales such as Estonian where "Z" is not the last (ASCII) 1883 letter of the alphabet. [#654395, Priit Laes] 1884 1885 * Fixed the handling of file: URIs with query components, 1886 which got broken in 2.37.90. 1887 1888 * Fixed SoupAuthManagerNTLM to not fall back to allowing Basic 1889 auth when NTLM failed. 1890 1891 * Further tweaked the warnings/fallback in SoupURI, so that 1892 soup_uri_to_string() on an http URI with a NULL path would 1893 translate that to "/" like it used to. [#670431] 1894 1895 * Fixed a warning when cancelling the load of a page with many 1896 subresources. [#667245] 1897 1898 * Use G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS if GLib is new 1899 enough, to avoid getting warned about the use of 1900 GValueArray. 1901 1902Changes in libsoup from 2.37.5 to 2.37.90: 1903 1904 * libsoup is now beta-testing Makefile.glib from bug 654395. 1905 If 2.37.90 fails to build in some strange way that 2.37.5 1906 did not, this is probably why. 1907 1908 * Replaced some of the SoupURI g_return_if_fail()s that were 1909 added in 2.37.5 with g_warn_if_fail()s. Although it had 1910 always been documented that SoupURIs must have a non-NULL 1911 path, most SoupURI functions treated NULL the same as "", 1912 and various apps (eg, rhythmbox, midori) were accidentally 1913 relying on this. [Dan] 1914 1915 * Added various return-if-fails and other sanity checks to 1916 various functions. [#669479, Robert Swain, Mark Nauwelaerts, 1917 Simon McVittie] 1918 1919 * Updated docs/annotation of soup_form_decode_multipart() to 1920 note that all of the out parameters are (allow-none). Fixed 1921 the file_control_name parameter to actually allow NULL like 1922 the docs already claimed. [#669479, Simon McVittie] 1923 1924 * Fixed a minor URI parsing bug. (It was allowing URI schemes 1925 to contain numbers.) [Dan] 1926 1927 * Fixed a few memory leaks introduced in the 2.37 cycle. [Dan] 1928 1929 * Fixed SoupServer to be able to correctly respond to HTTP/1.0 1930 requests over IPv6 (which previously would always have 1931 returned "400 Bad Request"). [#666399, Dan] 1932 1933 * Changed SoupSessionAsync to make it possible to finalize it 1934 from the "wrong" thread. [#667364, Dan]. 1935 1936 * Fixed SoupCache to not cache resources whose URIs have query 1937 components (unless they have explicit cache headers); to not 1938 generate broken conditional requests for resources that 1939 cannot be conditionally validated; and to not spew warnings 1940 when receiving invalid Cache-Control headers. [#668865, 1941 Sergio]. 1942 1943Changes in libsoup from 2.37.4 to 2.37.5: 1944 1945 * Fixed a bug in SoupSession:use-thread-context [Dan] 1946 1947 * Fixed the case of cancelling a message from 1948 SoupSession::request-started [#668098, Raphael Kubo da 1949 Costa] 1950 1951 * Fixed a crash in epiphany when loading a page with more than 1952 1000 or so images. [#668508, Dan] 1953 1954 * Fixed a bunch of cases involving invalid URLs found while 1955 testing SoupServer against an HTTP protocol fuzzer. Also 1956 fixed up some documentation/annotations and added some new 1957 test cases. [#667637, Simon McVittie] 1958 1959 * Fixed SoupRequestFile to work on Windows. [Paweł Forysiuk] 1960 1961Changes in libsoup from 2.37.3 to 2.37.4: 1962 1963 * SoupMessage now has a "network-event" signal that can be 1964 monitored for information about DNS, proxy lookup, TCP 1965 connections, and TLS handshakes. [Dan] 1966 1967 * The HTTP header parsing code now avoids hitting 1968 g_return_if_fails() (and returns an error instead) in a few 1969 cases of seriously-invalid headers. [#666316, Simon 1970 McVittie, Dan] 1971 1972 * POSTs and other non-idempotent requests are now always sent 1973 on newly-created connections. You can also force this 1974 behavior on other messages by setting the 1975 SOUP_MESSAGE_NEW_CONNECTION flag. [#578990, Dan] 1976 1977 * Server-closed idle connections are now detected ahead of 1978 time on Windows, preventing occasional spurious "Connection 1979 terminated unexpectedly" errors. (This had been fixed on 1980 UNIX since 2.28, but the earlier fix didn't work with 1981 WinSock.) [#578990, Dan] 1982 1983 * Plugged a leak in SoupRequestHTTP. [#667099, Xan] 1984 1985Changes in libsoup from 2.37.2 to 2.37.3: 1986 1987 * Now requires glib 2.31 1988 1989 * Simplified SoupHTTPInputStream and SoupRequestHTTP, allowing 1990 related simplifications in WebKit's ResourceHandleSoup. This 1991 is an ABI-incompatible change, but SoupHTTPInputStream is an 1992 unstable API. [#663451, Dan] 1993 1994 * Fixed a bug that caused the SOUP_MESSAGE_CERTIFICATE_TRUSTED 1995 flag to always be cleared, causing epiphany to claim all 1996 https pages were untrusted. [#665182, Dan] 1997 1998 * Fixed some bugs in the handling of SoupSession:http-aliases 1999 and SoupSession:https-aliases. 2000 2001 * Fixed handling of ACLOCAL_FLAGS [#641470, Craig Keogh] 2002 2003 * Fixed SoupContentDecoder's "ignore Content-Encoding: gzip 2004 because the server didn't actually mean it" hack to handle 2005 x-gzip too. 2006 2007 * Clarified the documentation on SoupSession:ssl-strict 2008 [#666280] 2009 2010Changes in libsoup from 2.37.1 to 2.37.2: 2011 2012 * Fixed up the output of SoupDirectoryInputStream, thus 2013 improving the display of local directories in WebKit-based 2014 browsers. [#662266, Sergio] 2015 2016 * Fixed a bug introduced in 2.37.1 that caused some cancelled 2017 SoupMessages to be leaked. [#662847, Sergio] 2018 2019 * Added new SoupSession properties "http-aliases" and 2020 "https-aliases" that allow you to configure more explicitly 2021 what URL protocols are treated as aliases for http (eg, 2022 "dav:", "webcal:", etc), and which should be recognized as 2023 meaning something else, (eg, "ftp:") [Dan] 2024 2025 * Added soup_session_would_redirect() and 2026 soup_session_redirect_message(), to help users that want to 2027 handle some or all redirects themselves. Added 2028 soup_message_set_redirect() to make it easier to return 2029 redirection responses from a SoupServer. [Dan] 2030 2031 * Added the SoupSession "use-thread-context" property, which 2032 tells it to use GMainContexts in a gio-compliant way (and in 2033 particular, allows having different messages running in 2034 different GMainContexts on the same SoupSession, though only 2035 to a limited extent since SoupSessionAsync is still not 2036 thread-safe). In particular, this was added in order to 2037 address WebKit bug 68238. [Dan] 2038 2039 * Made SoupURI %-encode non-ASCII characters when parsing 2040 URIs, in particular to fix a problem with certain servers 2041 sending syntactically invalid redirects that they would then 2042 only interpret correctly if you fixed the syntax for them. 2043 (@$!@#! Although the new code is probably more correct than 2044 the old code anyway, so...) [#662806, Dan] 2045 2046 * Fixed a connection-handling bug that could cause problems 2047 with servers that requested authentication and then timed 2048 out the connection while the application was waiting for the 2049 user to enter a password. [#660057, Dan] 2050 2051 * Made NTLM and Basic authentication handle some non-ASCII 2052 usernames and passwords. (NTLM should handle most. It's 2053 impossible to fix Basic in the general case.) [#576838, 2054 Joachim Breitner, "sponsored by ITOMIG GmbH and the City of 2055 Böblingen"] 2056 2057 * Added support for "deflate" Content-Encoding, so that we can 2058 work with broken servers that insisted on using it even 2059 though we explicitly indicated in the request headers that 2060 we didn't support it. (@$#!#) [#661682, Sergio] 2061 2062Changes in libsoup from 2.36.0 to 2.37.1: 2063 2064 * Fixed a problem with connections being assigned to multiple 2065 requests at once after a redirection [#651146, Sergio]. Made 2066 soup_session_pause/unpause_message() work in any state, not 2067 just while the HTTP I/O is occurring, and used this to add a 2068 test case for that bug. [Dan] 2069 2070 * Ported SoupSession to use GTlsDatabase internally, and added 2071 two new properties, SoupSession:use-system-ca-file (to 2072 specify that the session should use the default system 2073 tlsdb) and SoupSession:tlsdb (to specify a specific tlsdb to 2074 use). [Dan] 2075 2076 * Likewise, added SoupServer:tls-certificate, for specifying a 2077 certificate/key for an https server to use. 2078 2079 * Made SoupHTTPInputStream use memory more efficiently. 2080 [#659255, Sergio] 2081 2082 * Fixed soup_message_get_https_status() to return information 2083 more reliably (with latest glib-networking). 2084 2085 * Bumped the glib requirement to 2.30.0; although libsoup does 2086 not use any new glib 2.30 APIs, there are several important 2087 bugfixes in glib between 2.28 and 2.30 that libsoup needs. 2088 Currently libsoup builds against either glib 2.30.x or glib 2089 2.31.x. 2090 2091Changes in libsoup from 2.35.92 to 2.36.0: 2092 2093 * Improvements to gtk-doc documentation. [Dan] 2094 2095Changes in libsoup from 2.35.90 to 2.35.92: 2096 2097 * Fixed a problem where SoupHTTPRequest response bodies could 2098 be truncated. [#659256, Sergio] 2099 2100 * Fixed a bug in copying TLS information from SoupSocket to 2101 SoupMessage, causing all https connections to be reported as 2102 "untrusted" in epiphany. [Dan] 2103 2104 * Made SoupSession remove items from its host cache after a 2105 while, so that if a host changes IP address, it will 2106 eventually try to re-resolve it. [#646959, Sergio] 2107 2108Changes in libsoup from 2.35.5 to 2.35.90: 2109 2110 * Added SOUP_MESSAGE_CAN_REBUILD flag, to use with 2111 soup_message_body_set_accumulate(FALSE) on a request body, 2112 to indicate that the caller will recreate the request body 2113 after it has been discarded if the message needs to be 2114 re-sent. [#656650] 2115 2116 * Fixed the build on mingw-w64 by not using "interface" as 2117 as variable name. [#656402, Erik van Pienbroek] 2118 2119 * (The multihosted https server regression mentioned in the 2120 2.35.5 NEWS turned out to be a glib-networking bug, which is 2121 fixed as of 2.29.18.) 2122 2123Changes in libsoup from 2.35.4 to 2.35.5: 2124 2125 * Support NTLM single sign on via samba's /usr/bin/ntlm_auth. 2126 [#650940, Mandy Wu]. This is enabled by default (if NTLM is 2127 enabled for the session and the ntlm_auth binary is 2128 available), but will fall back to the standard 2129 password-based authentication if SSO fails. 2130 2131 * Default to TLS+extensions for https connections, falling 2132 back to SSLv3-without-extensions (the old default) only if 2133 the server fails to negotiate TLS. [#581342] 2134 2135 * As a result of this change, some users are currently 2136 seeing problems with sites that serve multiple https 2137 hosts from a single IP address (eg, 2138 *.launchpad.net). There is no known workaround at 2139 this time. 2140 2141 * Fixed a longstanding problem with https pages sometimes not 2142 loading when using a proxy. [#631368, based on patches from 2143 DongJae Kim and Thierry Reding] 2144 2145 * SoupContentSniffer: don't use gio's sniffing rules, since 2146 the spec now recommends that browsers not do any additional 2147 sniffing beyond what's in the spec. [#648846, "arno"] 2148 2149 * Fixed SoupRequestHTTP to work properly with alternate 2150 GMainContexts. [#653707] 2151 2152 * Added some annotations from Vala's vapi files. [#655397, 2153 Evan Nemerson]. Also, removed SoupProxyResolver from the 2154 gir/typelib, since it had been deprecated since before 2155 introspection was available, and it was being scanned wrong 2156 anyway. 2157 2158Changes in libsoup from 2.35.3 to 2.35.4: 2159 2160 * CVE-2011-2524: Fixed a security hole that caused some 2161 SoupServer users to unintentionally allow accessing the 2162 entire local filesystem when they thought they were only 2163 providing access to a single directory. [#653258] 2164 2165 * Plugged another SoupCache memory leak [Xan] 2166 2167 * Simplified SoupCache keys, and handle collisions. [#649963, 2168 Sergio] 2169 2170 * Annotate SoupSession:add-feature, etc, as (skip), so they 2171 don't conflict with the methods of the same name. [#655150, 2172 Jasper St. Pierre] 2173 2174Changes in libsoup from 2.34.1 to 2.35.3: 2175 2176 * SoupCache fixes [Sergio]: 2177 2178 * Don't store hop-by-hop headers [#650094] 2179 2180 * Fix status code and headers of responses returned 2181 from the cache after being revalidated [#649965] 2182 2183 * Added versioning support to the cache file format 2184 [#652554] and extended it to keep track of the 2185 status code [#649965] 2186 2187 * Fixed storage of time values in the cache [#653349] 2188 2189 * Fixed a use-after-free that could result in bogus 2190 data being written to the cache [#650620] 2191 2192 * Various leaks [#649309] 2193 2194 * Work around an Apache bug where it tells browsers to 2195 automatically decode .gz files but still keep the .gz in the 2196 name. [#613361, Dan] 2197 2198 * Fixed an overflow when sending a response larger than 2^31 2199 bytes (eg, streaming movies in Rygel). [#638468, Jens Georg] 2200 2201 * Always send the Keep-Alive header, not just to hosts we 2202 already know to be HTTP/1.0 [#648680, Sergio] 2203 2204 * Fixed various leaks [#652699, Sergio], [#651643, Milan], 2205 [etc, Xan] 2206 2207 * Minor build fix for Debian/Ubuntu [#648948] 2208 2209 * Fixed a docs typo 2210 2211Changes in libsoup from 2.34.0 to 2.34.1: 2212 2213 * Two multipart forms/Content-Disposition fixes [Dan]: 2214 2215 * UTF-8-encoded header encoding/decoding rules updated 2216 to match RFC 5987. In particular, a UTF-8-encoded 2217 filename parameter in Content-Disposition will now 2218 override an ASCII one. 2219 2220 * When not using UTF-8-encoded filenames in 2221 Content-Disposition, always quote the filename, 2222 since some servers erroneously fail to handle 2223 non-quoted ones. [#641280] 2224 2225 * Fixed several memory leaks [Dan, Xan] 2226 2227 * Fixed decoding base64 data: URLs [#646896, Sergio] 2228 2229 * Simplified the libsoup-gnome build on Windows by dropping 2230 the gnome-keyring dependency. [Fridrich Štrba] 2231 2232 * Fixed a bug in soup_uri_to_string() in which (invalid) port 2233 numbers could be output as negative numbers (tripping up a 2234 WebKit "sanity checking" test). [#647767, Sergio] 2235 2236 * Fixed a cache corruption bug in SoupCache. [#648285, Sergio] 2237 2238 * Fixed a crash in SoupSessionSync when using 2239 soup_session_abort(). 2240 2241Changes in libsoup from 2.33.92 to 2.34.0: 2242 2243 * Fixed the GMainContext handling of the new 2244 SoupProxyResolverDefault (which among other things fixes 2245 gstreamer usage inside epiphany). [#646201, Sebastian Dröge] 2246 2247 * Tweaked the introspection Makefile rules to fix a problem 2248 building on Debian/Ubuntu. [#645505] 2249 2250 * Belated bumped the shared library versioning to reflect the 2251 API additions since 2.32.0 2252 2253Changes in libsoup from 2.33.90 to 2.33.92: 2254 2255 * LIBSOUP NO LONGER DEPENDS ON GCONF OR LIBPROXY. 2256 (see below). 2257 2258 * Added SoupProxyResolverDefault, which uses uses gio's 2259 GProxyResolver to resolve proxies [#642982, Gustavo Noronha 2260 Silva]. Despite the "default" in the name, it is not used by 2261 default, for compatibility reasons, but it is available in 2262 plain libsoup, not libsoup-gnome. (Of course, it depends on 2263 having glib-networking installed.) 2264 2265 * Updated SoupProxyResolverGNOME to be based on 2266 SoupProxyResolverDefault, but explicitly requesting the 2267 "gnome" GProxyResolver if it is available [#625898], and 2268 removed the old code that used GConf and libproxy directly. 2269 2270 * Added soup_server_disconnect(), to explicitly disconnect a 2271 SoupServer, since it is not possible to g_object_unref() it 2272 from memory-managed language bindings. [#638576, Andreas 2273 Rottmann] 2274 2275 * SoupDate now parses month names case-insensitively [#644048, 2276 Christian Dywan] 2277 2278 * Avoid a g_return_if_fail() when using 2279 SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY with non-http URIs 2280 (file:, data:, etc). [#643226] 2281 2282 * SoupCookieJar now catches overflows when parsing very 2283 distant dates [#643462, based on a patch from Mark 2284 Starovoytov] 2285 2286 * Fixed a buggy interaction between request body streaming and 2287 restarted requests [David Woodhouse]. Added some new tests 2288 to tests/chunk-test.c to make sure that a specific 2289 (unsupported!) way of using those methods would not get 2290 broken in the future. 2291 2292 * Fixed soup_socket_get_remote_address(), which had been 2293 broken since 2.33.4 (and which in turn caused 2294 soup_client_context_get_address/_get_host to be broken). 2295 [#645227] 2296 2297Changes in libsoup from 2.33.6 to 2.33.90: 2298 2299 * Attempted to make libsoup's dependency on glib-networking 2300 (for TLS support) more explicit, by requiring that 2301 glib-networking be present at compile time unless the 2302 builder explicitly passes "--disable-tls-check", and noting 2303 that packagers should give libsoup a runtime dependency on 2304 glib-networking. 2305 2306 * Fixed a bug in talking to servers with virtual hosts with 2307 Unicode names (IDNs) [#642075] 2308 2309 * Added a "Connection: Keep-Alive" header when talking to 2310 HTTP/1.0 hosts, to improve performance. [#640414, Sergio 2311 Villar Senin] 2312 2313 * Changed SoupCache to not cache multipart/x-mixed-replace 2314 content. [#642028, Sergio Villar Senin] 2315 2316Changes in libsoup from 2.33.5 to 2.33.6: 2317 2318 * Made SoupSessionAsync do idle-connection cleanup more 2319 sanely, resulting in faster load times for pages with lots 2320 of subresources. [#639768, Sergio Villar Senin] 2321 2322 * Fixed soup_form_decode()'s behavior (and by extension, 2323 SoupServer query string handling) with datasets that contain 2324 multiple values for the same key, and added a test case. 2325 [#639783, Sven Neumann] 2326 2327 * Fixed warnings pointed out by gcc 4.6, including a bug in 2328 SoupCache that would cause unnecessary revalidations 2329 [#640556]. 2330 2331 * Belated copied a fix from the WebKit copy of soup-cache.c 2332 into ours, and fixed a bug in the local copy of 2333 soup-request-data.c [#641022, Sergio Villar Senin], in 2334 preparation for making WebKit use the libsoup versions. 2335 2336Changes in libsoup from 2.33.4 to 2.33.5: 2337 2338 * Fixed certain cases of soup_session_cancel_message() with 2339 SoupSessionSync that could previously cause warnings or 2340 crashes. [#637741] 2341 2342Changes in libsoup from 2.32.2 to 2.33.4: 2343 2344 * SoupSocket now uses GSocketConnection and GTlsConnection 2345 internally rather than making socket calls directly and 2346 using GIOStream, and TLS is handled via glib's APIs rather 2347 than using gnutls directly. 2348 2349 * The gzip Content-Encoding handler is now implemented using 2350 GZlibDecompressor 2351 2352 * As a result of the above two changes, libsoup no longer 2353 directly depends on gnutls, libgcrypt, or zlib, though it 2354 still indirectly depends on zlib via glib and libxml2. Also, 2355 although libsoup does not depend on glib-networking as a 2356 build-time dependency, some "make check" tests will be 2357 skipped if it is not installed. 2358 2359 * The SoupRequest/SoupCache code from WebKit has been 2360 imported, but it is not yet recommended for general use, and 2361 is not necessarily API stable. [#523100, Sergio Villar, with 2362 the SoupRequest parts based on the Summer of Code work by 2363 Gabriel Corvalan and the cache parts based on an earlier 2364 patch by Xan Lopez] 2365 2366 * Added SoupMessage:tls-certificate and 2367 SoupMessage:tls-errors, which give more information about 2368 the certificate used to authenticate a TLS connection. 2369 2370 * It is now possible to disable Basic or Digest auth in a 2371 session by using soup_session_remove_feature_by_type() with 2372 SOUP_TYPE_AUTH_BASIC or SOUP_TYPE_AUTH_DIGEST. Likewise, the 2373 right way to enable NTLM support now is to call 2374 soup_session_add_feature_by_type() with SOUP_TYPE_AUTH_NTLM; 2375 SOUP_SESSION_USE_NTLM is now deprecated. 2376 2377 * Allow setting cookies on file:// URIs, since other browsers 2378 do, and WebKit has a test for it. [#603825] 2379 2380 * .gir/.typelib files now include C header/library information 2381 (needed by vala and some other bindings) [#635395, Evan 2382 Nemerson] 2383 2384 * Added annotations on soup_message_headers_get_content_type() 2385 [Lucas Rocha] and SoupHTTPVersion [John Palmieri] 2386 2387 * Fixed a Set-Cookie processing leak [#636741, Jonathan 2388 Jongsma] 2389 2390Changes in libsoup from 2.32.1 to 2.32.2: 2391 2392 * Fixed a regression in 2.32.0 that caused evolution-exchange 2393 to get stuck and stop updating. [#634422] 2394 2395 * Fixed a regression in 2.32.0 with apps using asynchronous 2396 sessions from multiple threads (in particular, gupnp) 2397 [#635101] 2398 2399 * Fixed the regression test for #631525 to not cause spurious 2400 "make check" failures on some machines. 2401 2402Changes in libsoup from 2.32.0 to 2.32.1: 2403 2404 * Fixed a regression in 2.32.0 with the use of persistent 2405 connections that caused spurious "Connection terminated 2406 unexpectedly" errors. [#631525, debugged by Sergio Villar] 2407 2408 * Fixed a regression in 2.32.0 that caused proxy-related 2409 DNS errors to return SOUP_STATUS_CANT_RESOLVE rather than 2410 SOUP_STATUS_CANT_RESOLVE_PROXY. 2411 2412 * Usernames/passwords specified explicitly in request URIs now 2413 override existing cached auth info. [#631679, Sergio Villar] 2414 2415 * Changed soup_uri_decode() and soup_uri_normalize() to just 2416 ignore malformed %-encoding rather than returning NULL, 2417 for consistency with soup_uri_new(). [#630540] 2418 2419 * Fixed soup_form_decode() to ignore invalid parameters, 2420 and soup_form_encode_hash() to just g_return_if_fail() 2421 rather than crashing if there are NULL values in the 2422 hash. [#620220] 2423 2424 * Added another workaround for stupid servers that close the 2425 connection before returning the full response (in this case, 2426 when using chunked encoding and failing to include the 2427 final 0-length chunk). [#629160] 2428 2429 * Fixed a bug in SoupCookieJarText that deleted excess cookies 2430 whenever any cookie expired. [#631641, Michał Kazior] 2431 2432 * Fixed a small leak in SoupContentDecoder if you were using 2433 it incorrectly. [pointed out in email by Christophe 2434 Gillette] 2435 2436 * Added regression tests for passwords-in-URIs [#631679, 2437 Sergio Villar] and SOUP_SESSION_IDLE_TIMEOUT. 2438 2439Changes in libsoup from 2.31.92 to 2.32.0: 2440 2441 * (No changes, just a version bump) 2442 2443Changes in libsoup from 2.31.90 to 2.31.92: 2444 2445 * Updated for gobject-introspection 0.9.5. Also added some new 2446 annotations and removed a bunch of private headers from the 2447 scanning process. 2448 2449 * Percent-encoded characters in URIs are no longer 2450 automatically normalized to uppercase, since apparently some 2451 servers are stupid. [#628728, Sergio Villar Senin] 2452 2453 * Fixed a crash when resolving a URI containing both spaces 2454 and non-UTF8 8bit characters. [#629449] 2455 2456Changes in libsoup from 2.31.2 to 2.31.90: 2457 2458 * libsoup now tries to connect to each IP address associated 2459 with a hostname, if the first one fails. In particular, if a 2460 host has both IPv4 and IPv6 addresses, and only one of them 2461 is reachable from the current host, libsoup will now try the 2462 other one rather than failing. (libc is supposed to sort the 2463 IP addresses in the right order, such that, eg, if you don't 2464 have IPv6 connectivity, it will put the IPv4 address first. 2465 For some reason though, this seems to be broken on some 2466 distros.) [#526321]. 2467 2468 * Fixed Accept-Language header generation in locales where "," 2469 is used as the decimal point. 2470 2471Changes in libsoup from 2.31.2 to 2.31.6: 2472 2473 * Disabled TLS 1.2 in addition to the already-disabled 1.1 and 2474 1.0 [see below, in libsoup 2.27.2], thus making libsoup 2475 usable with gnutls 2.10. [#622857. This commit, 01a43ad9, 2476 can be applied to libsoup 2.30.x as well if you need that 2477 release to work with gnutls 2.10.] 2478 2479 * When using libproxy 0.3 or newer, libsoup no longer leaks 2480 proxy-related environment variables into child processes 2481 [#603285] 2482 2483 * Changed the way message/connection binding works in 2484 SoupSession so that (among other things), when there are 2485 multiple requests queued to a host, and one of them gets a 2486 network error, the other requests are still allowed to try 2487 to succeed, rather than all failing immediately. [#619633] 2488 2489 * SoupSession now limits the number of times a message can be 2490 redirected, to avoid infinite loops [#604383, José Millán 2491 Soto] 2492 2493 * Fixed handling of certain messages where the response 2494 headers included "Connection: close" but the server did not 2495 actually close the connection at the end. [#611481] 2496 2497 * Fixed some incorrect g-i annotations [#621021] 2498 2499 * Fixed an out-of-bounds memory access when processing certain 2500 Set-Cookie headers [#620288] 2501 2502 * Improved msg->reason_phrase on network errors [#623274] 2503 2504 * Fixed gir file disting [#621727, Yaakov Selkowitz] 2505 2506Changes in libsoup from 2.30.1 to 2.31.2: 2507 2508 * gobject-introspection has now been merged in. Use 2509 --enable-introspection to build. [#576595, Andreas Rottmann] 2510 Note that the introspected API is not yet stable, and in 2511 particular, there are numerous values annotated as "utf8" 2512 which are actually not guaranteed to be utf8. (Eg, most 2513 header data.) 2514 2515 * Added some helper functions for bindings: 2516 soup_buffer_new_take(), 2517 soup_message_body_append_take(), and 2518 soup_buffer_get_data(). [#576595, Andreas Rottmann] 2519 2520 * Also added properties for several SoupMessage public 2521 fields, and getter methods for various boxed types 2522 (SoupCookie, SoupDate, SoupURI). 2523 2524 * Added some additional hash-table annotations. 2525 [#619086, Gustavo Noronha Silva] 2526 2527 * Marked SoupSession abstract. [#617216, Lorenzo Gil, the 2528 first bug filed by someone trying to use libsoup via 2529 introspection!] Likewise for SoupAuth and SoupAuthDomain. 2530 2531 * Fixed a problem with SoupSessionAsync that would cause 2532 messages to get lost if you aborted a previous message while 2533 it was still looking up the hostname. Fixed several other 2534 problems that were discovered while adding a regression test 2535 for that. [#618641, thanks to Claudio Saavedra for a good 2536 test case] 2537 2538 * Fixed another connecting-to-lame-http-server problem, and a 2539 getting-stuck-in-a-loop-reconnecting bug that it revealed. 2540 [#615535] 2541 2542Changes in libsoup from 2.30.0 to 2.30.1: 2543 2544 * Fix for https through proxies that close the connection when 2545 returning a "407 Proxy Authentication Required" response, 2546 and add a regression test for that case. [#611663] 2547 2548 * Fixed multiple forms/multipart-related interoperability 2549 problems reported by Egon Andersen: 2550 2551 * Don't quote the multipart boundary string if it's 2552 not needed, since RFC 2616 recommends that you 2553 don't, and some servers don't handle quotes there 2554 correctly. (Sigh.) [#614176] 2555 2556 * Don't put an extra blank line before the first 2557 multipart part, since it's unnecessary and some 2558 servers don't handle a multipart preamble correctly. 2559 (Sigh.) [#614183] 2560 2561 * Don't put Content-Transfer-Encoding headers in the 2562 multipart/form-data parts, even though the HTML 4 2563 spec says you must, since no other browsers do, and 2564 some servers don't handle them correctly. (Sigh.) 2565 [#614198] 2566 2567 * Changed SoupCookieJarSqlite to actually erase deleted 2568 cookies from the database. [#615711, Lukasz Slachciak] 2569 2570 * Fixed SoupLogger to be more robust against getting passed 2571 bad data by the session. [#611663] 2572 2573 * Fixed SoupAuthDomain to ignore paths when doing proxy auth 2574 2575 * Fixed a g_warning when hovering over a javascript link in 2576 WebKit. [#613442, Xan Lopez] 2577 2578Changes in libsoup from 2.29.91 to 2.30.0: 2579 2580 * Fixed a crash in the whitespace-stripping code in 2581 soup_uri_new() [#612644, "arnaud.lb"] 2582 2583 * Update content-sniffing algorithm to match Chrome and the 2584 soon-to-be-updated sniffing spec. [#611502, Gustavo Noronha 2585 Silva] 2586 2587 * We now handle "Content-Encoding: x-gzip" as well as "gzip" 2588 (even though "x-gzip" has been deprecated for more than 10 2589 years). [#611476] 2590 2591 * Fixed leaks found by valgrind 2592 2593 * Make the "make check" programs only bind to 127.0.0.1, not 2594 any public network interfaces. [#609489, Saleem Absulrasool] 2595 2596 * Add a test to sniffing-test to make sure that Content-Type 2597 parameters are preserved correctly. [Gustavo Noronha Silva] 2598 2599Changes in libsoup from 2.29.90 to 2.29.91: 2600 2601 * Added SOUP_SESSION_SSL_STRICT and 2602 SOUP_MESSAGE_CERTIFICATE_TRUSTED, to allow callers to 2603 determine if an https response comes from a server with a 2604 recognized/valid or unrecognized/invalid certificate. 2605 [#610374, Gustavo Noronha Silva] 2606 2607 * Fixed handling of certain badly-formatted URIs [#590524] 2608 2609Changes in libsoup from 2.29.6 to 2.29.90: 2610 2611 * Added soup_cookie_jar_set_accept_policy() and related API 2612 for implementing cookie acceptance policies. [#608353, Xan 2613 Lopez] 2614 2615 * Fixed the "request-read" signal in SoupServer to actually be 2616 emitted. 2617 2618Changes in libsoup from 2.29.5 to 2.29.6: 2619 2620 * Fixed SoupContentDecoder to ignore trailing junk after the 2621 encoded message body (as other browsers do), rather than 2622 getting stuck in an infinite loop. [#606352] 2623 2624 * Fixed an invalid read in soup_cookie_applies_to_uri() 2625 [#607024, pointed out by Xan] 2626 2627 * Fixed linking on OS X [#606959] 2628 2629 * Removed a harmless warning in SoupServer. [#606645] 2630 2631Changes in libsoup from 2.29.3 to 2.29.5: 2632 2633 * Added SoupContentDecoder, providing support for 2634 Content-Encoding: gzip for WebKitGTK. [#522772] 2635 2636 * Added "accept-language" and "accept-language-auto" 2637 properties to SoupSession, to support the Accept-Language 2638 header. [#597004, Mario Sanchez Prada] 2639 2640 * Fixed a bug in SoupPasswordManagerGNOME that could cause 2641 crashes if you typed the wrong password once and then tried 2642 again. [#595554, debugged by Gustavo Noronha Silva] 2643 2644 * Fixed a crash in SoupAuthDigest if the server claims support 2645 for both qop=auth and qop=auth-int. (This was not noticed 2646 sooner because no one actually supports qop=auth-int, and 2647 the server in question here was probably confused. :) 2648 2649 * Updated cookie parsing/output to more closely match 2650 draft-ietf-httpstate-cookie-00. [Also fixes #603496 (WebKit 2651 unit test), and #604794 (hang parsing malformed Set-Cookie 2652 header)] 2653 2654 * Fixed https-via-proxy to not hang if there is an error 2655 communicating with the proxy immediately after the TLS 2656 negotiation. [#587528] 2657 2658 * Fixed a bug that broke gobject-introspection's introspection 2659 of libsoup. [#603696, Vincent Untz] 2660 2661 * Handle spurious CR/LFs between responses. [#602863, 2662 Alexander V. Butenko] 2663 2664 * Fixed soup-message-client-io to not erroneously include URI 2665 fragments on the Request-Line when sending via a proxy. 2666 [Related to WebKit bug #28687] 2667 2668 * Fixed Digest authentication against certain (buggy?) 2669 clients/servers that require you to use quotes in exactly the 2670 same places where the spec uses them. [#582219] 2671 2672 * Fix ugly gtype-related hack to work with the latest unstable 2673 glib. [Benjamin Otte] 2674 2675Changes in libsoup from 2.28.1 to 2.29.3: 2676 2677 * Fixed a crash in SoupCookieJarSqlite when using cookie 2678 databases not created by libsoup (eg, upgraded epiphany 2679 installations). [Patch from Emilio Pozuelo Monfort] 2680 2681 * Fixed SoupCookieJar to handle non-http URIs properly (so 2682 that, eg, JavaScript bookmarklets that try to set/read 2683 cookies won't cause crashes). [#602498] 2684 2685 * HEAD requests that receive a "303 See Other" response will 2686 now do a HEAD, not a GET, on the redirected-to resource. 2687 Fixes gvfs access to some sites, including certain 2688 youtube.com URIs. [#600830] 2689 2690 * Fixed a g_warning that would always trigger in the 2691 server-side SoupCookie code. [#602389] 2692 2693 * Fixed the server-side SoupMultipart code to be able to parse 2694 multiparts containing binary attachments, rather than 2695 rejecting them as malformed. [#601640] 2696 2697 * Fixed the Request-Line format in the https-over-proxy case. 2698 Among other things, this fixes access to bugzilla.gnome.org 2699 from WebKitGTK-based browsers. [#598277, #600826] 2700 2701 * Fixed a leak in SoupSession if a message was cancelled while 2702 the initial socket connection was in progress. [#596074, 2703 debugged by Arnout Vandecappelle] 2704 2705 * Fixed server-side parsing of Digest auth. [#602898, Chris 2706 Head] 2707 2708 * Fixed WinSock initialization on Windows. [#600689, Tor 2709 Lillqvist] 2710 2711 * Fixed a sporadic crash in the SSL code on Windows. [#600748, 2712 Tor Lillqvist] 2713 2714 * Fixed handling of https connections with timeouts on 2715 Windows. [#600749, Tor Lillqvist] 2716 2717 * Added soup_session_prepare_for_uri(), to allow DNS 2718 prefetching for faster browsing. [#598948, José Millán Soto] 2719 2720 * SoupSession now avoids redundant DNS lookups again when 2721 first connecting to a new site, resulting in (probably 2722 imperceptibly) faster loads. 2723 2724 * Added some debugging APIs to SoupConnection and SoupSession 2725 for use by, eg, epiphany's soup-fly extension. [#589163, 2726 José Millán Soto] 2727 2728Changes in libsoup from 2.28.0 to 2.28.1: 2729 2730 * libsoup will now attempt to make multiple connections to a 2731 server at once when there are multiple messages queued to 2732 that server. The previous behavior (only allowing a single 2733 pending connection to each server) resulted in slow load 2734 times on pages with lots of subresources (images, css, js, 2735 etc) on servers that disallow persistent connections. 2736 [#594768] 2737 2738 * There should now be fewer (no?) "Connection terminated 2739 unexpectedly" errors in WebKitGTK. 2740 2741 * Fixed a crash in SoupCookieJarSqlite [#596859, patch from 2742 Alexander Sack]. 2743 2744 * Fixed soup_address_get_physical() and address-to-name 2745 resolution of SoupAddress [patch from Enrico Tröger]. 2746 2747 * Fixed a bug in SoupContentSniffer that could cause false 2748 negatives [#597545, patch from Alejandro Castro]. 2749 2750 * Fixed the configure error if you have gnutls-devel but not 2751 gcrypt-devel installed [#587709]. 2752 2753Changes in libsoup from 2.27.92 to 2.28.0: 2754 2755 * Fixed a handful of leaks found with valgrind, including a 2756 large one in SoupContentSniffer [WebKit bug 28148]. 2757 2758 * Changed the behavior of SoupCookieJarSqlite to improve 2759 performance. [#584522, patch from Gustavo Noronha Silva] 2760 2761 * Fixed a crash in SoupSocket that affected gupnp. [#594951, 2762 patch from Olivier Crête] 2763 2764 * Fixed the type of the SOUP_METHOD_* and SOUP_URI_SCHEME_* 2765 macros to be const char * rather than gpointer. [#594508] 2766 2767Changes in libsoup from 2.27.91 to 2.27.92: 2768 2769 * Removed SoupPasswordManager from the public API until its 2770 problems can be addressed. Although it is still present, you 2771 need to #define a special symbol for it to be visible in the 2772 header files; see #594377 for details. 2773 2774 * Fixed a bug where empty query components were dropped from 2775 URIs. [#594405] 2776 2777 * Fixed "make check" to work (but warn) when building with 2778 --disable-ssl. 2779 2780 * Fixed some small documentation bugs pointed out by Dominik 2781 Bylica and Lucian Langa. 2782 2783Changes in libsoup from 2.27.90 to 2.27.91: 2784 2785 * Added SoupPasswordManager, an interface for managing 2786 persistent password storage, and SoupPasswordManagerGNOME 2787 (in libsoup-gnome), which implements it using gnome-keyring. 2788 tests/get.c provides a minimal example of how to use it. 2789 2790 * libsoup should now notice when the server closes a 2791 persistent connection, and close its side of the connection 2792 sooner. This should hopefully fix the spurious "Connection 2793 terminated unexpectedly" errors in WebKitGTK. [#578990] 2794 2795 * Fixed some problems with connection management in 2796 SoupSession that could cause a session to eventually "stall" 2797 and be unable to process new requests. [#592084] 2798 2799 * Fixed an infinite loop that caused 100% CPU usage if the 2800 network went down at exactly the right time while there were 2801 unsent messages in the queue. [#592492] 2802 2803 * Fixed a crash in SoupLogger. [#591857] 2804 2805 * Fixed the definition of soup_message_is_keepalive() for 2806 HTTP/1.0 messages, to fix a problem introduced in 2.27.90 2807 where some messages would load completely but never emit 2808 "finished". 2809 2810 * Fixed a crash in SoupServer introduced in 2.27.90 when 2811 processing a request with no "Host" header. 2812 2813Changes in libsoup from 2.27.5 to 2.27.90: 2814 2815 * libsoup now uses glib's GResolver rather than its own DNS 2816 code. For 2.27.90, the only visible change should be that 2817 internationalized domain names are now supported. [#548287] 2818 2819 * Added soup_message_disable_feature(), which allows you to 2820 disable particular features (eg, cookies, proxy, 2821 content-sniffing, etc) on a per-message basis. [#574773] 2822 2823 * It is now possible to implement "OPTIONS *" in a SoupServer; 2824 you must explicitly register a handler for "*" in order to 2825 do this. [#590751] 2826 2827 * Ignore Content-Length on EOF-terminated responses, to match 2828 other browsers and therefore cope with broken servers that 2829 send the wrong length. [Patch from Benjamin Otte.] 2830 2831 * Fixed the status code when trying to fetch an https URI with 2832 a non-gnutls build of libsoup. [#590464] 2833 2834 * Fixed strict-aliasing warnings introduced in 2.27.4 2835 [#588771] 2836 2837 * Fixed some warnings noted by fortify [#591226] and -Wextra. 2838 2839 * libsoup now uses automake 1.11's silent-rules support by 2840 default (if you are building with automake 1.11). Use 2841 "./configure --disable-silent-rules" or "make V=1" to 2842 disable. 2843 2844Changes in libsoup from 2.27.4 to 2.27.5: 2845 2846 * Fixed a crash when a web server redirected a request to a 2847 non-http URI (eg, "about:blank"). [#528882] 2848 2849 * Fixed a hang when trying to create an attachment on certain 2850 bugzilla installations from epiphany. [#584645] 2851 2852 * Fixed verification of V1 TLS certificates [#589323, Patrick 2853 Ohly] 2854 2855 * Fixed compile problems on Windows (in the ssl code), and on 2856 Linux (when the most recent version of gtk-doc was 2857 installed). 2858 2859Changes in libsoup from 2.27.2 to 2.27.4: 2860 2861 * Added SoupContentSniffer and the "content-sniffed" signal on 2862 SoupMessage, to do Content-Type sniffing per the HTML5 / 2863 draft-abarth-mime-sniff algorithm. [#572589, Gustavo Noronha 2864 Silva] 2865 2866 * Updated the earlier SoupSession timeout fixes ([#574414], 2867 [#578928]) so that async connect() also times out [#588177, 2868 Mark Nauwelaerts] and SSL works on Windows again [#587910, 2869 Fridrich Strba]. 2870 2871 * Fixed the behavior on a 301 response to a POST to match 2872 real-world usage rather than what the spec says. (We were 2873 doing the right thing on 302 and 303, but had missed 301.) 2874 [#586692] 2875 2876 * Changed configure so that if GNUTLS isn't found then it 2877 errors out, rather than silently building an SSL-less 2878 libsoup. Configure with --disable-ssl if you actually don't 2879 want SSL. [#584955] 2880 2881Changes in libsoup from 2.27.1 to 2.27.2: 2882 2883 * Replaced SoupProxyResolver with SoupProxyURIResolver, which 2884 is a bit simpler, works with non-HTTP URIs (and so could be 2885 used by gvfsd-ftp) and supports proxy auth correctly. 2886 [#580051] 2887 2888 * Fixed SoupSession to not try to resolve http server 2889 hostnames when it's just going to pass the hostname off to a 2890 proxy server anyway. This fixes things on hosts that use a 2891 proxy for everything and have no working DNS config 2892 [#577532] and also makes WebKitGTK behave more like other 2893 browsers in terms of per-host connection limits (we now 2894 limit connections based on hostname rather than on IP 2895 address). 2896 2897 We also no longer set the AI_CANONNAME flag when calling 2898 getaddrinfo(), which saves us a little bit of unnecessary 2899 network traffic. [Pointed out by Christophe Gillette on the 2900 mailing list.] 2901 2902 * libsoup now always uses SSL 3.0 (not TLS 1.0 or 1.1) for 2903 https URIs, to work around problems with older servers that 2904 don't implement the (apparently quite confusing) TLS/SSL 2905 compatibility rules correctly. Makes a bunch of 2906 previously-inaccessible sites now accessible in WebKitGTK 2907 (notably PayPal) [#581342]. Will eventually be revisited, to 2908 first try TLS 1.1 and fall back if that fails. 2909 2910 * Fixed Digest auth to (recent) Apple CalDAV servers. 2911 [#583091] 2912 2913 * Changed the way the SoupSession "authenticate" signal works 2914 a bit. We now never emit "authenticate" before sending a 2915 request, even if we know for sure that it's going to fail, 2916 because this makes the semantics of the authenticate handler 2917 too complicated (and because we'll only get into this 2918 situation if a previous call to the authenticate handler 2919 failed anyway). Fixes problems in WebKitGTK when you cancel 2920 a password dialog, and then later try to load the page 2921 again. [#583462, mostly figured out by Gustavo Noronha 2922 Silva]. 2923 2924 * Fixed a bug in the CRLF-vs-LF patch (#571283) that caused 2925 libsoup to fail to parse the response headers (returning 2926 SOUP_STATUS_MALFORMED) if a CR LF got split across two 2927 read()s. [#582002] 2928 2929 * Allow using PUT in soup_form_request_for_data(), to work 2930 with certain broken web APIs. [#581860, Ross Burton]. Also, 2931 fixed a problem with empty POST bodies that made some parts 2932 of gmail not work in WebKitGTK. 2933 2934 * Applied some minor bugfixes to configure.in and autogen.sh 2935 [#583911, #583942]. Fixed configure.in to not use gcc 2936 warning options that the installed version of gcc doesn't 2937 recognize [#578851]. 2938 2939 * Added G_GNUC_NULL_TERMINATED and G_GNUC_PRINTF to a few 2940 methods that should have had them. [#581754, Ross Burton] 2941 2942Changes in libsoup from 2.26.1 to 2.27.1: 2943 2944 * SOUP_SESSION_TIMEOUT now works properly with 2945 SoupSessionAsync [#574414] and SSL [#578928]. Added 2946 tests/timeout-test to test this. 2947 2948 * SoupDate fixes: 2949 2950 * soup_date_to_string() now handles SOUP_DATE_RFC2822 2951 [#579055, Enrico Tröger] 2952 2953 * soup_date_new_from_string() now accepts 24:00 as a 2954 time in ISO8601 timestamps 2955 2956 * soup_date_to_string() now coerces the date to UTC 2957 for HTTP and cookie dates, and outputs the UTC 2958 correct offset for the other date types. 2959 2960 * Added regression tests to tests/date 2961 2962 * soup_headers_parse() now completely ignores 2963 syntactically-incorrect headers, rather than passing them to 2964 soup_message_headers_append() and causing a g_warning. 2965 soup_message_headers_append() now also rejects 0-length 2966 header names. Updated tests/header-parsing to check this. 2967 [#579318] 2968 2969 * Fix a crash when cancelling a message from a "restarted" 2970 handler, and updated a regression test to notice the 2971 underlying cause. [#580193] 2972 2973 * Completing the API updates for #576760 from 2.26.1, 2974 soup_message_headers_get() is now marked deprecated in favor 2975 of soup_message_headers_get_one() and _get_list(). 2976 2977Changes in libsoup from 2.26.0 to 2.26.1: 2978 2979 * libsoup uses libproxy for PAC and WPAD proxy resolution 2980 again. However, it arranges to do all communication with 2981 GConf itself, to ensure that libproxy doesn't call it in 2982 non-thread-safe ways. [#571527] Also, fixed a bug in 2983 SoupSessionSync when proxy resolution failed. [#574957, 2984 patch from Milan Crha]. 2985 2986 (Also fixed three SoupProxyResolverGNOME bugs since the 2987 2.26.0.9 preview release. [#578746, #578809]) 2988 2989 * SoupURI now handles unencoded spaces in URIs. In particular, 2990 redirects via Location headers with spaces in them now work. 2991 [#566530] 2992 2993 * libsoup can now deal with servers (and clients) that 2994 erroneously use LF LF instead of CR LF CR LF to separate 2995 the headers and body. [#571283] 2996 2997 * Added soup_message_headers_get_one() and 2998 soup_message_headers_get_list(), which will eventually 2999 deprecate soup_message_headers_get(). This lets applications 3000 deal correctly with implementations that erroneously send 3001 multiple copies of single-valued headers. [#576760] 3002 3003 * In particular, soup_message_headers_get_content_type() now 3004 ignores duplicate Content-Type headers [#576760] and also 3005 ignores syntactically-incorrect Content-Type headers. 3006 [#577630] 3007 3008 * SoupCookieJar can now store multiple cookies with the same 3009 domain and name, but different paths. [#577360] 3010 3011 * Abnormal SSL connection closes are now treated as ordinary 3012 EOFs, for compatibility with certain sites. [#577386] 3013 3014 * soup_header_g_string_append_param() now allows NULL values. 3015 [#577728] 3016 3017 * soup_message_headers_append() now rejects header names and 3018 values with newlines or certain other illegal data in them, 3019 rather than generating syntactically invalid headers. 3020 3021 * Fixed a small bug in soup_date_new_from_string's ISO 8601 3022 handling [qv #578369 for g_time_val_from_iso8601]. 3023 3024 * The regression tests now work correctly on machines where 3025 "localhost" resolves to "::1" instead of "127.0.0.1". 3026 [#576583, patch from Andreas Rottmann] 3027 3028 * Fixed warnings when a message has a network problem when 3029 many other messages are queued. [#578809] 3030 3031 * Miscellaneous documentation fixes/clarifications. 3032 3033Changes in libsoup from 2.25.91 to 2.26.0: 3034 3035 * Temporarily disable libproxy support to work around a bug in 3036 its gnome plugin that causes gvfsd-http (and probably 3037 eventually other apps) to crash. [#571527]. For now, 3038 SoupProxyResolverGNOME uses only GConf. To be fixed in 3039 2.26.1 3040 3041 * Fixed a bug that showed up in WebKit, where if many messages 3042 were queued all at once to a server that doesn't support 3043 persistent connections, some of the requests will get lost. 3044 #574365, reported by Xan Lopez. 3045 3046 * Fixed SoupServer to support using SOUP_ENCODING_EOF, so you 3047 can stream responses of unknown length to HTTP/1.0 clients. 3048 [#572153]. Added a regression test for this, and for chunked 3049 and Content-Length-based streaming. 3050 3051 * Fixed several bugs that prevented SoupCookieJarSqlite from 3052 working. [#572409, patch from Xan Lopez] 3053 3054 * Added G_{BEGIN,END}_DECLS guards to public headers that were 3055 missing it. (Xan Lopez) 3056 3057 * Misc gtk-doc improvements 3058 3059Changes in libsoup from 2.25.5 to 2.25.91: 3060 3061 * Fixed a crash in SoupProxyResolverGNOME when the proxy 3062 requires authentication. (This does not make proxy 3063 authentication *work* yet, it just makes it not crash.) 3064 3065 * Updated documentation 3066 3067Changes in libsoup from 2.25.4 to 2.25.5: 3068 3069 * SoupProxyResolverGConf (which was incomplete) is gone, and 3070 libsoup-gnome now requires libproxy, which is now officially 3071 an external dependency of GNOME. 3072 3073 * Fixed a bug in SoupCookieJar that was making it send 3074 "Cookie: (null)" when it had no cookies for a site, which 3075 confused some web servers (WebKit bug 23240). 3076 3077 * Fixed a bug with using SOUP_MEMORY_TEMPORARY buffers and 3078 soup_message_body_set_accumulate(FALSE). (Part of WebKit bug 3079 18343, noticed by Gustavo Noronha Silva.) 3080 3081 * Fixed the build with non-gcc compilers 3082 3083Changes in libsoup from 2.25.3 to 2.25.4: 3084 3085 * Added soup_session_get_feature() and 3086 soup_session_get_features(), to query the features currently 3087 available in a session (which is needed by the patch in 3088 https://bugs.webkit.org/show_bug.cgi?id=22624) 3089 3090Changes in libsoup from 2.25.2 to 2.25.3: 3091 3092 * Fixed a crash when using both cookies and a proxy. [#562191, 3093 Mark Lee] 3094 3095 * Fixed soup_form_decode() to correctly handle forms with 3096 URI-encoded parameter names [#563302, Evan Nemerson] and 3097 added a regression test. 3098 3099 * Fixed a crash in SoupProxyResolverGConf. [#563145] 3100 3101Changes in libsoup from 2.25.1 to 2.25.2: 3102 3103 * Fixed client behavior when presented with multiple auth 3104 types to choose the *strongest* auth type (eg, Digest) 3105 rather than the *weakest* one [#562339, Pontus Oldberg]. 3106 Added a regression test for this. 3107 3108 * Moved libsoup-gnome headers to a different directory to make 3109 it easier to split libsoup and libsoup-gnome into separate 3110 packages, and to ensure that things that only want to be 3111 looking at plain libsoup headers (like gir-repository) don't 3112 accidentally see the libsoup-gnome ones. 3113 3114 * Some minor doc fixes 3115 3116 * Fixed libsoup-gnome linking with --as-needed. [#559342] 3117 3118Changes in libsoup from 2.24.1 to 2.25.1: 3119 3120 libsoup 2.25.1 introduces a new library, libsoup-gnome, which 3121 will be used for features which are important to GNOME apps, 3122 but which require GNOME-specific libraries that non-GNOME apps 3123 may not want to add dependencies on. 3124 3125 In 2.25.1, libsoup-gnome contains: 3126 3127 * SOUP_TYPE_PROXY_RESOLVER_GNOME, a SoupSessionFeature 3128 type that can be added to a SoupSession to provide 3129 automatic proxy handling via the GConf proxy keys. (See 3130 below) The default implementation uses libproxy, which 3131 also handles WPAD, PAC, etc, but if libproxy is not 3132 available it will use GConf directly, supporting only 3133 the basic HTTP proxy functionality. 3134 3135 * SoupCookieJarSqlite, a SoupSessionFeature that handles 3136 cookies and stores them in a Firefox 3-compatible sqlite 3137 file. (This is not actually a "GNOME-specific" feature, 3138 but I didn't want to make libsoup itself depend on 3139 sqlite, and I didn't want to make the dependency 3140 optional. This might change before 2.26.) 3141 3142 * SOUP_TYPE_GNOME_FEATURES_2_26: a SoupSessionFeature type 3143 that can be added to a SoupSession to add all 3144 GNOME-integration features that are available for 2.26; 3145 as of 2.25.1, this is just the GNOME proxy resolver, but 3146 by 2.26.0 it may also include gnome-keyring support and 3147 possibly other features. 3148 3149 Applications/libraries that are currently doing GConf proxy 3150 lookup by hand can be updated as follows: 3151 3152 * Remove all of the existing code that listens to the 3153 GConf keys and sets SOUP_SESSION_PROXY_URI 3154 3155 * Change the configure check to require 3156 "libsoup-gnome-2.4 >= 2.25.1" instead of "libsoup-2.4" 3157 3158 * #include <libsoup/soup-gnome.h> 3159 3160 * After creating your SoupSession, do: 3161 3162 soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME); 3163 3164 (Or alternatively, use SOUP_SESSION_ADD_FEATURE_BY_TYPE 3165 with soup_session_async_new_with_options() or 3166 soup_session_sync_new_with_options().) 3167 3168 3169 Other new features and bug fixes in 2.25.1 include: 3170 3171 * SoupCookieJarText, like SoupCookieJarSqlite, but using the 3172 old-style cookies.txt format, and in the base libsoup rather 3173 than libsoup-gnome. 3174 3175 * Various bugfixes to SoupCookie and SoupCookieJar to fix the 3176 problems with cookies not working on certain sites. 3177 3178 * The new SoupMultipart type provides support for multipart 3179 MIME bodies, and soup-form now includes several methods for 3180 generating and parsing multipart form data and file uploads. 3181 3182 * SoupMessageHeaders now has methods for easy handling of the 3183 Content-Type, Content-Disposition, Range, and Content-Range 3184 headers. The Content-Disposition handling recognizes 3185 RFC2231-encoded UTF-8 filenames. 3186 3187 * SoupServer now automatically handles partial GET requests; 3188 if your server returns SOUP_STATUS_OK in response to a 3189 partial GET, libsoup will automatically convert it to a 3190 SOUP_STATUS_PARTIAL_CONTENT response with only the requested 3191 portions. 3192 3193 Thanks to Xan Lopez and Diego Escalante Urrelo for their work 3194 on SoupCookie, SoupCookieJar, SoupCookieJarText, and 3195 SoupCookieJarSqlite. 3196 3197Changes in libsoup from 2.24.0.1 to 2.24.1: 3198 3199 * Fixed a crash when unreffing the session from a 3200 soup_session_queue_message() callback [#533473], and added 3201 regression test. In particular, this fixes a crash in 3202 seahorse when trying to connect to a non-responsive 3203 keyserver. 3204 3205 * Fixed an infinite loop when giving a bad password to a site 3206 that uses non-standard capitalization in the 3207 WWW-Authenticate header (eg, gmail.com) [#536285]. 3208 3209 * Fixed a leak in SoupSessionAsync when using a non-default 3210 GMainContext. [addendum to #498509, Arnout Vandecappelle] 3211 Added additional code to the regression tests to make sure 3212 sessions and servers do not get leaked. 3213 3214 * Fixed a leak in the XML-RPC code 3215 3216 * Compile fixes for "gcc -pedantic" [#553976, Sander Dijkhuis] 3217 and -DG_DISABLE_DEPRECATED / -DG_DISABLE_SINGLE_INCLUDES 3218 [#557072, Cosimo Cecchi] 3219 3220 * Patched xmlrpc-test to accept the incorrect response to 3221 test_echo() that php-xmlrpc gives when it's built against 3222 libxml2 >= 2.7.1 (qv http://bugs.php.net/45996), so that 3223 I can "make distcheck"... 3224 3225 * Updated generated documentation 3226 3227Changes in libsoup from 2.23.92 to 2.24.0.1: 3228 3229 * Reverted part of the fix for #528882, which caused the DAAP 3230 plugin in rhythmbox to crash. [#553466] 3231 3232Changes in libsoup from 2.23.91 to 2.23.92: 3233 3234 * Fixed the handling of a 302 response to a HEAD request, 3235 which should NOT be treated like a 303 response. [#551190, 3236 Jonathan Matthew] 3237 3238Changes in libsoup from 2.23.6 to 2.23.91: 3239 3240 * Fixed a crash in gvfs [#528882], though there is still an 3241 unknown bug there. As part of this fix, libsoup will now 3242 return an error if you try to do an operation on a non-HTTP 3243 URI. (Previously it was just treating any URI scheme except 3244 "https" as HTTP.) 3245 3246 * Added soup_date_to_timeval() for gvfs. [#549006, patch from 3247 Bastien Nocera] 3248 3249Changes in libsoup from 2.23.1 to 2.23.6: 3250 3251 * Fixed use of g_idle_add() so that heavy I/O won't end up 3252 blocking libsoup callbacks. [#536676, Benjamin Otte] 3253 3254 * Allow the caller to override the Host header. [#539803, Marc 3255 Maurer] 3256 3257 * Properly handle responses larger than 4G. [#539861, Peter 3258 Christensen] 3259 3260 * Fixed the build when using certain LDFLAGS [#541506, Götz 3261 Waschk] 3262 3263 * Fixed a small bug in Digest auth handling. [#544681, Mads 3264 Chr. Olesen] 3265 3266 * Fixed multiple Windows bugs [Tor Lillqvist] 3267 3268Changes in libsoup from 2.4.1 to 2.23.1: 3269 3270 * This is the first unstable release leading up to GNOME 2.24. 3271 Bumped the libsoup version number up to 2.23.x to match the 3272 GNOME version; note that the API version is still "2.4", 3273 meaning in particular that you still call it "libsoup-2.4" 3274 when using pkg-config. 3275 3276 * Added SoupSessionFeature, an interface type that will be 3277 used for several new features. Ported SoupLogger and 3278 SoupAuthManager to use it. 3279 3280 * Added SoupCookie and SoupCookieJar. This API is already 3281 being used in Epiphany, via WebKit, but it is not yet 3282 complete. 3283 3284 * Fixed GnuTLS support on Win32. [#528752, Marc Maurer] 3285 3286Changes in libsoup from 2.4.0 to 2.4.1: 3287 3288 * Fixed SoupMessage to not downgrade to HTTP/1.0 for the 3289 second attempt when it receives an HTTP/1.0 redirect or 401. 3290 [#521848, Tommu Komulainen] 3291 3292 * Fixed Host: header syntax when the host is an IPv6 address 3293 literal. 3294 3295 * Fixed SoupSession to not emit "authenticate" multiple times 3296 for messages that have been requeued. [#522601, Tommi 3297 Komulainen]. Also added two new signals to SoupSession, 3298 request-queued and request-unqueued, to help simplify 3299 certain session-helpers and avoid bugs like this in the 3300 future. 3301 3302 * Fixed soup_server_pause_message() to actually work (rather 3303 than *un*pausing the message). 3304 3305 * Added a property SOUP_SESSION_IDLE_TIMEOUT that can be used 3306 to set a timeout after which idle connections will 3307 automatically be closed. [#518214, Jorn Baayen] 3308 3309 * Implemented RFC 2069-style Digest auth, and fixed SoupAuth 3310 to compare auth scheme names case-insensitively, to fix 3311 authentication against Apple's calendar server. [#498484] 3312 3313 * Fixed a crash in SoupAuthDomainDigest if the client provided 3314 an unrecognized username. [pointed out by Curtis Magyar on 3315 IRC] 3316 3317 * Fixed a few SoupDate bugs. (In particular, it was outputting 3318 the wrong day of the week when stringifying dates.) 3319 3320 * Improved the cleanup of idle connections, to fix slow load 3321 times with the libsoup backend of WebKit. 3322 3323 * Added a new SoupMessage signal "wrote-body-data" that can be 3324 used for progress information when sending a large request 3325 body. Also allow providing the request body in multiple 3326 chunks even when using Content-Length encoding. [#525101, 3327 Christian Kellner] 3328 3329 * libsoup now ignores SIGPIPE globally, instead of 3330 un-thread-safe-ly ignoring it only around network writes. In 3331 particular, this means it is ignored when the SSL code needs 3332 to unexpectedly do a write when we asked it to do a read. 3333 [#524397, Curtis Magyar] 3334 3335 * The discard-body-chunks-once-they're-no-longer-needed 3336 behavior, confusingly called SOUP_MESSAGE_OVERWRITE_CHUNKS, 3337 is now controlled by a SoupMessageBody method 3338 (soup_message_body_set_accumulate()), and can be applied to 3339 either the request body or the response body. 3340 (OVERWRITE_CHUNKS is still available for backward 3341 compatibility.) [#522146, Christian Kellner] 3342 3343 * The DNS cache no longer caches "no such host" results, since 3344 some name servers lie to clients outside their firewall, 3345 which could then cause problems for laptops moved between 3346 networks. [#523269, Jörgen Scheibengruber] 3347 3348 * Added some new regression tests, fixed some small bugs in 3349 the existing ones. 3350 3351Changes in libsoup from 2.3.4 to 2.4.0: 3352 3353 * Fixed a small memory leak in SoupSession. [#518798, Wouter 3354 Cloetens] 3355 3356 * Minor fixes to redirect behavior; PROPFINDs can now be 3357 automatically redirected (pointed out by Christian Kellner), 3358 and 302 is treated like 307, not 303. Also fixed to make 3359 sure that redirect-test actually gets run by "make check". 3360 3361 * The SoupSocket I/O methods now set nread/nwrote even on 3362 error. [Benjamin Otte] 3363 3364Changes in libsoup from 2.3.2 to 2.3.4: 3365 3366 * The documentation should be accessible from devhelp again 3367 [#518384, Mart Raudsepp]. (Also fixed another 3368 documentation-generation bug that affected builds from svn, 3369 but not the 2.3.2 tarball for some reason. [#518317, 3370 Benjamin Otte].) 3371 3372 * Fixed dependencies in libsoup-2.4.pc file [#517631, 3373 Sebastian Dröge] 3374 3375Changes in libsoup from 2.3.0.1 to 2.3.2: 3376 3377 API changes / Behavior changes: 3378 3379 * soup_server_add_auth_domain() now refs the auth domain when 3380 adding it. (soup_server_remove_auth_domain() already 3381 unreffed it.) This means existing applications using 3382 SoupAuthDomain will now have a small memory leak. Those 3383 applications should update their libsoup-2.4 requirement to 3384 ">= 2.3.2" at some point before the final GNOME 2.22.0 3385 release, and then fix the code to unref the auth domain 3386 after adding it to the server. 3387 3388 * SoupSession's automatic redirect-handling behavior now obeys 3389 RFC 2616 more closely. In particular, status codes 300 and 3390 304 are no longer mistakenly considered redirects; POSTs 3391 that receive 303 are now redirected into GETs; and POSTs 3392 that receive 301, 302, or 307 are now not redirected. 3393 3394 Applications that were using the SOUP_MESSAGE_NO_REDIRECT 3395 flag to prevent libsoup from redirecting POSTs incorrectly 3396 before should now be able to remove that if they depend on 3397 libsoup-2.4 >= 2.3.2. 3398 3399 API additions: 3400 3401 * Added a SOUP_SESSION_USER_AGENT property to SoupSession, and 3402 SOUP_SERVER_SERVER_HEADER to SoupServer, to support 3403 automatically adding "User-Agent" and "Server" headers to 3404 messages. (The default behavior is to do nothing, as 3405 before.) 3406 3407 * Added several new methods to soup-forms.h. Applications that 3408 are encoding a fixed set of form fields can now just pass 3409 them to soup_form_encode(), rather than needing to construct 3410 a GHashTable or GData list. (Likewise, the new 3411 soup_uri_set_query_from_fields() behaves similarly for 3412 directly updating a URI with form data.) There are also now 3413 soup_form_request_new() and other related methods, to 3414 directly create a GET or POST SoupMessage for submitting a 3415 form query. 3416 3417 The original soup_form_* methods have all been renamed, 3418 although #defines exist for backward compatibility. 3419 3420 * Added soup_message_set_chunk_allocator() and 3421 soup_buffer_new_with_owner(), to give applications more 3422 control over memory usage/copying when doing streaming HTTP. 3423 [Wouter Cloetens, #513810]. 3424 3425 * Added several new methods to soup-value-utils.h for working 3426 with multiple array or hash table values at once: 3427 soup_value_hash_new_with_vals(), 3428 soup_value_hash_insert_vals(), 3429 soup_value_hash_lookup_vals(), 3430 soup_value_array_new_with_vals(), and 3431 soup_value_array_append_vals(). 3432 3433 This helps to simplify XML-RPC calls that send or receive 3434 structs or arrays. 3435 3436 * Added soup_date_to_time_t(). 3437 3438 * Added SoupMessageHeadersIterator, an iterator type for 3439 SoupMessageHeaders that can be used instead of 3440 soup_message_headers_foreach(). 3441 3442 Bug fixes: 3443 3444 * Fixed a crash-when-idle in evolution-exchange [#437835] and 3445 rhythmbox [#506552]. 3446 3447 * Added the API version to the gtk-doc installation dir, to 3448 prevent parallel-installation problems with libsoup 2.2 and 3449 2.4. [#512810, Daniel Gryniewicz]. 3450 3451 * Fixed tests/query-test to compile correctly on Solaris. 3452 [#513602, patch from Jeff Cai] 3453 3454 * Fixed some other minor HTTP conformance issues. 3455 3456 Python bindings: 3457 3458 * Although not present in the release tarball, there are now 3459 experimental python bindings for libsoup in GNOME subversion 3460 (in the python/ subdirectory of libsoup trunk). These are 3461 not yet stable (and are not built by default or installed 3462 even when building from svn), but comments on them are 3463 welcome at libsoup-list@gnome.org 3464 3465Changes in libsoup from the 2.2 series to 2.3.0.1: 3466 3467 libsoup 2.3.0 is the first beta release of the libsoup 2.4 3468 series. It is an API break from the earlier 2.2 series that 3469 fixes various bugs and API warts and lays the groundwork for 3470 language bindings and various new features in upcoming 3471 releases. 3472 3473 (2.3.0.1 is identical to the 2.3.0 release in terms of code, 3474 but includes this updated NEWS file which was accidentally 3475 left out of the 2.3.0 tarball.) 3476 3477 http://library.gnome.org/devel/libsoup/unstable/libsoup-porting-2.2-2.4.html 3478 goes over the API changes in detail. If you have questions not 3479 answered by the porting document, please send mail to 3480 libsoup-list@gnome.org. 3481 3482 Specific user-reported bugs fixed in this release: 3483 3484 * SoupURI now correctly handles URIs with complex encoded 3485 queries [#266516, Jean-Yves Lefort] 3486 3487 * It is now possible for a SoupServer to use Digest auth 3488 without needing to have the cleartext password available. 3489 [#347108, Anas Nashif] 3490 3491 * Digest authentication now properly handles "stale=true" and 3492 "nextnonce=..." [#471380, Jari Urpalainen] 3493 3494 * SoupServer is now subclassible [#491653, Mathias Hasselmann] 3495 3496 * soup_server_run_async and soup_server_quit no longer ref and 3497 unref the server, as that doesn't match ordinary GObject 3498 conventions [#494128, Mathias Hasselmann] 3499 3500 * The test programs no longer use a symbol name that conflicts 3501 with Cygwin [#501631, Cygwin Ports Maintainer] 3502 3503 * libsoup can now handle the not-quite-HTTP responses returned 3504 by Shoutcast servers [#502325, Wouter Cloetens] 3505 3506 * If you use libsoup while disconnected from the network, it 3507 no longer caches the failed DNS results [#508593, Bradley 3508 Worley] 3509 3510 Items from http://live.gnome.org/LibSoup/ToDo fixed: 3511 3512 * "Expect: 100-continue" processing now works correctly on 3513 both client and server. 3514 3515 * SoupSessions are no longer leaked 3516 3517 * The XML-RPC API is improved. The SOAP API is gone... 3518 3519 * Added utility functions for HTML form handling 3520 3521 * Improved message header handling 3522 3523 * SoupServer now automatically adds a "Date" header 3524 3525========== 3526 3527Changes in libsoup from 2.2.103 to 2.2.104: 3528 3529 * soup_message_io_pause() and soup_message_io_pause() are now 3530 allowed for client messages (and in particular, they don't 3531 mess up when called from the "got_chunk" callback). 3532 [#452280, Marco Barisione] 3533 3534 * Fixed some bugs in SOUP_SESSION_ASYNC_CONTEXT support that 3535 would cause parts of an operation to run in the default 3536 context rather than the session's context. Also fixed some 3537 leaks and added a regression test. [#498509, Wouter 3538 Cloetens] 3539 3540 * There is a new test/sample program, tests/pull-api.c, 3541 showing how to implement a pull API using SoupSessionAsync. 3542 (This depends on the fixes for #452280 and #498509, so it 3543 won't work with older versions of libsoup.) 3544 3545 * Discovered "valgrind --leak-resolution=med" and fixed some 3546 more memory leaks. 3547 3548Changes in libsoup from 2.2.102 to 2.2.103: 3549 3550 * Fix memory corruption in SoupSessionAsync that caused 3551 rhythmbox to crash. [#484988, patch from Rob Bradford] 3552 3553 * Fix socket refcounting in SoupServer to fix warnings / 3554 possible crash. [#459896, Emanuele Aina] 3555 3556Changes in libsoup from 2.2.101 to 2.2.102: 3557 3558 * Unbreak the build when building without SSL. Not that you 3559 should be building without SSL anyway, but... (reported by 3560 guenther). 3561 3562Changes in libsoup from 2.2.100 to 2.2.101: 3563 3564 * Fix build on cygwin [384498] 3565 3566 * Fix SSL rehandshaking on synchronous sockets [415402, Jacob 3567 Berkman] and add a regression test for it. 3568 3569 * Fix two bugs in https tunnels over proxies that require 3570 authentication (noticed by Varadhan), and add a regression 3571 test for them. 3572 3573 * Ensure that if you queue multiple messages at once to an 3574 http server that requires authentication but that you 3575 haven't authenticated to yet, that all of the messages get 3576 properly authenticated [271540, James Willcox]. And add a 3577 regression test for it. 3578 3579 * Fix NTLM authentication, which got broken by the previous 3580 fix. [471389, Varadhan]. Add a basic NTLM regression test 3581 that doesn't really test the crypto/encoding parts, but at 3582 least makes sure that the message flow is correct. 3583 3584 * Allow trailing whitespace after HTTP version in 3585 Response-Line, for compatibility with broken servers 3586 [475169, Stephane Loeuillet]. Add that case to the 3587 header-parsing regression test. 3588 3589 * Fix crash when the session's "authenticate" handler returns 3590 a username and no password when using NTLM. [480987, Wendell 3591 MacKenzie] 3592 3593 * Use "new" glib base64 and iso8601 methods rather than 3594 duplicating them. [337010, patch from Emmanuele Bassi]. 3595 3596 * Implement soup_session_queue_message() for SoupSessionSync. 3597 3598 * Add G_BEGIN_DECLS / G_END_DECLS to all headers that were 3599 missing them. [438776, patch from Jonathon Jongsma]. 3600 3601 * Fix broken definition of SOUP_IS_MESSAGE_FILTER_CLASS. Noted 3602 by "cascardo" on libsoup-list. 3603 3604 * Remove documentation of non-public MD5 methods [440092, 3605 Jonathon Jongsma]. Removed a mysterious half-sentence in the 3606 SoupMessage docs [458116, Marco Barisione]. 3607 3608Changes in libsoup from 2.2.99 to 2.2.100: 3609 3610 * Fixed soup_headers_parse_status_line() so WebDAV response 3611 parsing will work again. [406997] 3612 3613 * Fixed a bug in the header-parsing regression test that 3614 caused the test to fail sometimes, even though the actual 3615 header-parsing code was fine. 3616 3617Changes in libsoup from 2.2.98 to 2.2.99: 3618 3619 * Fixed header parsing, including a crash in SoupServer with 3620 certain malformed requests [391970]. 3621 3622 * Fixed redirection to other hosts with SoupSessionAsync. 3623 [382251] 3624 3625 * Fixed a small memory leak pointed out by Chris Austin. 3626 3627Changes in libsoup from 2.2.97 to 2.2.98: 3628 3629 * The XML-RPC code now correctly interprets <value>foo</value> 3630 as meaning the same thing as 3631 <value><string>foo</string></value>. [364490] Pointed out by 3632 Todd Kulesza. 3633 3634 * Memory leak fixes from Andrew W. Nosenko. 3635 3636 * A few symbols that should have been static before now are. 3637 [376387] Patch from Matthias Clasen. 3638 3639Changes in libsoup from 2.2.96 to 2.2.97: 3640 3641 * Fixed SOAP and XML-RPC code to handle whitespace and 3642 comments in the XML better. (Based on a patch from Andrew W. 3643 Nosenko.) 3644 3645 * Fixed lots of typecasting/constness warnings in the code 3646 (mostly via a patch from Andrew W. Nosenko) 3647 3648 * Fixed build on Cygwin [321827] 3649 3650 * Fixed libsoup-2.2.pc fields [343340] and make it get 3651 uninstalled correctly [356809]. (Mikhail Zabaluev and 3652 Matthew Barnes) 3653 3654 * Fixed some small leaks in SoupServer pointed out by Paolo 3655 Borelli. [351500] 3656 3657Changes in libsoup from 2.2.95.1 to 2.2.96: 3658 3659 * SoupServer now works even if you don't explicitly set an 3660 encoding for the response. (In particular, the automatic 404 3661 if you request a path with no handlers now works. Problem 3662 pointed out by Dennis Jacobfeuerborn.) 3663 3664 * WWW-Authenticate and Proxy-Authenticate responses with no 3665 realm parameter are now ignored, as per RFC 2617, fixing a 3666 crash pointed out by Nate Nielsen. 3667 3668 * Added soup_xmlrpc_message_from_string(), from Fernando 3669 Herrera [348532]. 3670 3671 * simple-httpd and "get" now support HEAD 3672 3673Changes in libsoup from 2.2.94 to 2.2.95.1: 3674 3675 * Even more fixes to XML-RPC, found by the new XML-RPC 3676 regression test. This includes some API changes that I don't 3677 feel guilty about, because the code totally didn't work at 3678 all before. 3679 3680 * Fixed a bug in soup_mktime_utc() 3681 3682 * (2.2.95 was identical to 2.2.95.1. The only difference is 3683 that the shared library version was belatedly bumped from 3684 8.2.0 to 8.3.0 to reflect the API "additions") 3685 3686Changes in libsoup from 2.2.93 to 2.2.94: 3687 3688 * Various fixes to the XML-RPC code (which apparently had not 3689 actually ever worked before) from Brent Smith. [343973, 3690 344222, 344458] 3691 3692 * Added client and server API tutorials to the docs 3693 3694 * auth-test now uses a local Apache 2.2 install, if possible, 3695 rather than depending on files that used to be on an old 3696 Ximian web server but haven't been anywhere for a long time. 3697 [311825] 3698 3699Changes in libsoup from 2.2.92 to 2.2.93: 3700 3701 * Fixed outgoing data corruption caused when SoupServer 3702 started writing out a response a second time after already 3703 having started once. [334469]. Also fixed 342640 and another 3704 bug caused by the workaround for 334469 in 2.2.92. Based on 3705 patches and analysis from William Jon McCann and Armin 3706 Bauer. 3707 3708 * Fixed a deadlock when changing a session's proxy URI. 3709 [309867 / bnc 174255, based on a patch by Veerapuram 3710 Varadhan]. 3711 3712 * Fixed https-via-proxies in the synchronous case. [bnc 174255] 3713 3714 * Fixed a crash in evolution-exchange [342545, fix based on an 3715 analysis by Wang Xin]. 3716 3717 * Fixed simple-proxy to not crash at startup. Oops. (Alex 3718 Larsson) 3719 3720Changes in libsoup from 2.2.91 to 2.2.92: 3721 3722 * Fixed server-side digest auth to return a valid "algorithm" 3723 value and client-side to not crash if it sees an invalid one 3724 [328615]. 3725 3726 * Fixed the Request-Line parsing code to not hardcode a 3727 maximum URI length (to allow very long DAAP requests from 3728 iTunes in Rhythmbox). [335040] 3729 3730 * Fixed some warnings (signed/unsigned mismatch). 3731 3732Changes in libsoup from 2.2.7 to 2.2.91: 3733 3734 * (The large version number bump is because there was an 3735 internal 2.2.90 release for SUSE 10.1 alphas, which was 3736 supposed to be intermediate between 2.2.7 and 2.4.0. But 3737 2.4.0 didn't end up happening, and I don't want to regress 3738 the version number at this point.) 3739 3740 * SoupSession, SoupServer, SoupConnection, SoupSocket, and 3741 SoupAddress now have an "async-context" property that allows 3742 you to use the async API in a non-default GMainContext. 3743 [Based on patches from Armin Bauer and Jürg Billeter.] 3744 3745 * SoupSession, SoupConnection, and SoupSocket now have a 3746 "timeout" property to stop synchronous sockets from hanging 3747 forever if the remote end is unresponsive (from Varadhan). 3748 3749 * Fixed some bugs in soup_date_iso8601_parse(). [324671, from 3750 Emmanuele Bassi] 3751 3752 * More Windows build fixes from Tor. 3753 3754Changes in libsoup from 2.2.6.1 to 2.2.7: 3755 3756 * Fixed a crash when using NTLM connections [316313, probably 3757 also 318252]. (Also 321208, which was a bug introduced in 3758 the original fix for 316313.) 3759 3760 * Fixed a bug that could cause soup to suck up all available 3761 CPU when a connection to a SoupServer was dropped by the 3762 other side [319305, patch from Jonathan Matthew] 3763 3764 * Fixed the creation of struct elements in XMLRPC messages 3765 [321362, patch from Sebastian Bauer] 3766 3767 * Plugged a small memory leak in SoupSocket (from Wang Xin). 3768 3769 * Fixed two compile problems, a gccism [320349, patch from 3770 Roland Illig], and a strict-aliasing warning from gcc 4.1. 3771 3772Changes in libsoup from 2.2.6 to 2.2.6.1: 3773 3774 * Fixed a crash when using SoupSoapMessage 3775 3776Changes from 2.2.5 to 2.2.6: 3777 3778 * Fixed a crash when canceling a message (from Tambet Ingo) 3779 3780 * Fixed a bug where a connection could be leaked forever in 3781 some circumstances if a request got a 30x, 401, or 407 3782 response, eventually causing a hang when the session hit its 3783 maximum connection limit. (Dan/Tambet) 3784 3785 * Fixed a memory leak. (Tambet) 3786 3787 * Fixed a bug that would sometimes show up when connecting to 3788 a server on localhost [#312540] 3789 3790 * Added some API to SoupServer and SoupSocket to help fix a 3791 long-standing rcd bug. 3792 3793Changes from 2.2.4 to 2.2.5: 3794 3795 * Win32 support (from Tor Lillqvist) 3796 3797 * Up-to-date API documentation pretty much everywhere 3798 3799 * Basic XMLRPC support (from Mariano Suarez-Alvarez, Fernando 3800 Herrera, and Jeff Bailey) 3801 3802 * New HTTP timestamp-manipulation methods soup_date_parse, 3803 soup_date_generate, and soup_date_iso8601_parse. 3804 3805 * SoupSession now handles relative URLs in the Location header 3806 (in violation of RFC 2616, but in line with how some servers 3807 behave.) [270688] 3808 3809Changes from 2.2.3 to 2.2.4: 3810 3811 * Fixed a problem with NTLM authentication against 3812 multi-domain servers. [306877] 3813 3814 * Fixed DNS lookups on Solaris. [254551, 268389] 3815 3816Changes from 2.2.2 to 2.2.3: 3817 3818 * Now compiles against gnutls 1.2.0 [257811] 3819 3820 * Fixed a bug that could result in 100% CPU usage if an SSL 3821 server closed the connection uncleanly. [273352] 3822 3823Changes from 2.2.1 to 2.2.2: 3824 3825 * The SSL validation fix from 2.2.1 [264414] is now completely 3826 fixed. (Part of the fix didn't actually make it into 2.2.1) 3827 3828 * HTTPS certificate validation now works when using an HTTP 3829 proxy. [268583] 3830 3831 * HTTP proxy code deals better with proxies that try to make 3832 the user do HTML-form-based authentication. [268531] 3833 3834 * 64-bit fixes for NTLM auth code. [270323, from Michael 3835 Zucchi] 3836 3837Changes from 2.2.0 to 2.2.1: 3838 3839 * Updated for a libgcrypt API change between 1.1.9x and 1.2.x 3840 that caused a crash at runtime if you compiled against 3841 1.2.x. [266342] 3842 3843 * SSL certificate validation failure should now always result 3844 in a status of SOUP_STATUS_SSL_FAILED, rather than getting 3845 turned into SOUP_STATUS_IO_ERROR. [264414] 3846 3847 3848Changes in libsoup from the 2.0 series (1.99.x versions) to 2.2: 3849 3850 * Most of the libsoup datatypes are now GObjects. (SoupUri 3851 is currently an exception to this.) 3852 3853 * SoupMessage now emits signals at various stages of 3854 processing. (Eg, "wrote_body", "got_headers".) (You 3855 can also still use soup_message_add_*handler().) 3856 3857 * SoupContexts are gone; soup_message_new() now takes a URI 3858 string. 3859 3860 * All formerly global state is now maintained by the 3861 SoupSession object. (This includes the connection pool, 3862 proxy server, cached authentication information, SSL 3863 certificates, etc.) 3864 3865 * You can create a SoupSessionAsync (for 2.0-like 3866 behavior) or SoupSessionSync (for blocking, 3867 synchronous usage). 3868 3869 * You can add SoupMessageFilter objects to a session 3870 to have certain processing automatically performed 3871 on every message sent via that session. (Eg, setting 3872 up handlers.) 3873 3874 * NTLM authentication is no longer supported by 3875 default. You must enable it by setting the 3876 SOUP_SESSION_USE_NTLM flag on the session. 3877 3878 * The preferred method of handling authentication is 3879 now via the "authenticate" and "reauthenticate" 3880 signals on SoupSession. (The old style, of encoding 3881 the user and password information into the url is 3882 also still supported.) 3883 3884 * The SOUP_ERROR_* values are now SOUP_STATUS_* (so that we 3885 don't have "SOUP_ERROR_OK" and the like). 3886 3887 * SOUP_MESSAGE_IS_ERROR() is gone, since some cases 3888 want to include 3xx responses and some don't. 3889 3890 * SOUP_ERROR_CANT_AUTHENTICATE and 3891 SOUP_ERROR_CANT_AUTHENTICATE_PROXY are now gone, 3892 since they didn't carry any information that 3893 SOUP_STATUS_UNAUTHORIZED and 3894 SOUP_STATUS_PROXY_UNAUTHORIZED don't. 3895 3896 * DNS errors now show up as the new status code 3897 SOUP_STATUS_CANT_RESOLVE rather than being mixed in 3898 with SOUP_ERROR_CANT_CONNECT. 3899 3900 * Minimal SOAP support has been added back, via 3901 SoupSoapMessage/SoupSoapResponse 3902 3903 * The HTTP I/O state machine was completely rewritten, fixing 3904 numerous crashes, leaks, and protocol errors. 3905 3906 * SoupUri now conforms to RFC 2396. Mostly. 3907 3908 * Various test programs have been added under tests/ 3909 3910 * Removed: 3911 3912 * Support for OpenSSL (which was horribly buggy) and 3913 Mozilla NSS (which was never finished). We only 3914 support GNUTLS for SSL now. 3915 3916 * SOCKS support 3917 3918 * CGI support in SoupServer 3919