Releases: sportradar/UnifiedOddsSdkJava
v3.5.1
v3.5.0
3.5.0 (2024-10-22)
- CustomBet Calculation and CalculationFilter extended with isHarmonization
- CustomBetSelectionBuilder extended with new method setOdds
v3.4.0
- Added new Jersey attributes: stripes, horizontalStripes, horizontalStripesColor, squares, squaresColor, split
- A player can now have different jersey numbers assigned for different teams.
- Added support for + or - operation in market and outcome name template (e.g. market 739, 725)
v3.3.2
fix: Information whether competitor is virtual or not can reliably be fetched on all applicable sport events
v3.3.1
3.3.1 (2024-08-12)
- fix: Fixed translation loading logic in Match. Whenever Match.getName is invoked it no longer attempts to fetch all languages at once and fetches only user-requested language instead.
- fix: Car properties of DriverProfile are now properly exposed
v3.3.0
- feat: Enabled accessing match statistics on MatchStatus received via Match.getStatus object (beside Soccer also supports Kabaddi statistics)
v3.2.0
- Improved Variant Market handling when API call is not successful or has some faulty data (i.e. missing outcome name or missing market name)
- Fix: CustomBet API error responses are properly extracted and available for analysis either in logs or in the exception message (dependent on the configured exception handling strategy)
- Fix: Environment.GlobalReplay works properly with production token. API host is updated to production during the bookmaker discovery call.
v3.1.0
- 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
v3.0.0
- 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.
v2.0.61
2.0.61.0 (7/20/2023)
- Stages can be of SprintRace type
2.0.60.0 (5/17/2023)
- CustomBetManager respects ExceptionHandlingStrategy for all non-argument-validating exceptions
- CustomBetManager now throws CommunicationException on API failures
- API failures across the board carry to the client: url used and http code returned
- BookingManager respects ExceptionHandlingStrategy for CommunicationExceptions
2.0.59.0 (1/26/2023)
- Added support for group urn type
- Fix ignore fixture_change_fixture endpoint for virtual producers
2.0.58.3 (1/12/2023)
- Fix: GlobalReplay environment not discards messages from disabled packages for the customer
2.0.58.2 (1/9/2023)
- Fix: TLS version selection for RabbitMq connection no longer causes a crash in certain JVMs
2.0.58.1 (12/27/2022)
- Fix: Artifact descriptor in maven central is fixed, so that SDK is usable in maven projects again
2.0.58.0 (12/23/2022)
- Added GlobalReplay environment
2.0.57.0 (9/20/2022)
- CustomBet - added support for calculate-filter endpoint
- Fix: http request logged twice
- Fix: NPE when LocalizedNamedValue does not have description
2.0.56.0 (7/15/2022)
- Fix: recovery request url when configuring custom environment
- Fix: handling for system session connection reset
2.0.55.0 (6/2/2022)
- Added method isOpen to OddsFeed
- Feed close cleanup improvements (cache items invalidated, session closed)
2.0.54.1 (5/6/2022)
- Fix: fast HttpClient timeout fixed
2.0.54.0 (4/26/2022)
** Contains critical bug and should not be used. Use version 2.0.54.1. **
- Separate HttpClient for critical and other requests
- Added configuration option for fast HttpClient in OperationManager (default timeout 5s)
- Extended SportsInfoManager with getTimelineEvents
- Improved how SportInfoManager is handling exceptions
- Improved logging for raw data events
2.0.53.0 (2/23/2022)
- Added getBetradarName to Round
- Improvement: handling of alive messages in regard to producer status
- Fix: multiple connections in case of disconnection
- Fix: Competition competitors did not expose IsVirtual correctly
2.0.52.1 (1/20/2022)
- Fix: after disconnection some feed messages can not be deserialized
2.0.52.0 (12/10/2021)
- Added support for event results in SportEventStatus received from api
- Extended MarketDescriptionManager with parallelPrefetchVariantMarketDescriptions
- Improved logging exception during message consumption
- Fix: connecting to replay server with production token
- Fix: setting custom configuration from properties files
- Fix: loading competitor associated players data from match summary
- Fix: throws exception if match, stage or draw not found exception happens
2.0.51.0 (11/18/2021)
- Improvements for connection resilience
- Added onRecoveryInitiate to SDKProducerStatusListener
- Added RabbitConnectionTimeout and RabbitHeartbeat to OperationManager
- Improved logging regarding connection and recovery process
- Fix: how connection and channels are made
- Extended StageType with Run enum value
- Changed default UF environment from Integration to GlobalIntegration
2.0.50.0 (10/6/2021)
- Extended configuration with ufEnvironment attribute
- Extended TokenSetter and EnvironmentSelector
- New values added to Environment enum (GlobalIntegration, GlobalProduction, ProxySingapore, ProxyTokyo)
2.0.49.1 (9/9/2021)
- When fetching non-cached fixture change endpoint fails due to server error, try also normal fixture endpoint
- Update: default timeout for max recovery time set to 1h
- Fix: Properly fetch multiple languages for categories
- Other minor improvements and bug fixes
2.0.49.0 (7/23/2021)
- Extended Stage with getStatus returning StageStatus (with match status)
2.0.48.0 (6/23/2021)
- Added OperationManager to provide option to set sdk values (before OddsFeed instance creation)
- Added option to ignore sport event status from timeline endpoint for BetPal events
2.0.47.0 (6/15/2021)
- Added pitcher, batter, pitch_count, pitches_seen, total_hits, total_pitches to SportEventStatus properties
- PeriodScore - match status code 120 mapped to penalties
- Connecting to rabbit with the newest supported SSL protocol
- Fix: Re-fetching variant market descriptions after deleting the SDK cache for an event
- Fix: merging tournament groups
2.0.46.0 (5/28/2021)
- OutcomeProbabilities extended with getAdditionalProbabilities
- Extended MarketWithProbabilities with getMarketMetaData
- Extended Tournament with getSchedule
2.0.45.0 (4/29/2021)
- Added SportInfoManager.getPeriodStatuses to fetch period summary for stages
- Extended CompetitionStatus with getPeriodOfLadder
2.0.44.2 (4/9/2021)
- fix: converting GoalScorer
- fix: importing Venue
2.0.44.1 (4/2/2021)
- fix: parsing TeamStatisticsDTO for sportEventStatusDTO
2.0.44.0 (3/31/2021)
- added getEventChangeManager() to OddsFeed for a periodical fixture and result change updates
- changed return value type for TimelineEvent.getPlayer() from Player to EventPlayer (breaking change)
- changed return value type for TimelineEvent.getGoalScorer() from Player to GoalScorer (breaking change)
- extended Player with GoalScorer (added getMethod()) used in TimelineEvent
- extended Player with EventPlayer (added getBench()) used in TimelineEvent
- added Competitor.getShortName
- added Fixture.ProducerInfo.isInLiveMatchTracker
- reverted populating Round name, groupName and phaseOrGroupLongName to exactly what is received from API
- added getStartTime, getEndTime and getAamsId to the MarketMetaData
- added PeriodOfLeader to the SportEventStatus.Properties
- updated FixtureChangeType - also if not specified in fixtureChange message returns FixtureChangeType.NotAvailable
- improved connection error reporting
- fix: WNS event ids can have negative value
- fix: NPE merging tournament groups
- fix: merging tournament groups (when no name or id)
- fix: exporting/importing data
2.0.43.0 (2/9/2021)
- added support for eSoccer - returns SoccerEvent instead of Match
- added SportsInfoManager.getLotteries
- added support for simple_team urn
- improved example to support all desired locales
- fix: merging tournament groups
- fix: merging tournament data
- fix: NPE in data router fixture handling
2.0.42.1 (12/18/2020)
- fix: NPE in case of missing market description
- improved logging
2.0.42 (11/13/2020)
- added new stage types in StageType enum (Practice, Qualifying, QualifyingPart, Lap)
- fix: use competitor data from fixture.xml API enpoint
- fix: loading sportEventType and stageType from parent stage if available
- fix: parsing outcomes
- fix: restarting recovery timestamp fixed when alive violation happened during previous one
2.0.41 (10/13/2020)
- Round - added getGroup, added getGroupName (breaking change)
- Stage - added getAdditionalParentStages, getStageType (breaking change - result changed from SportEventType to StageType)
- extended EventResult with getDistance and getCompetitorResult methods
- Competition extended with getLiveOdds and getSportEventType methods
- added getCourse to the Venue
- added Coverage to IMatch
- optimized message deserialization
- optimized fetching outcome names for multiple languages
- improved connection error handling and reporting
- improved fetching of multiple locales for market names
- fix: allow null values when fetching multiple locales for market names
- fix: added support for indonesian locale
- fix: event status enumeration
2.0.40.1 (9/22/2020)
- added MaxConnPerRoute and MaxConnTotal configuration for HTTP client
2.0.40 (8/19/2020)
- extended SeasonInfo with startDate, endDate, year and tournamentId
- fix: CustomBetManager return new CustomBetSelectionBuilder
- fix: make serialize synchronised
- fix: fetching market description are marked done only after successful obtaining data
- fix: Immutable map exception parsing competitor references
- fix: un-needed URN parse exception logging
- fix: using ReplayOddsFeed with integration token
- fix: how after parameter is sent in getFixtureChanges
- fix: reloading market description in case variant descriptions are not available
- improved logging of initial message processing
2.0.39 (7/9/2020)
- added getSport() and getCategory() to Competitor interface
- throttling recovery requests
- fix: closing recovery HTTP client on OddsFeed.close()
2.0.38 (6/24/2020)
- added overloaded methods for fixture and result changes with filters
- added separate HTTP request timeout value for recovery endpoints
- updated supported languages
- improved reporting of invalid message interest combinations
- fix: NPE when obtaining market descriptions
2.0.37 (5/11/2020)
- added support for result changes endpoint
- fix: responses are encoded/decoded using UTF-8
- fix: lotteries endpoint isn't invoked if WNS is disabled
2.0.36 (4/16/2020)
- added getSchedule method to BasicTournament interface
- added bookmakerId to the ClientProperties
- fix: new Replay API endpoint supports both production and integration tokens
- fix: exporting Fixture cache items
2.0.35.1 (3/25/2020)
- changed Replay API URL
2.0.35 (3/23/2020)
- added support for HTTP(S) proxies
2.0.34 (3/16/2020)
- fix: fetching outcome mappings
- fix: loading sport events after cache import
- improved HTTP request logging
- improved handling user exceptions inside listener callbacks
2.0.33 (2/18/2020)
- added getState() to the Competitor
- added getState() to the Venue
- improved fetching fixtures for Replay environment
- improved loading configuration from files
- fix: handling sports without tournaments added new Replay API endpoints
2.0.32 (1/14/2020)
- added new Replay API endpoints
- improved market and variant...