- Upgraded to js-data-http 2.2.2
- #347 - BindOne recomputing computed properties
- #353 - jshint or standard?
- #356 - Multiple parents isn't working
Stable Version 3.1.0
- #335 - Calling $q.reject in http interceptor doesn't resolve to calling reject handler in DS.findAll.then
- Built with js-data-http 2.1.1
- Upgraded dependencies
Stable Version 3.0.0
Stable Version 3.0.0-rc.1
Added examples of various build setups ./build_examples/
- #306 - Keep it DRY
- #314 - Switch to using peerDependencies
- #327 -
bindOne
now updates computed properties on change
- #328 - Add support for
js-data-sql
adapter
- #328 - Fixed adapter registration
- Converted to ES6, using Babel.js to transpile to ES5.
- #312 - UMDifying js-data-angular
- #313 - DSHttpAdapter#find/create/update/destroy do not call queryTransform
- #311 - Does not properly throw error in find() (like other adapters) when the item cannot be found
- Added
suffix
option
Now requiring >= js-data 1.1.0 in order to use removeCircular to safely safe cyclic objects
Note: Please see the js-data CHANGELOG.
- Angular module renamed from
angular-data.DS
tojs-data
- Refactored to be a wrapper for js-data
deserialize
andserialize
are now properties ofDSHttpAdapter.defaults
deserialize
andserialize
are now configuration options used solely by the http adapter- All hooks (
validate
,afterCreate
,serialize
, etc.) now take the actual resource definition as the first argument instead of just the name of the resource DSLocalStorageAdapter
is no longer bundled, but is each separate from js-data-angular.- The API for
bindOne
andbindAll
has been changed to be more consistent with the rest of the API eagerInject
has not yet been implemented injs-data
.
- GitHub project renamed to js-data-angular
- GitHub project moved to the js-data organization
- #199 - Re-implement bindOne & bindAll in js-data-angular (they're missing from js-data)
- #200 - Need to properly trigger digest where angular-data would have before
- Added DSHttpAdapter fallback that uses $http if js-data-http isn't loaded
- Load an es6-style version of
$q
instead ofes6-promises
to maintain$scope
integration with the promise lifecycle - Updated dependencies. Now safely making copies of the
options
passed into methods
Stable Version 1.0.0
- #191 - Invalid reference in _eject
- #191 - Add "useClass" option to inject, find, findAll, create
- #155 - Allow deserialize and serialize to be configured per-method as well
- #159 - Find which items from collection have changed with lastModified
- #161 - Allow the http method of DSHttpAdapter methods to be configured
- #166 - Add ID Resolver
- #167 - Default params argument of bindAll to empty object
- #169 - Added eager inject and eager eject options
- #170 - Global callbacks
- #171 - "not in" query
- #175 - Explore adding support for collection-based methods to the DSLocalStorageAdapter
- #177 - Allow promises to be returned in lifecycle hooks
- #182 - option to force trailing slash (DSHttpAdapterProvider.defaults.forceTrailingSlash)
- #185 - eagerInject/eagerEject should default to definition's options
- #186 - eagerInject doesn't add the model to the list after HTTP success
- #187 - Proxy some static methods to instance methods
- Made the
notify
option configurable globally and per-resource
- #156 - cached findAll pending query doesn't get removed sometimes
- #163 - loadRelations shouldn't try to load a relation if the id for it is missing
- #165 - DS.hasChanges() reports changes after loading relations
- #142 - Update references on eject (Added
DS.unlinkInverse
)
- Unfroze resource definitions
findBelongsTo
option ofDS.inject
now defaults tofalse
- #132 - Added
findHasMany
option and capability toDS.inject
- #133 - Override resource end point in async methods
- #136 - Add a way to force computed properties to be computed. Added
DS.compute
. AddedDSCompute
to prototype of instances. - #137 - Add
DS.link
,DS.linkAll
, andDS.linkInverse
, and addedlinkInverse
option toDS.inject
- #135 - loadrelations loop
- #140 - lastModified changes when loading distant related objects
- #138 - Performance optimizations
- #139 - Documentation error
- #40 - Support for nested resource endpoints
- #118, #122 - Multiple relationships to the same model
- #120 - When using DSCacheFactory, allow onExpire to be specified
- #132 - Inject relations for parent resource on create
- #141 - Allow lifecycle hooks to be overridden per method as well
- #126 - injectRelations isn't running when injecting an array
- #121 - Documentation errors
- #123 - Send query params with DS.find()
- #124 - Documentation overhaul
- #111 - DSHttpAdapter default $http config
- #114 - Include resourceName in error messages
- #117 - Event system
- #113 - FindAll with object as a result
- #110 -
DS.refresh
now always returns a promise
- #103 - Add
upsert
option toDS.create
- #107 - Computed properties no dependencies
- #104 - Only hijack $rootScope digest when Object.observe is unavailable
- #105 - prototype methods shouldn't be included in change sets
- #106 - cacheResponse: false should force bypassCache to true
- #108 - Computed properties array syntax and primary id
- #110 -
DS.refresh
should still return a promise if the item isn't already in the data store
- #100 - defineResource can't handle names that aren't [a-zA-z0-9]
- #101 - DS.findAll isn't added to completedQueries
- #102 - Resource objects are missing the changes, eject, and ejectAll methods
- #99 - Computed properties + uglify
- #93 - Added
DS.createInstance(resourceName[, attrs][, options])
- #96 - Resource definitions should be able to proxy DS methods
- #90 - DS.create isn't added to completedQueries (
DS.create
now adds a completed query entry) - #91 - dist/js-data-angular(.min).js doesn't end with a semicolon (upgraded Browserify)
- #94 - Resource object name/class inconsistency (added
useClass
option toDS.defineResource
) - #95 - observe-js outdated (Upgraded observe-js.js an refactored to new API)
- #98 - Missing id warning
Official Release
- #89 - Added the
cacheResponse
option toDS.create
andDS.save
- #87 - Filter where boolean values
- #88 - Fixed guide documentation for the simple default
where
filter
- #76 - Queries and filtering. See TRANSITION.md.
- #82 - Simplify error handling. Reduced size of js-data-angular.min.js by 4kb.
- #42 - Relations/Associations.
DS.inject
now looks for relations and injects them as well.
- #17 - Where predicates should be able to handle OR, not just AND
- #23 - Computed Properties
- #78 - Added optional callback to
bindOne
andbindAll
- #79 -
ejectAll
should clear matching completed queries - #83 - Implement
DS.loadRelations(resourceName, instance(Id), relations[, options])
- #84 - idAttribute of a resource can be a computed property
- #68 - Async methods should honor methods on a resource definition.
- #69 - Failed requests should throw an error, not just return it
- #70 - Make
params
andparams.query
optional
- #61 - Make custom serializers/deserializers more valuable
- #59, #62 - Make queryTransform() consistent with the rest of the API
Before:
DSHttpAdapterProvider.defaults.serialize = function (data) { ... };
After:
DSProvider.defaults.serialize = function (resourceName, data) { ... };
Before:
DSHttpAdapterProvider.defaults.deserialize = function (data) { ... };
After:
DSProvider.defaults.deserialize = function (resourceName, data) { ... };
Before:
DSHttpAdapterProvider.defaults.queryTransform = function (query) { ... };
After:
DSHttpAdapterProvider.defaults.queryTransform = function (resourceName, query) { ... };
- #30, #48, #66 - DSCacheFactory integration
- #49 - DS.bindOne($scope, prop, resourceName, id)
- #50 - DS.bindAll($scope, prop, resourceName, query)
- #51 - Allow baseUrl to be overridable at the method level
- #52 - DS.update(resourceName, id, attrs[, options]) (different from DS.save())
- #54 - Adding functionality to resources
- #56 - DS.updateAll(resourceName, attrs, params[, options])
- #60 - DSHttpAdapterProvider.defaults is undefined
- #63 - DSLocalStorageAdapter
- #44 - Pending query isn't deleted when the response is a failure
- #47 - Minification error in $q $delegate
- #37 - Add option to only save changed attributes when calling DS.save()
- #38 - "saved" attribute item isn't being updated properly
- #36 - Fixed inconsistencies in
DS.filter
when using skip or limit in the query
DS.eject(resourceName, id)
can now only eject individual items
- #34 - Added
DS.ejectAll(resourceName, params)
- #33 - Added
DS.destroyAll(resourceName, params[, options])
- #35 - Add options for asynchronous getter methods to return data without putting it into the data store
Added pluggable filters for the "where" clause of a query. Angular-data's "query language" will remain small and simple. Developers can provide their own more robust filters for more powerful queries.
- #3 - Pluggable async adapters
- #2 - js-data-angular query language
- #4 - Query caching
- #17 - Where predicates should be able to handle OR, not just AND
- #22 - Reorganize infrastructure to utilize angular's DI
- #1 - Pluggable adapters
- #6 - Observable objects
- #7 - Model lifecycle hooks
- #19 - Null pointer exception in several places where js-data-angular tries to use the $q service
- #15 - Integration test coverage
- #18 - observers aren't created for items injected into the store from a findAll() call.