NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #840 most downloaded on pub.dev
Previously known as cloud_firestore_mocks. Fake implementation of Cloud Firestore. Use this package to unit test apps that use Cloud Firestore.
Last release 21 days ago
17 Sep 2026
Release timing varies
gaps range from 2 weeks to 9 months
Most releases are documented
notes for 45 of 53 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
53 releases · first in 2021
Upgraded fake_firebase_security_rules to ^0.6.0. Key/value checks on maps are not stricter. See (cel-dart #15).
Upgraded fake_firebase_security_rules to ^0.6.0. Key/value checks on maps are not stricter. See (cel-dart #15).
Field selection (
e.f) and indexing (e['f']) on a map now raise ano_such_fielderror when the key is absent, per the spec (Runtime Errors, Field Selection). Before, both returnednull.
Upgraded MockWriteBatch's update() signature to match cloud_firestore 6.7.1 (PR-339). Thank you jt274 and jamesdhutton!
Upgraded MockWriteBatch's update() signature to match cloud_firestore 6.7.1 (PR-339). Thank you jt274 and
jamesdhutton!
One column per quarter.
Upgraded cloud_firestore_platform_interface to ^8.0.0 (PR-336). Thank you Wim-Hexagons!
Upgraded cloud_firestore_platform_interface to ^8.0.0 (PR-336). Thank you Wim-Hexagons!
Update Transaction.update and WriteBatch.update signatures for cloud_firestore 6.2.0 (PR-335). Thank you TonyDowney!
Update Transaction.update and WriteBatch.update signatures for cloud_firestore 6.2.0 (PR-335). Thank you TonyDowney!
Nothing published for this version
Remove the dependency on package:quiver (switch from quiver's hash2 function to dart:core's Object.hash) (PR-333). Thank you devoncarew!
Remove the dependency on package:quiver (switch from quiver's hash2 function to dart:core's Object.hash) (PR-333). Thank you devoncarew!
Nothing published for this version
Support querying by __name__ (PR-330). Thank you ben-milanko!
Support querying by __name__ (PR-330). Thank you ben-milanko!
Upgrade to Firestore 6.0.0. PR-325. Thank you jt274!
Improvements to Queries: - Support Filters. - Fix order by multiple fields. Thank you ominibyte! PR-319
Upgraded rxdart to ^0.28.0. Thank you daniloapr! PR-315
Support including multiple docChanges when documents are added in parallel. Thank you KholmatovS! PR-312.
docChanges when documents are added in parallel. Thank you KholmatovS! PR-312.docChanges when documents are modified or deleted in parallel. PR-314.Fixed batch commit to properly await commands. Thank you nomtats! PR-310
Upgrade to Firestore 5.0.0. PR-309
Upgrade to Firestore 5.0.0. PR-309
Fixed broadcast of non converted snapshots when modifying a converted document. Thank you diegogarciar! PR-295.
Fixed broadcast of non converted snapshots when modifying a converted document. Thank you diegogarciar! PR-295.
Added ListenSource? source to Query.snapshots() and DocumentReference.snapshots() to match firestore 4.17.0. Thank you fwal! PR-306.
Nothing published for this version
Fixed composite key query on empty document. Thank you KholmatovS! PR-298.
documentReference.get() on empty document. PR-299.Nothing published for this version
Support aggregate queries for converted queries. Thank you ming-chu! PR-291.
Support passing a Clock for FieldValue.serverTimestamp(). Thank you ming-chu! PR-287.
Fixed query snapshots to correctly fire and emit document changes (PR-284).
arrayContainsAny and fixed the limit to whereIn (PR-286).FakeFirebaseFirestore.clearPersistence() (PR-285).Thank you KholmatovS for all 3 PRs!
Fixed a concurrency error when someone subscribed to a query during an update to that same query. Thank you jonasN5! PR-282, PR-283.
Support mocking Exceptions for DocumentReference.update, set, delete. Thank you mrunix00! PR-276.
Upgraded rx to ^0.3.0 and cloud_firestore_platform_interface to ^6.0.1. PR-274
Upgraded rx to ^0.3.0 and cloud_firestore_platform_interface to ^6.0.1. PR-274
Support querying with FieldPath.documentID. Thank you agent3bood!
FieldPath.documentID. Thank you agent3bood!Nothing published for this version
Fixed API to support cloud_firestore 4.4.0:
Fixed API to support cloud_firestore 4.4.0:
DocumentReference.update.Thank you sydneyagcaoili!
Also fixed deletion so that it reflects on dump. Thank you ga-bri-el!
Fixed changelog to include a fix in version 2.2.0.
Fixed changelog to include a fix in version 2.2.0.
Nothing published for this version
Added imports in the README example on security rules.
Added imports in the README example on security rules.
Implemented checking Document access with Security Rules (PR-260).
DocumentReference.path to always return a path without a starting '/' (commit c01eb23).Support mocking Exceptions for DocumentReference.set (PR-258).
support GetOptions.source when querying data. Thank you danReynolds!
GetOptions.source when querying data. Thank you danReynolds!cloud_firestore/not-found to not-found to match Firestore. Thank you Zambrella!FieldValue.delete() and FieldValue.serverTimestamp() values. Thank you Zohenn!QuerySnapshot.metadata. Thank you agent3bood!implemented Query.count for converted queries.
Query.count for converted queries.Nothing published for this version
implemented Query.count for collections (converted or not) and non-converted queries.
Query.count for collections (converted or not) and non-converted queries.Nothing published for this version
fixed the handling of maps in FieldValue.arrayUnion and FieldValue.arrayRemove.
FieldValue.arrayUnion and FieldValue.arrayRemove.DocumentSnapshot.get correctly throws an exception when a value is not found.Thank you Zohenn for all 3 fixes!
support Query.limit for converted queries. Thank you xni06!
added maxAttempts to FirebaseFirestore.runTransaction to match firestore 3.4.0. Thank you AndrewSheetMetal and OlegNovosad!
maxAttempts to FirebaseFirestore.runTransaction to match firestore 3.4.0. Thank you AndrewSheetMetal and OlegNovosad!made Document.update throw an exception if trying to update a non-existent document.
Document.update throw an exception if trying to update a non-existent document.fixed an exception Document.update when replacing a non map value with a map value. Thank you Sapphirewhale!
Document.update when replacing a non map value with a map value. Thank you Sapphirewhale!whereNotIn in Query.where. Thank you KingOfDog!orderBy when used with startAt, endAt. Thank you cedvdb!support FieldPath in DocumentSnapshot.get(). Thank you jpangburn!
FieldPath in DocumentSnapshot.get(). Thank you jpangburn!notEqualTo ignore docs when the field does not exist. Thank you jpangburn!endAtDocument, endBefore, endBeforeDocument and startAtDocument in Query. Thank you Andrew-Bekhiet!DocumentReference.snapshots() emit the first event as soon as the stream is returned. Thank you Andrew-Bekhiet!fixed a regression where DocumentReference stopped firing an event when deleted.
migrated to Firestore 3.0.0. Thank you mboyamike!
support Converters for startAt/startAfter/endAt queries.
- implemented Query.startAfter.
Query.startAfter.fixed a bug where the snapshot wouldn't fire if you got a Query.snapshot, then started listening to it after.
Query.snapshot, then started listening to it after.- migrated to Firestore 2.2.0.
fixed an exception when calling snapshots() on both the raw and converted reference.
snapshots() on both the raw and converted reference.DocumentReference.set when using withConverter.Query.firestore.implemented withConverter for CollectionReference, DocumentReference and Query.
withConverter for CollectionReference, DocumentReference and Query.renamed the library from cloud_firestore_mocks to fake_cloud_firestore
Breaking change:
MockFirestoreInstance to FakeFirebaseFirestore.In pubspec.yaml file, replace cloud_firestore_mocks: ^0.9.0 by fake_cloud_firestore: ^1.0.0.
Then in tests, replace:
import 'package:cloud_firestore_mocks/cloud_firestore_mocks.dart';
final firestore = MockFirestoreInstance();
By:
import 'package:fake_cloud_firestore/fake_cloud_firestore.dart';
final firestore = FakeFirebaseFirestore();
Your coding agent can read these notes before it upgrades. Set up the MCP server →