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 (35)
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 | 7,292 | 7/23/2026 |
| 8.0.15 | 435 | 7/23/2026 |
| 8.0.14 | 441 | 7/23/2026 |
| 8.0.13 | 229 | 7/23/2026 |
| 8.0.12 | 296 | 7/22/2026 |
| 8.0.11 | 590 | 7/21/2026 |
| 8.0.10 | 7,400 | 7/20/2026 |
| 8.0.9 | 352 | 7/19/2026 |
| 8.0.8 | 1,482 | 7/18/2026 |
| 8.0.7 | 183 | 7/18/2026 |
| 8.0.6 | 1,410 | 7/17/2026 |
| 8.0.5 | 756 | 7/17/2026 |
| 8.0.4 | 1,904 | 7/16/2026 |
| 8.0.3 | 468 | 7/16/2026 |
| 8.0.2 | 517 | 7/16/2026 |
| 8.0.0 | 6,745 | 7/15/2026 |
| 7.1.1 | 5,296 | 7/6/2026 |
| 7.1.0 | 3,831 | 7/6/2026 |
| 7.0.0 | 372 | 7/6/2026 |
| 6.0.4 | 70,119 | 5/6/2026 |