FluentStorage 8.0.14
Prefix ReservedSee the version list below for details.
dotnet add package FluentStorage --version 8.0.14
NuGet\Install-Package FluentStorage -Version 8.0.14
<PackageReference Include="FluentStorage" Version="8.0.14" />
<PackageVersion Include="FluentStorage" Version="8.0.14" />
<PackageReference Include="FluentStorage" />
paket add FluentStorage --version 8.0.14
#r "nuget: FluentStorage, 8.0.14"
#:package FluentStorage@8.0.14
#addin nuget:?package=FluentStorage&version=8.0.14
#tool nuget:?package=FluentStorage&version=8.0.14
Please read the Migration Guide to help you migrate from older versions to FluentStorage 8!
FluentStorage 8.0.14
- FluentStorage
- New:
GetObjectChecksumAPI to compute various types of hashes for an object across all providers - New:
StorageObjectHashobject to hold a hash value and easily compare it against any local file or stream - New:
StorageExistsMode.OverwriteIfChangedmode to only overwrite files if they have changed (length/checksum checks) - New:
UploadDirectorysupports theOverwriteIfChangedand only uploads files if the length/checksum mismatches - New:
DownloadDirectorysupports theOverwriteIfChangedand only downloads files if the length/checksum mismatches - Removed:
GetObjectMD5is removed in favour ofGetObjectChecksum
- New:
- FluentStorage.GCP
- New: Implement fast
GetObjectChecksumby usingGetObjectAsyncAPI to get MD5 object hash
- New: Implement fast
- FluentStorage.FTP
- New: Implement fast
GetObjectChecksumby using native FTP commands
- New: Implement fast
FluentStorage 8.0.13
- FluentStorage
- New: Optimize
StoragePath.Combinewhen combining only 2 path segments (most common use case)
- New: Optimize
- FluentStorage.SFTP
- New: Optimize
SetObject&SetBytesAPIs to improve transfer performance (4x faster) - New: Optimize
UploadObject&UploadDirectoryAPIs to improve transfer performance (2x faster) - New:
BufferSizeset to a default of 128KB to improve transfer performance - New:
TransferBufferSizesetting to change upload/download buffer size - Fix:
SetObjectnow correctly handles non-seekable streams - Fix:
CreateDirectorynow creates the entire directory path instead of just the last segment - Improve:
DirectoryExistsuses only one native API call to improve performance - Improve:
UploadObjectnow uses nativeUploadFileAsyncAPI to improve transfer performance - Remove:
SetLengthOnNewStreamas it is no longer supported
- New: Optimize
FluentStorage 8.0.12
- FluentStorage
- New: Add rule-based filtering support in
DownloadDirectoryandUploadDirectoryfor all storage providers - New: Add rule engine and rules from FluentFTP:
ObjectNameRule,ObjectNameRegexRule,DirectoryNameRule,DirectoryNameRegexRule,ExtensionRule - New: Add new rule types for path checking:
FullPathRule,FullPathRegexRule - Fix: Fix all logic issues in rules based on unit test suite
- Fix: Support case-insensitive extension comparison in
ExtensionRule - Fix:
DownloadObjectensures parent directory exists and fix existance check - Fix:
DownloadDirectoryreports progress on successful transfers too - Fix:
UploadDirectoryreports progress on successful transfers too - Paths:
StoreObject: MakeFullPathinstant by computing it at time of construction rather than dynamically - Paths:
StoreObject: AddInputproperty to read the raw path given by the provider
- New: Add rule-based filtering support in
- FluentStorage.FTP
- Fix: Improve
DownloadObjectAPI to have consistant behaviour
- Fix: Improve
- FluentStorage.SFTP
- Fix: Improve
DownloadObjectAPI to have consistant behaviour
- Fix: Improve
- FluentStorage.Alibaba
- Fix: All API should use a single constructor for
StoreObject
- Fix: All API should use a single constructor for
- FluentStorage.Tests
- New: Extensive integration test suite for rule engine under
IStore.DirRulesclass - New: Extensive unit test suite for rule engine under
RuleTestsclass
- New: Extensive integration test suite for rule engine under
FluentStorage 8.0.10
- FluentStorage
- Fix:
CreateDirectorywill not throw exceptions by default, allowing it to be called on cloud stores - Fix:
DeleteDirectoryhas a default implementation for all cloud stores, to delete all objects in a virtual folder - Change:
DiskStore:DeleteObjectwill no longer delete objects in a virtual directory - Change:
MemoryStore:DeleteObjectwill no longer delete objects in a virtual directory - Fix:
MemoryStore:ObjectExistsnormalizes the input path - New:
MemoryStore: Implement all missing API:OpenRange,OpenWrite,IsSeekable,GetObjectLength,CreateDirectory,DirectoryExists,DeleteDirectory,MoveDirectory,MoveObject
- Fix:
- FluentStorage.AWS
- New: Implement fast
DirectoryExistsvirtual directory check by using aListObjectsV2query withMaxKeysset - Fix: Fix access modifiers for
DigitalOceanSpacesStoragefactory API - Fix: All API now calls
StoragePath.Normalizeto support the unified path system - Change:
DeleteObjectwill no longer delete objects in a virtual directory
- New: Implement fast
- FluentStorage.Azure.Blobs
- New: Implement fast
DirectoryExistsvirtual directory check by using aGetBlobsAsyncquery
- New: Implement fast
- FluentStorage.Azure.Files
- Change:
DeleteObjectwill no longer delete objects in a virtual directory
- Change:
- FluentStorage.GCP
- New: Implement fast
DirectoryExistsvirtual directory check by using aExecuteAsyncquery withPageSizeset - Fix: All API now calls
StoragePath.Normalizeto support the unified path system - Fix:
OpenRangewill not throw when the object is missing (consistant with other API) - Change:
DeleteObjectwill no longer delete objects in a virtual directory
- New: Implement fast
- FluentStorage.FTP
- Fix: All API now calls
StoragePath.Normalizeto support the unified path system - Change:
DeleteObjectwill no longer delete objects in a virtual directory
- Fix: All API now calls
- FluentStorage.SFTP
- Fix:
DeleteDirectoryno longer normalizes paths multiple times
- Fix:
- FluentStorage.Alibaba
- New: Implement fast
DirectoryExistsvirtual directory check by using aListObjectsquery withMaxKeysset
- New: Implement fast
- FluentStorage.Minio
- New: Implement fast
DirectoryExistsvirtual directory check by using aListObjectsArgsquery - Fix:
OpenRead: Opening non-existant objects will no longer throw exceptions - Fix:
OpenRange: Opening non-existant objects will no longer throw exceptions - Fix:
OpenWritewill return null if the object already exists, instead of throwing exceptions - Fix: Consistantly catch object not found exceptions using
ObjectNotFoundException
- New: Implement fast
- FluentStorage.Mongo
- New: Implement fast
DirectoryExistsvirtual directory check by querying for a single file whose filename begins with the directory prefix - Fix:
OpenRead: Opening non-existant objects will no longer throw exceptions - Fix:
OpenRange: Opening non-existant objects will no longer throw exceptions - Fix:
OpenWritewill return null if the object already exists, instead of throwing exceptions - Fix: Credential connection uses
SCRAM-SHA-256by default
- New: Implement fast
- FluentStorage.Tests
- New: Add provider-specific config settings for Alibaba OSS, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Hetzner, Minio S3, Minio Native, Vultr, Wasabi, Mongo GridFS
- New: Add integration test suites for Alibaba OSS, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Hetzner, Minio S3, Minio Native, Vultr, Wasabi, Mongo GridFS
- New: Update
fluentstorage.yaml.templatewith new provider-specific settings
FluentStorage 8.0.9
- FluentStorage
- Fix:
UploadDirectoryis more efficient for filesystem-based storage providers
- Fix:
- FluentStorage.Tests
- Add support for loading test config from YAML file
fluentstorage.yaml - Add
fluentstorage.yaml.templatebased on required test config schema - Add tests for FTP and SFTP using new config system
- Add provider-specific assertions to ensure that required test config settings are filled
- Remove unused
LogMagicandConfig.Netpackages, and addYamlDotNet - Split
IStoreTestinto multiple partial classes and improve test codebase organization - New tests for directory upload, directory download, roundtrip
- Fix: Disable tests that are malfunctioning with FTP/SFTP
- Add support for loading test config from YAML file
- FluentStorage.FTP
- Fix: Any file uploads/writes will automatically create the directory structure as required
- Fix:
CreateDirectory: No error is thrown if the folder already exists - Fix:
SetBytesnow correctly uploads zero-byte file data
- FluentStorage.SFTP
- Fix: All API now uses Async API of
SftpClientrather than the old sync API - Fix:
DownloadObjectandUploadObjecthad invalid file existance checks - Fix:
DownloadObjectnow correctly downloads file data (fix stream disposing issue) - Fix:
SetBytesandUploadObjectwill automatically create the directory structure as required - Fix:
SetBytesnow correctly uploads zero-byte file data - Fix:
CreateDirectory: No error is thrown if the folder already exists - Fix:
GetObjectInfoandGetObjectsInfocorrectly computes SFTP remote paths - Fix:
MaxResultsandBrowseFilterfiltering is more efficient during directory listing - Fix:
ListDirectoryandListObjectswill return a blank list if nothing is found instead of throwing an error - Fix:
ListDirectoryandListObjectswill correctly enumerate files inside subdirectories
- Fix: All API now uses Async API of
- FluentStorage.Azure.Queues
- Remove all usage of Newtonsoft.Json
- Cleanup JSON conversion and move all static utilities into
FluentStorage.Azure.Queues.UtilsNS
FluentStorage 8.0.8
- FluentStorage
OpenSeekable: Return null if the stream cannot be created or the object length cannot be determined
FluentStorage 8.0.7
- FluentStorage
- Transfer: Add new APIs to
DownloadDirectoryandUploadDirectory, with default implementation for all stores - Paths: Added
StoragePath.GetRelativeDiskPathandStoragePath.GetRelativeCloudPathto compute relative paths
- Transfer: Add new APIs to
- FluentStorage.FTP
- Transfer: Special handling using native FluentFTP APIs for
DownloadDirectoryandUploadDirectory
- Transfer: Special handling using native FluentFTP APIs for
FluentStorage 8.0.6
- FluentStorage
- Paths: A new unified path system has been introduced across all providers!
- Paths:
StoragePath.Normalizehas been completely rewritten to enable the unified path system - Paths:
StoragePath.Combine,.Splitand.GetParentare completely rewritten for performance - Paths:
StoragePath.ComparePath,.RemoveRootFolder,.GetRootFolderand.Renamehave been removed - DiskStore:
GetObjectswill now return all objects in the main directory recursively by default - Move all sinks into
FluentStorage.SinksNS - Move
DelegatedStreamandNonCloseableStreamintoFluentStorage.Storage.SinksNS - Rename
SinkedBlobStoragetoSinkedStore - Remove
RandomGeneratorand move it into testing project
- FluentStorage.SFTP
- Paths: New SFTP path normalization system that works with updated
StoragePathnormalization
- Paths: New SFTP path normalization system that works with updated
- FluentStorage.GCP
- Paths: All APIs updated to use the new
StoragePathnormalization to support unified paths
- Paths: All APIs updated to use the new
- FluentStorage.Minio
- Paths: All APIs updated to use the new
StoragePathnormalization to support unified paths
- Paths: All APIs updated to use the new
- FluentStorage.Mongo
- Paths: All APIs updated to use the new
StoragePathnormalization to support unified paths
- Paths: All APIs updated to use the new
- FluentStorage.Alibaba
- Paths: All APIs updated to use the new
StoragePathnormalization to support unified paths
- Paths: All APIs updated to use the new
- FluentStorage.Tests
- Merge all tests into a single project, cleanly seperating unit and integration tests
- New tests for path normalization (
StoragePath.Normalize), path combination (StoragePath.Combine) and path splitting (StoragePath.Split) - New tests for
SeekableStreamused in seeking/streaming - New tests for
IStoreoperations and fixes made to local disk implementation
FluentStorage 8.0.5
- FluentStorage
- IStore: Implement new object versioning APIs, tagging APIs and storage tier APIs
- IStore: Change
IsFileSystem,IsSeekableto async to align with other feature check APIs - IStore: Add
IsVersioned,IsTaggedandIsTieredto check if providers support new features - Assertions: Remove
AssertFullPathand handle it inline in all APIs
- FluentStorage.AWS
- Add versioning APIs:
IsVersioned,ListObjectVersions,GetObjectVersion,RestoreObjectVersion,DeleteObjectVersion - Add tagging APIs:
IsTagged,GetObjectTags,SetObjectTags,DeleteObjectTags - Add storage tier APIs:
IsTiered,GetObjectTier,SetObjectTier
- Add versioning APIs:
- FluentStorage.Azure.Blob
- Add versioning APIs:
IsVersioned,ListObjectVersions,GetObjectVersion,RestoreObjectVersion,DeleteObjectVersion - Add tagging APIs:
IsTagged,GetObjectTags,SetObjectTags,DeleteObjectTags - Add storage tier APIs:
IsTiered,GetObjectTier,SetObjectTier
- Add versioning APIs:
- FluentStorage.GCP
- Rewrite path normalization to be simpler and not overly aggressive
- Add versioning APIs:
IsVersioned,ListObjectVersions,GetObjectVersion,RestoreObjectVersion,DeleteObjectVersion - Add tagging APIs:
IsTagged,GetObjectTags,SetObjectTags,DeleteObjectTags - Add storage tier APIs:
IsTiered,GetObjectTier,SetObjectTier
- FluentStorage.Alibaba
- Add tagging APIs:
IsTagged,GetObjectTags,SetObjectTags,DeleteObjectTags
- Add tagging APIs:
- FluentStorage.Minio
- Add tagging APIs:
IsTagged,GetObjectTags,SetObjectTags,DeleteObjectTags - Add storage tier APIs:
IsTiered,GetObjectTier,SetObjectTier
- Add tagging APIs:
FluentStorage 8.0.4
- FluentStorage
- Disk: Fix
ListObjectsand addGetServer&MoveObjectAPIs - Streams: Add
NonSeekableStreamto the core package - Rename core classes:
StoreObject,MemoryMessenger,DiskStore,MemoryStore - Move factory classes from
FluentStorage.AWS.Factory,FluentStorage.Alibaba.FactoryandFluentStorage.Minio.Factoryto root NS
- Disk: Fix
- FluentStorage.Mongo
- New: MongoDB GridFS storage provider using native MongoDB driver. Introduces the factory API
MongoGridStorageand store classMongoGridStore.
- New: MongoDB GridFS storage provider using native MongoDB driver. Introduces the factory API
FluentStorage 8.0.3
- Add APIs to all providers:
GetObjectLengthand integrate it with streaming/seeking implementation
FluentStorage 8.0.2
- Add streaming/seeking APIs to all providers:
OpenRange,OpenSeekable
FluentStorage 8.0.1
- Fix some issues with the original v8 release.
FluentStorage 8.0.0
- FluentStorage
- All cloud storage API methods have been redesigned to improve productivity and ease of use.
- All extension-method factory API has been removed: For example
StorageFactory.BlobsandStorageFactory.Messagesno longer exist. - Factory classes have been introduced on a per-provided basis.
- Factory classes can be accessed directly to construct new
IStoreobjects: For exampleAwsS3Storage.FromCredentialsrather thanStorageFactory.Blobs.AwsS3. - All API methods are
asyncand the "Async" suffix has been dropped. - All API methods have an optional
CancellationTokenrather than forcing users to provide one. - At initialization, S3-compatible stores will no longer create the bucket if the specified bucket does not exist.
WriteAsync()is renamed toSetObject()and will auto compute the object's MIME type (Content-Type) if it is not supplied.GetPresignedUrl()and its variations will auto compute the object's MIME type (Content-Type).CreateDirectory()will no longer create a "dummy file" in a cloud storage bucket.RenameAsync()is renamed toMoveObject()and will no longer perform a recursive copy and delete, instead it will efficiently move using native operations.ExistsAsync()is renamed toObjectExists()and will consistently return true/false if the file or folder exists on the bucket/server.DeleteAsync()is renamed toDeleteObject()and will consistently delete a single file or folder from the bucket/server.DeleteObjects()will consistently delete multiple files or folders from the bucket/server.GetClient()will consistently return the internal cloud SDK client for all types of cloud storage. (ReplacesNativeBlobClient)- Collections returned by APIs will always be
Listinstead ofIReadOnlyCollection. - Exceptions are moved into the
FluentStorage.Exceptionsnamespace - Enums are moved into the
FluentStorage.Enumsnamespace - Bucket stores now support streaming/seeking, presigned URL and more object manipulation API
- We no longer support Databricks, ServiceFabric, EventHub, Virtual storage and ZIP archives
- FluentStorage.AWS
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,MoveObject,DownloadObject,UploadObject,OpenRead,OpenWrite,GetUploadUrl,GetDownloadUrl,GetPresignedUrl,GetObjectSas,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.GCP
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetPresignedUrl,GetObjectSas,MoveObject,DeleteDirectory,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.Blobs
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,MoveObject,DownloadObject,UploadObject,OpenRead,OpenWrite,GetUploadUrl,GetDownloadUrl,GetPresignedUrl,GetObjectSas,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.Files
- Breaking changes to entire API surface to improve productivity and ease of use.
- New API:
GetClient,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Azure.ServiceBus
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.Azure.KeyVault
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.Azure.Queues
- Breaking changes to entire API surface to improve productivity and ease of use.
- FluentStorage.FTP
- Breaking changes to entire API surface to improve productivity and ease of use.
- FTP has new directory and server API for file systems
- New API:
GetServer,CreateDirectory,DeleteDirectory,DirectoryExists,MoveDirectory,GetFilePermissions,SetFilePermissions,MoveObject,DownloadObject,UploadObject,GetBytes,SetBytes,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.SFTP
- Breaking changes to entire API surface to improve productivity and ease of use.
- SFTP has new directory and server API for file systems
- New API:
GetServer,CreateDirectory,DeleteDirectory,DirectoryExists,MoveDirectory,GetFilePermissions,SetFilePermissions,MoveObject,DownloadObject,UploadObject,GetBytes,SetBytes,OpenRange,OpenSeekable,GetObjectLength.
- FluentStorage.Alibaba
- New: Alibaba OSS provider using native Aliyun SDK. Introduces the factory API
AlibabaStorageand store classAlibabaStore.
- New: Alibaba OSS provider using native Aliyun SDK. Introduces the factory API
- FluentStorage.Minio
- New: MinIO storage provider using native Minio SDK. Introduces the factory API
MinioStorageand store classMinioStore.
- New: MinIO storage provider using native Minio SDK. Introduces the factory API
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- System.Text.Json (>= 8.0.6)
- System.Threading.Thread (>= 4.3.0)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
.NETStandard 2.1
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- System.Text.Json (>= 8.0.6)
- System.Threading.Thread (>= 4.3.0)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net7.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net8.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
-
net9.0
- Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)
- TestableIO.System.IO.Abstractions.Wrappers (>= 22.0.15)
NuGet packages (36)
Showing the top 5 NuGet packages that depend on FluentStorage:
| Package | Downloads |
|---|---|
|
Elsa.Core
Elsa is a set of workflow libraries and tools that enable lean and mean workflowing capabilities in any .NET Core application. This package contains the core of Elsa. Tip: reference the `Elsa` package instead of this one. |
|
|
Elsa.Http
Provides HTTP activities to listen for and send out HTTP requests. |
|
|
FluentStorage.AWS
Extension to FluentStorage providing integration with AWS S3 blob storage. |
|
|
FluentStorage.Azure.Blobs
Extension to FluentStorage providing Azure blob storage. |
|
|
Elsa.WorkflowProviders.BlobStorage
Provides a workflow definition provider that loads workflow definitions from files. |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on FluentStorage:
| Repository | Stars |
|---|---|
|
elsa-workflows/elsa-core
The Workflow Engine for .NET
|
|
|
kurrent-io/KurrentDB
KurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its event-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves distributed messaging challenges and ensures data consistency.
|
|
|
bitfoundation/bitplatform
Build all of your apps using what you already know and love ❤️
|
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.16 | 11,421 | 7/23/2026 |
| 8.0.15 | 568 | 7/23/2026 |
| 8.0.14 | 466 | 7/23/2026 |
| 8.0.13 | 235 | 7/23/2026 |
| 8.0.12 | 334 | 7/22/2026 |
| 8.0.11 | 602 | 7/21/2026 |
| 8.0.10 | 9,711 | 7/20/2026 |
| 8.0.9 | 372 | 7/19/2026 |
| 8.0.8 | 1,503 | 7/18/2026 |
| 8.0.7 | 189 | 7/18/2026 |
| 8.0.6 | 1,425 | 7/17/2026 |
| 8.0.5 | 763 | 7/17/2026 |
| 8.0.4 | 1,920 | 7/16/2026 |
| 8.0.3 | 474 | 7/16/2026 |
| 8.0.2 | 524 | 7/16/2026 |
| 8.0.0 | 8,407 | 7/15/2026 |
| 7.1.1 | 6,261 | 7/6/2026 |
| 7.1.0 | 4,300 | 7/6/2026 |
| 7.0.0 | 416 | 7/6/2026 |
| 6.0.4 | 76,864 | 5/6/2026 |