17.0.1 - Fixed unit tracking for failed requests. Issue 13, http://code.google.com/p/google-api-adwords-ruby/issues/detail?id=13 17.0.0 - Added support for v200909. - Changed the parameter order in API.get_service (aka API.service) to be get_service(name, version). The old ordering is still supported but deprecated. The version parameter is now optional and defaults to 13. - Added 'module' method to all the services. This returns a reference to the module containing all the classes for the service, so the full class name isn't necessary. For example, service_object.module::ClassName instead of AdWords::V13::SomeService::ClassName Using this will also make it easier to upgrade between API versions, since it removes the need for hardcoded numbers. - Added 'use_mcc' property to the API object to make it easier to make requests at the MCC level. Setting it to true will make all requests be sent with no clientEmail or clientCustomerId. It's also possible to invoke the 'use_mcc' method with a block, and only that block will be executed at the MCC level. - Added 'validateOnly' property to the API object to make it easier to send requests with the 'validateOnly' header in v2009. This header makes it possible to check a request for validity without executing it. - Changes in handling 'alternateUrl'; now it only errors out if there's no 'environment' defined. - CSV data updated for operation rates, now has an extra column at the beginning for API version. - Added several tests - Moved wrapper generation to its own file, generator.rb. This cleans up services.rb. - Added logging of the "operator" for v2009 mutate requests. - Fixed sample adwords.properties to use 'environment'. - Fixed problem with empty lines in adwords.properties. - Fixed problem making Production the default environment. 16.0.0 - Removed support for the v200902 Sandbox, which has been deco'ed. - Added support for the v200906 Sandbox and Production environments. - Changed handling of service environments in the credentials. The 'alternateUrl' parameter has been replaced with the 'environment' one. This can be set to either PRODUCTION or SANDBOX. It controls which environment both v13 and v200906 connect to. 15.1.0 - Added downloadCsvReport extension to the Report Service, downloads a report as CSV data. - Added getMethodUsage extension to the Info Service, returns a breakdown of API usage per method. - Added getClientUnitsUsage extension to the Info Service, returns a smart breakdown of API usage per account. - Service wrappers are now generated during the "rake generate" step of setup, instead of at runtime. The files are created in the lib/adwords4r/v* directories. - Added client-side type and arity safety checks for API calls. An ArgumentError will now be thrown if an API call gets an invalid number of arguments or arguments of an incorrect type. - Added CSV files with various lists of information (categories, countries, etc.) and utility methods to retrieve them. They can be found in the newly-created AdWords::Utils module. - Added several subclasses of ApiError to allow for finer exception handling. The correct subclass gets instanced automatically whenever a SOAP fault occurs. - Added unit tests for the client library functionality. - Added RDoc comments to client library and an RDoc generation task to the Rakefile. Pre-generated documentation is also included in the doc/ directory. - Added unit_spend example and extended the reports one. - Fixed packaging issues. - Fixed bug in multiple_versions example. - Several additions and changes to the Readme. - Cleaned up Rakefile. 15.0.1 - Bugfix: added generation of ApiError exceptions upon SOAP faults. 15.0.0 - Added support for the v200902 sandbox. - Added support for multiple API versions on the same AdWords::API object. - Added request and SOAP XML file logging options. This complements the previously existing SOAP XML console output. - Moved API classes to their own version and service-dependent modules. This is necessary for multiple version support. - Moved API methods from the AdWords::API object to service wrappers. This is necessary to avoid collisions between similarly named methods in different services. - Added get_service method to AdWords::API to be able to access a particular version of a service. It returns the service wrapper containing the API methods for that service. - Added extensions mechanism, allowing for plugging of client-side methods into the wrapper objects. This allows us to provide smart methods at the service level that simplify common tasks. - Added report download helper method, via the extension mechanism above. - Moved unit tracking to happen within AdWords::API instances. This allows for correct tracking with multiple AdWords::API objects. The methods have been renamed total_units and last_units to fit with the getter conventions. - Made code style more coherent. - Updated v13 examples to work with new client library model. - Added v200902 and multiple version examples. 14.0.0 - Sérgio Gomes (api.sgomes@gmail.com) takes over as maintainer of this project. - Removed support for v12 of the API, which has been deco'ed. 13.0.1 - Modified the file permissions on many of the files to make them world-readable. 13.0.0 - Added support for v13 of the AdWords API. 12.1.0 - Removed support for v11 of the API, which has been deco'ed. - Replaced some old examples that weren't behaving properly with better, well-commented example code. 12.0.0 - Added support for v12 of the AdWords API. Removed support for v10 of the API, which has been deco'ed. 11.1.0 - Added additional attributes to the AdWords::Error::ApiError class. This should make it easier to get all the useful SOAP fault information, some of which wasn't available in the previous version. The extra attributes are :trigger_ex, :soap_faultcode_ex, :soap_faultstring_ex, and :code_ex - Added static methods to the AdWords::API class to retrieve API unit usage information. AdWords::API.get_total_units() will return the a running total of API units used since the API was initialized. AdWords::API.get_last_units() will return the number of API units used for the last API call. - Started the process of creating new sample code. The existing code samples are a bit lacking and were moved to the 'examples/old' directory. A new sample program, 'examples/reports.rb' was created. This sample validates, schedules, and downloads a Keyword Structure report. It's a fairly extensive sample and illustrates some of the new API features as well as general best-practices. Look for more sample code in future releases. 11.0.3 - update soap4r minimum version requirement in the .gem file to 1.5.8, as there are compatibility problems with 1.5.6 - the ADWORDS4R_DEBUG environment variable was causing problems when it was not set instead of silently disabling debugging; this is fixed. 11.0.2 - Jeffrey Posnick (jeffy@google.com) takes over as maintainer of this project - added support for AdWords API v11 - removed support for AdWords API v9 - added support for the ADWORDS4R_DEBUG environment variable--if set to TRUE, SOAP logs will be written to the current directory when the API is used - added support for the SiteSuggestionService for API v10 and v11 1.0 - added support for API v10 - removed support for APIs v6, v7 and v8 - used soap4r v1.5.6 to generate the API files from the WSDL - added soap4r v1.5.6 and http-access2 v2.0.5 as gem dependencies - cleaned up some of the kludges that were needed for older soap4r libraries 0.8 - Ryan Leavengood takes over as maintainer of this project - added support for APIs v7, v8 and v9 - removed support for v4 and v5 - updated the examples amd made it so they will use the adwords4r in their parent directory 0.7 - added support for API v6 - uncommented clientEmail in sample property file 0.6 - added support for API v5 - added support for alternateUrl header, in order to work with sandbox - tested with sandbox 0.5 - Now supports AdWords API v4. - Got rid of yaml dependency. - Changed properties file name for default credentials to adwords.properties. - Enhanced the readme.txt a bit. Added a few samples. 0.4 - Now all generated classes are within the Adwords module. Will make it easier to use that in Rails. - Support for gen classes in a module is not implemented in soap4r for doc/literal style (it works for rpc/encoded). I logged a bug for soap4r. In the meantime I had to fix adwords4r from my module using module_eval to patch the Mapping class. 0.3 - fixed the bug in InfoService and many others. I fix the wsdl before generation. 0.2 - added packaging, made it a gem, and added a setup program, for easy installation in all configurations (gem and non gem). 0.1 -first version, not fully tested - works for Campaigns