Skip to content

v2.0.61

Compare
Choose a tag to compare
@gmusial-sr gmusial-sr released this 13 Sep 10:30
· 16 commits to master since this release
f050272

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 caching
  • fix: fetching outcome mappings for special markets that exists only on dynamic variant endpoint

2.0.31.1 (12/10/2019)

  • fix: fetching and merging player profile data

2.0.31 (12/9/2019)

  • added getReplaySportEventsList to the ReplayManager
  • added missing summary endpoint competitors caching
  • added example for parsing messages in separate thread
  • improved logic for getting player profiles
  • improved fetching and loading PeriodStatistics
  • fix: loading playerprops variant market descriptions
  • fix: logging for HTTP POST requests

2.0.30 (11/8/2019)

  • fix: better market description cache handling

2.0.29 (10/24/2019)

  • added cache state export/import
  • added getAdditionalProbabilities() to the OutcomesOdds
  • added getAgeGroup to the Competitor
  • added getGreenCards() to the TeamStatistics
  • added Statistics to the SportEventStatus.toKeyValueStore()
  • improved parsing dates without timezone
  • fix: possible multi-thread issues caching competitors
  • fix: Manager.getNationality returned name
  • fix: replay ignores messages from inactive producers
  • fix: odds format is now consistent with the documentation
  • fix: green card can be null in sport event statistics

2.0.28 (9/5/2019)

  • exposed option to delete old matches from cache (SportInfoManager.deleteSportEventsFromCache)
  • loading home and away penalty score from penalty PeriodScore if present
  • fix: updated CustomConfigurationBuilder not to override pre-configured values
  • fix: interrupted recoveries are restarted on alive message
  • fix: SportInfoManager.getCompetitonsFor(Date, Locale) invokes for correct locale

2.0.27 (7/18/2019)

  • added getListOfSportEvents and getAvailableTournaments to the SportInfoManager
  • added isDecidedByFed to the MatchStatus
  • added getRaceDriver to the Competitor
  • added isExhibitionGames to the BasicTournament and Tournament
  • added getId to the Group
  • added getName to the TeamStatistics
  • fix: not loading variant market data in multi-language scenario

2.0.26 (6/21/2019)

  • added isStartTimeTbd and getReplacedBy to the SportEvent
  • added getStripesColor, getSplitColor, getShirtType and getSleeveDetail to the Jersey
  • added getMatchStatusCode to PeriodScore
  • improved on updating when new outcomes are available (outrights)
  • exposed option for user to receive raw feed and api data

2.0.25 (6/7/2019)

  • added getDivision to the TeamCompetitor
  • added getGender to the Competitor and PlayerProfile
  • added getStreamUrl to the TvChannel
  • added getPhase to the Round
  • CompetitionStatus.getStatus() no more deprecated (fixed underlining issue)
  • improved caching of variant market descriptions
  • fix: wrong periodType in PeriodScore

2.0.24 (5/22/2019)

  • added support for custom bets
  • added customBetManager and getAvailableLanguages to the OddsFeed
  • added setSpecificEventsOnly to the OddsFeedSessionBuilder
  • added getFixtureChanges to the SportsInfoManager interface
  • exposed option to reload market descriptions
  • fix: preserving the order of default and desired locales in configuration
  • fix: return cached event status for sport events

2.0.23 (4/18/2019)

  • exposed Round.getGroupId()
  • improved handling of SportEventStatus updates
  • fix: incorrect message validation
  • fix: initial value for eventStatus

2.0.22 (4/8/2019)

  • added support for non-cached fixture endpoint
  • improved fetching logic for the summary endpoint
  • fix: handling pre:outcometext and simpleteam ids in cache
  • fix: null check for names in Category and Sport

2.0.21 (3/12/2019)

  • exposed EventResult.getGrid()
  • exposed Reference.getAamsId()
  • added support for ReferenceIds for competitors within season/tournament groups
  • added support for simpleteam competitors and related API calls
  • improved recovery logic on channel disconnect
  • improved how type on PeriodScore is loaded
  • added runParallel argument on play method on ReplayManager
  • fix: null check for names in Category and Sport
  • fix: how periods score data is saved and exposed (period type and description was wrong)

2.0.20 (2/14/2019)

  • exposed getTimestamps() on Message
  • added getRecoveryInfo() (info about last recovery) to the Producer
  • added support for replay feed to the Feed instance
  • fix: MarketMappingDataImpl.canMap - added producerId check
  • fix: Sport.getCategories now returns all categories, delayed fetching until needed
  • fix: Locking problem with market description fetching
  • fix: null check when mapping CoveredFrom
  • fix: added null check in PeriodScoreImpl
  • note: artifact moved to maven central

2.0.19.1 (1/9/2019)

  • fix: null check when mapping CoveredFrom enum

