Skip to content

Commit 58e0009

Browse files
committed
v3.0.0
1 parent 929a657 commit 58e0009

File tree

180 files changed

+5642
-6568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+5642
-6568
lines changed

CHANGELOG.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Change Log
22

3+
## 2025-02-11 3.0.0 (breaking change)
4+
- ExceptionHandlingStrategy default value is changed to Throw (before Catch).
5+
- Code is cleaned up. Outdated classes are removed. Affected classes are - SoccerEvent, SoccerStatistics, SoccerStatus.
6+
- Asian proxy environments are no longer supported therefore they are removed from enum SdkEnvironment.
7+
- Removed interfaces ICustomBetSelectionBuilderV1, ICalculationFilterV1, ICalculationV1, ISelectionV1, and IMatchStatusV1. Properties from these interfaces have been consolidated into ICustomBetSelectionBuilder, ICalculationFilter, ICalculation, ISelection, and IMatchStatus respectively.
8+
- ExportableCompetitor.IsVirtual is null if the competitor's virtual flag was not retrieved initially.
9+
- Removed configuration option for settings AdjustAfterAge for producer recoveries (now always true)
10+
- Updated all dependencies to the latest versions (check migration guide)
11+
- Renamed IAvailableSelections.Event to EventId
12+
- Renamed IAvailableSelectionsFilter.Event to EventId
13+
- ICompetitor.IsVirtual can be null if the actual value is not retrieved
14+
- Added dependency on OpenTelemetry.Instrumentation.Runtime
15+
- Added dependency on OpenTelemetry.Exporter.OpenTelemetryProtocol
16+
- IUofUsageConfiguration exposed as IUofConfiguration.Usage for properties configuring usage export (metrics)
17+
- IUofConfiguration.Usage.IsExportEnabled (default: enabled)
18+
- Added IConfigurationBuilder.EnableUsageExport(bool enable) method
19+
- Updated Sdk dependencies
20+
- Check associated migration guide for more details
21+
322
## 2025-01-22 2.4.2
423
- SportDataProvider.GetListOfSportEventsAsync issues the call to the right endpoint and properly returns data
524

@@ -141,11 +160,6 @@ to
141160
- Optimized daily cache population of available sport and category data (does not delete any previous ones anymore)
142161
- Optimized execution of some internal async methods
143162

144-
## 2023-02-XY 1.30.2
145-
- Fixed lock issue when calling SportDataProvider.GetActiveTournamentsAsync repeatedly
146-
- Improved performance for market/outcome name generation
147-
- Fixed WNS API endpoints
148-
149163
## 2023-02-03 1.30.1
150164
- Improved speed on API requests with high concurrency
151165

README.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,24 @@ The SDK is also available via NuGet package manager. Use the following command i
77

88
`Install-Package Sportradar.OddsFeed.SDKCore`
99

10-
The SDK uses the following 3rd party libraries which must be added via the NuGet package manager
11-
- OpenTelemetry (1.6.0)
12-
- Dawn.Guard (1.12.0)
13-
- Humanizer (2.14.1)
14-
- Microsoft.Extensions.Logging (7.0.0)
15-
- Microsoft.Extensions.Caching.Memory (7.0.0)
16-
- Microsoft.Extensions.Configuration (7.0.0)
17-
- Microsoft.Extensions.Diagnostics.HealthChecks (7.0.11)
18-
- Microsoft.Extensions.Http (7.0.0)
19-
- RabbitMQ.Client (6.5.0)
10+
The SDK uses the following 3rd party libraries:
11+
- RabbitMQ.Client 6.8.1
12+
- Dawn.Guard 1.12.0
13+
- Humanizer 2.14.1
14+
- Microsoft.Bcl.AsyncInterfaces 9.0.1
15+
- Microsoft.Extensions.Caching.Memory 9.0.1
16+
- Microsoft.Extensions.Configuration 9.0.1
17+
- Microsoft.Extensions.DependencyInjection 9.0.1
18+
- Microsoft.Extensions.Diagnostics.HealthChecks 9.0.1
19+
- Microsoft.Extensions.Http 9.0.1
20+
- System.Configuration.ConfigurationManager 9.0.1
21+
- OpenTelemetry 1.11.1
22+
- OpenTelemetry.Extensions.Hosting 1.11.1
23+
- OpenTelemetry.Instrumentation.Runtime 1.10.0
24+
- OpenTelemetry.Exporter.OpenTelemetryProtocol 1.11.1
2025

