Fetching contributors…
Cannot retrieve contributors at this time
163 lines (135 sloc) 8.97 KB

ruby_odata Change Log


  • New Features
    • Basic CRUD Operations
    • Query Enhancement: Filters
    • Query Enhancement: Expands


  • New Features
    • Query Enhancement: Order By (both desc and asc)


  • Bug Fixes
    • Rearranged code to match the gem name. Things were mismatched between odata_ruby and ruby_odata.


  • New Features
    • Query Enhancement: skip
    • Query Enhancement: top
    • Ability to perform paging using skip and top together
    • Updated README with examples for order_by, skip, and top


  • Bug Fixes
    • Works with Ruby 1.9.1
    • Works with ActiveSupport 3.0.0.beta4


  • New Features
    • Ability to batch saves (Adds, Updates, Deletes); this will help save on network chatter


  • New Features
    • Complex Types are now supported
    • Support for Edm.Int16, Edm.Int32, Edm.Int64
    • Support for Edm.Decimal
    • Support for Edm.DateTime


  • New Features
    • Basic HTTP Authentication (thanks J.D. Mullin)
    • Modified cucumber tests to setup the test database so you no longer need to copy them yourself
    • Support for nullable elements returned from the Data Service (m:null ="true")
  • Bug Fixes
    • ActiveSupport 2.3.x (tested 2.3.11) and 3.0.x (tested 3.0.4) are now supported
    • Works with Ruby 1.9.2


  • New Features
    • Support for self-signed SSL certificates (thanks J.D. Mullin)
    • Refactored building classes/collections to only make one call to the service
    • Added support for a WCF service with lowercase entities (reported by Klaus Rohe)
  • Bug Fixes
    • Fixed issue with passing a service URL with a trailing slash
  • Other
    • Cleaned up testing by adding a default task to the Rakefile that runs RSpec and Cucumber


  • New Features
    • Added the ability to pass additional parameters that are appended to the query string for requests
    • Added initial support for feed customizations (SyndicationTitle and SyndicationSummary)
    • Enhanced ruby_odata's awareness of classes based on the metadata instead of relying on results that are returned
  • Bug Fixes
    • Fixed issues with nested collections (eager loading)
    • Handled ArgumentError on the Time.parse for older versions of Ruby; used DateTime.parse instead if Time.parse fails
    • Removed the camelize method call when building the root URL for collections (Reported by mkoegel, issue #3 on github)
    • Handled building results (classes) where the category element is missing but there is a title element instead. (Reported by mkoegel, issue #3 on github in the comments)
  • Other
    • Change HTTP port to 8989 since 8888 conflicts with the Intel AppStore
    • Refactored service step for HTTP calls where the service address is defined within the step making it easier to make changes in the future.


    • Previously the ruby_odata Service.execute and Service.save_changes used to return a single entity object if there was only one result returned. Now, the results are always an Enumerable (except in the case of boolean results like a delete), so if you just need one result, use the first method on the result set
  • New Features
    • Support for partial results (thanks arienmalec)
    • Added support for single layer inheritance (thanks to Scott)
    • Added support for querying links (see Issue 10)
    • Added support for adding links between entities (add_link)
    • Added support for lazy loading
    • Added a convenience method (first) for accessing a single result by id
    • Added basic reflection of the entity model via the ruby_odata service
    • Added the ability to create ruby_odata models in a specified namespace to prevent conflicts with local models
    • Added the ability to call function imports exposed by the WCF Data Service
    • Other
      • Changed the test project (for Cucumber integration tests) to use SQL Compact 4, Entity Framework 4.1, and WCF Data Services October 2011 CTP
      • Added Pickle integration to simplify Cucumber step definitions


  • New Features

    • Added the count method (to QueryBuilder) for returning a count from an OData service
    • Added the navigate method (to QueryBuilder) in order to handle filtering of children
  • Bug Fixes

    • Escaped IDs in queries where the ID is a string with spaces
  • Other

    • Goodbye RDoc; Hello Markdown/YARD
    • Refactored exceptions to use proper error classes
    • Integrated Guard into the test suite for continuous testing
    • Integrated VCR into test suite in order to run Cucumber steps without running the test server.


  • New Features

    • Added support for nokogiri >= 1.5.1 while maintaining backwards compatibility for >=1.4.2
    • Backports requirement is now for >= 2.3.0
    • Added the ability to pass in :rest_options to the service constructor within the options hash.
  • Bug Fixes

    • Prevented svc.load_property from mutating the obj's metadata uri (thanks @sillylogger)


  • Bug Fixes

    • Persists the additional_params for partial calls (thanks @levelboy)
  • Other

    • Specified v2.3.4 of the addressable gem since there was a bug when testing ruby_odata against Ruby 1.8.7


  • New Features

    • Added option to override content type used for json updates (issue 29, thanks @sigmunau)
  • Bug Fixes

    • Fixed issue with building a collection of complex types (issue 26)
    • A collection of complex types is now returned as an array (issue 26)
    • Fixed issue with building a child collection of native types (issue 27)
    • Corrected problem with addressable not being referenced
    • Fixed issue with building nested expands (issue 24, thanks @joshuap)
    • Edm.Int64 is now formatted as a string, according to odata json spec (issue 29, thanks @sigmunau)
    • Fixed formatting of collections for json output (issue 29, thanks @sigmunau)
    • Fixed handling exceptions that are not http exceptions (issue 29, thanks @sigmunau)
    • Fixed parsing of null strings (issue 29, thanks @sigmunau)
  • Other

    • Updated the VCR and WebMock gems to the latest versions (used for testing)
    • Specified activesupport ~> 3.0 (in gemfiles/ruby187) for Ruby 1.8.7 as activesupport 4 doesn't support Ruby < 1.9.3



    • Previously if the OData service threw an exception, ruby_odata threw a generic error with the message that would start with "HTTP Error XXX: ". Instead of the message, the Error that is thrown is an OData::ServiceError. It has an http_code property on it, thus, the message is now just the text from the OData error without the "HTTP Error XXX: " prefix. This could potentially cause you problems if you were sniffing error messages for the HTTP error code.
  • New Features

    • Added the ability to query the OData service using the $select system query option
    • Support for Int64 keys (issue 39 and issue 40, thanks @nasali)
    • New property is_key added to PropertyMetadata in order to determine the key properties for the class (found in the service's class_metadata collection)



    • Ruby 1.8.7 support has been dropped, thus the backports gem has been removed from the ruby_odata (thanks @betelgeuse) issue 45 and 46
  • Bug Fixes

  • Other

    • Changed license to MIT and added it to the gemspec


  • New Features
    • Support for Rails 4 (Thanks @denstepa)
    • Move to Faraday instead of RestClient (Thanks @zzk) for more options like NTLM.