CGContextDrawShading broken on MacOS Tahoe for apps built with MacOS SDK older than 14.5

On MacOS Tahoe (26.0 26.1 or 26.2), when loading an application that was built with an SDK older than version SDK 14.5, all CGContextDrawShading calls to draw onto the screen (inside of NSView drawRect:) fail silently, filling the path with a single color instead of a gradient.

If rendering into a local CGBitmapContext instead of the NSView context on Tahoe, CGShading works as expected. On MacOS 15 and earlier, CGShading works as expected too.

If the app is built with SDK version 14.5 or newer, CGShading works normally on MacOS Tahoe.

For recent applications, they can of course be rebuilt with a more recent version of the SDK, which fixes the problem. However for Audio Units or any other type of plug-in, even if they are built with the "appropriate" SDK, if they are loaded inside of a legacy application that was built with an older SDK, the problem arises, which customers complain about and do not understand.

I have noticed that there had been a few changes in MacOS Tahoe regarding the CGShading APIs, could this problem be related?

If this issue cannot be fixed in an upcoming MacOS update, is there maybe a "defaults" value that can be changed? (since this behaviour is specific to a sdk version, I guess that it is triggered by a version check in the Frameworks and that there is a "defaults" value that can be changed to avoid this specific behaviour, as it is usually the case via a DefaultValueFunction)?

I have already opened a feedback regarding this issue, but maybe someone already has a solution for this problem?

I confirm this issue is annoying. Looking forward to possible solutions.

CGContextDrawShading broken on MacOS Tahoe for apps built with MacOS SDK older than 14.5
 
 
Q