2126
The package contains:
22-
- DemoProject: A solution containing a demo project showing the basic usage of the SDK
27+
- DemoProject: solution containing a demo project showing the basic usage of the SDK
2328
- libs: DLL file composing the Odds Feed SDK
2429
- Resources containing the log4net configuration needed by the Odds Feed SDK
2530

docs/docs/migration-guide-v3.html

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>UOF .NET SDK - Migration Guide | Sportradar.OddsFeed.SDK </title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<meta name="title" content="UOF .NET SDK - Migration Guide | Sportradar.OddsFeed.SDK ">
8+
9+
10+
<link rel="icon" href="../images/favicon.ico">
11+
<link rel="stylesheet" href="../public/docfx.min.css">
12+
<link rel="stylesheet" href="../public/main.css">
13+
<meta name="docfx:navrel" content="../toc.html">
14+
<meta name="docfx:tocrel" content="toc.html">
15+
16+
<meta name="docfx:rel" content="../">
17+
18+
19+
20+
<meta name="loc:inThisArticle" content="In this article">
21+
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
22+
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
23+
<meta name="loc:tocFilter" content="Filter by title">
24+
<meta name="loc:nextArticle" content="Next">
25+
<meta name="loc:prevArticle" content="Previous">
26+
<meta name="loc:themeLight" content="Light">
27+
<meta name="loc:themeDark" content="Dark">
28+
<meta name="loc:themeAuto" content="Auto">
29+
<meta name="loc:changeTheme" content="Change theme">
30+
<meta name="loc:copy" content="Copy">
31+
<meta name="loc:downloadPdf" content="Download PDF">
32+
33+
<script type="module" src="./../public/docfx.min.js"></script>
34+
35+
<script>
36+
const theme = localStorage.getItem('theme') || 'auto'
37+
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
38+
</script>
39+
40+
</head>
41+
42+
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
43+
<header class="bg-body border-bottom">
44+
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
45+
<div class="container-xxl flex-nowrap">
46+
<a class="navbar-brand" href="../index.html">
47+
<img id="logo" class="svg" src="../images/uf-ns-h60.png" alt="Sportradar.OddsFeed.SDK">
48+
Sportradar.OddsFeed.SDK
49+
</a>
50+
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
51+
<i class="bi bi-three-dots"></i>
52+
</button>
53+
<div class="collapse navbar-collapse" id="navpanel">
54+
<div id="navbar">
55+
<form class="search" role="search" id="search">
56+
<i class="bi bi-search"></i>
57+
<input class="form-control" id="search-query" type="search" disabled="" placeholder="Search" autocomplete="off" aria-label="Search">
58+
</form>
59+
</div>
60+
</div>
61+
</div>
62+
</nav>
63+
</header>
64+
65+
<main class="container-xxl">
66+
<div class="toc-offcanvas">
67+
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
68+
<div class="offcanvas-header">
69+
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
70+
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
71+
</div>
72+
<div class="offcanvas-body">
73+
<nav class="toc" id="toc"></nav>
74+
</div>
75+
</div>
76+
</div>
77+
78+
<div class="content">
79+
<div class="actionbar">
80+
<button class="btn btn-lg border-0 d-md-none" style="margin-top: -.65em; margin-left: -.8em" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
81+
<i class="bi bi-list"></i>
82+
</button>
83+
84+
<nav id="breadcrumb"></nav>
85+
</div>
86+
87+
<article data-uid="">
88+
<h1 id="uof-net-sdk---migration-guide">UOF .NET SDK - Migration Guide</h1>
89+
90+
<p>The UOF .NET SDK 2.x.x is upgraded to 3.0.0, and this is your roadmap to a smooth transition from your current SDK version to the latest version. The upgrade is designed to elevate your experience and
91+
align the SDK more closely with your business needs.</p>
92+
<p>This guide is intended to offer practical advice to ensure your transition is not only efficient but also enhances the performance and capabilities of your software.</p>
93+
<h2 id="1-upgraded-dependencies">1. Upgraded dependencies</h2>
94+
<ul>
95+
<li>RabbitMQ.Client 6.8.1</li>
96+
<li>Dawn.Guard 1.12.0</li>
97+
<li>Humanizer 2.14.1</li>
98+
<li>Microsoft.Bcl.AsyncInterfaces 9.0.1</li>
99+
<li>Microsoft.Extensions.Caching.Memory 9.0.1</li>
100+
<li>Microsoft.Extensions.Configuration 9.0.1</li>
101+
<li>Microsoft.Extensions.DependencyInjection 9.0.1</li>
102+
<li>Microsoft.Extensions.Diagnostics.HealthChecks 9.0.1</li>
103+
<li>Microsoft.Extensions.Http 9.0.1</li>
104+
<li>System.Configuration.ConfigurationManager 9.0.1</li>
105+
<li>OpenTelemetry 1.11.1</li>
106+
<li>OpenTelemetry.Extensions.Hosting 1.11.1</li>
107+
<li>OpenTelemetry.Instrumentation.Runtime 1.10.0 (added)</li>
108+
<li>OpenTelemetry.Exporter.OpenTelemetryProtocol 1.11.1 (added)</li>
109+
<li>Removed: OpenTelemetry.Api</li>
110+
</ul>
111+
<h2 id="2-update-the-methods-and-classes-in-your-code">2. Update the Methods and Classes in Your Code</h2>
112+
<p>Review your codebase to identify any parts that might be affected by the upgrade. Look for deprecated methods or classes that have been removed in the new version. Update your code to use the new APIs
113+
provided by the SDK. This may involve making changes to method calls, imports, and references. Handle any breaking changes or deprecations by updating your code accordingly. You can
114+
contact support if you encounter specific issues.</p>
115+
<p>The following classes and methods are changed. Hence, you will need to update your code to use the new names:</p>
116+
<h4 id="removed-methods-classes-and-interfaces">Removed Methods, Classes and Interfaces</h4>
117+
<table>
118+
<thead>
119+
<tr>
120+
<th>Removed Methods / Classes / Interfaces</th>
121+
<th>Alternative Methods / Classes / Interfaces</th>
122+
</tr>
123+
</thead>
124+
<tbody>
125+
<tr>
126+
<td>ISoccerEvent</td>
127+
<td>IMatch</td>
128+
</tr>
129+
<tr>
130+
<td>ISoccerStatistics</td>
131+
<td>IMatchStatistics</td>
132+
</tr>
133+
<tr>
134+
<td>ISoccerStatus</td>
135+
<td>IMatchStatus</td>
136+
</tr>
137+
<tr>
138+
<td>ICalculationFilterV1</td>
139+
<td>ICalculationFilter</td>
140+
</tr>
141+
<tr>
142+
<td>ICalculationV1</td>
143+
<td>ICalculation</td>
144+
</tr>
145+
<tr>
146+
<td>ICustomBetSelectionBuilderV1</td>
147+
<td>ICustomBetSelectionBuilder</td>
148+
</tr>
149+
<tr>
150+
<td>IMatchStatusV1</td>
151+
<td>IMatchStatus</td>
152+
</tr>
153+
<tr>
154+
<td>ISelectionV1</td>
155+
<td>ISelection</td>
156+
</tr>
157+
</tbody>
158+
</table>
159+
<h4 id="removed-methods--properties">Removed Methods / Properties</h4>
160+
<table>
161+
<thead>
162+
<tr>
163+
<th>Method / Property name</th>
164+
<th>Recommendation</th>
165+
</tr>
166+
</thead>
167+
<tbody>
168+
<tr>
169+
<td>ExportableCompetition.CompetitorsVirtual</td>
170+
<td>Use Competitor.IsVirtual property to identify virtual competitors</td>
171+
</tr>
172+
<tr>
173+
<td>ICustomBetSelectionBuilder.Build(Urn eventId, int marketId, string specifiers, string outcomeId)</td>
174+
<td>Use ICustomBetSelectionBuilder.Build(Urn eventId, int marketId, string specifiers, string outcomeId, double? odds = null)</td>
175+
</tr>
176+
<tr>
177+
<td>IRecoveryConfigurationBuilder.SetAdjustAfterAge(bool adjustAfterAge)</td>
178+
<td>internally always true</td>
179+
</tr>
180+
<tr>
181+
<td>IUofProducerConfiguration.AdjustAfterAge</td>
182+
<td>internally always true</td>
183+
</tr>
184+
</tbody>
185+
</table>
186+
<h4 id="updated-methods--properties">Updated Methods / Properties</h4>
187+
<table>
188+
<thead>
189+
<tr>
190+
<th>Method / Property name</th>
191+
<th>Recommendation</th>
192+
</tr>
193+
</thead>
194+
<tbody>
195+
<tr>
196+
<td>ICompetitor.IsVirtual</td>
197+
<td>Check it to be true to confirm that the competitor is virual. Consider all other values as an indicator that the competitor is not virtual</td>
198+
</tr>
199+
</tbody>
200+
</table>
201+
<h4 id="renamed-methods--properties">Renamed Methods / Properties</h4>
202+
<ul>
203+
<li>IAvailableSelections.Event to EventId</li>
204+
<li>IAvailableSelectionsFilter.Event to EventId</li>
205+
</ul>
206+
<h4 id="new-features">New Features</h4>
207+
<p>SDK Usage Service: This service will allow us to anonymously track producer downtrends, helping us proactively identify potential bottlenecks and broader implementation trends before they lead to
208+
future issues.</p>
209+
<p>New configuration properties:</p>
210+
<ul>
211+
<li>IUofUsageConfiguration exposed as IUofConfiguration.Usage for properties configuring usage export (metrics)</li>
212+
<li>IUofConfiguration.Usage.IsExportEnabled (default: enabled)</li>
213+
<li>Added IConfigurationBuilder.EnableUsageExport(bool enable) method</li>
214+
</ul>
215+
<h2 id="5-test-your-project">5. Test your project</h2>
216+
<p>Thoroughly test your project after making the changes. Test all critical functionality to ensure that everything still works as expected. Pay special attention to any areas of your setup that interact
217+
with the SDK, as these are likely to be the most affected by the upgrade.</p>
218+
<h2 id="6-update-the-documentation">6. Update the Documentation</h2>
219+
<p>Update your project's documentation and any training materials to reflect the changes introduced by the upgrade. This will help your team members understand and work with the new version.</p>
220+
<h2 id="7-deploy-to-production">7. Deploy to Production</h2>
221+
<p>Once you are confident that your project works correctly with the upgraded SDK, you can deploy the updated version to your production environment.</p>
222+
<h2 id="8-monitoring-and-maintenance">8. Monitoring and Maintenance</h2>
223+
<p>After deployment, monitor your project closely for any unexpected issues or performance problems. Be prepared to address any post-upgrade issues promptly.</p>
224+
<h2 id="9-feedback-and-reporting">9. Feedback and Reporting</h2>
225+
<p>If you encounter any bugs or issues in the SDK, consider reporting them to [email protected]. Providing feedback can help improve the SDK for future releases.</p>
226+
227+
</article>
228+
229+
<div class="contribution d-print-none">
230+
</div>
231+
232+
<div class="next-article d-print-none border-top" id="nextArticle"></div>
233+
234+
</div>
235+
236+
<div class="affix">
237+
<nav id="affix"></nav>
238+
</div>
239+
</main>
240+
241+
<div class="container-xxl search-results" id="search-results"></div>
242+
243+
<footer class="border-top text-secondary">
244+
<div class="container-xxl">
245+
<div class="flex-fill">
246+
Copyright © 2024, Sportradar AG. Send comments or questions to <a href='mailto:sdk%40sportradar.com?Subject=Odds%20Feed%20SDK%20Std%20Documentation: UnifiedFeed SDK .NET Standard 2.0&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2C%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2C%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.'>SDK Team</a>.
247+
</div>
248+
</div>
249+
</footer>
250+
</body>
251+
</html>