2.0.19 (1/7/2019)

  • added Fixture.CoverageInfo.CoveredFrom property
  • added getOutcomeType method to MarketDefinition (to replace includes_outcomes_of_type)
  • fix: Competitor.References - fixture is fetched only if competitor references are explicitly requested by user
  • fix: avoiding fetching fixture for BookingStatus when received via schedule

2.0.18 (12/18/2018)

  • added method getWillBeRestarted to SnapshotCompleted message
  • added OddsGenerationProperties to the OddsChange message
  • replay session using any token returns production replay summary endpoint
  • 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
    vother minor fixes and improvements

2.0.17 (11/16/2018)

  • exposed BookmakerDetails on OddsFeed - exposing bookmakerId, serverTimeDifference and token expiration date
  • removed fetching of fixture for TournamentRound (only summary, if needed)
  • improved handling of competitor reference id(s)
  • minimized rest api calls - removed calls for eng, when not needed (requires language to be set in configuration)
  • outcomeSettlement default deadHeatFactor set to 1 (before 0)
  • removed purging of sportEventStatus on betSettlement message
  • fix: null bug for nodeId in configuration
  • fix: the ordinal name spelling for all languages

2.0.16 (10/17/2018)

  • added Competition.getStatusIfPresent() to retrieve if from cache without API call
  • added Match.getEventTimelineIfPresent() to retrieve if from cache without API call
  • added properties to TimelineEvent (goalScorer, player, assists,...)
  • added warn message for negative nodeId (negative id is reserved for internal use only)
  • improvement: added a dedicated executor for the RecoveryManager
  • fix: SportEventStatusCache considers source of status and cache timeout
  • fix: for null competitor abbreviation (must not be null)
  • fix: calling the summary with nodeId if specified (on replay server) - sport event status changes during replay of the match

2.0.15 (9/17/2018)

  • added new event status: EventStatus.Interrupted
  • updated api xsd schemas
  • added handling of PlayerCompetitor available in Competitor.Players
  • changed return type of method Competitor.getPlayers() to list of Player (to support players and competitors)
  • sport event EventStatus exposed directly on Competition.getEventStatus()
  • optimized data fetching on sport event (data from schedule for a day is not fetched again)

2.0.14 (8/24/2018)

  • added support for getting outcome odds in different formats - getOdds(OddsDisplayType)
  • AMQP threads named based on Bookmaker/nodeId
  • fix: added missing support for node_id on snapshot_complete routing keys
  • fix: added missing null checks for getMappings
  • fix: added null check when fetching sportId

2.0.13 (8/2/2018)

  • fix: competitor references are saved per sport event

2.0.12 (7/25/2018)

  • added check for feed opened before closing its components
  • added purging of Draw event data on BetStop and BetSettlement
  • added support for 2 routing keys for VirtualSports message interest
  • added support for new producer field (stateful_recovery_window_in_minutes)
  • added Pitcher info on SportEventConditions

2.0.11 (6/26/2018)

  • introduced a new "UnparsableMessage" callback
  • increased max concurrent HTTP requests to 15 (from 2)
  • fixed market cache refresh failure retry
  • added support for custom API IP (with custom port)
  • other minor fixes

2.0.10 (6/11/2018)

  • exposure of Fixture.getScheduledStartTimeChanges
  • exposure of Reference.getRotationNumber
  • fixed OutcomeMappingData.getProducerOutcomeId return value
  • fixed Competition.getVenue return value

2.0.9 (5/22/2018)

  • market/outcome name generation performance improvement(if the required data is cached)
  • fixed Stage.getParent(in some cases the "middle" parent stage was skipped and the method returned always the "top" level parent)
  • event competitors list cache logic updated(always overwrite instead of merge)
  • simpleteam caching logic update
  • log entries improved

2.0.8 (5/7/2018)

  • introduced the new SDKProducerStatusListener.onProducerStatusChange in favour of onProducerDown and onProducerUp
  • added support for node id on per event recoveries
  • fixed ReplayManager.getPlayStatus
  • removed unneeded YAML reader warning
  • fixed system time validation(some locales had issues while parsing the server response time)

2.0.7 (4/16/2018)

  • exposure of Fixture.getReplacedBy
  • exposure of Venue.getCountryCode
  • exposure of Round.getPhaseOrGroupLongName
  • sport event status caching improved
  • improved alive messages monitoring
  • added system time validation against API time
  • added support for YAML configuration
  • other logic and code improvements

2.0.6 (3/28/2018)

  • exposure of Fixture.getStartTimeTbd
  • added support for decimal results on "EventResult"(Stage entity results)
  • added the possibility to set a custom messaging virtual host on the CustomConfigurationBuilder
  • added sample SDK properties to the included example
  • added support to purge sport event status on demand(trough SportsInfoManager)
  • improved handling of "simpleteam" entities
  • when a match gets booked successfully, the SDK now updates the internal state of the booking status
  • minor fixes and improvements

