MicroElements.Metadata.Experimental 8.0.0-beta.3

Prefix Reserved
This is a prerelease version of MicroElements.Metadata.Experimental.
dotnet add package MicroElements.Metadata.Experimental --version 8.0.0-beta.3                
NuGet\Install-Package MicroElements.Metadata.Experimental -Version 8.0.0-beta.3                
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="MicroElements.Metadata.Experimental" Version="8.0.0-beta.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MicroElements.Metadata.Experimental --version 8.0.0-beta.3                
#r "nuget: MicroElements.Metadata.Experimental, 8.0.0-beta.3"                
#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 MicroElements.Metadata.Experimental as a Cake Addin
#addin nuget:?package=MicroElements.Metadata.Experimental&version=8.0.0-beta.3&prerelease

// Install MicroElements.Metadata.Experimental as a Cake Tool
#tool nuget:?package=MicroElements.Metadata.Experimental&version=8.0.0-beta.3&prerelease                

Metadata model, parsing, validation and reporting.

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

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0-beta.3 58 12/13/2024
8.0.0-beta.2 38 12/13/2024

$# 8.0.0-beta.2
- switched all projects to dotnet 8, netstandard removed
- removed reflection based dDI configuration
- removed obsolete MicroElements.Functional dependency

# 8.0.0-beta.1
- MicroElements.Functional dependency removed
- MicroElements.Diagnostics extracted
- ISchema<T>, IProperty<T>, IPropertyValue<T>, IPropertyCalculator<T> become covariant
- OneOf initial support
- Base58 hash for SchemaDigest
- Added `copyMetadata` to `WithComponent`

Metadata.Parsing:
- IParserRuleProvider: search methods added, search implementation moved to ParserRuleProvider
- Added CachedParserRuleProvider
- XmlParserContext: ParserCache changed to ParserRuleProvider (cached)
- CollectionParser supports recursing with IParserRuleProvider

Metadata.NewtonsoftJson:
- WriteSchemaToPropertyName removed from MetadataJsonSerializationOptions
- PropertyContainerWithMetadataTypesConverter removed

# 7.15.0
- Change: `IComposite.Components` renamed to `GetComponents`. Added extension `GetComponents`, `GetComponentsAndMetadata`
- Change: `BuildAs` for `IComposite` - removed new constraint. It can use default constructor or constructor with all optional parameters
- Added: `IStaticComponentProvider`, `IStaticMetadataProvider` that bound components and metadata to `Type` and can be accessed without type instantiation
- `GetFriendlyName` method replaced with ME.Reflection.Sources implementation

# 7.14.0
- Added ICloneable<T> with default implementation
- Added: IComposite, ICompositeBuilder, IConfigurableBuilder
- Added: FormatterBuilder that can create non static recursive formatters
- Change: CollectionFormatter can use optional configuration
- Change: CollectionFormatter can be configured with Configure
- Change: KeyValuePairFormatter, ValueTuplePairFormatter can use optional format string

# 7.13.0
- SchemaBuilder functionality allows to use varios WithXXX methods in generic way
- MessageBuilder used for reducing memory allocations

- IPropertyValue.ValueUntyped should return 'null' if Source is NotDefined
- NotDefined fix for DynamicContainer, Json serialization

- Added 'defaultValue' param to 'PropertyContainer.GetValue' and 'MutablePropertyContainer.GetValue' to have the same signature as common 'GetValue'
- Added 'allowMapUndefined' param to PropertyExtensions.Map
- Added: SetValueIfNotDefault, WithValueIfNotDefault for IMutablePropertyContainer
- Change: Property.WithDefaultValue methods replaced with SchemaBuilder methods

- BREAKING CHANGE: Property<T>.DefaultValue become optional. Default value for property should be defined explicitly.

- Added: IExamples component. Property<T> uses IExamples.
- Change: IDefaultValue become covariant

- Change: 'IStaticSchema' now implements 'IStaticPropertySet'
- Change: ISchema become covariant


Full release notes can be found at: https://github.com/micro-elements/MicroElements.Metadata/blob/master/CHANGELOG.md