OwlCore.Nomad.Kubo 0.14.0

dotnet add package OwlCore.Nomad.Kubo --version 0.14.0                
NuGet\Install-Package OwlCore.Nomad.Kubo -Version 0.14.0                
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.Nomad.Kubo" Version="0.14.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OwlCore.Nomad.Kubo --version 0.14.0                
#r "nuget: OwlCore.Nomad.Kubo, 0.14.0"                
#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.Nomad.Kubo as a Cake Addin
#addin nuget:?package=OwlCore.Nomad.Kubo&version=0.14.0

// Install OwlCore.Nomad.Kubo as a Cake Tool
#tool nuget:?package=OwlCore.Nomad.Kubo&version=0.14.0                

Shared tooling for building Nomad-enabled applications on ipfs

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 (1)

Showing the top 1 NuGet packages that depend on OwlCore.Nomad.Kubo:

Package Downloads
OwlCore.Nomad.Storage.Kubo

A storage implementation powered by Nomad event sourcing on ipfs/Kubo.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.14.0 47 11/21/2024
0.13.0 100 10/19/2024
0.12.1 160 9/14/2024
0.12.0 154 8/27/2024
0.11.0 160 8/23/2024
0.10.0 150 8/23/2024
0.9.0 172 8/23/2024
0.8.0 265 8/12/2024
0.7.1 109 8/3/2024
0.7.0 76 8/3/2024
0.6.1 59 8/3/2024
0.6.0 71 8/3/2024
0.5.0 99 8/3/2024
0.4.2 57 8/3/2024
0.4.1 105 7/23/2024
0.2.1 104 7/22/2024
0.2.0 151 7/17/2024
0.1.0 149 7/1/2024
0.0.0 141 6/1/2024

--- 0.14.0 ---
[Breaking]
Inherited breaking changes from OwlCore.Nomad 0.9.0.
Removed all reference and usage of ListeningEventStreamHandlers, notably in constructors. This is no longer needed as root-level event stream handlers can now be managed by a repository.
The AllEventStreamEntries is no longer stored on the handlers themselves by default, but are included as optional on a NomadKuboEventStreamHandlerConfig{TRoaming} and can still be used by implementations that need it.

[New]
Added static NomadKeyHelpers with method RoamingIdToNomadKeysAsync. This method takes an optional RoamingId and returns a tuple of the local and roaming keys along with the resolved roaming id (if not provided).
Added NomadKuboEventStreamHandlerConfig{TRoaming} to be used for configuring repositories to construct modifiable or read-only event stream handlers.
Added IReadOnlyNomadKuboRegistry{TReadOnly} and IModifiableNomadKuboRegistry{TReadOnly}.
Added INomadKuboRepository{TModifiable, TReadOnly}, used to manage the lifecycle of items in a repository.
Added INomadKuboRepository{TModifiable, TReadOnly, TCreateParam}. Similar to INomadKuboRepository{TModifiable, TReadOnly}, but has a parameter for creating new items.
Added NomadKuboRepository{TModifiable, TReadOnly, TRoaming, TEventEntryContent}, an inbox class that be used get or create root-level modifiable or read-only event stream handlers based on the available data.
Added NomadKuboEventStreamHandlerExtensions.PublishLocalAsync to complement the existing PublishRoamingAsync method.

[Fixed]
NomadKuboEventStreamHandlerExtensions.ResolveEventStreamEntriesAsync no longer auto-includes the local key for resolution if missing. Fixes errors when the local key hasn't been published yet.

--- 0.13.0 ---
[New]
Ported a generic NomadKeyGen version of the StorageKeyGenerator from OwlCore.Nomad.Storage.Kubo. This contains helpers for creating initial local and roaming Nomad IPNS keys in Kubo.  

--- 0.12.1 ---
[Fixes]
Inherited fixes from OwlCore.ComponentModel 0.9.1.
Inherited fixes and improvements from OwlCore.Kubo 0.19.0 and transient dependencies.

--- 0.12.0 ---
[Breaking]
KeyExchange.PairWithEncryptedPubSubAsync now takes a delegate GetOrCreateLocalKeyFromRoamingAsync(IKey roamingKey, CancellationToken cancellationToken) instead of directly taking the local key. When an event stream is created, the roaming key must be set as the TargetId in the local key. Since the roaming key is imported during the pairing process, the local event stream must be created or updated with the imported key's id set as the EventStream{T}.TargetId. This delegate allows that to happen prior to local exchange.    

[New]
Added delegate GetOrCreateLocalKeyFromRoamingAsync.

--- 0.11.0 ---
[New]
Added KeyExchange.PairWithEncryptedPubSubAsync, simplifying the pairing process into a one-line helper.

--- 0.10.0 ---
[Breaking]
NomadKuboEventStreamHandlerExtensions.AppendNewEntryAsync was renamed to AppendEventStreamEntryAsync, now takes updateEventContentCid directly instead of serializing data to the Dag.
NomadKuboEventStreamHandlerExtensions.AppendEventStreamEntryAsync no longer publishes data to ipns. Instead, it simply wraps in an EventStreamEntry, appends it to the handler, and returns the appended EventStreamEntry.
NomadKuboEventStreamHandlerExtensions.AppendEventStreamEntryAsync now properly adds to handler.LocalEventStream.Entries and handler.AllEventStreamEntries.

--- 0.9.0 ---
[Breaking]
Inherited and implemented breaking changes from OwlCore.Nomad 0.8.0.
IModifiableNomadKuboEventStreamHandler IReadOnlyNomadKuboEventStreamHandler were combined into a single INomadKuboEventStreamHandler, like for their implementations. In Nomad, an event stream handler is only needed if you can modify the data, otherwise you'd simply resolve and parse the published roaming data.
NomadKuboEventStreamHandlerExtensions now uses IKuboOptions instead of KuboOptions anywhere it was used.
Implementations of INomadKuboEventStreamHandler now require supplying the RoamingKey and LocalEventStreamKey as IKey instead of the using the name. These keys must be present and instantiated before using the event stream.
ExchangeLocalSourceAsync now takes an IKey instead of the key name. Added code comments.

--- 0.8.0 ---
[Breaking]
Inherited and implemented breaking changes from OwlCore.Nomad 0.7.0.
Removed NomadKuboEventStreamHandlerExtensions.AdvanceSharedEventStreamAsync.
Removed allowMismatchedEventStreamTargetId parameter from extension methods for ResolveEventStreamEntriesAsync, AdvanceSharedEventStreamAsync and AdvanceEventStreamToAtLeastAsync. As of OwlCore.Nomad 0.7.0, IHasId has been replaced with a more specific IEventStreamHandler.EventStreamId.
NomadKuboEventStreamHandlerExtensions.ResolveEventStreamEntriesAsync no longer skips mismatched EventStreamEntry.TargetId and IEventStreamHandler.Id.
NomadKuboEventStreamHandlerExtensions.ResolveEventStreamEntriesAsync will always skip a mismatched EventStream.TargetId / IEventStreamHandler.EventStreamId.

--- 0.7.1 ---
[Fixed]
Fixed an issue where allowMismatchedEventStreamTargetId was flipped internally.

--- 0.7.0 ---
[Breaking]
Added allowMismatchedEventStreamTargetId to extension methods for ResolveEventStreamEntriesAsync, AdvanceSharedEventStreamAsync and AdvanceEventStreamToAtLeastAsync.

--- 0.6.1 ---
[Improvements]
NomadKuboEventStreamHandlerExtensions.AppendNewEntryAsync now returns Task{EventStreamEntry{Cid}} instead of Task.

--- 0.6.0 ---
[Breaking]
Inherited and implemented breaking changes from OwlCore.Nomad 0.6.0.

--- 0.5.0 ---
[Breaking]
Removed LocalEventStreamKeyName from ReadOnlyNomadKuboEventStreamHandler.

--- 0.4.2 ---
[Improvements]
Bumped OwlCore.Nomad to 0.5.1, which bumps OwlCore.ComponentModel to 0.8.2.

--- 0.4.1 ---
[Fixes]
Fixed an issue with KeyExchange.ExchangeRoamingKeyAsync where isReceiver was not used properly.

--- 0.4.0 ---
[New]
Ported KeyExchange.ExchangeRoamingKeyAsync and KeyExchange.ExchangeLocalKeyAsync from prototype. Uses KeyExchange helpers added in 0.3.0.

--- 0.3.0 ---
[New]
Added KeyExchange helpers for exchanging local and roaming Nomad ipns keys over pubsub.

--- 0.2.1 ---
[Improvements]
Add guards and checks around resolving event entries.
Avoid yielding SourceAddEvent and SourceRemoveEvent to consuming application.
Add logging, fix potential SourceAddEvent and SourceRemoveEvent issues.

[Fixes]
Fixed double queuing for discovered SourceAddEvents.

--- 0.2.0 ---
[Breaking]
Migrated to OwlCore.Nomad 0.5.0, inherited breaking changes.
Removed empty NomadEventStream in favor of EventStream{Cid}, as no additional fields are needed here.
Removed empty NomadEventStreamEntry in favor of EventStreamEntry{Cid}, as no additional fields are needed here.
Fixed NomadKuboEventStreamHandlerExtensions.GetSourcesFromRoamingKeyAsync not deserializing sources, now takes a generic param.

[Improvements]
Made ReadOnlyNomadKuboEventStreamHandler.Sources virtual.
Made ReadOnlyNomadKuboEventStreamHandler.TryAdvanceEventStreamAsync virtual.

[New]
Added inbox SourceAddEvent, SourceRemoveEvent and abstract EventEntryContent records.
Added NomadKuboEventStreamHandlerExtensions.ResolveEventStreamEntriesAsync. Re-implemented from OwlCore.Nomad to also handle recursively resolving entries from SourceAdd and SourceRemove events.
Added NomadKuboEventStreamHandlerExtensions.AdvanceSharedEventStreamAsync. Ported as-is from OwlCore.Nomad, but with Kubo types.
Added NomadKuboEventStreamHandlerExtensions.AdvanceEventStreamToAtLeastAsync. Ported as-is from OwlCore.Nomad, but with Kubo types.

--- 0.1.0 ---
[Breaking]
Migrated to OwlCore.Nomad 0.4.0, inherited breaking changes.

[New]
Added new NomadKuboEventStreamHandlerExtensions.ResolveContentPointerAsync extension method, a shorthand for resolving a Nomad TContentPointer using Kubo.
Added new NomadKuboEventStreamHandlerExtensions.GetSourcesFromRoamingKeyAsync extension method. Nomad source ipns keys should be published in the root of the final 'roaming' state, and this method extracts them again for use.
     
--- 0.0.0 ---
[New]
Initial release of OwlCore.Nomad.Kubo.