Releases: AdrianJSClark/aydsko-iracingdata
2404.2.1
Fixes / Changes:
-
Season Driver Standings Deserialization Failure (Issue #224)
Fixed an issue where the "SeasonDriverStandings" deserialization would fail
due to the "avg_start_position" property containing non-integer data. -
Support "Legacy Authentication" Setting Failure Response (Issue #223)
Added support for the "Legacy Authentication" setting in the iRacing
account settings. This setting will be required to login to the
"/data API" after iRacing enables multi-factor authentication (aka "2FA").If the setting is not enabled, an "iRacingLoginFailedException" will be
thrown when attempting to login with the new "LegacyAuthenticationRequired"
property set to "true" and the following message:Access was denied with message "legacy authorization refused"
2404.2.0
Fixes / Changes:
-
Season Driver Standings Deserialization Failure (Issue #224)
Fixed an issue where the "SeasonDriverStandings" deserialization would fail
due to the "avg_start_position" property containing non-integer data. -
Support "Legacy Authentication" Setting Failure Response (Issue #223)
Added support for the "Legacy Authentication" setting in the iRacing
account settings. This setting will be required to login to the
"/data API" after iRacing enables multi-factor authentication (aka "2FA").If the setting is not enabled, an "iRacingLoginFailedException" will be
thrown when attempting to login with the new "LegacyAuthenticationRequired"
property set to "true" and the following message:Access was denied with message "legacy authorization refused"
2404.0.0
Contributions:
- From Łukasz Zborek (https://github.com/lukaszzborek)
- Change precipitation chance to decimal (Pull Request #222)
Thanks for helping out with pull requests to the library!
2403.3.0
2403.2.0
Contributions:
- From Kevin O'Neill (https://github.com/kevinoneill):
- Library Considers Itself "Logged In" Despite Authentication Exception (Issue #213)
Fixes / Changes:
- 504 response can't be deserialized to ErrorResponse (Issue #214)
- Include pre-built URL values on the "CarAssetDetail" class
2403.1.0
BREAKING CHANGES:
-
"RecentEvents" type:
- Properly interpret "BestLapTime" as "TimeSpan" similar to other times
- "PercentRank" is now a "decimal" type instead of "int"
-
"ResultsWeather" type:
- Removed "SimulatedStartUtcTime" and "SimulatedStartUtcOffset" fields
- Changed data type of "SimulatedStartTime" field to "DateTime"
-
"Results.CarsInClass" type:
- Removed "PackageId" field
-
"Results.ResultsCarClasses" type:
- Removed "RelativeSpeed" field
-
"Schedule" type:
- Removed "SimulatedTimeMultiplier" field
-
"Series.Weather" type:
- Removed "SimulatedStartUtcTime" field
Fixes / Changes:
-
Incorrect datatype for RecentEvents.PercentRank field (Issue: #210)
-
2024 Season 3 Patch 2 Field Changes (Results & Series Seasons) (Issue: #211)
- "SubSessionResult" type additional fields "NumberOfDrivers", "EventBestLapTime", "SessionSplits"
- "Result" type additional field "CarName"
- "Results.ResultsCarClasses" type new fields "StrengthOfField" and "NumberOfEntries"
2403.0.0
BREAKING CHANGES:
Aydsko.iRacingData.Results.SessionResultsWeather
several properties have had their type changed todecimal
to properly represent the data. (Issue: #202)AddIRacingDataApi
method now returnsIHttpClientBuilder
Contributions:
- From Łukasz Zborek (https://github.com/lukaszzborek):
Thanks for helping out with pull requests to the library!
Fixes / Changes:
2402.2.0
BREAKING CHANGES:
- "Aydsko.iRacingData.Results.SessionResultsWeather" several properties have had their type changed to "decimal" to properly represent the data. (Issue: #202)
Fixes / Changes:
- New property "AverageLapTime" on "Aydsko.iRacingData.Results.RaceSummary" to give a proper duration representation of the "AverageLap" value.
2402.1.0
BREAKING CHANGES:
- "EventAverageLap" property on "SubSessionResult" has been changed to "TimeSpan" to better represent the data it contains.
- "ConfigName" property on "Aydsko.iRacingData.Common.Track" has been changed to a nullable string. If the track configuration name is the constant value "N/A" or null, this property will return null.
- Time offsets converted from being integer minutes to TimeSpan.
- "Aydsko.iRacingData.Results.ResultsWeather" class "SimulatedStartUtcOffset" property.
- "Aydsko.iRacingData.Hosted.HostedSessionWeather" class "SimulatedTimeOffsets" property.
Fixes / Changes:
- New property on "Tracks.Track" called "PitRoadSpeedLimitKph" which returns the pit road speed limit in kilometers per hour.
- Property "ProPromotable" on "MemberLicense" has been renamed to "Promotable".
- New properties "Sequence" and "CategoryName" on "MemberLicense".
- Weather support!
- New classes "Results.ResultsWeather" and "Hosted.HostedSessionWeather" to represent weather data.
- New enum "WindDirection".
- Use Cookies from CookieContainer when RestoreCookies is not set (#200)
2304.1.0
Fixes / Changes:
-
BREAKING CHANGE: Enumeration added for League Session "Status" field. (Issue: #182)
- Previous "int" value available as "StatusRaw" property.
-
Removal of legacy "Microsoft.AspNetCore.WebUtilities" dependency, replaced with custom code.
-
.NET 8 Support
- Projects are built using the .NET 8 SDK
- Dependencies updated
- .NET 8 targeted build included
-
Check Club Image Paths (Issue: #189)
-
Fix "Interval" property on "SubsessionChartLap" so it doesn't throw an exception when driver has been lapped, which is a valid situation.
-
Fix "Implementing SaveCookies and RestoreCookies does not prevent unnecessary logins" (Issue: #186)
- If you implement the "SaveCookies" and "RestoreCookies" methods and the cookies are for the correct domain, then the library will not attempt to login again.
-
"DataClient" class is now "public" so it can be used outside of the library. It is still recommended to resolve the "IDataClient" interface from the DI container in most situations.
-
Fix "Auth concurrency issues" (Issue #185)
- The library now uses a semaphore to prevent multiple login attempts at the same time on the same instance of the "DataClient" class.
Contributions:
- From Tobias Zürcher (https://github.com/tobiaszuercher):
- Add missing car_class_name & car_class_short_name (Pull Request: #190)
Thanks for helping out with pull requests to the library!
New Versioning Scheme:
Ideally you should always use the latest version of the library that is available. This is because iRacing will sometimes introduce API changes during a release which make the old code incompatible.
This library will use version numbers will be in the format:
[YY][SS].[R]
Where:
- YY = two digit year
- SS = the iRacing season the library release was made in as a zero-padded number (i.e. 01, 02, 03, 04)
- R = release number, which increments when changes are made although it may not be sequential
Example:
- 2303.1 = changes compatible with iRacing 2023 Season 3 or later, and is release 1 during this season