Skip to content

Update dependency rxdb to v17.2.0#433

Merged
renovate[bot] merged 1 commit into
masterfrom
renovate/rxdb-17.x
May 4, 2026
Merged

Update dependency rxdb to v17.2.0#433
renovate[bot] merged 1 commit into
masterfrom
renovate/rxdb-17.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 4, 2026

This PR contains the following updates:

Package Change Age Confidence
rxdb (source) 17.1.017.2.0 age confidence

Release Notes

pubkey/rxdb (rxdb)

v17.2.0

Compare Source

  • ADD React useRxDocument(collection, primaryKey) hook for subscribing to a single document by primary key with live updates
  • ADD React useReplicationStatus(replicationState) hook that exposes syncing, error, lastSyncedAt, and canceled from replication observables
  • DOCS Mark liveQueryUpdateThrottleTime as a beta feature in the documentation
  • DOCS Move the main liveQueryUpdateThrottleTime documentation to rx-query.md; rx-database.md and rx-collection.md now only list the option with a short description and a link
  • FIX allAttachments$ observable emitting a new value on every document revision even when the set of attachments is unchanged, by filtering emissions with distinctUntilChanged based on attachment ids and digests
  • FIX RxAttachment.remove() not cleaning up binary attachment data from storage, because categorizeBulkWriteRows() only iterated over the new document's _attachments and never detected attachments removed between revisions
  • FIX attachments-compression isCompressibleType() not stripping RFC 2045 parameters (e.g. ; charset=utf-8) from MIME types, causing attachments with a charset-qualified type like application/json; charset=utf-8 to silently bypass compression when matched against exact patterns like application/json
  • FIX backup plugin not removing the folder of a deleted document when the change batch only contained deletions, because findByIds() returned an empty map and the loop exited early before running the deletion handler
  • FIX RxCollection.cleanup() returning undefined instead of boolean as declared by its TypeScript return type, because the cleanup plugin implementation did not return the result from cleanupRxCollection()
  • FIX CRDT plugin bulkInsert hook not including the composite primary key in CRDT operations, causing the primary key field to be lost during conflict resolution rebuild for schemas that use a composite primary key
  • ADD dev-mode check (SC43) to prevent encrypted fields from being nested inside other encrypted fields. When a parent path is encrypted, the entire object is encrypted so child paths must not be listed separately in the encrypted array.
  • FIX findByIds() query operations modify(), patch(), incrementalModify(), incrementalPatch(), and incrementalRemove() returning an Array instead of a Map. Also fix findByIds().remove() crashing with TypeError: docs.remove is not a function because it did not handle the Map return type from findByIds().
  • FIX getJsonSchemaWithoutMeta() not removing internal meta field references (_deleted, _meta.lwt) from indexes, while correctly removing them from properties and required, causing the returned schema to be internally inconsistent
  • FIX getLocal() returning a deleted local document from the document cache instead of null, causing inconsistent behavior between cache hits and storage lookups after a local document is removed
  • FIX replication-google-drive plugin requesting etag in the Google Drive v3 list API fields parameter, which is rejected by the real API; etag is now fetched separately via the v2 API
  • FIX RxLocalDocument.get$() on nested object/array paths emitting spurious values when unrelated document fields changed, because distinctUntilChanged() used reference equality which always fails for non-primitive values across document revisions
  • FIX database-level RxLocalDocument.$ observable emitting events from a collection-level local document that shares the same id, because the filter on the database event stream only checked isLocal and did not exclude events that originated from a collection
  • FIX localstorage storage remove() not deleting attachment data from localStorage, causing orphaned attachment entries to remain after the storage instance is removed
  • FIX schema migration not forwarding _attachments across chained migration strategies, so later strategies received the document with _attachments as undefined when an earlier strategy returned a new object without forwarding them, breaking the WithAttachments<DocData> contract and preventing strategies from reading or mutating attachment metadata as described in the docs
  • FIX schema migration losing attachments when the migration strategy returns a new object, because migrateDocumentData() never restored _attachments after running the strategies while _meta and _deleted were restored
  • FIX RxMigrationState.migratePromise() returning count.percent: 0 instead of 100 when the migration status is DONE and no migration was needed, which is inconsistent with the updateStatus() logic that correctly sets percent to 100 when total is 0
  • FIX ORM attachment-method names conflicting with built-in RxAttachment methods (getData, getStringData, getDataBase64, remove) not being validated, silently shadowing the built-in method on every attachment instance and preventing users from retrieving their attachment data. Dev-mode now throws a clear RxError (COL17) during collection creation.
  • FIX ORM document method names conflicting with schema-generated suffixed getters (field$, field$$, field_) not being validated, causing a TypeError crash at runtime instead of a clear RxError (COL18) during collection creation
  • FIX RxDatabase.password being an enumerable property, which could leak the plaintext password through Object.keys(), object spreading, Object.assign(), or JSON.stringify() in logging and error reporting contexts
  • FIX RxPipeline error state blocking unrelated reads on the destination collection, because the pipeline's waitBeforeWriteFn hook always called awaitIdle() which re-throws the stored handler error forever. After a handler throws, reads on the destination collection now proceed normally instead of re-throwing the pipeline error.
  • FIX RxPipeline deadlock when multiple pipelines share the same destination collection and their handlers read from the destination, because each pipeline's waitBeforeWriteFn only recognized its own flagged function name in the stack instead of any pipeline's flagged function prefix
  • FIX RxDocument.populate() throwing DOC6 for array fields when ref is defined on items instead of on the array field itself, even though createRxSchema accepts both patterns
  • FIX RxDocument.populate() silently returning null for invalid schema paths and non-ref fields when the value at that path was falsy. The documented DOC5 / DOC6 errors are now thrown consistently, regardless of whether the document has a value at the given path.
  • FIX populate() on array ref fields returning documents in wrong order when two documents reference the same set of IDs in different order, because findByIds query cache deduplication reused a cached query whose Map iteration order matched the first caller instead of preserving each document's own ref array order
  • FIX query-builder operators (gt, lt, ne, in, etc.) silently dropping the implicit $eq condition when a selector shorthand value (e.g. { age: 5 }) was used and then another operator was chained on the same field via the query-builder API
  • FIX default cache replacement policy not evicting executed unsubscribed queries when subscribed queries caused the total cache size to exceed tryToKeepMax, because the eviction count was calculated from only the unsubscribed query count instead of the total cache size
  • FIX React hooks useRxQuery and useLiveRxQuery initializing loading state as false instead of true, causing components to briefly render with empty results before the query resolved #​8292
  • FIX remote storage remove() not unsubscribing from internal subscriptions and not completing the changeStream() observable, unlike close() which correctly performs both cleanup steps
  • FIX replication upstream marking documents as successfully pushed when the replication is paused during a push retry, because masterWrite() returns an empty conflicts array on pause and the upstream updates the meta instance and checkpoint without verifying the push actually succeeded, causing those documents to never be retried on resume
  • FIX replication sent$ observable emitting documents in the master format (with the user-defined deletedField) instead of the typed WithDeleted<RxDocType> format (with _deleted: boolean), because the deletedField swap mutated the same row object that was later forwarded to subscribers
  • FIX replication sent$ observable emitting null for documents that were filtered out by a push.modifier returning null, violating its Observable<WithDeleted<RxDocType>> type and falsely reporting filtered documents as sent to the endpoint
  • FIX RxState _cleanup() not returning true on completion, causing the cleanup plugin loop to never terminate and run indefinitely
  • FIX RxState $ observable emitting duplicate and stale values on each write because both _ownEmits$ and collection.eventBulks$ triggered emissions for own-instance events
  • FIX RxState.get$() (and the field$ proxy accessor) emitting a stale value when subscribed after the state was modified, because startWith() eagerly captured the current value at observable creation time instead of at subscription time
  • FIX(types) RxDocument.collection losing the Reactivity generic because it was passed as the third type argument to RxCollection (which is StaticMethods) instead of the fifth, causing doc.collection.find().$$ and similar calls to be typed as the default reactivity instead of the user's custom reactivity type
  • FIX RxDocument.$ observable emitting stale document state when subscribed after the document was modified, because startWith() eagerly captured the latest data at observable creation time instead of at subscription time
  • FIX RxState.set() permanently breaking the write queue when a user-supplied modifier throws, causing all subsequent set() calls to reject with an unrelated SNH error instead of performing the write
  • FIX storage query() returning all matching documents when the caller passes limit: 0 in the mango query, because the truthy check query.limit ? query.limit : Infinity treated 0 as "no limit was set" (affects memory, dexie, localstorage, foundationdb, denokv, sqlite-trial, mongodb storages and the query-builder plugin).
  • FIX getStartIndexStringFromLowerBound() and getStartIndexStringFromUpperBound() using space character (\x20) as the minimum boundary for string index fields, causing documents with string values containing control characters (codepoints below 32, e.g. \t, \n) to fall below the index scan range and be silently excluded from query results and counts
  • FIX WebMCP changes tool returning documents with internal meta fields (_meta, _rev, _attachments, _deleted) instead of stripping them like the query, insert, upsert, and delete tools do via toJSON()

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot merged commit 842693f into master May 4, 2026
1 check passed
@renovate renovate Bot deleted the renovate/rxdb-17.x branch May 4, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants