Releases: LarsLaskowski/F1-Telemetry
Releases · LarsLaskowski/F1-Telemetry
Release list
v1.18.4
Docker images:
- Server:
networlddev/f1-telemetry:1.18.4 - Web app:
networlddev/f1-telemetry-app:1.18.4
What's Changed
- Bump hono from 4.13.2 to 4.13.7 in /F1ServerApp by @dependabot[bot] in #608
- Bump the npm-dependencies group in /F1ServerApp with 13 updates by @dependabot[bot] in #609
- Bump the nuget-dependencies group with 9 updates by @dependabot[bot] in #610
Full Changelog: v1.18.3...v1.18.4
v1.18.3
Docker images:
- Server:
networlddev/f1-telemetry:1.18.3 - Web app:
networlddev/f1-telemetry-app:1.18.3
What's Changed
- Resolve SonarQube findings in WebApi, Db, and Service code by @LarsLaskowski in #595
- Bump the actions group with 2 updates by @dependabot[bot] in #597
- Bump the npm-dependencies group in /F1ServerApp with 13 updates by @dependabot[bot] in #596
- Update OpenTelemetry and analyzer packages; fix log formatting by @LarsLaskowski in #598
- Bump the npm-dependencies group in /F1ServerApp with 14 updates by @dependabot[bot] in #599
- Bump the nuget-dependencies group with 1 update by @dependabot[bot] in #601
- Bump the actions group with 2 updates by @dependabot[bot] in #600
- Bump the actions group with 2 updates by @dependabot[bot] in #604
- Bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #603
- Bump the nuget-dependencies group with 2 updates by @dependabot[bot] in #605
- Bump browserslist from 4.28.1 to 4.28.8 in /F1ServerApp by @dependabot[bot] in #606
- Bump fast-uri from 3.1.5 to 3.1.7 in /F1ServerApp by @dependabot[bot] in #602
- Separate SonarQube analysis into dedicated CI job by @LarsLaskowski in #607
Full Changelog: v1.18.2...v1.18.3
v1.18.2
Docker images:
- Server:
networlddev/f1-telemetry:1.18.2 - Web app:
networlddev/f1-telemetry-app:1.18.2
What's Changed
- Bump Reihitsu.Analyzer to 1.0.0-rc1 and suppress RH4124 by @LarsLaskowski in #588
- Fix review findings F-311, F-291, F-475, F-473, F-293, F-468 by @LarsLaskowski in #589
- Fix F1ServerApp config/bootstrap review findings by @LarsLaskowski in #590
- Fix F1ServerApp Features/Models review findings by @LarsLaskowski in #591
- Clean up F1ServerApp: dead code, orphaned assets, inline styles by @LarsLaskowski in #592
- Fix SignalR live status detection and add version footer by @LarsLaskowski in #593
- Extract digest hash from Docker image inspection output by @LarsLaskowski in #594
Full Changelog: v1.18.1...v1.18.2
v1.18.1
Docker images:
- Server:
networlddev/f1-telemetry:1.18.1 - Web app:
networlddev/f1-telemetry-app:1.18.1
What's Changed
- Restore per-year inheritance chain for session data interfaces by @LarsLaskowski in #550
- Fix packet parsing correctness and robustness findings by @LarsLaskowski in #552
- Resolve low-severity interface consistency findings by @LarsLaskowski in #551
- Resolve remaining low-severity interface consistency findings by @LarsLaskowski in #553
- Clarify DeltaToCarInFront/DeltaToRaceLeader doc for 2024+ years by @LarsLaskowski in #554
- Model ActiveAeroMode as a dedicated enum instead of ushort by @LarsLaskowski in #555
- Fix session detection buffer handling and thread safety by @LarsLaskowski in #556
- Fix service-layer return values, factory reuse, and cache volatility by @LarsLaskowski in #557
- Improve RepositoryBase query/delete efficiency and AppMetrics hot path by @LarsLaskowski in #558
- Extract DbContext seed data, bound name columns, and document naming decisions by @LarsLaskowski in #559
- Move InfluxDB readiness check out of TelemetryWriter constructor by @LarsLaskowski in #560
- Report F1ServerApplicationData resolution failure to console by @LarsLaskowski in #561
- Fix keyboard handler on track sessions row by @LarsLaskowski in #562
- Avoid overlapping statistics polling requests by @LarsLaskowski in #563
- Fix literal 0 type instead of number in view API models by @LarsLaskowski in #564
- Remove dead NgModule wiring from app.module.ts by @LarsLaskowski in #565
- Remove unneeded --force flag from npm ci in F1ServerApp Dockerfile by @LarsLaskowski in #566
- Unify per-year track order between championship components by @LarsLaskowski in #567
- Add assert messages to tests missing them by @LarsLaskowski in #568
- Cover int8 sign parsing for F1 2021 packets in PacketSignedByteFieldsTests by @LarsLaskowski in #569
- Add missing per-year field assertions for session and lap data tests by @LarsLaskowski in #570
- Fix low-severity review findings across backend and frontend by @LarsLaskowski in #571
- Enable npm audit during F1ServerApp VS build by @LarsLaskowski in #572
- Suppress S8747 for narrowing column changes in EF Core migrations by @LarsLaskowski in #573
- Sanitize directory name in session folder rename by @LarsLaskowski in #574
- Gate diagnostic console output behind LoggerService by @LarsLaskowski in #575
- Clarify off-by-one cast from packet id to PacketTypes by @LarsLaskowski in #579
- Bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #576
- Fix SortPackets to use the Core header parser instead of raw offsets by @LarsLaskowski in #580
- Bump github/codeql-action from 4.37.5 to 4.37.6 in the actions group by @dependabot[bot] in #577
- Bump the nuget-dependencies group with 8 updates by @dependabot[bot] in #578
- Reuse F1Server.Core header parsing in F1PacketTester by @LarsLaskowski in #581
- Fix type coercion, subscription leaks, and silent HTTP errors in F1ServerApp by @LarsLaskowski in #582
- Move GamesComponent HTTP call from constructor to ngOnInit by @LarsLaskowski in #584
- Harden F1PacketTester, F1ReplayClient and F1SessionFolderRename tools by @LarsLaskowski in #583
- Reload tracks when reference time toggle changes by @LarsLaskowski in #585
- Simplify ProcessorFactory and repository construction by @LarsLaskowski in #586
- Strengthen F1Server.Tests packet coverage (2020-2026) by @LarsLaskowski in #587
Full Changelog: v1.18.0...v1.18.1
v1.18.0
Docker images:
- Server:
networlddev/f1-telemetry:1.18.0 - Web app:
networlddev/f1-telemetry-app:1.18.0
What's Changed
- Bump the actions group with 2 updates by @dependabot[bot] in #498
- Bump the nuget-dependencies group with 2 updates by @dependabot[bot] in #499
- Report packet converter errors instead of swallowing them silently by @LarsLaskowski in #500
- Populate and evaluate the packet analyzer error channel consistently by @LarsLaskowski in #501
- Reduce per-datagram allocations in the UDP receive path by @LarsLaskowski in #502
- Reuse packet transformation instances instead of allocating per packet by @LarsLaskowski in #503
- Bump ip-address from 10.2.0 to 10.4.0 in /F1ServerApp by @dependabot[bot] in #506
- Bump brace-expansion in /F1ServerApp by @dependabot[bot] in #505
- Fix slow session playback in the replay client by @LarsLaskowski in #507
- Bump socket.io-parser from 4.2.6 to 4.2.7 in /F1ServerApp by @dependabot[bot] in #508
- Bump fast-uri from 3.1.4 to 3.1.5 in /F1ServerApp by @dependabot[bot] in #509
- Bump undici from 6.27.0 to 6.28.0 in /F1ServerApp by @dependabot[bot] in #510
- Fix documentation findings from the repository review by @LarsLaskowski in #511
- Fix the F1 26 time trial team id and cover the untested packet paths by @LarsLaskowski in #512
- Document accepted pre-release and fork dependencies by @LarsLaskowski in #513
- Fix typo and naming findings across core, data access and tests by @LarsLaskowski in #514
- Bump the actions group with 3 updates by @dependabot[bot] in #517
- Fix small convention, dead code and invalid CSS findings across the solution by @LarsLaskowski in #515
- Bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #516
- Make data reading controller actions async end-to-end by @LarsLaskowski in #518
- Attach tracks to the newly created championship season by @LarsLaskowski in #522
- Keep the hours component in the formatted total race time by @LarsLaskowski in #523
- Batch the per-row queries in the data reading controllers by @LarsLaskowski in #524
- Address SonarQube findings and update npm dependencies by @LarsLaskowski in #525
- Replace Enum.ToObject with direct casts in ResultStatusMapper by @LarsLaskowski in #526
- Clarify XML docs for ApiSource and SrvSource fields by @LarsLaskowski in #527
- Replace event code magic strings with shared constants by @LarsLaskowski in #528
- Validate result status range in ResultStatusMapper by @LarsLaskowski in #529
- Make ILiveSessionData Drivers/TimeTable read-only by @LarsLaskowski in #530
- Handle unknown packet types and uninitialized raw data safely by @LarsLaskowski in #531
- Fix incorrect F12019TotalLapSize constant by @LarsLaskowski in #532
- Document RepositoryBase LastError contract for write/read methods by @LarsLaskowski in #533
- Remove undocumented tyre compound values 23-26 from mapper by @LarsLaskowski in #534
- Fix swapped qualifying grid positions in LoadTracks by @LarsLaskowski in #535
- Fix TrackId to preserve documented -1 unknown value by @LarsLaskowski in #536
- Fix hot-path allocations, a fragile subquery, and CD overhead by @LarsLaskowski in #537
- Fix ConfigureAwait consistency and NRT annotations by @LarsLaskowski in #538
- Fix sprint column binding and final classification field names by @LarsLaskowski in #539
- Fix db error metric cardinality and interceptor span duration by @LarsLaskowski in #540
- Fix subscription leaks and push live session data over SignalR by @LarsLaskowski in #541
- Fix live session broadcast gaps in the SignalR push by @LarsLaskowski in #542
- Invert Service to WebApi dependency and thin out the championship controller by @LarsLaskowski in #543
- Move the business logic of the remaining controllers into the service layer by @LarsLaskowski in #544
- Update 2021 final classification to use correct car size by @LarsLaskowski in #545
- Remove unused EF Core PackageReference from F1Server.Core by @LarsLaskowski in #546
- Deduplicate session history lap extraction for 2023-2026 by @LarsLaskowski in #547
- Remove dead IParticipants interface by @LarsLaskowski in #548
- Simplify PacketHeader to single IHeader interface by @LarsLaskowski in #549
Full Changelog: v1.17.4...v1.18.0
v1.17.4
Docker images:
- Server:
networlddev/f1-telemetry:1.17.4 - Web app:
networlddev/f1-telemetry-app:1.17.4
What's Changed
- Bump the actions group with 2 updates by @dependabot[bot] in #474
- Bump the nuget-dependencies group with 3 updates by @dependabot[bot] in #476
- Bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #475
- Bump tar from 7.5.16 to 7.5.21 in /F1ServerApp by @dependabot[bot] in #480
- Bump hono from 4.12.26 to 4.12.32 in /F1ServerApp by @dependabot[bot] in #477
- Bump immutable from 5.1.6 to 5.1.9 in /F1ServerApp by @dependabot[bot] in #478
- Bump fast-uri from 3.1.2 to 3.1.4 in /F1ServerApp by @dependabot[bot] in #479
- Bump postcss from 8.5.15 to 8.5.23 in /F1ServerApp by @dependabot[bot] in #481
- Add AGENTS.md and update PR template and contribution guidelines by @LarsLaskowski in #482
- Pin container HTTP port to 80 in production image by @LarsLaskowski in #483
- Remove stale StyleCop.json references from docs by @LarsLaskowski in #484
- Fix outdated Assert.ThrowsExceptionAsync guidance in docs by @LarsLaskowski in #485
- Guard statistics averages against a zero packet count by @LarsLaskowski in #486
- Remove sync-over-async database access from fastest lap cache by @LarsLaskowski in #487
- Keep fastest lap cache uninitialized after a cancelled warm up by @LarsLaskowski in #488
- Start the live session timer only once and dispose it safely by @LarsLaskowski in #489
- Invalidate the fastest lap cache when laps of a session change by @LarsLaskowski in #490
- Guard the invalid session flag reset against a removed session by @LarsLaskowski in #492
- Add rereview-pr skill for follow-up PR reviews by @LarsLaskowski in #494
- Observe fire-and-forget startup tasks in WebHosting by @LarsLaskowski in #493
- Log and count header parse errors instead of swallowing them by @LarsLaskowski in #495
- Clarify PR and skill workflow conventions and attribution rules by @LarsLaskowski in #496
- Update Reihitsu.Analyzer and bump frontend version by @LarsLaskowski in #497
Full Changelog: v1.17.3...v1.17.4
v1.17.3
Docker images:
- Server:
networlddev/f1-telemetry:1.17.3 - Web app:
networlddev/f1-telemetry-app:1.17.3
What's Changed
- Remove Node.js version 25 from CI workflow by @LarsLaskowski in #469
- Add pull request template based on recent PR conventions by @LarsLaskowski in #470
- Bump the nuget-dependencies group with 16 updates by @dependabot[bot] in #473
- Bump the actions group with 4 updates by @dependabot[bot] in #471
- bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #472
Full Changelog: v1.17.2...v1.17.3
v1.17.2
Docker images:
- Server:
networlddev/f1-telemetry:1.17.2 - Web app:
networlddev/f1-telemetry-app:1.17.2
What's Changed
- Remove F1ReplayClient launchSettings from repo tracking by @LarsLaskowski in #465
- Guard ReadExactly against oversized replay packet files by @LarsLaskowski in #466
- Reduce tracing volume in the per-packet hot path by @LarsLaskowski in #467
- Replace polling queue workers with System.Threading.Channels by @LarsLaskowski in #468
Full Changelog: v1.17.1...v1.17.2
v1.17.1
Docker images:
- Server:
networlddev/f1-telemetry:1.17.1 - Web app:
networlddev/f1-telemetry-app:1.17.1
What's Changed
- Create the DbContext lazily in SessionProcessor instead of per Session packet by @LarsLaskowski in #462
- Create SessionHistory DbContext lazily and make lap-diff detection converge by @LarsLaskowski in #463
- Use set-based deletes for session cleanup paths by @LarsLaskowski in #464
Full Changelog: v1.17.0...v1.17.1
v1.17.0
Docker images:
- Server:
networlddev/f1-telemetry:1.17.0 - Web app:
networlddev/f1-telemetry-app:1.17.0
What's Changed
- Harden mutating session endpoint and CORS, correct auth docs by @LarsLaskowski in #385
- Update versions and Dockerfile, remove pipeline from solution by @LarsLaskowski in #386
- Enhancement/fix ci workflow sonar issues by @LarsLaskowski in #387
- Fix out-of-bounds header read for F1 2023+ packets (F-024) by @LarsLaskowski in #388
- Validate packet length against expected size in all packet converters by @LarsLaskowski in #389
- Fix Reihitsu region-naming warnings and migrate off Angular animations by @LarsLaskowski in #390
- Add launch config for F1ServerApp and region rename cleanup by @LarsLaskowski in #391
- Exclude .packet sample data files from SonarQube analysis by @LarsLaskowski in #392
- Fix systematic F1 2019 car telemetry parsing by @LarsLaskowski in #393
- Fix ExtractLapPositions2026 never setting retValue to true by @LarsLaskowski in #394
- Fix SteeringAssistFirst setter writing wrong backing field by @LarsLaskowski in #395
- Fix UpdateRange/UpdateRangeAsync never returning true on success by @LarsLaskowski in #396
- Add MIT license file by @LarsLaskowski in #397
- Fix PenaltyType off-by-one in event packet parsing by @LarsLaskowski in #398
- Add skill definitions and PR/commit guidelines by @LarsLaskowski in #399
- Fix lap positions offset shift after LapStartIndex by @LarsLaskowski in #400
- Harden skills against AI-attribution leaking into PR text by @LarsLaskowski in #401
- Guard unsafe packet header reads in F1PacketTester against short files by @LarsLaskowski in #402
- Fix data race in SortPackets progress counter by @LarsLaskowski in #403
- Fix fire-and-forget ConfigureAwait in telemetry completion by @LarsLaskowski in #404
- Fix int8 packet fields being decoded as unsigned bytes by @LarsLaskowski in #405
- Fix BestLapTimeInMs cast order truncating 2020 lap times by @LarsLaskowski in #406
- Make MSSQL TrustServerCertificate configurable by @LarsLaskowski in #407
- Fix Sector3Time truncation in time trial packet parsing by @LarsLaskowski in #408
- Fix DeltaTo*Minutes fields reading two bytes instead of one by @LarsLaskowski in #409
- Fix trailing bounds checks in car telemetry packet parsing by @LarsLaskowski in #410
- Harden controller endpoints against invalid input and unbounded work by @LarsLaskowski in #411
- Fix team lookup for personal and rival teams in telemetry by @LarsLaskowski in #412
- Clean up XML doc typos, null-check style, and test/tooling code by @LarsLaskowski in #413
- Docs converted to MD format by @LarsLaskowski in #414
- Disable unimplemented laps overlay button in sessions table by @LarsLaskowski in #415
- Exclude secrets, env files, and build artifacts from Docker build context by @LarsLaskowski in #416
- Format all numeric InfluxDB line-protocol fields with invariant culture by @LarsLaskowski in #417
- Rethrow and log database migration failures in InitDatabase by @LarsLaskowski in #418
- Cache live driver data on participant runtime for O(1) per-car lookups by @LarsLaskowski in #440
- Remove per-packet timeout timer restart and make packet counters atomic by @LarsLaskowski in #439
- Raise PacketReceived only on game version or session changes by @LarsLaskowski in #438
- Replace ConcurrentQueue.Count sampling with O(1) counters in the packet path by @LarsLaskowski in #437
- Downgrade per-packet log messages in TelemetryClient to trace level by @LarsLaskowski in #436
- Resolve Sonar issues in tests, telemetry controller and startup by @LarsLaskowski in #441
- Prevent duplicate lap rows from session history processing by @LarsLaskowski in #442
- Add CarTelemetry2 row to packet types UI by @LarsLaskowski in #443
- Enhancement/replayclient show cartelemetry2 packets by @LarsLaskowski in #445
- Introduce DbContext pooling behind RepositoryFactory by @LarsLaskowski in #444
- Add carTelemetry2 metrics to session statistics tables by @LarsLaskowski in #447
- Fix missing database writes for F1 2026 sessions by @LarsLaskowski in #451
- Hold TypeScript major updates in npm Dependabot group by @LarsLaskowski in #452
- Bump the npm-dependencies group in /F1ServerApp with 12 updates by @dependabot[bot] in #453
- Bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #448
- Bump the nuget-dependencies group with 5 updates by @dependabot[bot] in #454
- Refactor migration and indexer formatting for clarity by @LarsLaskowski in #455
- Move lap telemetry persistence to an async background database writer by @LarsLaskowski in #446
- Reuse replay TCP connection with length-prefixed packet framing by @LarsLaskowski in #456
- Remove unused StartClient method and refactor DbContext configuration by @LarsLaskowski in #457
- Persist car telemetry batches through an insert-only path by @LarsLaskowski in #458
- Enable Windows targeting in F1ReplayClient project by @LarsLaskowski in #459
- Resolve new lap id from the AddOrRefresh after callback in AddLap by @LarsLaskowski in #460
- Remove EF auto-includes from hot lap and telemetry queries by @LarsLaskowski in #461
New Contributors
- @LarsLaskowski made their first contribution in #385
Full Changelog: v1.16.3...v1.17.0