Version 4.18.4.0

A major release with many new features and lots of internal changes that should not be visible.
Properties have been added that allow the user to disable all unused speech commands, improving the recognition accuracy for commands that you actually use, see:
- Identify opponents by driver name
- Identify opponents by race position
- Identify opponents by relative race position
to disable some of the worst offenders.

It is now possible to remove entries from the speech_recognition_config.txt file, located in the installation directory, improving the recognition accuracy of what remains. Note that if you remove them from this file, but have a user-level file in your documents folder, the commands will continue to be available.

Don't forget to read the FAQ on speech recognition to get the most out of Crew Chief https://mr_belowski.gitlab.io/CrewChiefV4/VoiceRecognition_InstallationTraining.html and in particular do not forget to set these accordingly:
- Prefer Windows speech recogniser
- Speech recognition country
noting that if you need to change the audio input device you will need to use naudio (and likely match the sampling rate to your microphone).

If you still encounter problems, make sure to enable "Write speech recognition debug data" and listen to your WAV recordings to get an understanding of what CrewChief is hearing. If it is loud and clear, that's when it starts to be a recognition problem rather than a hardware setup problem.

If your microphone is too quiet and the Windows mixer is unable to reach the levels you need, consider installing a software booster such as https://sourceforge.net/projects/equalizerapo/
A new experimental fuel calculator is available for use and has to be enabled via the Property Experimental fuel calculation (otherwise the older algorithm continues to be used).

The new calculator estimates the number of laps for timed races, allowing both kinds of race sessions to share fuel usage data and settings. This becomes even more accurate as the race plays out and the fastest laps of the leaders (including multi-class) are accounted for. If the (existing) "Save pit stop benchmark times to disk" feature is used, the times will be used to greatly improve the accuracy of the estimate, and the amount of fuel that is taken on during the pit benchmarks is taken into account (so you can have benchmarks for a full tank, and each series that you race in, which should be good news for iRacing GT3 drivers who dabble with IMSA and endurance events).

Fuel usage will be persisted between sessions (to fuel_usage.json) to improve the accuracy of the fuel usage estimates, and the "pit window will open" call should arrive earlier and be a lot more accurate than previous. This file can be manually curated (or shared with your team) and will only ever store 5 sessions worth of data for any car / track combination.

The way the new calculator works is that the projected fuel usage per lap is on a sliding scale from the most typical lap through to the most fuel intensive lap, only considering green flag laps. The sliding scale is user selected and can be anywhere from 50% (the "median" fuel usage) to 100% (the lap that used the most fuel). Additional margin is added for ovals, and also for tracks depending on their length (so your margin at the Nordscheifle can be different to Lime Rock).

The new Properties are:
- Experimental fuel calculation
- Experimental fuel percentile
- Experimental fuel extra laps to include for ovals
- Experimental fuel reserve (long)
- Experimental fuel reserve (medium)
- Experimental fuel reserve (short)
which are set to sensible conservative values to begin with.

The margins can be changed dynamically with voice commands
- "play it safe on fuel"
- "roll the dice on fuel"
- "reset the fuel plan"
which will double or half the margin, accordingly. For example, if you have been pack racing and fuel saving (i.e. drafting and not reaching full throttle on the straight) you might want to "play it safe on fuel" and get a little bit more margin for when you are in clean air.

CC reports estimated laps left in timed races.
The focus is shortened to the next pit stop instead of saying  "we estimate 142 laps left" and "we'll need 273 litres of fuel"
[Subtitle] You: how long's left
[Subtitle] Jim: 3:hours 48 minutes to go
[Subtitle] Jim: we estimate 18 laps of fuel left

[Subtitle] You: how's my fuel
[Subtitle] Jim: should be about 17:laps of fuel remaining 2.8 litres per lap
[Subtitle] Jim: and we'll need to stop again to get to the end


Don't forget to "Enable iRacing auto refuelling when entering pit in race" if you want to use CrewChief instead of the iRacing autofueller (which must be disabled), or always ask Jim to refuel you manually using a voice command.
This is obviously a very important feature for many racers, so any feedback is greatly appreciated and it is highly recommended that prior to any races that you enable "Make the trace recording button visible" and click the tick to record all the telemetry from the race so that the CrewChief developers can investigate any problems that you encounter (this typically generates ~50MB of data for an hour long race).
Thanks to the team at Garage61 we now have the ability to visualise all the iRacing tracks and are actively seeking contributors to update our database! Please come to the CrewChief discord and ask how you can help out as we have a lot of tracks to add, it requires nothing more than a text editor and a web browser to help.

