UnifiedFeed SDK - NetStandard 2.0

Versions:

2.1.0 (5/15/2024) recommended
Improved variant market handling when API call is not received or has some faulty data (i.e. missing outcome name)
Fix: custom configuration now respect Ssl setting to rewrite api_url if needed
Fix: directly build custom configuration from app.config settings
Fix: default debug level to Debug in example project

2.0.1 (11/20/2023)
Fix for user apps when they use RabbitMq.Client library v6.6.0

2.0.0 (10/24/2023)
For details about upgrading current versions of sdk (.NET Framework and .NET Standard 2.1) consult migration guide. Summary of changes:
TargetFramework changed from netstandard2.1 to netstandard2.0
Removed all default method implementations on interfaces
Removed obsolete property or methods:
- IOutcomeSettlement.Result
- IOddsFeedConfigurationSection.UseIntegrationEnvironment
- IRound.GroupName
- IRound.GetGroupName()
Root classes renamed
- IOddsFeed to IUofSdk
- Feed to UofSdk
- ReplayFeed to UofSdkForReplay
- IOddsFeedExt to IUofSdkExtended
- FeedExt to UofSdkExtended
- IOddsFeedConfigurationSection to IUofConfigurationSection
- OddsFeedConfigurationSection to UofConfigurationSection
- IOddsFeedConfiguration to IUofConfiguration
- Introduced IUofAdditionalConfiguration
- Removed OperationManager (properties moved to IUofConfiguration)
- IEnvironmentSelector removed SelectIntegration() and SelectProduction() use SelectEnvironment(SdkEnvironment ufEnvironment)
- Renamed Feed.CreateBuilder() to UofSdk.GetSessionBuilder()
- App.config section moved to Sportradar.OddsFeed.SDK.Api.Internal.Config.UofConfigurationSection
- UofConfigurationSection property supportedLanguages renamed to desiredLanguages
Renamed IRound.Name to Names
Renamed IRound.PhaseOrGroupLongName to PhaseOrGroupLongNames
Added support for IVenue.Courses (returns list of ICourse instead of list of IHole)
Added support for ICompetitor.Division (moved and replaced from ITeamCompetitor)
Extended IJersey with SquareColor and HorizontalStripesColor
IProducerManager method Get() renamed to GetProducer()
Renamed suffix DTO to Dto (internal)
Removed CI suffix in Exportable classes (internal)
Renamed suffix CI to CacheItem (internal)
Enum values in MessageType changed to CamelCase
Enum values in ExceptionHandlingStrategy changed to CamelCase
Enum values in CashoutStatus changed to CamelCase
Enum values in FixtureChangeType changed to CamelCase
Enum values in MarketStatus changed to CamelCase
Enum values in OddsChangeReason changed to CamelCase
Enum values in PropertyUsage changed to CamelCase
Enum values in ResourceTypeGroup changed to CamelCase
Dependent library changes:
- Removed Newtonsoft.Json
- Humanizer 2.8.26 -> 2.14.1
- RabbitMQ.Client 5.1.2 -> 6.5.0
- Microsoft.Extensions.Logging.Abstractions 3.1.0 -> 7.0.0
- System.Configuration.ConfigurationManager 4.7.0 -> 7.0.0 Should be changed with Microsoft.Extensions.Configuration 7.0.0,
- Removed System.Runtime.Caching 4.7.0 replaced with Microsoft.Extensions.Caching.Memory
- App.Metrics replaced with OpenTelemetry 1.6.0
- Unity replaced with Microsoft.Extensions.DependencyInjection 7.0.0
- Introduced Microsoft.Extensions.Diagnostics.HealthChecks 7.0.11
- Introduced Microsoft.Extensions.Http 7.0.0
- Removed Castle.Core
Tests projects upgraded to NET 6.0
Tests projects depended libraries upgraded to latest versions
Inconsistent naming
- IOddsFeedConfigurationSection.UseSSL -> UseSsl
- IOddsFeedConfigurationSection.UseApiSSL -> UseApiSsl
- ReplayPlayerStatus.Setting_up SettingUp
- IFixture.StartTimeTBD -> StartTimeTbd
- ExportableFixture.StartTimeTBD -> StartTimeTbd
- EventStatus.Not_Started -> NotStarted
- FeedMessage.EventURN -> EventUrn
- URN -> Urn
Changed namespace
- API namespace renamed to Api
- REST namespace renamed to Rest
- replay interfaces to Api.Replay
- feed managers to Api.Managers
- feed providers to Api.Managers
- enum types moved to Common.Enums
- IOddsFeedConfigurationSection moved to Api.Internal.Config
- configuration interfaces moved to Api.Config
- MessageInterest class moved to Api.Config