# 2.3.0 ## Features - Added ability to abort requests - #213 (@saicheg) - Support for polymorphic associations - #217 (@odedniv) - Added afterDeserialize interceptor phase that runs after deserialization of every resource - #218 (@odedniv) # 2.2.2 ## Bug Fixes - Fixed AngularJS dependency from 1.0.x to 1.x.x - #200 (@shuhei) - Fixed URL string interpolation to use idAttribute config setting - #202 (@gannimet) # 2.2.0 ## Features - Allow queryParams for $post, $put and $patch - #197 (@herumtreiber ) # 2.1.0 ## Features - Added option for singular resources - #187 (@jnfeinstein) - configure now returns the config object. - #176 (@poporul) # 2.0.0 ## Breaking Changes - Renamed Serializer.serializeValue to Serializer.serializeData and added new Serializer.serializeObject method. - #149 (@andrey-abramow) # 1.2.3 ## Bug Fixes - Apply custom serialization attributes before doing full serialization - #148 (@envek) # 1.2.2 ## Bug Fixes - Add support for adding custom attributes when serializing arrays - #143 (@shuhei) - Force constructor to unwrap as an object - #134 (@tuvistavie) # 1.2.1 ## Bug Fixes - Call beforeResponse interceptor only once - #139 (@shuhei) # 1.2.0 ## Bug Fixes ## Features - Added unsnappedChanges() function to snapshots mixin to check whether or not there have been any changes since the last snapshot was taken. - #125 (@StevenClontz) - Added skipRequestProcessing override configuration option to $http, $post, $put, $patch to bypass request processing (root wrapping, serialization) and request interceptor chains - #123 (@mayhewluke) # 1.1.0 ## Bug Fixes ## Features - Added idAttribute configuration option to allow customizing the unique id field on resources. - #114 (@inlineblock) - Added get instance method to refresh resources from the server. - #115 (@wwilkins) # 1.0.1 ## Bug Fixes - response.originalData was not being saved off before the root unwrapping so it didn't match the original response data as intended. @Ditchou # 1.0.0 ## Deprecations - requestTransformers, responseInterceptors, afterResponseInterceptors have been replaced with a single interceptors chain. - beforeRequest - Use interceptBeforeRequestWrapping - beforeResponse - Use interceptResponse - afterResponse - Use interceptAfterResponse ## Bug Fixes ## Features - Added configure function to allow changing configuration options after the resource has been initially configured. - Separated out RailsResource into separate service to allow subclassing without using the factories. - Added mixin capability, see [README](README.md#mixins) for details - Added snapshot and rollback extension, see [README](README.md#serializers) for details. - Added underscoreParams configuration option to allow turning off parameter underscore renaming. - Added fullResponse configuration option to allow returning the full $http response for promise resolution. - Added optional query params to class and instance $delete methods ## Breaking Changes - railsResourceFactoryProvider settings have been moved to RailsResourceProvider - wrapData config option has been renamed rootWrapping - All resource settings are now stored under the config property on the resource and should be modified using the configure function. - The following resource settings have been renamed: - enableRootWrapping was renamed rootWrapping - rootName was renamed name - rootPluralName was renamed pluralName - Query parameters were not underscored previously. We are now underscoring parameters by default. The configuration option underscoreParams can be set to false to disable the renaming. - Replaced railsRootWrappingTransformer and railsRootWrappingInterceptor with railsRootWrapper that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead. - processResponse, transformData, callInterceptors have all been removed as part of rewriting the request / response handling. # 1.0.0-pre.4 ## Deprecations - requestTransformers, responseInterceptors, afterResponseInterceptors have been replaced with a single interceptors chain. - beforeRequest - Use interceptBeforeRequestWrapping - beforeResponse - Use interceptResponse - afterResponse - Use interceptAfterResponse ## Features - Added fullResponse configuration option to allow returning the full $http response for promise resolution. - Added optional query params to class and instance $delete methods ## Breaking Changes - Replaced railsRootWrappingTransformer and railsRootWrappingInterceptor with railsRootWrapper that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead. - processResponse, transformData, callInterceptors have all been removed as part of rewriting the request / response handling. # 1.0.0-pre.3 ## Features - Added mixin capability, see [README](README.md#mixins) for details - Added snapshot and rollback extension, see [README](README.md#serializers) for details. - Added underscoreParams configuration option to allow turning off parameter underscore renaming. ## Breaking Changes - Query parameters were not underscored previously. We are now underscoring parameters by default. The configuration option underscoreParams can be set to false to disable the renaming. # 1.0.0-pre.2 ## Bug Fixes - Support submitting array data (#85) # 1.0.0-pre.1 ## Bug Fixes ## Features - Added configure function to allow changing configuration options after the resource has been initially configured. - Separated out RailsResource into separate service to allow subclassing without using the factories. ## Breaking Changes - railsResourceFactoryProvider settings have been moved to RailsResourceProvider - wrapData config option has been renamed rootWrapping - All resource settings are now stored under the config property on the resource and should be modified using the configure function. - The following resource settings have been renamed: - enableRootWrapping was renamed rootWrapping - rootName was renamed name - rootPluralName was renamed pluralName - Query parameters were not underscored previously. We are now underscoring parameters by default. The configuration option underscoreParams can be set to false to disable the renaming. - Replaced railsRootWrappingTransformer and railsRootWrappingInterceptor with railsRootWrapper that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead. - processResponse, transformData, callInterceptors have all been removed as part of rewriting the request / response handling. # 0.2.5 ## Bug Fixes - Support submitting array data (#85) # 0.2.4 ## Bug Fixes - Fix mapped name behavior when using serializer default exclusion (#81) # 0.2.3 ## Bug Fixes - Issue #67 incorrect date deserialization led to errors constructing a new resource with a property that was type Date # 0.2.2 ## Bug Fixes ## Features - Added updateMethod configuration option to railsResourceFactory to specify what HTTP method should be used to perform the update action - Exposed default configuration options for both railsResourceFactory and railsSerializer as provider configuration options. # 0.2.1 ## Bug Fixes ## Features - Added context property to before response interceptors to have access to the calling resource instance in the case of create/update/delete. - Added after response interceptors to be able to define custom callbacks that execute on all resources after method completion. # 0.2.0 ## Breaking Changes - Removed default transformers and interceptors - railsFieldRenamingTransformer and railsFieldRenamingInterceptor have been removed completely and replaced by the serializers - railsRootWrappingTransformer/Interceptor are no longer configured by the transformers/interceptors configuration option and is instead configured by the wrapData option. - Interceptors added using beforeRequest are run before any deserialization so the fields names have not been camelized. ## Bug Fixes ## Features - Added serializers to replace old field renaming logic and to give users a lot more flexibility in customizing the (de)serialization process - Added rootWrapping configuration option to be able to turn off root wrapping instead - Added path option to $url methods to make it easier to construct a nested url. # 0.1.7 ## Bug Fixes ## Features - New save instance method added to resources # 0.1.6 ## Bug Fixes ## Features - Added beforeRequest and beforeResponse methods that wrap a given function as a transformer/interceptor to more easily add customizations # 0.1.5 ## Bug Fixes ## Features - Added setUrl method to allow reconfiguring a resource's url after creation - Added $url instance method to more easily reference the instance's URL - Added instance and class methods for generic HTTP operations of $get, $post, $put, $delete