NVIDIA still doesn't support OpenCL 2.0, despite the spec being so old. When writing a new application in 2020, is it advisable to target OpenCL 1.2 in order to continue to take advantage of NVIDIA GPUs when possible?
Should I be worried about targeting too old of a version? Can I count on continued support of OpenCL 1.2 by manufacturers other than NVIDIA?
What is the norm for production code written in 2020?
No, support for OpenCL 1.2 will not end. It will be continued under new name: OpenCL 3.0.
In OpenCL 3.0 everything mandatory post OpenCL 1.2 becomes optional. That means that mandatory features from OpenCL 2.0 and later are optional in OpenCL 3.0.
So it's safe to target OpenCL 1.2 because what was mandatory to be compliant with OpenCL 1.2 is the same mandatory for OpenCL 3.0.
All manufactures will have to provide support for mandatory features to be compliant with OpenCL 3.0, so simply if they supported OpenCL 1.2 already then it can be said they support OpenCL 3.0 too.
More can be read here: Khronos Group Releases OpenCL 3.0