Skip to content

Releases: infracost/infracost

Preview

21 Mar 14:44
5df9774
Compare
Choose a tag to compare
Preview Pre-release
Pre-release

The Infracost CLI release that is kept in sync with the master branch. It is advised to use this release for preview only. It is generally not suitable for a production pipeline as it is likely to contain breaking changes.

v0.10.36

07 May 09:09
307fad9
Compare
Choose a tag to compare

Infracost v0.10.36

This release primarily focuses on refining existing features, enhancing stability, and introducing new improvements. Key highlights include enhanced logging, updates to usage comments, various fixes to support accurate configurations, and the support for templates.

What's New

  • Refined log output Infracost CLI now outputs a simpler and easy to follow log output. This aids with understanding how Infracost processes your projects (#3003 by @hugorut )
  • Optimized Azure cost estimation: Experience more reliable calculations for Azure Dds v5 PostgreSQL Flexible Servers (#3014 by @vdmgolub) and Azure Container Registry (#3048 by @aliscott).
  • Streamlined commenting: Reduced noise in Infracost comments through the removal of usage cost header links (#3009 by @vdmgolub).
  • Expanded autodetection: Support for wildcards in autodetect envNames for broadened file detection (#3031 by @hugorut).
  • Robust environment variable handling: Support for '.' in environment variable file names (#3032 by @aliscott) and proper recognition of hidden files (#3033 by @aliscott).
  • Template file support: Utilize the templatefile function to introduce flexible customizations to your Terraform configurations (#3041 by @hugorut).
  • Enhanced comments: Receive more informative Infracost comments that explain skipped resources and projects by default.

Fixes

  • Prevented unnecessary panics: Resolved an issue that could cause panics when calculating labels for blocks (#2997 by @tim775).
  • Consistent directory association: Ensured correct association of child directories containing var files during autodetection (#3000 by @hugorut).
  • Removed redundant feature flag: Cleaned up code by removing the usage api feature flag (#2999 by @tim775).
  • Corrected usage footnote: Updated the usage footnote text for accuracy (#3001 by @tim775) .
  • Prioritized error handling: Fixed an issue where child resources were incorrectly removed (#3019 by @tim775).
  • Corrected capacity and length ordering: Fixed an issue causing capacity and length to be displayed in the wrong order (#3039 by @aliscott).
  • Fixed configuration generation: Corrected YAML indentation issues in generated config files (#3034 by @hugorut).

We'd like to give a warm welcome to our new contributors: @verytrap, @hidewrong, @largemouth, @owenrumney

For the complete changelog, please visit: v0.10.35...v0.10.36

v0.10.35

02 Apr 17:59
b82e1a1
Compare
Choose a tag to compare

Infracost v0.10.35

This release focuses on support for usage based costs, and adding new cost estimation capabilities.

New Features

  • Separate Usage Costs: Add separate usage costs to comment (#2941 by @tim775).
  • Usage Type Defaults: Add usage type defaults that targets $20 per key (#2938 by @tim775).
  • RDS Extended Support: Add support for RDS ExtendedSupport cost component (#2933 by @hugorut).
  • EKS Extended Support: Add eks extended support cost (#2935 by @hugorut).
  • Autodetect Configuration: Add force_project_type configuration (#2942 by @hugorut).
  • Env Var Extensions: Add support for env_var_extensions autodetect configuration (#2949 by @hugorut).
  • Azure Network DDoS Protection Plan: Add support for azurerm_network_ddos_protection_plan (#2967 by @hugorut).
  • Azure App Configuration: Add support for azurerm_app_configuration (#2970 by @hugorut).
  • Azure Federated Identity Credential: Add support for azurerm_federated_identity_credential (#2974 by @hugorut).
  • Azure AI Services: Add support for Azure AI services: Speech, OpenAI and LUIS (#2975 by @aliscott).
  • Azure AI Language: Add support for Azure AI Language (TextAnalytics) (#2976 by @aliscott).
  • Project Config for Cloud Workspace and Org: Add support project config for cloud workspace and org (#2993 by @hugorut).

Enhancements

  • Usage File and Config File: Allow --usage-file and --config-file to be used together (#2944 by @tim775).
  • Matching Files to Env Names: Update matching files to env names to be case insensitive (#2957 by @aliscott).
  • Diff and Breakdown Sorting: Sort diff and breakdown with most costly resources first (#2964 by @tim775).

Fixes

  • Azure Cost Component Issues: Fix various Azure cost component issues (#2934 by @aliscott).
  • Meta Attributes: Don't evaluate or marshal depends_on or lifecycle meta attributes (#2936 by @aliscott).
  • Diff Test: Fix failing diff test (#2950 by @hugorut).
  • Errored Projects: Correctly show errored projects (#2955 by @tim775).
  • Azure Security Subscription Pricing: Add missing usage schema to azure security subscription pricing (#2992 by @tim775).
  • Google Egress: Set default usage to zero for google egress (#2991 by @tim775).

For the complete changelog, visit: v0.10.34...v0.10.35

v0.10.34

06 Mar 10:46
d2b02de
Compare
Choose a tag to compare

Infracost v0.10.34

This release focuses on improving reliability, enhancing existing features, and adding new cost estimation capabilities.

New Features

  • Configurable auto-detection: Customize the maximum search depth for Terraform file discovery (#2926 by @hugorut).
  • Invalid API key handling: Streamline your workflow with immediate notification of invalid Infracost API keys (#2927 by @hugorut).
  • Azure Machine Learning support: Get cost estimates for Azure Machine Learning Compute Instances and Clusters (#2902 by @aliscott).

Enhancements

  • HCL graph tests: Provide greater confidence in Infracost's cost calculations for complex Terraform deployments (#2783 by @hugorut and @aliscott ).
  • Robust error handling: Improved dashboard API request retries and more graceful handling of governance failures (#2910, #2913 by @tim775).
  • Consistent stack traces: Aid debugging with sanitized stack trace matching (#2914 by @aliscott).
  • Improved usage reporting: Ensure accurate usage data with correct handling of nested keys (#2912 by @tim775).
  • HCL parsing refinements: Enhanced cost estimation accuracy by ensuring correct boolean return values (#2909 by @aliscott).

Fixes

  • Module handling: Resolved issues with evaluating module variables, dependencies between modules, and loading mock providers (#2877, #2925 by @aliscott, #2903 by @tim775).
  • Azure fixes: Enabled support for Azure CosmosDB accounts referenced by name and Azure Redis with 0 shards (#2894, #2905 by @aliscott).
  • Resource handling refinements: Addressed potential panics and issues with invalid files (#2891, #2892 by @aliscott).
  • Cost comparison accuracy: Ensured correct display of 100% cost increases for previously empty projects (#2899 by @hugorut).
  • Terragrunt integration: Ignore duplicate block warnings from Terragrunt for a smoother experience (#2898 by @hugorut).
  • Improved AWS and GCP support: Corrected AWS RDS example comments and optimized guest accelerator handling (#2886 by @thisjulio, #2883 by @vdmgolub).
  • User interface fixes: Enhanced the use of the GetOutputs option (#2881 by @hugorut).
  • Codebase refactoring: Improved Azure resource migration for maintainability (#2901 by @aliscott).
  • Cloudformation provider: fixed providers so that it no longer contains path error (#2880 by @haarchri)

New Contributors

A big thank you to @thisjulio and @haarchri for their fantastic contributions! 🎉

For the complete changelog, visit: v0.10.33...v0.10.34

v0.10.33

09 Feb 09:58
f372f1c
Compare
Choose a tag to compare

Infracost v0.10.33

This release introduces improvements to project auto-detection and performance enhancements. These updates are designed to make the tool more efficient and easier to use, particularly for users with complex infrastructure setups. The release also includes new support for cloud resources and addresses several important bug fixes.

☁️ Cloud Resources

  • Added support for AWS Certificate Authority short-lived certificates by @tim775 in #2864.
  • Fixed pricing for Azure MySQL/Postgres flexible servers by @vdmgolub in #2844.
  • Added AWS ca-west-1 region by @tim775 in #2866.

🪄 Auto-detection

  • Added auto-detect cousin support by @hugorut in #2845.
  • Introduced support for directory named environments by @hugorut in #2847.
  • Added path_overrides autodetect configuration by @hugorut in #2853.
  • Added terragrunt auto-detect support by @hugorut in #2841.
  • Introduced tfvars.json autodetected variable support by @hugorut in #2869.
  • Added fallback to include all paths functionality by @hugorut in #2868.
  • Enhanced support for recognizing environment names from variable file suffixes by @aliscott in #2840.
  • Matched tfvar naming to project names by @hugorut in #2850.
  • Added skip auto detection for autogenerated config files by @hugorut in #2848.
  • Corrected the error handling for empty projects in generate config by @aliscott in #2846.
  • Corrected global var file exclusion from path_overrides by @hugorut in #2855.
  • Fixed environment matching logic by @hugorut in #2851.

⚡ Performance

⛰️ Other

  • Added tags_all support for plan JSON runs by @tim775 in #2854.
  • Introduced --format=json flag option to upload and comment commands by @tim775 in #2872 and #2874.
  • Fixed handling of child block inconsistent list elements by @tim775 in #2865.
  • Addressed concurrent map read and write error by @aliscott in #2867.

Full Changelog

v0.10.32

15 Jan 20:45
1b9197c
Compare
Choose a tag to compare

What's Changed

New features

  • feat: improve auto-detection support by @hugorut in #2755
  • feat(aws): add support for AWS CloudHSM by @aliscott in #2779
  • feat(azure): add support for Azure DNS Private Resolver (endpoints and ruleset) by @ewencodes in #2780
  • feat: add autodetect configuration to config file IC-604 by @hugorut in #2820
  • feat: add DetectedRootModules template variable IC-603 by @hugorut in #2821
  • enhance: detect projects that use terraform backend blocks as root project by @aliscott in #2781

Fixes

  • Fix autodetect varfile detection by @aliscott in #2782
  • fix: complex unknown values provided as inputs by @hugorut in #2784
  • Add discovered projects by @aliscott in #2787
  • fix: include terraform.tfvars as "auto" file by @hugorut in #2790
  • refactor: change max search depth for auto-detect by @hugorut in #2791
  • refactor: force https module get logic by @hugorut in #2789
  • fix: use correct shard pricing for premium azure redis nodes by @hugorut in #2798
  • fix: show details section when there are unsupported resources IC-562 by @hugorut in #2802
  • fix: Add hcl string functions startswith, endswith, strcontains by @tim775 in #2810
  • fix: handle backoff and retry with terraform registry modules IC-556 by @hugorut in #2803
  • fix: don't use default retryablehttp client logger by @aliscott in #2808
  • fix: correct markdown spacing for Bitbucket IC-559 by @hugorut in #2813
  • Fix graph evaluator panics by @aliscott in #2818
  • fix(google): update google_sql_database_instance resource to work with new tiers by @aliscott in #2812
  • fix: Fall back to BUILD_SOURCEBRANCHNAME when detecting azure repos s… by @alikhajeh1 in #2819
  • fix: use correct log level by @tim775 in #2822
  • fix: has template logic by @hugorut in #2824
  • fix: send logs to io.Discard unless a log level has been explicitly set by @tim775 in #2826
  • refactor: use different mocking logic for graph evaluator IC-608 by @hugorut in #2823
  • fix: handle autodetect section with --template arg by @hugorut in #2825
  • refactor: change naming for autodetect fields by @hugorut in #2827
  • chore(deps): bump github.com/go-git/go-git/v5 from 5.4.3-0.20220529141257-bc1f419cebcf to 5.11.0 by @dependabot in #2801
  • chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #2795
  • chore(deps): bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 by @dependabot in #2817
  • Cost component fixes by @aliscott in #2831
  • fix: add support for provider inheritence by @tim775 in #2811

New Contributors

Full Changelog: v0.10.31...v0.10.32

v0.10.31

06 Dec 10:28
77a3dbc
Compare
Choose a tag to compare

What's Changed

This release contains support for using Infracost Cloud FinOps Policies in CI/CD pipelines. It also includes several resource and parsing fixes.

✨ Features

🐛 Resource fixes

  • Fix price lookup for Azure Kinesis in non us-east-1 regions by @tim775 in #2737
  • Fix price lookup for Google Compute Address in different regions by @vdmgolub in #2754
  • Fix price lookup for AWS DocumentDB in non us-east-1 regions by @tim775 in #2736
  • Add throughput cost component for AWS Opensearch by @vdmgolub in #2751

🐛 Parsing fixes

  • Remove child projects from diff output if parent path errors by @hugorut in #2743
  • Support dynamic iterator attribute by @hugorut in #2760
  • Merge mock values by @aliscott in #2741
  • Skip context mocking if expression is a function call by @hugorut in #2747
  • Only filter dynamic blocks when expanding by @hugorut in #2761
  • Ensure we exclude any terragrunt.hcl files in the .infracost path by @aliscott in #2759
  • Fall back to CI_COMMIT_BRANCH when detecting GitLab source branch by @tim775 in #2765

✔️ Other changes

Full Changelog: v0.10.30...v0.10.31

v0.10.30

30 Oct 11:49
Compare
Choose a tag to compare

What's Changed

In this release, we're excited to introduce integrations with the Infracost Cloud’s new FinOps policy checker. This allows you to check for FinOps best practices directly in engineering workflows.

New Features:

  • FinOps policy checks: Introduced FinOps policies and governance checks, thanks to @tim775. This includes support for handling FinOps policy exclusions and nested policy allow lists. (#2661, #2671, #2678, #2701)
  • AWS Kinesis Stream Resource: Now supporting AWS Kinesis Stream Resources, thanks to the contribution from @ktasper. (#2640)

Enhancements:

  • Additional Azure Service Plan SKUs: Added support for additional Azure service plan SKUs, implemented by @tim775. (#2658)
  • Terragrunt Support: Improved support for Terragrunt, including the ability to handle generate blocks and optional dependencies by @aliscott (#2708)
  • Google User Labels as Tags: Now supporting Google user labels as tags. Thanks to @tim775 for this enhancement. (#2652)
  • Storage Account Refs for Storage Management Policies: Enhanced support for storage account references in storage management policies, thanks to @tim775. (#2695)
  • Support for Prefixes in Terraform Source Map: Introduced support for prefixes in INFRACOST_TERRAFORM_SOURCE_MAP, implemented by @aliscott. (#2693)

Fixes:

  • Concurrent Map Writes Panic: Fixed an issue with concurrent map writes by @aliscott. (#2669)
  • Module for_each bug: Fixed modules with for_each based on other module outputs by @aliscott. (#2696)
  • Bug Fixes: Addressed a typo in an error message and ensured the correct mapping URL is built if the mapped source contains a ref. Work done by @0o001 and @hugorut. (#2654, #2656)
  • Google Sustained Use Discount Calculation: Fixed the calculation of Google Sustained Use Discounts, thanks to @varshneydevansh. (#2577)

Dependency Updates:

  • Updated various dependencies, ensuring we are using the latest and most secure versions of libraries and tools.

Miscellaneous:

  • Code and Test Maintenance: Conducted code clean-up, removed unnecessary verbose flags from tests, added parser benchmarks, and fixed tests. Thanks to @tim775 and @hugorut for their contributions.
  • Improved Telemetry: Adjusted telemetry settings for FinOps policy errors to enhance user privacy. (#2704)

New Contributors

We're thankful to all contributors who helped in making this release possible. Enjoy the enhanced experience and features of Infracost!

Full Changelog: v0.10.29...v0.10.30

v0.10.29

01 Sep 10:45
ff23a12
Compare
Choose a tag to compare

Infracost v0.10.29

In this new release, we've concentrated on enhancing tag policy support. Furthermore, we've added a CLI cache to enhance the speed and efficiency of pricing lookups. Users should see a noticeable performance improvement when they upgrade.

New Features

  • Implemented a pricing client cache to improve performance by @hugorut.
  • Introduced support for applying tag policies to AWS launch templates by @hugorut.
  • Added block device tags to the AWS instance resource by @tim775.
  • Added the il-central-1 region by @aliscott.

Enhancements

  • Enhanced data block functionality in submodules to return correct values from stubbed data blocks by @hugorut.
  • Introduced support for optional defaults by @hugorut.
  • Refactored the comment handler to include backoff retry logic by @hugorut.
  • Conducted formatting adjustments by @tim775.

Fixes

  • Fixed a race condition issue by ensuring terragrunt sources are downloaded only once by @tim775.
  • Addressed an issue that caused a panic due to incorrect variable type definition by @hugorut.
  • Resolved issues related to invalid function arguments in mocking by @aliscott.
  • Fixed the handling of un-Rel-able paths by @tim775.

Full Changelog

v0.10.28

09 Aug 10:17
Compare
Choose a tag to compare

Infracost v0.10.28

In this update, we’ve continued our work on refining Tag Policy evaluations and addressed several concerns to ensure an improved experience for our Terragrunt users. Furthermore, several optimizations were implemented to make Infracost more robust and efficient.

Enhancements

  • Improved the Tag Policy evaluation to include a total resource summary by @vdmgolub.
  • Stopped sending telemetry data for Policies/Guardrails errors for a more privacy-focused experience by @vdmgolub.

Fixes

  • Resolved an issue where terragrunt remote source modules with specific references and versions were not correctly downloaded to distinct directories by @hugorut.
  • Made certain that project summaries remain consistent with the original summary by @aliscott.
  • Ensured proper support for environment variables specified in configuration files for Terragrunt projects by @aliscott.

Refactoring and Other Improvements

  • Removed any resources from the free resources list that lack tags, making the output cleaner by @hugorut.
  • Conducted necessary adjustments for Google golden tests by @aliscott.

Full Changelog