FireForNet.Firebase.RemoteConfig 1.0.1-preview.19

Prefix Reserved
This is a prerelease version of FireForNet.Firebase.RemoteConfig.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package FireForNet.Firebase.RemoteConfig --version 1.0.1-preview.19
                    
NuGet\Install-Package FireForNet.Firebase.RemoteConfig -Version 1.0.1-preview.19
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FireForNet.Firebase.RemoteConfig" Version="1.0.1-preview.19" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FireForNet.Firebase.RemoteConfig" Version="1.0.1-preview.19" />
                    
Directory.Packages.props
<PackageReference Include="FireForNet.Firebase.RemoteConfig" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FireForNet.Firebase.RemoteConfig --version 1.0.1-preview.19
                    
#r "nuget: FireForNet.Firebase.RemoteConfig, 1.0.1-preview.19"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FireForNet.Firebase.RemoteConfig@1.0.1-preview.19
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FireForNet.Firebase.RemoteConfig&version=1.0.1-preview.19&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FireForNet.Firebase.RemoteConfig&version=1.0.1-preview.19&prerelease
                    
Install as a Cake Tool

FireForNet.Firebase.RemoteConfig

Firebase Remote Config for FireForNet.

This package provides fetch, activate, fetch-and-activate, defaults, custom signals, typed getters, reset, and realtime update subscriptions. It uses Firebase Installations identity.

builder.Services.AddFirebaseRemoteConfig(options =>
{
    options.MinimumFetchInterval = TimeSpan.FromHours(12);
    options.FetchTimeout = TimeSpan.FromSeconds(60);
    options.RealtimeConnectTimeout = TimeSpan.FromMinutes(5);
});

Docs: https://github.com/FireForNet/FireForNet

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on FireForNet.Firebase.RemoteConfig:

Package Downloads
FireForNet.Firebase.RemoteConfig.Blazor

Package Description

FireForNet.Firebase.RemoteConfig.Sqlite

Package Description

FireForNet.Firebase.RemoteConfig.Browser

Package Description

FireForNet.Firebase.RemoteConfig.Windows

Package Description

FireForNet.Firebase.RemoteConfig.Android

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1-preview.22 69 9/27/2026
1.0.1-preview.21 77 9/22/2026
1.0.1-preview.20 79 9/18/2026
1.0.1-preview.19 69 9/12/2026
1.0.1-preview.18 98 8/24/2026
1.0.1-preview.17 83 8/9/2026
1.0.1-preview.16 94 8/9/2026
1.0.1-preview.15 80 8/8/2026
1.0.1-preview.14 81 8/8/2026
1.0.1-preview.13 80 7/23/2026
1.0.1-preview.12 100 7/9/2026
1.0.1-preview.11 99 6/29/2026
1.0.1-preview.10 110 6/25/2026
1.0.1-preview.9 88 6/24/2026
1.0.1-preview.8 87 6/23/2026
1.0.1-preview.7 100 6/9/2026
1.0.1-preview.6 77 6/8/2026
1.0.1-preview.5 89 6/8/2026
1.0.1-preview.4 92 6/8/2026
1.0.1-preview.3 81 6/8/2026
Loading failed

v1.0.1-preview.19
- Synchronized package version with the preview.19 release.

v1.0.1-preview.18
- Synchronized package version with the preview.18 release.

v1.0.1-preview.17
- Synchronized package version with the preview.17 release.

v1.0.1-preview.16
- Synchronized package version with the preview.16 release.

v1.0.1-preview.15
- Synchronized package version with the preview.15 release.

v1.0.1-preview.14
- RemoteConfigHttpClient now injects IFirebaseInstallations directly for the Firebase Installation ID and auth token, replacing the removed IInstallationTokenSource contract.

v1.0.1-preview.13
- Synchronized package version with the preview.13 release.

v1.0.1-preview.12
- Synchronized package version with the preview.12 release.

v1.0.1-preview.11
- Synchronized package version with the preview.11 release.

v1.0.1-preview.10
- Synchronized package version with the preview.10 release.

v1.0.1-preview.9
- Synchronized package version with the preview.9 release.

v1.0.1-preview.8
- Synchronized package version with the preview.8 release.

