Releases: JustAman62/undercut-f1
Release list
v4.0.103 Smooth driver tracker movements
Notable
Thanks to @ziofil, there is a new opt-in driver tracker experience which smoothes out the driver tracker movements. This improves significantly over the existing jumpy movements.
To use this feature, set the enablePositionSmoothing configuration to true. For more information on how to set configs, see the README.
What's Changed
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #245
- Fix deserialization of github tags for version check by @JustAman62 in #246
- Smooth driver-tracker car positions by @ziofil in #247
- Bump MS, HarfBuzzSharp, JsonSchema, Whisper deps by @JustAman62 in #249
- Disable EnablePositionSmoothing by default by @JustAman62 in #250
New Contributors
Full Changelog: v4.0.89...v4.0.103
v4.0.89 Strategy Analysis Improvements
Notable
- A new chart has been added to the Timing History screen, displaying the lap-by-lap delta lap time to the average lap time for each lap. The intent here is to provide a chart which normalises the changes in lap time over the race (e.g. due to fuel usage, weather changes, safety cars) away, allowing you to see the pure pace changes over the race. See the README for more information.
What's Changed
- Dim compound text when a driver puts used tyres on by @JustAman62 in #225
- Bump Microsoft.CodeAnalysis.Analyzers and Microsoft.CodeAnalysis.CSharp by @dependabot[bot] in #224
- Add a Average Lap Time chart to the Timing History screen by @JustAman62 in #226
- Remove all support for TeamRadio data and Audio playback by @JustAman62 in #227
- Revert "Merge pull request #227 from JustAman62/remove-team-radio" by @JustAman62 in #238
- Cleanup column widths on driver select screen by @JustAman62 in #239
- Support extra informational fields in RaceControlMessages by @JustAman62 in #240
Full Changelog: v4.0.73...v4.0.89
v4.0.73 Workaround heartbeat issue for Japan GP 2026
Minor release mostly just deps and process cleanup. Main fix is for #214, where we now handle strange heartbeat data points when importing old sessions (in this case the Suzuka GP) which caused the session clock to be incorrect and jump forward 24 laps.
What's Changed
- Remove DRS car data channel, as it's no longer available in 2026 by @JustAman62 in #196
- Upgrade MS packages to 10.0.2 and JsonSchema by @JustAman62 in #200
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #198
- Document more of the driver status flags for races by @JustAman62 in #203
- Workaround weird heartbeat data stream when downloading old sessions by @JustAman62 in #215
- Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #204
- Bump docker/login-action from 3 to 4 by @dependabot[bot] in #205
- Bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #206
- Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #207
- Bump deps by @JustAman62 in #216
- Switch to Trusted Publishing for NuGet packages by @JustAman62 in #217
Full Changelog: v4.0.51...v4.0.73
v4.0.51 Application Packaging Improvements
Notable
- Login with your F1TV account from inside the application, without having to run a separate CLI command. This also means you can sign in after you begin a session (in case you forget to do so before), without losing your progress
- We've begun a path towards being AOT-compatible and producing only AOT builds. This isn't complete yet, but with this release we now support trimming.
- benefits here include faster startup performance, and smaller binary sizes (between 25-50% depending on platform and installation method)
- Upgrade to dotnet 10
What's Changed
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #166
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #163
- Set version to '4.0' by @JustAman62 in #167
- Upgrade to dotnet 10 [req homebrew formula change] by @JustAman62 in #168
- Bump csharpier from 1.2.0 to 1.2.3 by @dependabot[bot] in #170
- Bump JsonSchema.Net and JsonSchema.Net.Generation by @dependabot[bot] in #172
- Bump SharpWebview from 0.11.3 to 0.13.0 by @dependabot[bot] in #175
- Bump Serilog.AspNetCore from 9.0.0 to 10.0.0 by @dependabot[bot] in #174
- Bump Microsoft.NET.Test.Sdk from 18.0.0 to 18.0.1 by @dependabot[bot] in #173
- Login to F1TV after a session has already started by @JustAman62 in #169
- Restart timing client when config files change by @JustAman62 in #176
- Upgrade packages by @JustAman62 in #186
- Generate OpenApi docs using Microsoft.OpenApi instead of Swashbuckle by @JustAman62 in #187
- Support AOT publishing by @JustAman62 in #183
- Serialize imported data in to single lines by @JustAman62 in #195
Full Changelog: v3.4.32...v4.0.51
v3.4.32 Add missing API endpoints, improve linux compatibility
Notable
- Improved Linux compatibility by implementing a common fudge for Nvidia/Wayland issues (#144) and using more static dependencies (#151)
- Add some missing API endpoints for e.g. Car and Position data (#164)
What's Changed
- Set WEBKIT_DISABLE_DMABUF_RENDERER for preemptively handle Nvidia <> Wayland issues by @JustAman62 in #152
- Include more static dependencies for SkiaSharp by @JustAman62 in #153
- Bump Nerdbank.GitVersioning from 3.8.118 to 3.9.50 by @dependabot[bot] in #148
- Bump nbgv from 3.8.118 to 3.9.50 by @dependabot[bot] in #147
- Bump csharpier from 1.1.2 to 1.2.0 by @dependabot[bot] in #146
- Upgrade Serilog to 4.3.0 by @JustAman62 in #154
- Add missing timing data API endpoints by @JustAman62 in #165
Full Changelog: v3.4.16...v3.4.32
v3.4.16 Fix Prevent Sleep on Windows
This is a quick patch release to fix an issue with the previous v3.4.12 release.
Notable
- Fixes a bad support check for Windows in the Prevent Display Sleep functionality. Relates to #142.
What's Changed
- Prevent CodeGenerator package from being packed to NuGet by @JustAman62 in #141
- Upgrade to InhibitSleep.Net 0.1.11 to fix Windows support check by @JustAman62 in #143
Full Changelog: v3.4.12...v3.4.16
v3.4.12 Select two drivers for persistent comparison in race sessions
Notable
- New functionality to select two drivers in the Timing Tower during Race sessions for a persistent comparison. Closes #126.
- Selecting drivers with the C key with your cursor (up/down arrows) will update the bottom panel with a persistent comparison chart for those two drivers.
- This allows you to keep tabs on a battle between two drivers even if they aren't next to each other on track.
- Re-add pit-stop times to the the strategy page. This data is only available if you import an already completed session, and is not available live. Closes #127.
- On macOS, when using
undercutf1 login, the opened WebView now support basic keyboard shortcuts (e.g. copy/paste) - On macOS/Windows, prevent the display from sleeping whilst
undercutf1is running.- This should help avoid accidental sleeps causing disconnects, and of course keep the screen visible during the session despite your sleep settings.
- This feature is opt-in, and can be enabled by adding
"preventDisplaySleep": trueto your config file or passing--prevent-sleepat the command line. See https://github.com/JustAman62/undercut-f1#configuration for configuration documentation.
What's Changed
- Bump FFMpegCore from 5.2.0 to 5.3.0 by @dependabot[bot] in #122
- Add optional capability to prevent display sleep by @JustAman62 in #125
- Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0 by @dependabot[bot] in #123
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #128
- Bump nbgv from 3.7.115 to 3.8.118 by @dependabot[bot] in #129
- Show pit stop times in Tyre Stint screen again by @JustAman62 in #130
- Upgrade LiveChartsCore and SkiaSharp by @JustAman62 in #131
- Set version to '3.4' by @JustAman62 in #132
- Bump Nerdbank.GitVersioning from 3.7.115 to 3.8.118 by @dependabot[bot] in #134
- Bump NSubstitute from 5.0.0 to 5.3.0 by @dependabot[bot] in #135
- Bump FFMpegCore from 5.3.0 to 5.4.0 by @dependabot[bot] in #133
- Support common keyboard shortcuts in login window on macOS by @JustAman62 in #139
- Allow selecting two drivers for persistent comparison charts by @JustAman62 in #140
Full Changelog: v3.3.51...v3.4.12
v3.3.51 Show per-round qualifying times for highlighted drivers
Notable
- In Qualifying sessions, the cursor on the main Timing Screen now lets you highlight drivers to see what lap times they've posted in Q1, Q2, and Q3. This lets you easily see if they're improving between sessions, how many fast laps they've done, and what the impact of a deleted lap time would be.
- Some minor cleanups for the F1 login command, to make sure it works properly when tokens are expired.
What's Changed
- Cleanup Terminal Graphics queries by @JustAman62 in #115
- Improve login instructions and allow login after expiry by @JustAman62 in #117
- Bump MS packages and JsonSchema.Net by @JustAman62 in #118
- Bump JsonSchema.Net.Generation from 5.1.0 to 5.1.1 by @dependabot[bot] in #110
- Bump MS packages to 9.0.10 by @JustAman62 in #120
- Record Qualifying Laps by round, and display in Timing Screen by @JustAman62 in #121
Full Changelog: v3.3.34...v3.3.51
v3.3.34 Fix guided account login on Windows
Notable
- Fixes the guided F1 account login experience on Windows (see #93)
- Fixes terminal graphics when using the latest version of iTerm2
What's Changed
- Bump FFMpegCore from 5.1.0 to 5.2.0 by @dependabot[bot] in #88
- Bump csharpier from 0.30.6 to 1.1.2 by @dependabot[bot] in #87
- Bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #81
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #82
- Remove coverlet.collector by @JustAman62 in #92
- Bump Microsoft.Extensions.Configuration and 3 others by @dependabot[bot] in #89
- Fix incorrect thread state for WebView on Windows by @JustAman62 in #94
- Prevent dockerhub login for dependabot by @JustAman62 in #102
- Always build but don't always push docker images in CI by @JustAman62 in #104
- Bump nbgv from 3.6.133 to 3.7.115 by @dependabot[bot] in #100
- Bump Microsoft.NET.Test.Sdk from 17.7.1 to 17.14.1 by @dependabot[bot] in #101
- Bump JsonSchema.Net and JsonSchema.Net.Generation by @dependabot[bot] in #99
- Upgrade webview to resolve windows loopback issue by @JustAman62 in #105
- Upgrade AutoMapper to 14 by @JustAman62 in #106
- Prefer iTerm graphics protocol when enabled by @JustAman62 in #114
New Contributors
- @dependabot[bot] made their first contribution in #88
Full Changelog: v3.3.1...v3.3.34
v3.3.1 Support F1 TV Account authentication to access restricted timing feeds
Notable
Since the 2025 Dutch GP, F1 have made some changes to the publicly available live timing feeds (see #74). Some of the feeds we use to power features like the Driver Tracker map are now restricted behind an F1 TV account. This release introduces functionality to allow users to login to their F1 TV account (with any of the F1 TV paid subscriptions) to unlock access to this newly restricted data. See the account section of the README for more information. Logging in is as simple as running undercutf1 login and following the instructions.
It's important to note that the majority of the functionality of undercutf1 (like the timing screens, race control messages, timing history, pit strategy details, etc) continue to work without a F1 TV account. The account login is a completely optional way to get access to more data. Additionally, if you use undercut-f1 to replay sessions after they finish (e.g. by importing completed session data with undercutf1 import), then all data feeds are still available, no F1 TV account or subscription required.
The account login experience is powered by https://github.com/webview/webview. It should work out-of-the-box on Windows/Mac, and most distributions of Linux seem to include the required WebKitGTK. If it doesn't work for you, check out their README to see if you are missing any dependencies. You can also see the README for instructions on how to login without using the guided web view experience. If you experience any issues, please feel free to raise an issue on GitHub!
What's Changed
- Switch back to the SignalR Core timing endpoint by @JustAman62 in #76
- Remove TyreStintSeries and use TimingAppData directly for stint data by @JustAman62 in #77
- Support signing in with an F1 TV account to access all live timing data by @JustAman62 in #78
- Explain why some data is missing when no it may be due to no F1 TV login by @JustAman62 in #79
- Use PitLaneTimeCollection instead of PitStopSeries to show pit lane times by @JustAman62 in #80
Full Changelog: v3.2.23...v3.3.1
