ancestor: null
releases:
  1.1.0:
    changes:
      bugfixes:
      - Integration tests to test support of AWS, Azure and GCP.
      - Major refactoring of the cloud.terraform collection, restructuring and compartmentalizing
        code.
      - Removed "mutually exclusive" condition for state_file and project_path in
        inventory_from_outputs role, since terraform_output module doesn't require
        this. (https://github.com/ansible-collections/cloud.terraform/pull/39)
      - Several integration tests were added to test end-to-end behaviour.
      - Terraform module - fix now allows the possibility that the key "value" is
        not always present in the terraform plan thus avoiding KeyError. (https://github.com/ansible-collections/cloud.terraform/pull/45)
      - Terraform module - fix now expands the providers schema with block_types section
        so when checking if (block) attribute is sensitive in providers schema KeyError
        is now avoided. (https://github.com/ansible-collections/cloud.terraform/pull/46)
      - Terraform_output - fix now sets "outputs" variable to None in case of TerraformWarning
        to avoid undefined variable error. (https://github.com/ansible-collections/cloud.terraform/pull/31)
      - Type hints added to the cloud.terraform collection for easier future maintenance
        and reliability.
      - Updated host and group name in cloud.terraform.terraform_provider inventory
        plugin. (https://github.com/ansible-collections/cloud.terraform/pull/34)
      - terraform_output module - when providing name and state_file parameters, the
        value of the requested output wasn't returned. This issue was solved by changing
        the order of the name and state parameters in the invoked Terraform command
        (https://github.com/ansible-collections/cloud.terraform/pull/19).
      deprecated_features:
      - state=planned is deprecated. Use check_mode=true at the module level instead.
      major_changes:
      - Added the git_plan role to apply a Terraform plan stored in a Git repository.
      - Added the inventory_from_outputs role to construct an in-memory inventory
        from Terraform outputs.
      - Added the terraform_output module which parses values from terraform outputs.
      - Check mode now works as intended and produces correct "changed" output and
        results.
      - Inventory plugin cloud.terraform.terraform_provider added. (https://github.com/ansible-collections/cloud.terraform/pull/22)
      - Support diff mode in cloud.terraform.terraform both in check mode and in non-check
        mode. (https://github.com/ansible-collections/cloud.terraform/pull/11)
      - Terraform output lookup module added (https://github.com/ansible-collections/cloud.terraform/pull/12).
      minor_changes:
      - Removed "required_one_of" condition from terraform_output module. (https://github.com/ansible-collections/cloud.terraform/pull/31).
      - Slight code reorganization to always run terraform plan, and then optionally
        apply the generated plan.
      - Terraform output lookup module - documentation for state_file option updated.
        (https://github.com/ansible-collections/cloud.terraform/pull/29).
      - git_plan and inventory_from_outputs role's argument_spec.yml updated to be
        able to generate documentation (https://github.com/ansible-collections/cloud.terraform/pull/28)
      - meta/runtime.yml - Drop space in requires_ansible that was preventing the
        upload on Galaxy (https://github.com/ansible-collections/cloud.terraform/pull/8).
    fragments:
    - 0001-initial.yml
    - 10-zuul-integration-tests.yml
    - add_diff_mode_for_state_file.yaml
    - change_name_and_state_order_in_terraform_command.yaml
    - drop_sapce_in_requires_ansible.yaml
    - inventory_from_outputs_bugfix.yaml
    - refactoring.yaml
    - terraform_module_sensitive_values_bugfix.yaml
    - terraform_module_show_values_bugfix.yaml
    - terraform_output_module.yaml
    - terraform_provider_inventory_plugin.yaml
    - terraform_provider_update_host_and_group_name.yaml
    - tf_output_lookup_module.yaml
    - tf_output_lookup_module_documentation_update.yaml
    - update_documentation.yaml
    plugins:
      inventory:
      - description: Builds an inventory from Terraform state file.
        name: terraform_provider
        namespace: null
    release_date: '2023-03-23'
  2.0.0:
    changes:
      breaking_changes:
      - Remove support for ansible-core < 2.14 (https://github.com/ansible-collections/cloud.terraform/pull/102).
      bugfixes:
      - module_utils - Accept Terraform executables present on PATH passed in as ``binary_path``
        without specifying their absolute path. (https://github.com/ansible-collections/cloud.terraform/issues/49)
      - module_utils - Allow ``nested_type`` attribute in terraform schema. (https://github.com/ansible-collections/cloud.terraform/issues/93)
      - module_utils - Fix AWS SQS queue creation. The ``values`` attribute in terraform
        output is optional. SQS is one of (rare) cases where ``values`` is absent.
        (https://github.com/ansible-collections/cloud.terraform/issues/86)
      - move test requirements out of the requirements.txt file (https://github.com/ansible-collections/cloud.terraform/pull/67).
      - terraform - fix issue with ``plan_file`` option specified with ``check_mode=true``
        and ``state`` set to one of ``present`` and ``absent``, the module is enable
        now to generate a Terraform file to the specified location (https://github.com/ansible-collections/cloud.terraform/issues/87).
      - terraform - fix spaces between characters in command field in result (https://github.com/ansible-collections/cloud.terraform/pull/76).
      major_changes:
      - terraform_provider  - Allow ``project_path`` in terraform_provider inventory
        plugin to accept a list of paths (https://github.com/ansible-collections/cloud.terraform/pull/55).
      - terraform_provider - Added ``search_child_modules`` option (https://github.com/ansible-collections/cloud.terraform/pull/55).
      minor_changes:
      - Removed integration tests workaround in terrform_provider. (https://github.com/ansible-collections/cloud.terraform/pull/84)
      - Set default of ``state_file`` in terraform_provider inventory plugin to a
        blank string (https://github.com/ansible-collections/cloud.terraform/pull/55).
      - terraform  - add support for ``workspace`` when running ``terraform output``
        (https://github.com/ansible-collections/cloud.terraform/issues/85).
      - terraform - cleanup temporary file create during module execution. (https://github.com/ansible-collections/cloud.terraform/issues/2)
      - terraform_output -  add support for ``workspace`` when running ``terraform
        output`` (https://github.com/ansible-collections/cloud.terraform/issues/85).
      - tf_output - add support for ``workspace`` when running ``terraform output``
        (https://github.com/ansible-collections/cloud.terraform/issues/85).
    fragments:
    - 20230524-aws_integration_tests.yml
    - 20230913-add-support-for-workspace-when-running-terraform_output.yml
    - 20230914-fix-integration-target-terraform_provider.yml
    - 20231016-fix-terraform-plan_file-option.yml
    - 20231025-fix-aws-sqs.yml
    - 20231109-update-supported-ansible-versions.yaml
    - 20231110-allow-nested_type-attributes.yml
    - 49-command_name_in_binary_path.yaml
    - 67-test-requirements.yml
    - 76-fix_command_spaces_in_output.yml
    - inventory_parse_options.yaml
    - standardize_requirements.yml
    - terraform-cleanup-file.yml
    - terraform_provider_remove_workaround.yml
    release_date: '2023-11-17'
  3.0.0:
    changes:
      breaking_changes:
      - Drop support for ansible-core < 2.15 (https://github.com/ansible-collections/cloud.terraform/pull/138).
      release_summary: This major release drops support for ``ansible-core < 2.15``.
    fragments:
    - 20240217-fix-awscc-integration-test.yaml
    - ansible-core-version-increase.yml
    - release_summary.yml
    release_date: '2024-05-23'