v1.0.1-preview.7
- Realtime streaming keeps FireForNet's default 5-minute RealtimeConnectTimeout while Core's default HttpClient timeout remains platform-owned.
- Retryable realtime connect/read failures (transport exceptions, HTTP 408/429/5xx) are kept inside the retry loop and reported to subscribers only when the retry budget is exhausted.
- Non-retryable realtime responses (e.g. HTTP 403) still surface immediately to subscribers.
- Realtime handshake now starts from the freshest known baseline (last-fetched template version/ETag) instead of only the activated baseline, matching Android and iOS SDK behavior for faster invalidation detection.
- Added LastFetchedETag and LastFetchedTemplateVersion to RemoteConfigFetchMetadata, persisted on every successful fetch.
- Added regression coverage for realtime retry-limit, non-retryable error semantics, and last-fetched metadata persistence.

v1.0.1-preview.6
- Redesigned IFirebaseRemoteConfig.OnConfigUpdatedAsync to use awaited Task-returning update and error callbacks, so applications can activate fetched realtime values without fire-and-forget work.
- Realtime subscribers now await update callbacks and route callback failures to the async error callback when one is registered.

v1.0.1-preview.5
- Fixed parameterless FetchAsync to hydrate persisted settings before applying the default minimum fetch interval.
- Fixed OnConfigUpdatedAsync to initialize the realtime lifecycle monitor before subscribing, matching Blazor foreground/background ownership.
- Added FirebaseRemoteConfigBuilder.RealtimeConnectTimeout and now honors configured RealtimeMaxRetries in the realtime reconnect loop.
- Added RealtimeConnectTimeout to ConfigSettings and FirebaseRemoteConfigOptions (default 5 minutes).
- Separated realtime streaming connection timeout from regular fetch timeout, matching Android/iOS/JS SDK behavior where long-lived streamFetchInvalidations connections use no client-side timeout.
- ConnectRealtimeAsync now uses RealtimeConnectTimeout instead of FetchTimeout, preventing premature timeout on platforms where HttpClient.Timeout applies (native .NET MAUI/Desktop/WinUI).

v1.0.1-preview.4
- Synchronized package version with the preview.4 release.
- Moved IRealtimeLifecycleMonitor initialization from RealtimeListener stream startup to IFirebaseRemoteConfig.EnsureReadyAsync and OnConfigUpdatedAsync for correct lifecycle ownership

v1.0.1-preview.3
- Fixed realtime stream parsing: replaced line-based StreamReader.ReadLineAsync with raw byte accumulation and JSON brace-boundary detection, matching Android/JS/iOS SDKs.
- Fixed realtime message deserialization: latestTemplateVersionNumber is sent as a quoted string by the server, not a bare number.
- Added reconnection retry with exponential backoff (base 60s, 2x multiplier, ±50% jitter, max 8 retries) matching Android/JS.
- Added fetch retry on invalidation: up to 3 attempts with random 0-4s delay, comparing fetched template version against target version (matching Android/JS autoFetch).
- Fixed retryIntervalSeconds handling: server-specified delay now correctly delays reconnection instead of being wasted.
- Added IRealtimeLifecycleMonitor contract for background/foreground lifecycle management. No-op default registered by AddFirebaseRemoteConfig(); integration packages provide platform implementations.
- Added RealtimeRetryLimitExceeded error code for exhausted retry budget.

v1.0.1-preview.2
- Added X-Google-GFE-Can-Retry and X-Accept-Response-Streaming headers to realtime stream requests for parity with Android/iOS SDKs.
- Added X-Firebase-RC-Fetch-Type, X-Google-GFE-Can-Retry, and X-Accept-Response-Streaming headers unconditionally from core; browser platforms strip them via integration-layer interceptors.
- Fixed CORS preflight failure on Blazor WASM by moving platform-specific header filtering to the Blazor integration package.

v1.0.1-preview.1
- Added platform store integration support (Blazor, Browser, Sqlite, Windows, Maui) via segregated store interfaces.
- InMemoryRemoteConfigStore remains the default when no platform store is registered.
- Bumped to preview10.

v1.0.0-preview9
- Synchronized package version with the preview9 release.

v1.0.0-preview8
- Synchronized package version with the preview8 release.

v1.0.0-preview7
- Synchronized package version with the preview7 Firestore local-cache architecture rework release.

v1.0.0-preview6
- Synchronized package version with the preview6 release.

v1.0.0-preview5
- Synchronized package version with the preview5 release.

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.