Releases: orbitjs/orbit
v0.17.0-beta.12
With this release, all of Orbit's standard sources now support the Queryable
and Updatable
interfaces. Thus, you can now call query
or update
against an IndexedDBSource
or LocalStorageSource
in the same way that you can query or update a MemorySource
or JSONAPISource
. Furthermore, all caches now support query
and update
(some sync and some async), so there is broad consistency across the board. 🎉
As mentioned in #813:
This will allow for the deprecation of
Pullable
andPushable
, now that equivalent results can be achieved viaquery
andupdate
calls with thefullResponse: true
option. Reducing the number of interfaces per-source should be a nice simplification that allows for more flexibility.
These deprecations should happen just prior to, or following, the final release of v0.17 (i.e. very soon).
Changelog
🚀 Enhancement
@orbit/coordinator
@orbit/indexeddb
,@orbit/local-storage
,@orbit/memory
🏠 Internal
@orbit/build
,@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/records
,@orbit/serializers
,@orbit/utils
Committers: 1
- Dan Gebhardt (@dgeb)
v0.17.0-beta.11
v0.17.0-beta.10
A few minor enhancements intended to smooth the way to using all the new features in the previous beta.
Changelog
🚀 Enhancement
@orbit/records
@orbit/indexeddb
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/records
Committers: 1
- Dan Gebhardt (@dgeb)
v0.17.0-beta.9
This is perhaps the most major "beta" release in orbit's history. It fulfills a number of long-requested goals:
-
[BREAKING] Moves the record-specific interfaces in
@orbit/data
into their own package:@orbit/records
. Unfortunately, this will require a number of imports to be refactored, and is a breaking change. However, this refactor was necessary to make sense of the massive TypeScript interface improvements needed to support the rest of this PR. It also paves the way to use orbit with document-centric, rather than record-centric, protocols. See #794 for details. -
[BREAKING] Another breaking change has been made to allow for consistent handling of "not found" errors across sources. The default behavior is to now return
undefined
for queries instead of raising aRecordNotFoundException
. This makes it possible to issue multiple query expressions at once without worrying that a single record not found will prevent access to the rest of the results. If you'd like to continue to raiseRecordNotFoundException
in these cases, use theraiseNotFoundExceptions: true
option. This can be set per-query, or per-expression, or as a default option for a source via thedefaultQueryOptions
setting. -
Adds support for more detailed, full responses from requests. Using the
fullResponse: true
option, you can now request details such as the full response document for JSONAPISource queries and updates. See #794 for details. -
Ensures consistency between the
query
andupdate
interfaces used by both caches and sources (with the exception that synchronous caches of course still return results immediately). Thepatch
method has been deprecated for caches. Again, part of #794. -
Support for parallel fetch requests for multi-expression queries and multi-operation updates made to the JSONAPISource. By default, queries will be run in parallel now, while transform operations will still run in series. See #806.
More details and examples will be provided in the full v0.17 release notes.
Changelog
💥 Breaking Change
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/identity-map
,@orbit/indexeddb
,@orbit/integration-tests
,@orbit/jsonapi
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/records
🚀 Enhancement
@orbit/core
,@orbit/indexeddb
,@orbit/local-storage
,@orbit/memory
,@orbit/records
@orbit/core
,@orbit/data
,@orbit/indexeddb
,@orbit/jsonapi
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/records
@orbit/integration-tests
,@orbit/jsonapi
@orbit/data
,@orbit/jsonapi
@orbit/data
,@orbit/integration-tests
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/identity-map
,@orbit/indexeddb
,@orbit/integration-tests
,@orbit/jsonapi
,@orbit/local-storage
,@orbit/memory
,@orbit/record-cache
,@orbit/records
@orbit/jsonapi
@orbit/memory
@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/utils
🏠 Internal
@orbit/build
,@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/records
,@orbit/serializers
,@orbit/utils
- Other
@orbit/jsonapi
@orbit/jsonapi
,@orbit/record-cache
Committers: 3
v0.17.0-beta.8
Changelog
🚀 Enhancement
@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/utils
@orbit/data
📝 Documentation
@orbit/coordinator
,@orbit/core
,@orbit/data
,@orbit/indexeddb-bucket
,@orbit/local-storage-bucket
,@orbit/memory
,@orbit/utils
@orbit/utils
@orbit/data
Committers: 1
- Dan Gebhardt (@dgeb)
v0.17.0-beta.7
This beta release contains a fix to the mergeOperations
function, which is especially important when merging a fork of a memory source back into its root. addRecord
+ updateRecord
operations are now fully coalesced (#780). Thanks to @chbonser for reporting and creating a failing test.
Also included are a few refinements to the new serializers in @orbit/jsonapi
. Now, by default, attributes of type object
, array
, and unknown
(i.e. undefined) will be handled by the NoopSerializer
, so the values will be passed through "as-is" on serialization / deserialization. This behavior can be overridden per type, but should provide a smoother transition for developers who had used these types, or no types, to define attributes in their schemas in v0.16.
Changelog
🚀 Enhancement
@orbit/jsonapi
🐛 Bug Fix
🏠 Internal
@orbit/build
,@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/utils
@orbit/record-cache
Committers: 3
v0.16.7
This release backports PR #780 to v0.16. This addresses an issue in mergeOperations
in which addRecord
and updateRecord
operations were not being merged with subsequent updateRecord
operations for the same record.
Many thanks to @chbonser for finding this bug and preparing a failing test in #777.
🐛 Bug Fix
Committers: 1
- Dan Gebhardt (@dgeb)
v0.17.0-beta.5
This beta release solves a few issues remaining from v0.17.0-beta.4:
- Fixes an oversight in which the deprecated jsonapi-serializer module was no longer exported from
@orbit/jsonapi
. - Exposes several methods on the JSONAPISource related to transform and query request processing, as well as the supporting lib modules, to allow for easier customization on a per-request level.
- Expands
recordDiffs
to handle all possible record fields. For@orbit/jsonapi
this will allow any server-driven changes to a record, including fields such asmeta
andlinks
, to flow back to other sources as updates to records.
Changelog
🚀 Enhancement
@orbit/data
@orbit/jsonapi
Committers: 1
- Dan Gebhardt (@dgeb)
v0.17.0-beta.4
This is the fourth, and likely final, beta release for v0.17. The extensive contents of this release will be covered in depth in a release post for v0.17. Please review the changelog below and follow up with any questions or problems you encounter.
Changelog
💥 Breaking Change
@orbit/integration-tests
,@orbit/jsonapi
@orbit/core
,@orbit/data
,@orbit/indexeddb
,@orbit/jsonapi
,@orbit/memory
,@orbit/record-cache
,@orbit/utils
🚀 Enhancement
@orbit/data
,@orbit/jsonapi
,@orbit/memory
,@orbit/record-cache
@orbit/integration-tests
,@orbit/jsonapi
@orbit/serializers
,@orbit/utils
@orbit/jsonapi
,@orbit/serializers
@orbit/indexeddb
,@orbit/local-storage
,@orbit/memory
🐛 Bug Fix
@orbit/memory
,@orbit/record-cache
@orbit/indexeddb
🏠 Internal
@orbit/build
@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
- Other
@orbit/build
,@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/utils
@orbit/integration-tests
Committers: 2
v0.16.6
This release backports PR #762 to v0.16. This fixes a bug in the cache integrity processors' handling of relationships without explicit inverse declarations. It ensures that relationship bookkeeping is done properly on both ends (see #760 to understand a failure case).
🐛 Bug Fix
@orbit/record-cache
Committers: 1
- Dan Gebhardt (@dgeb)