Some tracks have been updated, most notably all configurations of the Nordschleife, so good luck studying the track map to understand what Jim is saying. If there's an incident in Quiddelbacher Hoehe you know you're in trouble.
Jim is now able to tell you about the rating and safety license of drivers around you in iRacing and RaceRoom. He will also keep you informed if the car you are approaching is a lapped car and if the car coming from behind is coming to lap you, long before the blue flags come out. This is especially useful in series that do not use blue flags and Jim will encourage you to let them past.

Jim also got a bit better at closing the radio instead of giving out of date information, if you hear him opening and closing the radio a lot, consider disabling "Enable radio beeps" or asking him how his day is going.

If you want to know what car number your opponents are sporting, make sure to enable "Opponents identified by name and number" which will let Jim know to use their name and number even if he knows their name.

A heuristic reputation system has been added for iRacing, allowing you to agree with Jim how to detect if other drivers might have a less-than-admirable reputation. This is off by default but can be enabled with the following Properties
- Reputation Messages
- Club Reputations
- Rating Reputation
- Tenure Reputation

He's not yet able to recognise Red Bull Liveries, so you're on your own there.

The "Club" is intended to be used as a proxy for network latency so will be heavily dependent on where you are in the world. See https://iracingdata.com/charts/IncidentsPerClub for some interesting statistics. For example if you're in Europe you might want to consider adding "International" to the list and if you're in the US or Australia you might want to consider adding "International" to the list.

The "Rating" is an absolute minimum threshold and although you may be told about a driver's rating in their description, this cuts straight to the chase. It is intended to be used to filter drivers who are *very* far below your level and are likely to cause you harm by being "helpful" instead of predictable.

The "Tenure" is a proxy for how long drivers have been using the service. As a point of reference, drivers with id 980000 started using the service around 3 months ago as this is written (Feb 2024) and this can be moved forward 10000 every month or so to continue using that kind of threshold.

During a race, you can tell Jim to "mark the driver [ahead/behind] as dirty" which will be remembered for following races. If you weren't able to catch the guy that divebombed you from 10 car lengths back, you can always edit the iracing_reputations.json file in your crewchief documents folder, which looks something like this. All fields except customer_id are informational / optional and you can also record carClass and date for posterity.
[
  {

    "customer_id": 408068,

    "name": "Jos Verstappen",

    "comment": "thinks he's Max Verstappen"

  },

  {

    "customer_id": 65874,

    "name": "William Byron",

    "comment": "will never win Daytona racing like this"

  }

]

