grem11n / terraform-aws-vpc-peering

Terraform module to setup VPC peering connection
https://registry.terraform.io/modules/grem11n/vpc-peering/aws/latest
Apache License 2.0
126 stars 91 forks source link

Breaking changes pushed under same tag v1.1.0 #15

Closed pawarrchetan closed 3 years ago

pawarrchetan commented 5 years ago

The breaking changes pushed via commits - a8223d5 and d0b83a7 introduced breaking changes under the same release Tag v1.1.0 Instead there should have been a new Tag so that the users could use the older version without introducing breaking changes.

trobert2 commented 5 years ago

Breaking changes should be only added when increasing the MAJOR number on the version tag https://semver.org/

grem11n commented 5 years ago

First of all, my apologies for the delay in reply. Secondly, my apologies for breaking changes, which presumably affected your workflow.

Let me explain my motivation behind tags a bit: There is some confusion in the Terraform world after Terraform 0.12 hit the floor. Basically, the syntax is incompatible. Thus, it's necessary to support both versions. I've been planning to stick with tagging, which is already used for Terraform AWS Modules i.e. v1.x.x for Terraform 0.11; v2.x.x for Terraform 0.12. For example, see: https://github.com/terraform-aws-modules/terraform-aws-ec2-instance Code for Terraform 0.12 is already in the master branch (not tagged yet, tho), while there is the terraform011 branch for TF 0.11 as well.

However, breaking changes might occur in both codebases due to refactoring, fixes, new features, etc. Hence, I created CHANGELOG.md, where I keep track of all the changes happened to this module, including breaking changes.

I do understand that such an approach does not comply with semver, but it seems more convenient from the Terraform AWS Modules user's perspective.

If you think that this was a bad idea, I will switch to the vanilla semver.

I'm going to keep this issue open, so other people, who might have encountered the same issue, can check this out. Also, I guess I will add clarification on tagging of this module to the README as well.

cc: @pawarrchetan, @trobert2