2.0.5 (3/13/2018)

  • configuration build process refactored, previous build path was deprecated!
  • added a new market type - MarketCancel, accessible trough the BetCancel message
  • addition of the EventStatus.Postponed enum value
  • match status fetching logic improvements
  • fixed flex score market name generation (0.0 -> 0, 1.0 -> 1,...)
  • Fixture.getNextLiveTime date parsing fixed
  • improved handling of malformed market specifiers
  • added the possibility to get adjusted market mappings
  • added additional features to the ReplayManager play and playScenario methods
  • added support for using staging tokens on the replay server
  • added advanced replay event scenarios (available in the example project)
  • minor improvements on the feed session message interests checking
  • example projects updated to use staging as default environment
  • default staging broker URL fixed
  • log fixes and improvements

2.0.4 (2/20/2018)

  • exposure of additional information on the Fixture
  • added SDK support for MDC context tag(uf-sdk-tag)
  • improved recovery id generation logic
  • fixed ReplayManager.addSportEventToReplay method
  • improved WNS lotteries endpoint handling
  • minor fixes

2.0.3 (1/29/2018)

  • added support for the WNS producer
  • addition of "OutcomeResult" to OutcomeSettlement
  • OutcomeSettlement.isWinning deprecated in favour of "OutcomeResult"
  • entities ordinal name generation fix
  • other minor improvements and bug fixes

2.0.2 (1/15/2018)

  • added support for replay server node id
  • added support for seamless access to staging env(trough the configuration)
  • extended support for SDK configuration trough the properties file
  • exposure of named value ids(void reasons, betstop reason,...)
  • events cache improvements
  • variant markets caching update

2.0.1 (12/22/2017)

  • modification of the variant market name generation
  • introduced new fixture change types(the new types previously mapped to "OTHER")
  • further improvements on the cache loading system
  • added support for $event name template
  • added support for negative SDK node id
  • added additional replay server features(ReplayManager methods update)
  • default replay queue clearing removed
  • MarketMappingData.getProducerId deprecated, replaced with MarketMappingData.getProducerIds
  • PeriodStatistics.getTeamStatisticDTOS deprecated, replaced with PeriodStatistics.getTeamStatistics
  • EventClock.getRemainingDate deprecated, replaced with EventClock.getRemainingTime
  • other minor fixes/improvements/Javadoc fixes

2.0.0 (11/28/2017)

  • modification of the variant market name generation
  • addition of the Match.getEventTimeline
  • manual cache purge methods exposure
  • added support for LiveOdds booking
  • addition of the Tournament.getSeasons
  • additional player and competitor properties exposure
  • SDK node id support
  • javadoc fixes
  • improvements (tournament round loading, additional data exposure,..)
  • log improvements (API response messages, caching,..)
  • bug fixes
  • examples update

2.0.0 BETA-4 (11/6/2017)

  • SportEvent hierarchy overhaul - 'stage' support
  • added support for probability endpoints
  • improvements (player markets optimizations,..)
  • bug fixes

2.0.0 BETA-3 (10/9/2017)

  • Further recovery process improvements
  • Message validation
  • Virtual sports support
  • Addition of CurrentSeason.getSchedule()
  • Added additional examples
  • Added support for %server market name template
  • Various optimization to reduce GC impact on performance
  • Logs improvements
  • Other bug fixes
  • Minor Javadoc fixes

2.0.0 BETA-2 (9/18/2017)

  • Variant market name generation fix
  • Introduction of new ProducerDownReason and ProducerUpReason enum values
  • Added support for specific event recovery
  • Added a new method on the Producer object, getTimestampForRecovery - the return value of this method should be used to initiate a - SDK recovery after a manual restart
  • Improved support for event name generation(SportEvent.getName(Locale))
  • Introduction of a sport specific type object -> SoccerEvent
  • Breaking change: the SportEventStatus was replaced with the CompetitionStatus(added support for soccer statistics,...)
  • Breaking change: introduced a new type of SportEvent called LongTerm event which is than extended by Tournament and Season
  • Recovery procedure improvements
  • Stability improvements
  • Improvement of various log entries
  • Javadoc improvements and fixes
  • Other bug fixes

2.0.0.0 beta (8/28/2017)

  • Data translation fixes
  • Improved recovery manager
  • Improved Javadoc
  • Improved logs
  • Spelling corrections
  • PlayerOutcomeOdds introduction
  • Re-introduction of the enum PeriodType
  • SportsInfo interface renamed to SportsInfoManager
  • Replay feed initialization procedure updated
  • Added support for accessing sports without tournaments (SportsInfoManager.getSports())
  • And other fixes
  • NOTE: There will be minor changes in the SportEventStatus interface(including the addition of match statistics)

2.0.0.0 alpha (7/25/2017)

  • Initial release