11:00:00 PMAdded property GroupId to the Round interface - IRound extended with IRoundV1 Improved handling of SportEventStatus updates Improved name fetching for competitors Fix: fixed legacy market mappings Fix: incorrect message validation1.18.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=141http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1414/8/2019 11:00:00 PMAdded GetDisplayIdAsync to the IDrawV1 Added support for non-cached fixture endpoint Improved fetching logic for the summary endpoint Made IAlive interface internal Fix: handling pre:outcometext and simpleteam ids in cache Fix: IMarket.GetNameAsync - removed concurrency issue Fix: added missing ConfigureAwait(false) to async functions1.17.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=137http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1373/12/2019 11:00:00 PMAdded property Grid to the EventResult interface - IEventResult extended with IEventResultV1 Added property AamsId to the Reference - IReference extended with IReferenceV1 ICompetitionStatus.Status deprecated Instead added GetEventStatusAsync to ICompetition - extended with ICompetitionV1 IMatch extended with IMatchV1, IStage extended with IStageV1 Added Pitchers to the ISportEventConditionsV1 interface Added enum option EventStatus.MatchAboutToStart Added support for simpleteam competitors and related API calls Take recovery max window length for each producer from api (all producers) Added runParallel argument on StartReplay method on ReplayManager Improved speed of data distribution among caches (data received from api) Fix: IMarket names dictionary changed to ConcurrentDictionary Fix: how PeriodScore data is saved and exposed Fix: if the venue data is obtained from date schedule is cached so no summary request is needed1.16.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=134http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1342/14/2019 11:00:00 PMExposed Timestamps on IMessage Added RecoveryInfo (info about last recovery) to the Producer - extended with IProducerV1 Added support for replay feed to the Feed instance Cache distribution goes only to caches that process specific dto type Added SDK examples based on replay server Fix: Sport.Categories now returns all categories, delayed fetching until needed Fix: fixed legacy market mappings (mapping to Lo or Lcco market mapping) Fix: calling GetSportAsync from multiple threads Fix: Competitor returning null values for AssociatedPlayers1.15.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=127http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1271/7/2019 11:00:00 PMICoveredInfo extended with ICoveredInfoV1 - exposed CoveredFrom property Added GetOutcomeType method to IMarketDefinition (to replace GetIncludesOutcomesOfType) Competitor qualifier is loaded with summary (before fixture) Fix: ICompetitor.References - fixture is fetched only if competitor references are explicitly requested by user Fix: avoiding fetching fixture for BookingStatus when received via schedule Fix: improved locking mechanism in SportEventStatusCache to avoid possible deadlock Fix: added check before fetching summary for competitors when already prefetched Other minor fixes and improvements1.14.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=125http://sdk.sportradar.com:80/unifiedfeed/net/file?v=12512/18/2018 11:00:00 PMIOddsChange extended with IOddsChangeV1 - added OddsGenerationProperties Replay session using any token returns production replay summary endpoint Added support for custom api hosts (recovery for producers uses custom urls) Improved locking mechanism when merging data in cache items Added support for custom api hosts (recovery for producers uses custom urls) Added Season start time and end time to exposed dates Renamed Staging to Integration environment Updated examples Fix: filling referenceIds Fix: SportEventCache fix for requester merge (TournamentInfoCI cast problem) Fix: updated BetSettlementCertainty enum values to better reflect values received in feed message1.13.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=121http://sdk.sportradar.com:80/unifiedfeed/net/file?v=12111/16/2018 11:00:00 PMExtended IOddFeed with IOddsFeedV1 - new property BookmakerDetails available on OddsFeed Improved handling of competitor reference id(s) Removed purging of sportEventStatus from cache on betSettlement message Fix: minimized rest api calls - removed calls for eng, when not needed (requires language to be set in configuration) Fix: when sdk returned field null value although it is present; also avoids repeated api request1.12.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=116http://sdk.sportradar.com:80/unifiedfeed/net/file?v=11610/17/2018 11:00:00 PMExtended ITimelineEvent with ITimelineEventV1 - added MatchClock and MatchStatusCode properties Extended IMatchStatus with IMatchStatusV1 - added HomePenaltyScore and AwayPenaltyScore (used in Ice Hockey) Added more logs in ProducerRecoveryManager when status changes Added more explanation in log message when wrong timestamp is set in AddTimestampBeforeDisconnect method Added warn message for negative nodeId (negative id is reserved for internal use only) Removed logging of response headers in LogProxy class on debug level Fix: calling the summary with nodeId if specified (on replay server) - sport event status changes during replay of the match Fix: Improvement of fetching and caching of SportEventStatus when called directly Fix: schedule on CurrentSeasonInfo was not filled with data from API1.11.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=113http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1139/18/2018 11:00:00 PMAdded new event status: EventStatus.Interrupted Market / outcome name construction from competitor abbreviations (if missing) Improved logging in DataRouterManager Improved recovery procedure (to avoid The recovery operation is already running exception) Fix: exception during fetching event fixture or summary is exposed to user (for ExceptionHandlingStrategy.THROW setting) Fix: error when associated players method returning null Fix: MarketMapping for variant markets returns correctly Fix: remove sportEvent from cache on betStop and betSettlement message (to purge its sportEventStatus) 11:00:00 PMAdded support for outcome odds in different formats Introduced IOutcomeOddsV1 extending IOutcomeOdds with method GetOdds(OddsDisplayType) ReplayServer example updated with PlayScenario Increased RabbitMQ.Client library to 3.6.9 Fix: repaired Schedule and ScheduleEnd times for simple_tournament events Fix: ISeason.TournamentInfo.Names contains all fetched values (before only first) 11:00:00 PMExposed property TeamFlag and HomeOrAwayTeam on IPlayerOutcomeOdds Added support for Virtual Sports In-play message type Added Pitcher info on SportEventConditions Update: removing draw events from cache on DrawStatus change Update: variant markets expiration time set to 1h Update: added logging for sync fetcher Fix: internally updating competitors when competitors changes on sportEvent Fix: generation of sportEvent name with $event name template Fix: DataRouterManager - updated logs when fetching tournament seasons Fix: generating mapped outcomes with $score sov which dont have attribute is_flex_score Fix: thread safety issue in ProductRecoveryManager class Fix: statistics properties loaded from config section when needed; added CacheManager statistics Fix: NameProvider.GetOutcomeNameFromProfileAsync returns result for ILongTermEvent without competitors1.8.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=105http://sdk.sportradar.com:80/unifiedfeed/net/file?v=1056/11/2018 11:00:00 PMAdded property RotationNumber to ReferenceIds Mapped outcomes supports translatable name Added support for multiple market and outcome mappings Added mapped marketId to the IOutcomeMapping Outcome mappings for flex_score_markets take into account the score specifiers Removed checks for requestId on feed messages Exposed ScheduledStartTimeChanges on IFixture Ensured fixture change messages are dispatched only once Improved generation of outcome names for sr:players Improved handling of caching for simpleteam competitor and betradarId for simpleteams In SportEventStatus in the Properties only int values are saved for Status and MatchStatus properties Updating cached sport event booking status when user books event Fix: Child stage links to parent stage or parent tournament Fix: loading of EventResult Fix: SportEventCache cannot fetch multiple times for the same date Fix: ICompetition.GetConditionsAsync did not load for all cultures Fix: saving-caching special tournament data Fix: Venue on competition1.7.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=99http://sdk.sportradar.com:80/unifiedfeed/net/file?v=994/26/2018 11:00:00 PMAdded CountryCode property to IVenue Added AdjustAfterAge property to Section and ConfigurationBuilders Added local time check against bookmaker details response header Added PhaseOrGroupLongName property to IRound WNS endpoints are called only if WNS available Improved handling of sport event status obtained from feed or API All recovery methods takes into account the specified nodeId Fix: missing market description or outcome no longer throws exception Fix: loading of tournament data for season events Fix: print of SportEventConditions Fix: FixtureDTO mapping for ReplacedBy property Internal: added exception handling strategy to DataRouterManager Other minor fixes and improvements1.6.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=97http://sdk.sportradar.com:80/unifiedfeed/net/file?v=974/3/2018 11:00:00 PMNew configuration builders Added support for replaying of events messages generated by a specific producer Removed restrictions on speed and maxDelay in ReplayManager Exposed RawMessage on a IEventMessage{T} (returns byte array received from feed) Removed asynchronous call within Feed ctor Added 'Postponed' value to enum EventStatus IEventResult properties Points, Climber and Sprint marked obsolete Introduced new decimal properties to IEventResult: PointsDecimal, WcPoints, ClimberDecimal and SprintDecimal Added properties ReplacedBy, NextLiveTime and StartTimeTBD to IFixture Fix: exception when season has no groups Fix: getting TournamentInfo on Season instance Fix: displaying correct CurrentSeasonInfo on ISeason Fix: loading competitors for stage events, loading category for stage events Fix: loading draw events for lottery; Fix: loading draw fixture Internal: improved how recovery is made Internal: improvements in caches to avoid exceptions, locks, ... Other minor fixes and improvements1.5.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=90http://sdk.sportradar.com:80/unifiedfeed/net/file?v=903/1/2018 11:00:00 PMExposed VoidReason on BetCancel, BetSettlement, ... (introduced IMarketCancel interface) Added property Timestamp to all feed messages (time when message was generated) Updated IPeriodScore to reflect new rest and feed periodScoreType Added GetMatchStatusAsync on IPeriodScore and IEventResult (it returns the same value as on IMatchStatus) Updated some types of properties on IEventResult to correctly reflect those on Sport API Improved handling of recovery and producer status based on feed messages Internal: CacheManager made non-static - now supports multiple feed instances Internal: hardening of cache handling for automatically fetching data DemoProject updated Fix: updated how IReplayManager.AddSportEventToReplay behaves when startTime is not specified Fix: fixed how variant markets are cached (includes player props markets) Fix: ITournament.GetSeasonsAsync always returned null Fix: running multiple feed instances at the same time or scenario open-close-open of the same instance Fix: correctly handling of decimal value in outcome name with +/- name template Other minor fixes and improvements, improved internal exception handling1.4.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=88http://sdk.sportradar.com:80/unifiedfeed/net/file?v=882/12/2018 11:00:00 PMAdded support for WNS/lottery (new IDraw and ILottery sport event) Added property DelayedInfo to IMatch Added property ProductsId to IMarketMapping Internal: optimization of data distribution amoung sdk caches Fix: MarketCacheProvider throwing exception when no market description found Fix: handling of logging exception when error happens receiving data from Sports API Other minor improvements and fixes1.3.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=87http://sdk.sportradar.com:80/unifiedfeed/net/file?v=871/30/2018 11:00:00 PMAdded support for $event name template Added support for match booking Updated support for variant markets Removed log4net logging library and introduced Common.Logging library. OddsFeedConfigurationBuilder enables the user to specify the connection should be made to staging environment Fix: Category property on ISport and ITournament always returned null Other minor improvements and bug fixes Note: Version of 1.3.0 of the Unified Feed SDK introduced an usage of Common.Logging (https://github.com/net-commons/common-logging) library to allow the users more control over SDK logging. The change requires some changes to the configuration of logging platform. For an example using log4net please check the latest SDK example. 11:00:00 PMSportEvent hierarchy overhaul - 'stage' support Improved recovery process - on slow message processing, producer is marked as down Added Certainty to BetSettlement message Added support for Market MetaData on oddsChange message Added support for multiple Groups on BetStop message Exposed additional market info through market definitions Added support for SoccerEvent, SoccerStatus Expanded PlayerProfile and Competitor to support Manager, Jersey info Exposed event timeline on IMatch entity Exposed tournament seasons on ITournament entity Exposed methods for clearing cache data on ISportDataProvider NodeId supports negative numbers Added support for nodeId on Replay server on all methods Internally: changed how caches works and added CacheManager1.1.8.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=72http://sdk.sportradar.com:80/unifiedfeed/net/file?v=7211/6/2017 11:00:00 PMImproved recovery process Support for player markets, support for empty market messages IOddsFeed - added Closed event, invoked when feed is forcebly closed Added property Name to ICompetion Exposed raw xml message on all feed message received events Fix: %server specifier template loaded from competitor profile Fix: stateful messages not dispatched when connecting to replay server Fix: updating cache for SportEventStatus on feed messages1.1.7.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=55http://sdk.sportradar.com:80/unifiedfeed/net/file?v=558/4/2017 11:00:00 PMFixed bug when feed recovery gets interrupted when lasting longer then expected Empty tournament names now allowed Added 'maxRecoveryTime' to the config section1.1.6.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=52http://sdk.sportradar.com:80/unifiedfeed/net/file?v=527/31/2017 11:00:00 PMCashoutProvider enabled on feed instance Season - fixed multilanguage name support Messages for disabled producers are no longer dispatched Fixed clearing SportEventStatusCache on bet_settlement message Fixed that on disconnection / on productdown event is raised correctly when no message arrives within specified timeout Version contains breaking changes: Product enumeration has been replaced with IProducer interface in order to ensure automatic support of new producers Some functionality previously exposed on the IOddsConfiguration interface has been moved to new IProducerManager interface. 11:00:00 PMAll SportEventStatus properties available in Properties list Ensured thread safety in SportDataCache when new Tournament data is added/updated Updated how SportEvent or Tournament Season data is obtained and available for users Product code for LCoO changed to 'pre' 11:00:00 PMFixed deserializing of API messages for race details Changed how sport event status is obtained internally, made available via ISportDataProvider Added auto-close to feed when recovery request can not be made1.1.3.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=45http://sdk.sportradar.com:80/unifiedfeed/net/file?v=455/29/2017 11:00:00 PMChanged support for wild card validity market mapping validity attributes - now the format "specifer_name~*.xx" is supported Fixed a bug in session message handling which caused some of the messages were not dispatched to the user Modified handling of error response codes returned by the recovery endpoints1.1.2.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=42http://sdk.sportradar.com:80/unifiedfeed/net/file?v=425/23/2017 11:00:00 PMAdded support for x.0, x.25, x.5, x.75 market mapping validity attribute Added support for (%player) name template in market name descriptions1.1.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=35http://sdk.sportradar.com:80/unifiedfeed/net/file?v=354/21/2017 11:00:00 PMBreaking Changes: IMarketWithOdds.IsFavourite renamed to IMarketWithOdds.IsFavorite IMarketWithOdds.Outcomes renamed to IMarketWithOdds.OutcomeOdds IMarketWithSettlement.Outcomes renamed to IMarketWithSettlement.OutcomeSettlements ISportEvent interface renamed to ICompetition ISportEntity interface renamed to ISportEvent IOddsChange.BetStopReason: Type changed from enum to INamedValue IOddsChange.BettingStatus: Type changed from enum to INamedValue Introduced IOddsFeedConfigurationBuilder which must now be used in order to create IOddsFeedConfiguration RecoveryRequestIssuer property on the IOddsFeed renamed and its type changed New Features: Improvements and bug fixes to recovery process Initial support for upcoming products BetPal and PremiumCricket added Enforcing that timestamp for recovery is not more than 72 hours in the past or in the future Added support for connection to custom message broker and RESTful api Optimization of resources used by the connection to the message broker1.0.3.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=34http://sdk.sportradar.com:80/unifiedfeed/net/file?v=344/19/2017 11:00:00 PMSupport for flexible score markets Added support for outcomes with composite ids Void reason added to betsettlement messages Market status property added to betstop messages Minor fixed how recovery are called internaly1.0.2.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=28http://sdk.sportradar.com:80/unifiedfeed/net/file?v=283/29/2017 11:00:00 PMFixed calling groups on Tournament when no groups are present Fixed internal mapping for Odds messages without markets1.0.1.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=23http://sdk.sportradar.com:80/unifiedfeed/net/file?v=233/21/2017 11:00:00 PMRemoved UnalteredEvents event and message Added encoding UTF-8 for logging in log4net.sdk.config (check DemoProject) Fixed internal message processing pipeline for multi-session scenario Implemented support for simple math expressions in market names Removed Group from SportEvent SportDataProvider - fixed retrieving TournamentSchedule Made some properties of the REST entities translatable due to changes in the feed1.0.0.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=16http://sdk.sportradar.com:80/unifiedfeed/net/file?v=162/6/2017 11:00:00 PMUpdated fixture changes (added References to SportEvent and Competitor object) Added event statuses Added MatchStatus in SportEventStatus object Added support for Replay Server Added support for Market and Outcomes mappings Improved how recoveries are made (user can specify when last message was processed) New DemoProject examples added Performance improvements0.9.1.0http://sdk.sportradar.com:80/unifiedfeed/net/file?v=5http://sdk.sportradar.com:80/unifiedfeed/net/file?v=511/22/2016 11:00:00 PMSDK available via NuGet packet manager. SDK merged into a single assembly which only exposes types required by the user. IsMostBalanced property on IMarketWithOdds interface renamed to IsFavourite. SupersededBy property added to IBetCancel interface. Additional market statuses added.