Management of custom image families

I’m trying to create a custom image family by starting with the public CentOS 8 image (currently centos-8-v20201112), then adding software and configurations, and finally deploying an application. I’d like to be able to upgrade the latest image in the family with the new application version and publish a new image to the family using Terraform. So far I succeed with the first part, but I’m unable to push a new image to the family. Naturally, Terraform replaces the previous image, because of the name change, but the images in a family need to have version.

resource "google_compute_image" "my-disk-image" {
  family = "my-family"
  name = "my-disk-image-v${var.release}"
  source_disk = "my-disk"
}

I have read GCP and Terraform documentation (see references below) and searched for examples over the Internet, but I’m unable to get to the solution.

How do you mange your custom image families in GCP – with Terraform, Packer or something else?

Thanks in advance for your answers!

References: Images, Image management best practices, Image families best practices, Creating, deleting, and deprecating custom images, google_compute_image.