UnifiedFeed SDK - Java3

Versions:

3.1.0 (2/19/2024) recommended
SDK can be used in a construct close-with-resources
Recovering after network outages no longer causes message duplication
Markets are no longer excluded from messages handed over to the listener when descriptions of markets are unavailable
Fix: faulty market descriptions are attempted to be re-fetched irrespective from exception handling strategy configured


3.0.0 (10/24/2023)
For details about upgrading current versions of sdk consult migration guide. Summary of changes:
Consistent casing used in naming in java code as per Google java style guidelines
Upgrading Apache http client library from 4 to 5
methods getName/s exposed more consistently in classes:
categoryData, sportData, currentSeason, drawResult, manager, tournamentInfo
upgrading sdk libraries. Rabbit, slf4j, guava, guice, icu4j, snakeyaml, jaxb
removing libraries: logback
removing deprecated methods
OddsFeedConfiguration renamed to UofSdkConfiguration
Removed selectIntegration and selectProduction from EnvironmentSelector (use selectEnvironment)
user agent indicating basic environment information is submitted on Sports API calls
Configuration from file - renamed values:
defaultLocale -> defaultLanguage
desiredLocales -> desiredLanguages
ufEnvironment -> environment
useMessagingSsl -> messagingUseSll
useApiSsl -> apiUseSsl
moved HttpClient configuration to UofConfigurationBuilder
removing test-purposed OddsFeed constructor
removing OddsFeedSessionBuilder.setSpecificListeners method
renaming class SportsInfoProvider to SportDataProvider
renaming method UofSdk.getSportsInfoProvider to UofSdk.getSportDataProvider
renaming OddsFeed to uofSdk
renaming OddsFeedSession to UofSession
renaming OddsFeedSessionBuilder to UofSessionBuilder
renaming OddsFeedListener to UofListener
renaming OddsFeedConfigurationBuilder to UofConfigurationBuilder
renaming UofSdk.getOddsFeedConfigurationBuilder to UofConfigurationBuilder
renaming OddsFeedException to UofException
renaming ReplayOddsFeed to UofSdkForReplay
removed OperationManager
Venue can now contain multiple courses, each with holes, id, and name translations.
venue.getCourses signature was changed from returning List to List to accommodate multiple courses and carry additionally id and name for each of them. Corresponding changes were made to ExportableCompetitorCi
teamCompetitor.getDivision method was moved up in the inheritance hierarchy to competitorCi and its signature was changed from returning Integer to Division in order for Decision to also carry division name. Corresponding changes were made to ExportableCompetitorCi
timelineEvent.getHomeScore and timelineEvent.getAwayScore signatures were changed from returning double to BigDecimal to make these methods return types consistent with other occurrences of these same methods elsewhere in the SDK API. Corresponding changes were made to ExportableTimelineEventCi
removed round.getGroupName along with corresponding adjustments in ExportableCompleteRoundCi and ExportableLoadableRoundCi
round.getName, round.getNames and round.getPhaseOrGroupLongName are backed by their own corresponding attributes "name" and "group_name" only in the Sports API responses, and no longer falls back to other attributes.