- Replaced brake pads with new ones.
Try a different brake pad material. Don't just blindly replace brake pads with new equivalents of what you currently have. Try a different material.
I used to prefer Kool Stop Salmon colored pads on all bikes I owned. However, on one of my bikes, Kool Stop Salmon pad squealed in the front cantilever brake like hell. I even tried a dual compound Kool Stop pad (consisting of half Salmon and half black compound) but didn't help.
The solution was to use the standard Shimano S70C pad in the front attached to the Shimano brake pad holder.
I don't know if the cause was the different brake pad holder (the Kool Stop pads were integral design, not separate rubber pieces put into a holder), or different brake pad material.
Yet, this Shimano holder combined with S70C pad solved the issue with me. Unfortunately, the Shimano pad does not resist grit intrusion in as good manner as the Kool Stop Salmon pad resists, but it's acceptable.
Keep trying! Experiment with different kinds of brake pad materials and holder designs from different manufacturers.
The only remaining thing I can think of is the front wheel has a very slight wobble, presumably my next step would be to try and true the wheel a touch
If the squealing is continuous around the wheel rotation and not intermittent, fixing a very slight wobble in the wheel probably won't help. Squealing brakes cannot magically know whether:
- There is a wobble 180 degrees away, so they should squeal
- There is no wobble 180 degrees away, so they should not squeal
The point is that brakes are local. A wobble is local too, and thus wobble will squeal only at the wobble, not all around the wheel. Wobble-dependent continuous squeal would be spooky action at a distance.