docs/docs/toc.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616
<a href="introduction.html" name="" title="Introduction">Introduction</a>
1717
</li>
1818
<li>
19-
<a href="migration-guide.html" name="" title="Migration Guide">Migration Guide</a>
19+
<a href="migration-guide.html" name="" title="Migration Guide 1.x to 2.x">Migration Guide 1.x to 2.x</a>
20+
</li>
21+
<li>
22+
<a href="migration-guide-v3.html" name="" title="Migration Guide 2.x to 3.x">Migration Guide 2.x to 3.x</a>
2023
</li>
2124
</ul>
2225
</div>

docs/docs/toc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11

2-
{"items":[{"name":"Introduction","href":"introduction.html","topicHref":"introduction.html"},{"name":"Migration Guide","href":"migration-guide.html","topicHref":"migration-guide.html"}],"pdf":true}
2+
{"items":[{"name":"Introduction","href":"introduction.html","topicHref":"introduction.html"},{"name":"Migration Guide 1.x to 2.x","href":"migration-guide.html","topicHref":"migration-guide.html"},{"name":"Migration Guide 2.x to 3.x","href":"migration-guide-v3.html","topicHref":"migration-guide-v3.html"}],"pdf":true}

docs/docs/toc.pdf

173 KB
Binary file not shown.

