v0.16.0-beta.6
Pre-releaseThis is a massive v0.16 beta release which includes some major refactoring, new features, and bug fixes.
The @orbit/store
package has been deprecated in favor of the new @orbit/memory
package (which contains all the same functionality). This clears the way for future Orbit packages that contain higher level Model and Store primitives. @tchak has already begun some work in this regard by introducing the new @orbit/identity-map
package in this release.
If you're using the @orbit/jsonapi
source, take note of the major refactor by @lukemelia. Luke refactored the JSONAPISource
to do its request processing in a new customizable JSONAPIRequestProcessor
and JSONAPIURLBuilder
classes.
@ggayowsky has also done quite a bit in this release, both in terms of bug fixes and new features. Gerald implemented polymorphic relationships in #627. Relationships in your schemas can now specify multiple possible models as an array in the model
field. For example:
{
models: {
star: {
relationships: {
celestialObjects: { type: 'hasMany', model: ['planet', 'moon'], inverse: 'star' }
}
},
}
}
In this way, a star can have both planets and moons as celestialObjects
. Orbit is now one step closer to full JSON:API compliance! ⭐️
One last note: to remove lossiness and size bloat due to transpilation, the default module
field for each package is now pointing to the latest ES build from the TypeScript compiler (instead of the rather arbitrary ES5 build that was previously referenced). Please use a packaging step in your apps if you need to selectively transpile Orbit further.
Please give this release a try and report any issues. 🚀
Changelog
💥 Breaking Change
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/identity-map
,@orbit/immutable
,@orbit/indexeddb-bucket
,@orbit/indexeddb
,@orbit/jsonapi
,@orbit/local-storage-bucket
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/serializers
,@orbit/store
,@orbit/utils
@orbit/integration-tests
,@orbit/memory
,@orbit/store
🚀 Enhancement
@orbit/integration-tests
,@orbit/jsonapi
- #630 Introduce JSONAPIRequestProcessor (@lukemelia)
@orbit/identity-map
@orbit/data
,@orbit/record-cache
- #627 Polymorphic Relationships (@ggayowsky)
🐛 Bug Fix
@orbit/memory
,@orbit/record-cache
- #637 Dependent record deletion not updating (@ggayowsky)
📝 Documentation
@orbit/data
@orbit/core
- #629 Fixed typo in comment (@lukemelia)
🏠 Internal
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/identity-map
,@orbit/immutable
,@orbit/indexeddb-bucket
,@orbit/indexeddb
,@orbit/integration-tests
,@orbit/jsonapi
,@orbit/local-storage-bucket
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/serializers
,@orbit/store
,@orbit/utils
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/immutable
,@orbit/indexeddb-bucket
,@orbit/indexeddb
,@orbit/integration-tests
,@orbit/jsonapi
,@orbit/local-storage-bucket
,@orbit/local-storage
,@orbit/record-cache
,@orbit/serializers
,@orbit/store
,@orbit/utils
Committers: 4
- Dan Gebhardt (@dgeb)
- Gerald Gayowsky (@ggayowsky)
- Luke Melia (@lukemelia)
- Paul Chavard (@tchak)