Renovate #13964 flagged major bumps for two .NET deps used by the build-time CDP code generator at third_party/dotnet/devtools/src/generator:
Handlebars.Net 1.11.5 → 2.x
Humanizer.Core 2.8.26 → 3.x
I'm going to filter these in renovate.json file, so I'm creating an issue for visibility in case we want to address.
Note: Renovate additionally suggests we update dotnet monorepo to v10 (Microsoft.Bcl.AsyncInterfaces, Microsoft.Extensions.DependencyInjection, System.Text.Json, System.Threading.Channels), but I don't think we should do these so long as we support older targets, so I'm filtering those as well.
Scope
The generator is build-time only, but its output is the shipped Selenium.WebDriver.DevTools.* public API, so any change in template rendering or identifier casing is a breaking change for downstream consumers.
Breaking Changes
Handlebars.Net 2.x - Breaking changes in TemplatesManager.cs
- Handlebars.Compile() returns HandlebarsTemplate<object,object> instead of Func<object,string>; propagates through the m_templateGenerators cache and the public method signature.
- Helper callbacks change: context is now a BindingContext wrapper, so the three helpers (dehumanize, xml-code-comment, typemap) that pattern-match on context need .Value unwrapping.
- Static Handlebars.Configuration / RegisterHelper deprecated in favor of per-instance Handlebars.Create(). Current code registers helpers per-template-load (latent bug) — should refactor to one instance.
- Whitespace and text-encoding defaults shifted; may alter generated .cs output even after a clean port.
Humanizer 3.x — Dehumanize() is called on every CDP identifier from CommandGenerator.cs, DomainGenerator.cs, EventGenerator.cs, TypeGenerator.cs, ProtocolGenerator.cs, and the dehumanize Handlebars helper. v3 changes input normalization for:
- All-caps fragments (URL, MIME, JSON, GPU)
- Mixed-case with digits (IndexedDB, IO)
- Single-letter segments (Page.javaScriptDialog)
- The Negative{...Dehumanize()} double-call in TemplatesManager.cs relies on idempotency v3 may not preserve.
Any altered output renames public classes/properties on the shipped DevTools API.
Renovate #13964 flagged major bumps for two .NET deps used by the build-time CDP code generator at third_party/dotnet/devtools/src/generator:
Handlebars.Net 1.11.5 → 2.x
Humanizer.Core 2.8.26 → 3.x
I'm going to filter these in renovate.json file, so I'm creating an issue for visibility in case we want to address.
Note: Renovate additionally suggests we update dotnet monorepo to v10 (Microsoft.Bcl.AsyncInterfaces, Microsoft.Extensions.DependencyInjection, System.Text.Json, System.Threading.Channels), but I don't think we should do these so long as we support older targets, so I'm filtering those as well.
Scope
The generator is build-time only, but its output is the shipped Selenium.WebDriver.DevTools.* public API, so any change in template rendering or identifier casing is a breaking change for downstream consumers.
Breaking Changes
Handlebars.Net 2.x - Breaking changes in TemplatesManager.cs
Humanizer 3.x — Dehumanize() is called on every CDP identifier from CommandGenerator.cs, DomainGenerator.cs, EventGenerator.cs, TypeGenerator.cs, ProtocolGenerator.cs, and the dehumanize Handlebars helper. v3 changes input normalization for:
Any altered output renames public classes/properties on the shipped DevTools API.