v0.9 plugin updates
The goal of this document is to outline the changes that are required to update an HH Timing plugin from v0.8.x to v0.9.x.
Please note that not all changes may apply to all plugins.
Preview version
To make it easier to migrate the plugin a preview version of HH Timing 0.9 has been made available. This release contains only minor breaking changes and therefore we believe that this should be sufficient for plugins to be updated.
Downloading and running the client
The beta build is available on the releases page of the website:
Example plugin
Please see https://github.com/hh-development/hhtiming-drive-time-plugin/compare/master...release/2025-major for an example commit of a simple plugin being updated.
Breaking changes
TargetFramework
Replace every hard-coded net7.0-windows reference path with $(TargetFramework) so the plugin resolves the matching desktop binaries once the host moves to .NET 9.
Windows Form
add <NoWarn>WFO1000</NoWarn> in the property group of the csproj so the new Windows Forms analyzers do not block your build.
Assembly.info
Add [assembly: SupportedOSPlatform("windows")] in assembly.info because WinForms projects now require explicit OS targeting under .NET 9.
Logging
NLog was updated from v4 to v5, which made the way how we defined the logger in classes obsolete.
Old:
vb:
Private Shared logger As ExtendedLogger = NLog.LogManager.GetCurrentClassLogger(GetType(ExtendedLogger))
C#
private static ExtendedLogger _logger = (ExtendedLogger)LogManager.GetCurrentClassLogger(typeof(ExtendedLogger));
New:
vb:
Private Shared logger As ExtendedLogger = NLog.LogManager.LogFactory.GetCurrentClassLogger(Of ExtendedLogger)()
C#
private static ExtendedLogger logger = NLog.LogManager.LogFactory.GetCurrentClassLogger<ExtendedLogger>();