(lol, this is just an example, we're not suggesting these guys are actually dirty drivers!)

For more real world drivers on iRacing, see https://www.reddit.com/r/iRacing/comments/qym1fo/list_of_real_life_drivers_on_iracing/

"iRacing Strength of Field is for the player class" can be used to avoid noise from other classes when asking what the strength of field is. Unfortunately Jim is yet to record a gridwalk message that we can use, so you have to ask.
You should now see Jerry as an option for both the crew chief and the spotter. However, while Jerry is learning how to be a fully qualified crew chief, we recommend that you only select him as your Spotter, leaving Jim as chief, but then go to the Property Window, find Trainee chief where you can type "Jerry", and restart Crew Chief. You will then sometimes hear Jerry when he has something to say, but you won't miss anything Jim has to say. Jerry has a US accent and you can select Trainee is US only if you only want to hear him when using American units, which can be controlled in the sim (such as iRacing).
Two new category filters have been added
  1. VIPs (Very Important Properties) which is preselected when CC first runs.
  2. New Properties in this release
Some new Properties have been added
- American units for stock car racing
- Time between announcing new opponent (and we're aware of an issue when the car in front is blinking)

and a variety of bugs have been fixed. Most notably, the formation side bug has been fixed in iRacing. Or, rather, has been worked-around. We must now maintain a database of the track formation rules since the iRacing telemetry is buggy. New tracks will be added manually.

New voice commands:
- what's the gap behind on track
- what's the gap ahead on track
- what's the gap to the leader
- what's my car number
- what lap is it
- watch the car ahead
- watch the car behind

and
- pitstop change front tyres only
- pitstop change rear tyres only
now work in iRacing

New menu items
- File/Open data files folder
-
File/Open voice files folder

Trace messages in the boot sequence (run CC from the command line:
        CrewChiefRC.exe > output.txt 2>&1
        then output.txt contains the messages which can be used by the dev team)

Write errors to DebugLogs\ErrorLog.txt as well as the console log

Default limit_available_games to all games as a reference for all the names

Upgrade Newtonsoft.Json library to 13.0.3 to get rid of the vulnerability warning (even though it doesn't apply to CC)

And many other changes, too many to remember or to list!

Version 4.17.1.4

Version 4.17.1.2

Version 4.17.1.1

Version 4.17.1.0

Version 4.17.0.0

Version 4.16.3.5

Version 4.16.3.4

Version 4.16.3.2

Version 4.16.3.1

Version 4.16.3.0

Version 4.16.2.6

Version 4.16.2.5

Version 4.16.2.3

Version 4.16.2.2

Version 4.16.2.1

Version 4.16.1.4

Version 4.16.1.3

Version 4.16.1.2

Version 4.16.1.1

Version 4.16.0.1

Version 4.15.3.12

Version 4.15.3.11

Version 4.15.3.10

Version 4.15.3.8

Version 4.15.3.6

Version 4.15.3.5

Version 4.15.3.0

Version 4.15.2.9

Version 4.15.2.7

Version 4.15.2.6

Version 4.15.2.5

Version 4.15.2.4

Version 4.15.2.3

Version 4.15.2.2

Version 4.15.1.5

Version 4.15.1.4

Version 4.15.1.2

Version 4.15.1.1

Version 4.15.0.6

Version 4.15.0.5

Version 4.15.0.3

Version 4.15.0.2

Version 4.15.0.1

Version 4.14.0.6

Version 4.14.0.3

Version 4.14.0.2

Version 4.13.1.7

Version 4.13.1.6

Version 4.13.1.5

Version 4.13.1.3

Version 4.13.1.2

Version 4.13.1.1

Version 4.13.1.0

Version 4.13.0.2

Version 4.13.0.0

Version 4.12.0.8

Version 4.12.0.7

Version 4.12.0.6

Version 4.12.0.5

Version 4.12.0.1

Version 4.12.0.0

Version 4.11.1.2

Version 4.11.0.3

Version 4.11.0.2

Version 4.10.0.9

Version 4.10.0.8

Version 4.10.0.6

Version 4.10.0.5

Version 4.10.0.3

Version 4.10.0.2

Version 4.10.0.1

Version 4.9.11.3

Version 4.9.11.1

Version 4.9.10.1

Version 4.9.9.5

Version 4.9.9.3

Version 4.9.9.2

Version 4.9.9.1

Version 4.9.8.24

Version 4.9.8.22

Version 4.9.8.20

Version 4.9.8.8

Version 4.9.8.7

Version 4.9.8.6

Version 4.9.8.5

Version 4.9.8.3

Version 4.9.8.2

Version 4.9.8.0

Version 4.9.7.9

Version 4.9.7.8

Version 4.9.7.7

Version 4.9.7.6

Version 4.9.7.5

Version 4.9.7.4

Version 4.9.7.3

Version 4.9.7.2

Version 4.9.7.1

Version 4.9.7.0

Version 4.9.6.9

Version 4.9.6.8

Version 4.9.6.7

Version 4.9.6.6

Version 4.9.6.4

Version 4.9.6.3

Version 4.9.6.2

Version 4.9.6.1

Version 4.9.6.0

Version 4.9.5.9

Version 4.9.5.8

Version 4.9.5.7

Version 4.9.5.6

Version 4.9.5.5

Version 4.9.5.3

Version 4.9.5.2

Version 4.9.5.1

Version 4.9.5.0

Version 4.9.4.9

Version 4.9.4.6

Version 4.9.4.5

Version 4.9.4.3

Version 4.9.4.2

Version 4.9.4.0

Version 4.9.3.9

Version 4.9.3.7

Version 4.9.3.6

Version 4.9.3.5

Version 4.9.3.4

Version 4.9.3.3

Version 4.9.3.2

Version 4.9.3.1

Version 4.9.3.0

Version 4.9.2.9

Version 4.9.2.5

Version 4.9.2.4

Version 4.9.2.3

Version 4.9.2.2

Version 4.9.2.1

Version 4.9.2.0

Version 4.9.1.7

Version 4.9.1.6

Version 4.9.1.5

Version 4.9.1.4

Version 4.9.1.3

Version 4.9.1.1

Version 4.9.0.7

Version 4.9.0.6

Version 4.9.0.5

Version 4.9.0.4

Version 4.9.0.3

Version 4.9.0.2

Version 4.9.0.1

Version 4.9.0.0

Version 4.8.3.2

Version 4.8.3.1

Version 4.8.3.0

Version 4.8.2.9

Version 4.8.2.8

Version 4.8.2.7

Version 4.8.2.6

Version 4.8.2.5

Version 4.8.2.4

Version 4.8.2.3

Version 4.8.2.1

Version 4.8.1.9

Version 4.8.1.7

Version 4.8.1.5

Version 4.8.1.4

Version 4.8.1.3

Version 4.8.1.2

Version 4.8.1.1

Version 4.8.1.0

Version 4.8.0.7

Version 4.8.0.6

Version 4.8.0.2

Version 4.8.0.1

Version 4.8.0.0

Version 4.7.9.9

Version 4.7.9.7

Version 4.7.9.5

Version 4.7.9.4

Version 4.7.9.0

Version 4.7.8.9

Version 4.7.8.6

Version 4.7.8.1

Version 4.7.8.0

Version 4.7.7.9

Version 4.7.7.8

Version 4.7.7.5

Version 4.7.7.4

Version 4.6.7.2

Version 4.6.6.4

Version 4.6.6.2

Version 4.6.6.1

Version 4.6.5.2

Version 4.6.5.1

Version 4.6.5.0

Version 4.6.4.9

Version 4.6.4.8

Version 4.6.4.7

Version 4.6.4.6

Version 4.6.4.5

Version 4.6.4.4

Version 4.6.4.2

Version 4.6.4.1

Version 4.6.4.0

Version 4.6.3.2

Version 4.6.3.1

Version 4.6.3.0

Version 4.6.1.5

Version 4.6.1.4

Version 4.6.1.3

Version 4.6.1.2

Version 4.6.1.1

Version 4.6.0.5

Version 4.5.0.0

Version 4.4.3.4

Version 4.4.3.3

Version 4.4.2.4

Version 4.4.2.3

Version 4.4.2.2

Version 4.4.2.1

Version 4.4.2.0

Version 4.4.1.3

Version 4.4.1.2

Version 4.4.1.1

Version 4.4.1.0

Version 4.4.0.6

Version 4.4.0.5

Version 4.4.0.4

Version 4.4.0.3

Version 4.4.0.2

Version 4.4.0.1

Version 4.4.0.0

Version 4.3.0.4

Version 4.3.0.3

Version 4.3.0.2

Version 4.3.0.1

Version 4.3.0.0

Version 4.2.1.8

Version 4.2.1.7

Version 4.2.1.6

Version 4.2.1.5

Version 4.2.1.4

Version 4.2.1.3

Version 4.2.1.2

Version 4.2.1.1

Version 4.2.1.0

Version 4.2.0.1

Version 4.1.6.3

Version 4.1.6.2

Version 4.1.6.1

Version 4.1.6.0

Version 4.1.5.0

Version 4.1.4.5

Version 4.1.4.4

Version 4.1.4.3

Version 4.1.4.2

Version 4.1.4.1

Version 4.1.4.0

Version 4.1.3.2

Version 4.1.3.1

Version 4.1.3.0

Version 4.1.2.2

Version 4.1.2.1

Version 4.1.2.0

Version 4.1.1.4

Version 4.1.1.3

Version 4.1.1.0

Version 4.1.0.3

Version 4.1.0.2

Version 4.1.0.1

Version 4.1.0.0

Version 4.0.3.5

Version 4.0.3.4

Version 4.0.3.3

Version 4.0.3.2

Version 4.0.3.1

Version 4.0.3.0

Version 4.0.2.0

Version 4.0.1.0

Version 4.0.0.0