- #117 - .find skips the object in the store
- #118 - DS#find() returns items cached with DS#inject() - Thanks @mightyguava!
createInstance
will now initialize computed properties (but they won't be updated until the item is injected into the store, or unless you useInstance#set(key, value)
to mutate the instance)
- #115 - removeCircular bug
- #106 - Add pathname option to actions
- #114 - Add support to actions for having item ids in the path
- #106 - loadRelations: check params.where instead when allowSimpleWhere is disabled - Thanks @maninga!
- #104 - DS.schemator is undefined when using browserify
- #101 - Reject instead of throw, as throw is messy in the console
- #97 - Don't link relations where localField is undefined
- #95 - actions should use defaultAdapter of the resource
- #91 - Wrong second argument passed to afterCreateInstance
- #84 - DS.Inject performance issues when reloading data (
DSUtils.copy
was attempting to copy relations)
- #83 - Change detection incorrectly handles cycles in the object
- #81 - Sometimes
inject
with nested relations causes an infinite loop
- Added
.npmignore
for a slimmer npm package
- #76 - Saving relation fields with changesOnly=true
- #80 - save + changesOnly + nested relations + no actual changes results in an error
- Upgraded dependencies
- Extracted BinaryHeap class to its own npm module
- #75 -
DSUtils.removeCircular
is removing more stuff than it should
- Fixed loading of the optional js-data-schema
- Re-wrote a good amount of the code to use ES6. Now using Babel.js to transpile back to ES5.
- #72 - bug: items injected via a relationship fail to fire notifications (fixed more cases of this happening)
- #35 - beforeInject not called on relationships
- #72 - bug: items injected via a relationship fail to fire notifications
- Now using
DSUtils.copy
when saving "original" attributes so changes can be computed properly
- #66 - "saved" and "lastSaved" method seems to be a misnomer
- #69 - Using resource base class w/additional properties has some side effects
- #70 - "lastSaved" timestamp changes too often
- Removed use of
DSUtils.copy
in the event hooks. This should increase performance quite a bit.
- #17 - feat: Load relations based on local field name
- #62 - getAdapter when called from a Resource fails
- #65 - internal emit api was not updated to use Resource instead of Resource.name like the lifecycle hooks were
- Internal optimizations to shave ~2kb off the minified build
- #64 - Two possible error cases in
DS#find
- #51 - Allow resource instances to be created from a base class
- #50 - Added a
DS#is(resourceName, instance)
orResource#is(instance)
method to check if an object is an instance of a particular resource
- When items are ejected cached collection queries are now checked to see if all the cached items from that query are gone, and if so, the cache query is deleted
- #42 - deserialize and beforeInject are called from the parent relation when loadRelations is used
- Added a
getResource(resourceName)
method to resource definitions so adapters can grab the definitions of a resource's relations
- #46 - "actions" don't inherit basePath properly
- Allow nested keys in "orderBy" clauses, i.e.
orderBy: 'foo.bar'
- Added
get
andset
methods to the instance prototype for getter/setter manipulation of data store items. Use ofset
will trigger immediate recalculation of computed properties on the instance. Bothget
andset
support nested key names. - Added a
removeCircular
util method so cyclic objects can be saved without fuss - #43 - Added
contains
operator to the default filter
- Added missing
createInstance
calls
Stable Version 1.0.0
- Upgraded to the latest observe-js
- Updates to defining "actions"
- #30 - Issue with offset. To solve this a
useFilter
option was added, which defaults tofalse
. PreviouslyDS#filter
was used to return cachedfindAll
queries, but that had problems. Now, cached items are also tracked by the query that retrieved them, so when you make a query again you consistently get the right data.
- #6 - Allow logging to be configurable
- #29 - Add version to JSData export
- #31 - Add build for js-data-debug.js which contains lots of debugging statements and a configurable logger.
- #27 - Properly resolve parent params for generating the URL
- #26 - Added the DSCreate instance method
- #23 - DS#findAll: make a copy of options.params if it's passed in and manipulate that
- Backport js-data/js-data-angular#262
- Optimized utility functions to save several kilobytes off of minified file
- Change detection of nested properties "should" work now
- findInverseLinks, findBelongsTo, findHasOne, and findHasMany now default to true
- Backport js-data/js-data-angular#253
- Added the isectEmpty, isectNotEmpty, |isectEmpty, and |isectNotEmpty filter operators
- Fixed file size of browser dist file
- Server-side js-data now uses the Bluebird promise library
- items don't have to be in the data store to call destroy on them anymore
Removed DSUtils.deepFreeze
- All hooks now take the resource definition object as the first argument instead of just the name of the resource
- #19 - multiple orderBy does not work
- js-data/js-data-angular#227 - Supporting methods on model instances
- js-data/js-data-angular#235 - IE 8 support
- Various fixes
- js-data/js-data-angular#208 - ng-repeat $$hashKey affecting hasChanges
- js-data/js-data-angular#225 - If the server returned an empty array for a get request (valid scenario), angular-data throws an exception
- #20 - es6-promise finally polyfill
- Fixed an issue with the options defaults util function
- #10 - Add js-data-schema integration
- #15 - Add beforeCreateInstance & afterCreateInstance
- #12 - Add expiration capabilities (reapInterval, reapAction, maxAge, DS#reap)
- #9 - Make all options passed to methods also inherit from Resource defaults
- js-data/js-data-angular#195 - throw an error when you try to inject a relation but the resource for it hasn't been defined
- Added official support for NodeJS
- Refactored from
baseUrl
tobasePath
, asbaseUrl
doesn't make sense for all adapters, butbasePath
does - Made
notify
configurable globally and per-resource
- Added
beforeDestroy
andafterDestroy
toDS#destroyAll
- Added
eagerEject
option toDS#destroyAll
andDS#destroy
- js-data/js-data-angular#145 - Add "useClass" option to inject, find, findAll, create
- js-data/js-data-angular#159 - Find which items from collection have changed with lastModified
- js-data/js-data-angular#166 - Add ID Resolver
- js-data/js-data-angular#167 - Default params argument of bindAll to empty object
- js-data/js-data-angular#170 - Global callbacks
- js-data/js-data-angular#171 - "not in" query
- js-data/js-data-angular#177 - Allow promises to be returned in lifecycle hooks
- js-data/js-data-angular#156 - cached findAll pending query doesn't get removed sometimes
- js-data/js-data-angular#163 - loadRelations shouldn't try to load a relation if the id for it is missing
- js-data/js-data-angular#165 - DS.hasChanges() reports changes after loading relations
- Moved api documentation out of comments and into the GitHub wiki
- Re-organized code and shaved 5.5kb off the minified file