Releases: infracost/infracost
Preview
v0.10.42
Infracost v0.10.42
This release adds support for new resources, improvements to config file templating, and several stability and security fixes. We also welcome three new contributors: @mohsenkhosroanjam, @drewblas, and @bazaah — thank you!
✨ New Features
- Added support for
google_redis_cluster
by @mohsenkhosroanjam in #3361. - Added support for
aws_grafana_workspace
by @mohsenkhosroanjam in #3396. - Added OpenAI models and associated cost components by @hugorut in #3372.
- Added
isProduction
andjoin
template functions to config files by @hugorut and @aliscott in #3355 and #3360. - Added regex-based source mapping for config files by @hugorut in #3374.
- Auto-set
terraform_workspace
to the environment name during config generation by @liamg in #3392.
🐛 Fixes
- Fixed handling of unknown algorithms to prevent panics by @aliscott in #3380.
- Fixed output NPE and nil pointer issues in diff view by @bazaah and @liamg in #3409 and #3419.
- Fixed PostgreSQL high availability pricing by @mohsenkhosroanjam in #3389.
- Added trailing slashes to registry URLs when needed by @drewblas in #3398.
🛠️ Enhancements
- Improved default behavior for
isProduction
variable in config files by @hugorut in #3356. - Allowed substring matching in source maps when wildcards aren't used by @hugorut in #3357.
- Removed unnecessary GitHub API calls to reduce latency by @liamg in #3353.
- Added debug logging and refactored deprecated packages by @hugorut and @aliscott.
🔒 Maintenance & Dependency Updates
Full Changelog: v0.10.41...v0.10.42
v0.10.41
Infracost v0.10.41
This release introduces improvements to variable handling, module caching, and HTTP proxy support, along with performance optimizations and bug fixes.
🛠️ Enhancements
- Improved
pathExists
performance for faster file operations by @aliscott in #3317. - Added
environment
as an input variable by @hugorut in #3306. - Only populate default tags on
aws_instance.volume_tags
when they are already used by @tim775 in #3307. - Added optional HTTP proxy support by @liamg in #3323.
- Supported caching for public Terraform modules by @owenrumney in #3311.
🐛 Fixes
- Fixed handling of slices in AWS
tags
attribute by @owenrumney in #3308. - Addressed duplicate projects issue when using
force
with an invalid project by @hugorut in #3309. - Ensured local modules are added to the manifest when source mapped by @vdmgolub in #3322.
- Fixed race condition caused by Terragrunt generate blocks by @aliscott in #3334.
- Fixed panic issue on
nil r.OSDiskData
by @tim775 in #3319. - Treated underlying Terraform errors as Terragrunt project errors by @hugorut in #3320.
🔧 Maintenance
- Improved handling of
git@
URLs by @owenrumney in #3313. - Updated dependencies by @aliscott in #3335.
Full Changelog: v0.10.40...v0.10.41
v0.10.40
Infracost v0.10.40
This release introduces several new features, enhancements, and fixes to improve Infracost's usability, performance, and accuracy. A warm welcome and thank you to our new contributors, @jumana-s, @jamescnowell, and @lewisloofis, for their valuable contributions to this release!
✨ New Features
- Added
ap-southeast-5
AWS region support by @liamg in #3212. - Added
aws_s3_bucket_intelligent_tiering_configuration
detection for lifecycle policies by @liamg in #3217. - Added support for
aws_cloudfront_function
by @lewisloofis in #3284. - Added an option to create Azure comments as active instead of defaulting to closed by @liamg in #3253.
🛠️ Enhancements
- Improved Terragrunt input parsing and module handling by @hugorut in #3264.
- Spacelift stack variable loader improvements by @hugorut in #3285.
- Enhanced URL normalization to support both SSH and HTTPS URLs by @aliscott in #3287.
- Added
splitList
function for config files by @aliscott in #3235. - Added a default timeout for retrieving remote modules by @liamg in #3255.
- Improved error handling and reporting for failed comments by @hugorut in #3259.
🐛 Fixes
- Fixed speed and reliability of parent Terragrunt config detection by @hugorut in #3186.
- Corrected AWS VPC Endpoint pricing tiers by @jamescnowell in #3229.
- Fixed
google_compute_instance_group_manager
with multiple disks by @aliscott in #3244. - Fixed default tag application to AWS
instance
block devices by @tim775 in #3288. - Fixed nil pointer errors in
aws_lb
resources by @aliscott in #3293. - Ensured no duplicate dependencies are created in references by @owenrumney in #3231.
🚀 Performance
- Introduced performance optimizations and added metrics for better insights by @liamg in #3267.
- Optimized Terragrunt dependency output mocks by @aliscott in #3219.
📦 Maintenance
- Updated Golang to version 1.23 by @aliscott in #3292.
- Bumped dependencies for improved security and functionality by @dependabot in multiple PRs.
Full Changelog: v0.10.39...v0.10.40
v0.10.39
What's New
Azure Resources
AWS Resources
Other New Features
- feat: Save PR Comment to Infracost Cloud by @owenrumney in #3127
- feat: Add support for tag propagation checks by @liamg in #3128
- feat: add external module metadata to resources by @hugorut in #3130
- feat: Add tag propagation checking for aws_cloudwatch_event_target by @liamg in #3139
- feat: Better handling of default tags by @liamg in #3138
- Add more config template functions by @aliscott in #3141
- feat: Add Google provider default labels by @liamg in #3142
- enhance: support more complex Terraform vars by @aliscott in #3149
- add all AWS SSO (Identity Center) resources as free by @Theragus in #3151
- feat: add
RepoName
variable to config template by @hugorut in #3159 - feat: add spacelift remote variable support by @hugorut in #3172
- enhance: support complex remote variables by @aliscott in #3175
- feat: Add basic Yor support for default tags by @liamg in #3177
- enhance: add references for networking components by @tim775 in #3181
- enhance: Make yor configs relative to the repo path by @liamg in #3182
- feat: Add information about missing default/resource tag keys at resource level by @liamg in #3179
Fixes
- fix: Check for required attributes as part of tag propagation info by @liamg in #3131
- fix: Fix typo with task definition attribute for aws_pipes_pipe by @liamg in #3132
- fix:
.infracost
cache dir regex matcher by @hugorut in #3133 - fix: use correct values for module calls by @hugorut in #3134
- Fix errored project names to show suffix by @aliscott in #3140
- fix: fix config template replace function so it works as filter by @aliscott in #3143
- fix: don't panic if the launchTemplateData map is nil by @tim775 in #3145
- fix: Fix constraint checking minor version when major is different by @liamg in #3146
- fix: Remove unneeded tag propagation check for resources which don't support tags anyway by @liamg in #3147
- fix: handle missing project metadata when loading json from file by @tim775 in #3148
- fix: warn on missing Terraform workspace by @aliscott in #3155
- fix: detection of HCL attributes for *.tf.json files by @aliscott in #3157
- fix: adds module path to errored project by @hugorut in #3160
- fix: Only check minor version in constraints check when patch is specified by @liamg in #3161
- fix: terraform env matching on colon separated filenames by @hugorut in #3170
- fix: Calculate pricing for performance insights retention (> 7 days) for Serverless v2 by @liamg in #3176
- fix: Apply Yor tags to take precedence over regular tags + defaults by @liamg in #3178
New Contributors
Full Changelog: v0.10.38...v0.10.39
v0.10.38
What's new
- Configure references for the Azure Firewall Policy by @owenrumney in #3101
- Use cloud generated pr comment when available by @tim775 in #3114
- Update PR comment's cost change summary by @vdmgolub in #3099
Fixes
- fix:
dependency_paths
detection issues by @hugorut in #3102 - fix: only marshal parser variables once for
matchPaths
by @hugorut in #3104 - fix: get the relative path based on the starting path for var files by @owenrumney in #3105
- fix: fixup more resources to use
GetRegion
method by @hugorut in #3110 - fix: Take PITR enabled into account by @owenrumney in #3113
Full Changelog: v0.10.37...v0.10.38
v0.10.37
What's new
- support for Google Cloud Run resources by @awaismemon26 in #3067
- add free azure devtest lab resources by @ewencodes in #3079
- Add support for Aurora Serverless V2 by @aliscott in #3088
Fixes
- read autogenerated
dependency_paths
with remote module fix. by @hugorut in #3066 - remove
s3_bucket_lifecycle_configuration
support by @hugorut in #3068 - support launch templates references which use
prefix
by @hugorut in #3069 - support hidden directories in autodetect by @aliscott in #3071
- index expression mocking by @aliscott in #3072
- propagate default provider tags to volume tags by @hugorut in #3070
- add the project path as a dependency in generated output by @hugorut in #3074
- don't use existing context when evaluating resources, data or provider blocks by @aliscott in #3075
*add support fortask_definitions
referenced throughecs_task_set
by @hugorut in #3078 - panic when cloud run resources do not have usage by @hugorut in #3080
- update cost pricing lookups for azure vms by @tim775 in #3082
- missing product warnings by @aliscott in #3081
- fix typo in RDS cluster instance resource by @aliscott in #3095
- github db ints can be int64 by @tim775 in #3098
- add tfvar files to the project dependency paths by @owenrumney in #3096
New Contributors
- @awaismemon26 made their first contribution in #3067
Full Changelog: v0.10.36...v0.10.37
v0.10.36
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
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
orlifecycle
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
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