- Fix broken stack traces in response errors
- Ensure that
Service#service_url
always returns a string - Require Ruby 2.2 in gemspec
- Ignore connection options when connection object is passed in
- Don't send
Accept
header unless explicitly configured - Use middleware for request/response logging
- Specifying an adapter is no longer necessary when passing a block to the constructor
- [New] Raising specific error classes instead of
RuntimeError
when request fails
- [Breaking] Use Faraday instead of Typhoeus as HTTP connection adapter.
- [Breaking] Deprecate
Service.open
in favor of using constructor directly.
- [Refactor] Moved
ComplexType
andEnumType
class intoSchema
, respective property types intoProperties
namespace
- [New Feature] Basic support for
Collection
property type - [Refactor] Moved all HTTP-related code into
Service::Request
, renamedQuery::Result
toService::Response
- [Bugfix] Fixed incorrect
OData-Version
header being sent - [Bugfix] Fixed duplicate namespace in Atom serialization
- [New Feature] Support for multiple schemas
- [Breaking]
Service#complex_types
,Service#entity_types
,Service#enum_types
andService#entity_sets
now return fully qualified type names - [New Feature] Optional lenient property validation
- [Fixed] Incorrect URL representation for Decimal properties
Major rewrite
- Added support for OData 4.0
- Dropped support for OData 3.0
- Minor internal fixes to OData::Query::Criteria.
- Added more graceful handling of manually passed advanced queries to OData::Query::Criteria.
- Implemented OData::Query#empty? and fixed OData::Query#count.
- Fixed minor bug in last release.
- Changed implementation of OData::Association::Proxy#[] to properly handle empty associations.
- Minor bug fix in OData::Query::Result#each implementation.
- Minor bug fix in OData::Query::Result#each implementation.
- Added logic to allow OData::Query::Result#each to handle paginated results.
- Changed how associations behave with mulitiplicity of one.
- Changed how OData::Entity#from_xml functions to better work with feed results.
- Added empty checking when checking for a nil value.
- Changed how commit failures are handled to use logging instead of raising an error.
- Added errors array to OData::Entity.
- Updated OData::EntitySet#setup_entity_post_request to properly format primary key values when posting an entity.
- Fixed problem in OData::ComplexType#to_xml implementation.
- Added implementation of OData::ComplexType#type.
- Added OData::ComplexType#to_xml to make entity saving work correctly.
- Made a minor change to internals of OData::Query::Criteria.
- Added ability to handle associations in a reasonable way.
- Tons of changes throughout the code base
- Stopped using namespace from OData service as unique identifier in favor of a supplied name option when opening a service.
- Added OData::Query#execute to run query and return a result.
- Added OData::Query::Result to handle enumeration of query results.
- Refactored internals of the query interface.
- Resolved issues causing failure on Ruby 1.9 and JRuby.
- Removed dependency on ActiveSupport
- Added query interface for System Query Options
- Refactored internal uses of System Query Options
- Core read/write behavior for OData v1-3