<commit_before>## 0.8.0.beta.1

* Changed Savon::Client.new to accept a block instead of multiple Hash arguments. You can access the
  wsdl, http and wsse objects inside the block to configure your client for a particular service.

			# Instantiating a client to work with a WSDL document
      client = Savon::Client.new do
        wsdl.document = "http://example.com?wsdl"
      end

			# Directly accessing the SOAP endpoint
			client = Savon::Client.new do
        wsdl.endpoint = "http://example.com"
        wsdl.namespace = "http://v1.example.com"
      end

* Fix for issue #77 (Cache parsed WSDLs locally).
  You can now use local WSDL documents:

      client = Savon::Client.new do
        wsdl.document = "../wsdl/service.xml"
      end

* Changed the way SOAP requests are being dispatched. Instead of using method_missing, you now use
  the new #request method, which also accepts a block for you to access the wsdl, http, wsse and
  soap object. Please notice, that a new soap object is created for every request. So you can only
  access it inside this block.

      # A simple request to an :authenticate method
      client.request :authenticate do
        soap.body = { :id => 1 }
      end

* The new Savon::Client#request method fixes issues #37, #61 and #64, which report problems with
  namespacing the SOAP input tag and attaching attributes to it. Some usage examples:

      client.request :get_user                  # Input tag: <getUser>
      client.request :wsdl, "GetUser"           # Input tag: <wsdl:GetUser>
      client.request :get_user :active => true  # Input tag: <getUser active="true">

* Refactored Savon to use the new HTTPI (http://rubygems.org/gems/httpi) gem.
  HTTPI::Request replaces the Savon::Request, so please make sure to have a look
  at the HTTPI library and let me know about any problems. Using HTTPI actually
  fixes the following two issues.

* Fix for issue #24 (HTTP Digest Authentication).
  Instead of Net/HTTP, Savon now uses HTTPI to execute HTTP requests.
  HTTPI defaults to use HTTPClient which supports HTTP digest authentication.

* Fix for issue #76 (Config setting for WSDL-free operation).
  You now have to explicitly specify whether to use a WSDL document, when instantiating a client.

* Fix for issue #81 (irb on Ruby 1.9.2 doesn't disable wsdl).
  Replaced Savon::WSDL::Document#to_s with a #to_xml method.

* Fix for issues #85 and #88 (When gzip is enabled, binary data is logged).

## 0.7.9 (2010-06-14)

* Fix for issue #53 (<tt>DateTime#to_soap_value</tt> assumes UTC).

## 0.7.8 (2010-05-09)

* Fixed gemspec to include missing files in the gem.

## 0.7.7 (2010-05-09)

* SOAP requests now start with a proper XML declaration.

* Added support for gzipped requests and responses (http://github.com/lucascs). While gzipped SOAP
  responses are decoded automatically, you have to manually instruct Savon to gzip SOAP requests:

      client = Savon::Client.new "http://example.com/UserService?wsdl", :gzip => true

* Fix for issue #51. Added the :soap_endpoint option to <tt>Savon::Client.new</tt> which lets you
  specify a SOAP endpoint per client instance:

      client = Savon::Client.new "http://example.com/UserService?wsdl",
        :soap_endpoint => "http://localhost/UserService"

* Fix for issue #50. Savon still escapes special characters in SOAP request Hash values, but you can now
  append an exclamation mark to Hash keys specifying that it's value should not be escaped.<commit_msg>updated changelog for v0.8.0.beta.1<commit_after>## 0.8.0.beta.1

* Changed Savon::Client.new to accept a block instead of multiple Hash arguments. You can access the
  wsdl, http and wsse objects inside the block to configure your client for a particular service.

			# Instantiating a client to work with a WSDL document
      client = Savon::Client.new do
        wsdl.document = "http://example.com?wsdl"
      end

			# Directly accessing the SOAP endpoint
			client = Savon::Client.new do
        wsdl.endpoint = "http://example.com"
        wsdl.namespace = "http://v1.example.com"
      end

* Fix for issue #77 (Cache parsed WSDLs locally).
  You can now use local WSDL documents:

      client = Savon::Client.new do
        wsdl.document = "../wsdl/service.xml"
      end

* Changed the way SOAP requests are being dispatched. Instead of using method_missing, you now use
  the new #request method, which also accepts a block for you to access the wsdl, http, wsse and
  soap object. Please notice, that a new soap object is created for every request. So you can only
  access it inside this block.

      # A simple request to an :authenticate method
      client.request :authenticate do
        soap.body = { :id => 1 }
      end

* The new Savon::Client#request method fixes issues #37, #61 and #64, which report problems with
  namespacing the SOAP input tag and attaching attributes to it. Some usage examples:

      client.request :get_user                  # Input tag: <getUser>
      client.request :wsdl, "GetUser"           # Input tag: <wsdl:GetUser>
      client.request :get_user :active => true  # Input tag: <getUser active="true">

* Refactored Savon to use the new HTTPI (http://rubygems.org/gems/httpi) gem.
  HTTPI::Request replaces the Savon::Request, so please make sure to have a look
  at the HTTPI library and let me know about any problems. Using HTTPI actually
  fixes the following two issues.

* Fix for issue #24 (HTTP Digest Authentication).
  Instead of Net/HTTP, Savon now uses HTTPI to execute HTTP requests.
  HTTPI defaults to use HTTPClient which supports HTTP digest authentication.

* Fix for issue #76 (Config setting for WSDL-free operation).
  You now have to explicitly specify whether to use a WSDL document, when instantiating a client.

* Fix for issue #81 (irb on Ruby 1.9.2 doesn't disable wsdl).
  Replaced Savon::WSDL::Document#to_s with a #to_xml method.

* Fix for issues #85 and #88 (When gzip is enabled, binary data is logged).

* Started to removed quite a couple of core extensions.

## 0.7.9 (2010-06-14)

* Fix for issue #53 (<tt>DateTime#to_soap_value</tt> assumes UTC).

## 0.7.8 (2010-05-09)

* Fixed gemspec to include missing files in the gem.

## 0.7.7 (2010-05-09)

* SOAP requests now start with a proper XML declaration.

* Added support for gzipped requests and responses (http://github.com/lucascs). While gzipped SOAP
  responses are decoded automatically, you have to manually instruct Savon to gzip SOAP requests:

      client = Savon::Client.new "http://example.com/UserService?wsdl", :gzip => true

* Fix for issue #51. Added the :soap_endpoint option to <tt>Savon::Client.new</tt> which lets you
  specify a SOAP endpoint per client instance:

      client = Savon::Client.new "http://example.com/UserService?wsdl",
        :soap_endpoint => "http://localhost/UserService"

* Fix for issue #50. Savon still escapes special characters in SOAP request Hash values, but you can now
  append an exclamation mark to Hash keys specifying that it's value should not be escaped.
{'fraction_non_alphanumeric': 0.08464706717795768, 'fraction_numerical': 0.019315438147990343, 'mean_word_length': 3.3522867737948085, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5657579', 'n_tokens_mistral': 2210, 'n_tokens_neox': 2029, 'n_words': 893}