OwlCore.Storage 0.5.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package OwlCore.Storage --version 0.5.2                
NuGet\Install-Package OwlCore.Storage -Version 0.5.2                
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="OwlCore.Storage" Version="0.5.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OwlCore.Storage --version 0.5.2                
#r "nuget: OwlCore.Storage, 0.5.2"                
#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.
// Install OwlCore.Storage as a Cake Addin
#addin nuget:?package=OwlCore.Storage&version=0.5.2

// Install OwlCore.Storage as a Cake Tool
#tool nuget:?package=OwlCore.Storage&version=0.5.2                

Coordinated, high-latency IPoAC == A bad hard drive comprised entirely of Owls (see rfc6214)

This package enables early adoption of CommunityToolkit.Storage, a proposed package in Toolkit Labs, eventually to end up in CommunityToolkit/dotnet on GitHub.

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

NuGet packages (11)

Showing the top 5 NuGet packages that depend on OwlCore.Storage:

Package Downloads
OwlCore

Have you ever seen an owl do a barrel roll? Me neither. Essential supplemental tooling for .NET development.

OwlCore.Kubo

An essential toolkit for Kubo, IPFS and the distributed web.

CoptLib

A .NET Standard 2.0 library made to handle scenarios involving documents with interdependencies and multilingual content.

OwlCore.Storage.CommonTests

Package Description

OwlCore.Storage.SharpCompress

Provides a generic archive implementation via SharpCompress for the OwlCore.Storage APIs. Verified support for `.7z`, `.tar`, and `.zip` archives created by 7Zip and `.zip` archives by Windows File Explorer. Reading and writing GZip archives is partially supported with the same limitations as SharpCompress.

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on OwlCore.Storage:

Repository Stars
yoshiask/FluentStore
A unifying frontend for Windows app stores and package managers
securefolderfs-community/SecureFolderFS
Powerful, secure, modern way to keep your files protected.
Arlodotexe/strix-music
Combine any music sources into a single library. It's your music. Play it your way.
Version Downloads Last updated
0.12.0 711 9/7/2024
0.11.3 1,409 6/24/2024
0.11.2 107 6/20/2024
0.11.1 329 5/18/2024
0.11.0 667 4/3/2024
0.10.1 102 4/3/2024
0.10.0 733 3/18/2024
0.9.3 2,298 1/5/2024
0.9.2 830 11/15/2023
0.9.1 160 11/15/2023
0.9.0 256 11/14/2023
0.8.7 1,490 8/16/2023
0.8.6 721 7/10/2023
0.8.5 1,222 5/13/2023
0.8.4 243 5/7/2023
0.8.3 591 2/23/2023
0.8.2 1,932 2/22/2023
0.8.1 238 2/22/2023
0.8.0 683 2/22/2023
0.7.1 553 2/7/2023
0.7.0 450 2/1/2023
0.6.1 276 1/31/2023
0.6.0 278 1/31/2023
0.5.3 520 1/13/2023
0.5.2 661 12/25/2022
0.5.1 808 11/9/2022
0.5.0 10,055 9/6/2022
0.4.0 1,003 9/6/2022
0.3.2 390 9/5/2022
0.3.1 993 9/5/2022
0.3.0 381 9/2/2022
0.2.0 1,303 8/31/2022
0.1.0 378 8/30/2022
0.0.0 384 8/30/2022

--- 0.5.2 ---
[Fixes]
Fixed several bugs in MemoryFolder and SystemFolder regarding overwrite behavior.

[Improvements]
Updated downstream NuGet packages
Wrote basic CommonTests for IModifiableFolder

--- 0.5.1 ---
[Fixes]
Fixed an issue in MemoryFolder and SystemFolder where calling CreateFileAsync and CreateFolderAsync with overwrite set to false wouldn't return an existing storable.

--- 0.5.0 ---
THIS IS A BREAKING RELEASE
Update asap, and do not use older versions.

[Breaking]
Items in a folder always have a parent, so they're always addressable. We've updated the interfaces and inbox implementations to reflect this.

IFolder.GetItemsAsync() now returns IAddressableStorable instead of IStorable.
IModifiableFolder.CreateCopyOfAsync now returns IAddressableFile instead of IFile.
IModifiableFolder.MoveFromAsync now returns IAddressableFile instead of IFile.
IModifiableFolder.MoveFromAsync now takes IAddressableFile instead of IFile as the first parameter.
IModifiableFolder.CreateFileAsync now returns IAddressableFile instead of IFile.
IModifiableFolder.CreateFolderAsync now returns IAddressableFolder instead of IFolder.
IModifiableFolder.DeleteAsync now takes IAddressableStorable instead of IStorable as the first parameter.

--- 0.4.0 ---
THIS IS A BREAKING RELEASE
Update asap, and do not use older versions.

[Breaking]
IAddressableStorable.GetParentAsync() now returns IFolder? instead of IAddressableFolder?. Any type of folder could yield an IAddressableStorable, so we've made sure the parent of any IAddressableStorable can be any type of folder.

To migrate, simply change the return type of IAddressableStorable.GetParentAsync() to IFolder? in your implementations. No other changes are required.

--- 0.3.2 ---
[Fixes]
Fixed SystemFolder not extracting the folder name from the path correctly.
Fixed SystemFile.OpenStreamAsync failing when call on a file returned from System.CreateFileAsync
Fixed an issue with SystemFileWatcher where it couldn't reliably determine if an arbitrary path is a File or a Folder.

--- 0.3.1 ---
[Fixes]
Fixed a crash that may occur when calling SystemFolder.CreateCopyOfAsync, when the stream of the file being copied doesn't support seeking.

--- 0.3.0 ---
[New]
Added MemoryFile and MemoryFolder under OwlCore.Storage.Memory.

--- 0.2.0 ---
THIS IS A BREAKING RELEASE.
Update asap, and do not use older versions.
We will switch to pure semver2.0 once a stable 1.0.0 released is made.

[Breaking]
Due to the wildly different strategies that could be used for generic recursive folder moving/copying, IModifiableFolder.CreateCopyOfAsync and IModifiableFolder.MoveFromAsync now exclusively handle files. This may be added back later as a fast-path interface + extension method.

A new property has been added to the IFolderWatcher interface. Supplying the folder which is being observed is now a requirement. The "sender" in the INotifyCollectionChanged handler should be the watcher instead of the folder, meaning the folder can't be accessed from event handlers unless the watcher supplies it.

[New]
OwlCore.Storage.SimpleStorableItem has been added, a minimum possible implementation of IStorable. This is useful in scenarios when you need to identify a resource but shouldn't supply any access to it, such as when a file or folder is removed.

We've started adding inbox interface implementations, starting with System.IO, under the namespace OwlCore.Storage.SystemIO.

--- 0.1.0 ---
[New]
Added all missing interfaces and extension methods from proposal.
     
--- 0.0.0 ---
[New]
Initial release of OwlCore.Storage.