Releases: SVappsLAB/iRacingTelemetrySDK
1.1.0 Release
Session WeekendOptions properties
- add new
IncidentWarningInitialLimitandIncidentWarningSubsequentLimitsession info properties
Documentation
- updated documentation
- revamped support for AI assisted development. updated contents, rules and examples
Samples
- added MinimalExample project
- fixed various issues in other sample projects
v1.0.0 - First Official Release
v1.0.0 - First Official Release
After extensive development and testing, iRacingTelemetrySDK is now ready for release!
Highlights & Key Features
This 1.0 release is built for performance and developer experience.
| Feature | Benefit |
|---|---|
| Strongly-Typed API | Utilizes Source Generation to provide compile-time validation and full IntelliSense support for all 200+ iRacing telemetry variables via TelemetryVar enums. |
| Modern Async Streaming | Implements a modern, channel-based asynchronous API that simplifies non-blocking data processing and handles automatic backpressure via a 60-sample ring buffer. |
| High Performance | Optimized to process over 600,000 telemetry records per second using lock-free channels, ensuring your application never misses a data point. |
| Dual Data Access | Seamlessly handle both Live Telemetry Streaming from an active iRacing session and IBT File Playback with the exact same, consistent API. |
| .NET 8.0+ Compatible | Fully compatible with modern .NET applications for cross-platform deployment. |
1.0.0-alpha.1
What Changed
The v1.0 release introduces two major architectural improvements:
- Enum-Based Variable System: Replaces string-based telemetry variable identification with strongly-typed enums
- Channel-Based Architecture: Uses System.Threading.Channels to stream the real-time data
- These changes provide compile-time safety, IntelliSense support, elimination of common runtime errors, and improved performance
Why These Changes Were Made
- Type Safety: Compile-time validation prevents invalid variable names
- Performance: 200% improvement, lock-free data structures
- IntelliSense Support: IDE can suggest available telemetry variables
- Modern Async Patterns: Native await foreach support with channels
- Better Backpressure: Slow consumers don't block real-time data collection and processing
- Developer Experience: Better error detection and code completion
Breaking Changes
- Variable Declaration: RequiredTelemetryVars specification uses enums instead of strings
- Event System: Async data streams instead of blocking event handlers
- Type System: Telemetry data records use nullable properties
Samples and Tests
Both Samples and test projects have been updated to use these new features. The MinimalExample sample is good place to start.
New variables, session info items, context for AI coding agents
New telemetry variables
PlayerIncidents - Logs incidents the player received with detailed flags
SessionTimeTotal - Official total race duration
SessionLapsTotal - Official total number of laps in session
CarDistAhead - Race line distance to car ahead
CarDistBehind - Race line distance to car behind
LFodometer - Left front tire distance traveled
RFodometer - Right front tire distance traveled
LRodometer - Left rear tire distance traveled
RRodometer - Right rear tire distance traveled
Shifter - Physical shifter position (-1 reverse/downshift, 0 neutral, 1-6 for gears/upshift)
New session info items
DriverInfo:DriverIsAdmin (0/1) - Whether player has admin privileges (coming next season)
DriverInfo:DriverGearboxType - Virtual car transmission type (Sequential/H-Pattern/Automatic/Unknown)
DriverInfo:DriverGearboxControlType - Physical shifter type being used
DriverInfo:DriverCarShiftAid - Active shift assistance (Manual/Antistall/etc.)
SessionInfo:CurrentSessionNum - Identifies which session the string represents
New context for AI coding assistants
AI_CONTEXT.md - Added a context file for AI coding agents. Includes documentation, patterns and examples for creating projects with this SDK. Attach this file to your AI coding tools (GitHub Copilot, Cursor, etc.) to enable context-aware code generation that follows the project's established conventions and patterns.
support continuations on any thread pool
bug fix - use ConfigureAwait() with library tasks
ISO-8859-1 encoding support
use ISO-8859-1 encoding for string data in variables and session info
CodeGen - clickable error messages
refactor code generator to provide better error handling and diagnostic messages.
when duplicate variable names or unknown variable names are detected, the diagnostics error list will include the location of the error. double clicking the error message in Visual Studio, will take you to the source file and show the error with the red squiggly
Pause/Resume feature
Add Pause/Resume functionality - allows telemetry event firing to be temporarily suppressed and resumed while background processing continues
Update the SpeedRPMGear sample to show how pause/resume works. Telemetry output is paused with the 'p' key, and resumed with the 'r' key.
add missing PitSvFlags and SteeringFFBEnabled variables
What's Changed
- add missing PitSvFlags and SteeringFFBEnabled variables by @SVappsLAB in #23
Full Changelog: v0.9.4...v0.9.5
Session Info - add new properties and example data
Merge pull request #22 from SVappsLAB/updateSeason3 Session Info - update with new properties and example data