FluentStorage 8.0.16
Prefix Reserveddotnet add package FluentStorage --version 8.0.16
NuGet\Install-Package FluentStorage -Version 8.0.16
<PackageReference Include="FluentStorage" Version="8.0.16" />
<PackageVersion Include="FluentStorage" Version="8.0.16" />
<PackageReference Include="FluentStorage" />
paket add FluentStorage --version 8.0.16
#r "nuget: FluentStorage, 8.0.16"
#:package FluentStorage@8.0.16
#addin nuget:?package=FluentStorage&version=8.0.16
#tool nuget:?package=FluentStorage&version=8.0.16
Please read the Migration Guide to help you migrate from older versions to FluentStorage 8!
FluentStorage 8.0.16
- FluentStorage
- New:
OverwriteByTimestampandOverwriteByChecksummodes to overwrite files based on timestamp or checksum - New:
UploadDirectorywill return a list of all the per-file progress reports at the end, and will record objects skipped due to rules - New:
DownloadDirectorywill return a list of all the per-file progress reports at the end, and will record objects skipped due to rules - New:
SkipReasoninside eachStorageProgressto indicate why the object was skipped - New:
SkipRuleinside eachStorageProgressto indicate which rule caused the object to be rejected - Change: Rename
StorageExistsModetoStorageExiststo reduce bloat - Fix:
UploadDirectoryandDownloadDirectorylogic that caused it not to overwrite files
- New:
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 theOverwriteIfChangedmode and only uploads files if the length/checksum mismatches - New:
DownloadDirectorysupports theOverwriteIfChangedmode and 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.SFTP
- New: Implement fast
GetObjectChecksumby using native SSH shell commands to remotely compute an object hash. - New: Implement a powerful engine built for Windows and Unix to detects which Shell utilities are available once, then quickly use this information to compute a server-side hash of the file without needing to download it
- New: Security engine to prevent path-injection and command-injection (based on security engine from FluentFTP)
- 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
| 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 (34)
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.Activities.BlobStorage
Elsa is a set of workflow libraries and tools that enable lean and mean workflowing capabilities in any .NET Core application. This package provides activities to read and write files to blob storage using FluentStorage that provides a generic interface for popular cloud storage providers like Amazon S3, Azure Service Bus, Azure Event Hub, Azure Storage, Azure Data Lake Store thus abstracting Blob and Messaging services. |
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 | 0 | 7/23/2026 |
| 8.0.15 | 0 | 7/23/2026 |
| 8.0.14 | 0 | 7/23/2026 |
| 8.0.13 | 0 | 7/23/2026 |
| 8.0.12 | 97 | 7/22/2026 |
| 8.0.11 | 186 | 7/21/2026 |
| 8.0.10 | 557 | 7/20/2026 |
| 8.0.9 | 245 | 7/19/2026 |
| 8.0.8 | 883 | 7/18/2026 |
| 8.0.7 | 131 | 7/18/2026 |
| 8.0.6 | 861 | 7/17/2026 |
| 8.0.5 | 479 | 7/17/2026 |
| 8.0.4 | 867 | 7/16/2026 |
| 8.0.3 | 311 | 7/16/2026 |
| 8.0.2 | 372 | 7/16/2026 |
| 8.0.0 | 1,800 | 7/15/2026 |
| 7.1.1 | 1,973 | 7/6/2026 |
| 7.1.0 | 1,392 | 7/6/2026 |
| 7.0.0 | 229 | 7/6/2026 |
| 6.0.4 | 52,483 | 5/6/2026 |