FireForNet.Firebase.Firestore
1.0.1-preview.12
Prefix Reserved
dotnet add package FireForNet.Firebase.Firestore --version 1.0.1-preview.12
NuGet\Install-Package FireForNet.Firebase.Firestore -Version 1.0.1-preview.12
<PackageReference Include="FireForNet.Firebase.Firestore" Version="1.0.1-preview.12" />
<PackageVersion Include="FireForNet.Firebase.Firestore" Version="1.0.1-preview.12" />
<PackageReference Include="FireForNet.Firebase.Firestore" />
paket add FireForNet.Firebase.Firestore --version 1.0.1-preview.12
#r "nuget: FireForNet.Firebase.Firestore, 1.0.1-preview.12"
#:package FireForNet.Firebase.Firestore@1.0.1-preview.12
#addin nuget:?package=FireForNet.Firebase.Firestore&version=1.0.1-preview.12&prerelease
#tool nuget:?package=FireForNet.Firebase.Firestore&version=1.0.1-preview.12&prerelease
FireForNet.Firebase.Firestore
Cloud Firestore for FireForNet.
This package provides typed document and collection references, queries, listeners, batches, transactions, bundles, local-store contracts, and the default WebChannel-capable transport.
builder.Services.AddFirestore();
Use platform integrations for browser, native gRPC, SQLite persistence, MAUI, or Windows setup.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FireForNet.Firebase.Auth (>= 1.0.1-preview.12)
- FireForNet.Firebase.Core (>= 1.0.1-preview.12)
- Google.Protobuf (>= 3.33.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on FireForNet.Firebase.Firestore:
| Package | Downloads |
|---|---|
|
FireForNet.Firebase.Firestore.Browser
Package Description |
|
|
FireForNet.Firebase.Firestore.Blazor
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-preview.12 | 44 | 7/9/2026 |
| 1.0.1-preview.11 | 75 | 6/29/2026 |
| 1.0.1-preview.10 | 67 | 6/25/2026 |
| 1.0.1-preview.9 | 76 | 6/24/2026 |
| 1.0.1-preview.8 | 70 | 6/23/2026 |
| 1.0.1-preview.7 | 69 | 6/9/2026 |
| 1.0.1-preview.6 | 74 | 6/8/2026 |
| 1.0.1-preview.5 | 78 | 6/8/2026 |
| 1.0.1-preview.4 | 83 | 6/8/2026 |
| 1.0.1-preview.3 | 62 | 6/8/2026 |
| 1.0.1-preview.2 | 67 | 6/8/2026 |
| 1.0.1-preview.1 | 65 | 6/8/2026 |
| 1.0.0-preview9 | 71 | 6/2/2026 |
| 1.0.0-preview8 | 76 | 5/31/2026 |
| 1.0.0-preview7 | 75 | 5/26/2026 |
| 1.0.0-preview6 | 69 | 5/25/2026 |
| 1.0.0-preview5 | 68 | 5/24/2026 |
| 1.0.0-preview4 | 84 | 5/24/2026 |
| 1.0.0-preview3 | 72 | 5/24/2026 |
| 1.0.0-preview10 | 63 | 6/8/2026 |
v1.0.1-preview.12
- Fixed ObjectDisposedException on SemaphoreSlim.Release() during network disable. A race between DisableNetworkAsync and the fire-and-forget watch-stream receive loop allowed the stream to be restarted on a disposed PersistentListenStream after _gate had been disposed. RemoteStore now atomically guards ShouldStartWatchStream with _networkEnabled, and the PersistentListenStream start path detects disposed state before acquiring the gate.
- Fixed UnobservedTaskException caused by OperationCanceledException escaping the WebChannel receive loop during concurrent disposal. The receive loop now catches JSException wrapping OperationCanceledException (surfaced by .NET 10 WASM fetch abort), and HandleStreamErrorAsync is defensive against ObjectDisposedException when CloseInternalAsync races with DisposeAsync.
v1.0.1-preview.11
- Synchronized package version with the preview.11 release.
v1.0.1-preview.10
- Fixed "Cursor has too many values" (HTTP 400 INVALID_ARGUMENT) error on server queries using snapshot cursors (StartAt/StartAfter/EndAt/EndBefore with IDocumentSnapshot). Query.BuildStructuredQuery now emits normalized order-bys (explicit + implicit inequality fields + __name__ last) and serializes __name__ cursor values as ReferenceValue instead of plain string.
- Added QueryNormalizer helper centralizing the normalized order-by algorithm shared by server and local cache query paths.
- Added field-cursor validation: StartAt/StartAfter/EndAt/EndBefore(params object[]) now throw FirestoreException(InvalidArgument) when values exceed the explicit orderBy count.
- Refactored LocalQueryEvaluator to reuse QueryNormalizer, removing duplicated normalization logic.
v1.0.1-preview.9
- Fixed Timestamp to register a default JsonConverter via [JsonConverter(typeof(TimestampJsonConverter))], so System.Text.Json serialization works without an explicit user-supplied converter.
- Fixed TimestampJsonConverter.Read to handle both Firestore wire-format fields (_seconds/_nanoseconds) and the FireForNet serialized format (seconds/nanoseconds), ensuring round-trip deserialization from emulator and production responses.
v1.0.1-preview.8
- Added FirestoreErrorCode.LocalCacheFull (104) for client-side persistence cache-at-capacity errors.
- FirestoreException now extends FirebaseCoreException<FirestoreErrorCode>; MapToCoreCode deleted.
- ExceptionHelper.MapToFirestoreException is now one-way only (no reverse round-trip).
v1.0.1-preview.7
- Synchronized package version with the preview.7 release.
v1.0.1-preview.6
- Synchronized package version with the preview.6 release.
v1.0.1-preview.5
- Synchronized package version with the preview.5 release.
v1.0.1-preview.4
- Synchronized package version with the preview.4 release.
v1.0.1-preview.3
- Synchronized package version with the preview.3 release.
v1.0.1-preview.2
- Synchronized package version with the preview.2 release.
v1.0.1-preview.1
- Synchronized package version with the preview10 release.
v1.0.0-preview9
- Synchronized package version with the preview9 browser-interop-migration release.
v1.0.0-preview8
- Promoted FieldIndexValueEncoder and FieldPathHelper to public Firestore API so persistence backends share identical field-index encoding without internal-visibility coupling.
- Renamed ILocalStoreIndexManagement.DeleteIndexAsync to RemoveIndexAsync.
- Firestore now throws FirestoreErrorCode.FailedPrecondition when persistence is enabled with a cache size limit but the active local store does not implement ILocalStoreCacheManagement.
- Hardened InMemoryLocalStore multi-document ApplyChangesAsync atomicity under a single lock so concurrent reads never observe a partially applied batch.
v1.0.0-preview7
- Reworked local cache architecture with plan-based candidate retrieval through LocalQueryPlan, LocalQueryExecutor, and LocalQueryPlanner.
- Replaced broad ILocalStore.QueryAsync contract with QueryCandidatesAsync so stores return safe candidate supersets and Core Firestore remains the semantic authority.
- Added SQLite equality pushdown for supported scalar fields as a proven candidate-reduction path with mandatory final LocalQueryEvaluator execution.
- Collection path, collection group, and document path narrowing with broad-scan fallback across all stores.
v1.0.0-preview6
- Improved local cache query evaluation for cursor bounds, snapshot cursor document-name tie-breakers, and special numeric values.
v1.0.0-preview5
- Fixed Blazor WebAssembly startup crash when IFirestore is resolved early by flowing Google.Protobuf as a runtime package dependency while keeping its compile assets private to Firestore.
v1.0.0-preview4
- Synchronized package version with the preview4 release.
v1.0.0-preview3
- Synchronized package version with the preview3 release.
v1.0.0-preview2
- Initial v1.0.0-preview2 package.