docs/index.html

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,20 @@ <h1 id="unifiedodds-feed-sdk-net-library-net-standard-20">UnifiedOdds Feed SDK .
7777
<p>For a quick start consider consulting the <code>DemoProject</code>, which can be found in GitHub releases.</p>
7878
<p>The SDK uses the following 3rd party libraries:</p>
7979
<ul>
80-
<li>OpenTelemetry (1.6.0)</li>
81-
<li>Dawn.Guard (1.12.0)</li>
82-
<li>Humanizer (2.14.1)</li>
83-
<li>Microsoft.Extensions.Logging (7.0.0)</li>
84-
<li>Microsoft.Extensions.Caching.Memory (7.0.0)</li>
85-
<li>Microsoft.Extensions.Configuration (7.0.0)</li>
86-
<li>Microsoft.Extensions.Diagnostics.HealthChecks (7.0.11)</li>
87-
<li>Microsoft.Extensions.Http (7.0.0)</li>
88-
<li>RabbitMQ.Client (6.5.0)</li>
80+
<li>RabbitMQ.Client 6.8.1</li>
81+
<li>Dawn.Guard 1.12.0</li>
82+
<li>Humanizer 2.14.1</li>
83+
<li>Microsoft.Bcl.AsyncInterfaces 9.0.1</li>
84+
<li>Microsoft.Extensions.Caching.Memory 9.0.1</li>
85+
<li>Microsoft.Extensions.Configuration 9.0.1</li>
86+
<li>Microsoft.Extensions.DependencyInjection 9.0.1</li>
87+
<li>Microsoft.Extensions.Diagnostics.HealthChecks 9.0.1</li>
88+
<li>Microsoft.Extensions.Http 9.0.1</li>
89+
<li>System.Configuration.ConfigurationManager 9.0.1</li>
90+
<li>OpenTelemetry 1.11.1</li>
91+
<li>OpenTelemetry.Extensions.Hosting 1.11.1</li>
92+
<li>OpenTelemetry.Instrumentation.Runtime 1.10.0</li>
93+
<li>OpenTelemetry.Exporter.OpenTelemetryProtocol 1.11.1</li>
8994
</ul>
9095

9196
</article>

0 commit comments

Comments
 (0)