FinOps toolkit changelog Explore the latest and greatest features and enhancements from the FinOps toolkit.

Download the latest release See changes

On this page

πŸ”„οΈ Unreleased

🏦 FinOps hubs

βž• Added:

  1. Analytics engine – Ingest cost data into an Azure Data Explorer cluster.
  2. Auto-backfill – Backfill historical data from Microsoft Cost Management.
  3. Retention – Configure how long you want to keep Cost Management exports and normalized data in storage.


🚚 v0.4

Released July 2024

πŸ“— FinOps guide

βž• Added:

  1. Documented the FOCUS export dataset to align to the FOCUS metadata specification.

✏️ Changed:

  1. Updated FinOps Framework guidance to account for the 2024 updates.
  2. Updated FOCUS guidance to FOCUS 1.0.

🏦 FinOps hubs

βž• Added:

  1. Ingest FOCUS 1.0 data in FinOps hubs.
  2. Grant access to FinOps hubs to create and manage exports for you.
  3. Connect to a hub instance in another Entra ID tenant.
  4. Step-by-step troubleshooting guide and expanded set of common errors for validating FinOps hubs and Power BI setup.

πŸ› οΈ Fixed:

  1. Fixed an issue where some dates are showing as off by 1 based on local time zone.
    • If you see dates that are off, upgrade to 0.4 and re-export those months. The fix is in ingestion.
    • You can re-export data in FOCUS 1.0 or FOCUS 1.0 preview. We recommend FOCUS 1.0 for slightly faster refresh times in Power BI.

πŸ“Š Power BI reports

βž• Added:

  • General:
    1. x_IncrementalRefreshDate column to facilitate configuring incremental refresh in Power BI.
    2. Step-by-step troubleshooting guide and expanded set of common errors for validating Power BI setup.
  • Cost summary:
    1. Resource count and cost per resource in the Inventory page.
  • Data ingestion:
    1. Ingestion errors page to help identify FinOps hub data ingestion issues.

✏️ Changed

  • General:
    1. Changed the Tags column to default to {} when empty to facilitate tag expansion (#691).
    2. Simplified formatting for the BillingPeriod and ChargePeriod measures in Power BI.
    3. Improved error handling for derived savings columns in the CostDetails query.
    4. Simplified queries and improved error handling in the START HERE query for report setup steps.
    5. Changed internal storage for reports to use Tabular Model Definition Language (TMDL).
      • This change makes it easier to review changes to the data model in Power BI.
      • Reports will still be released as PBIX files so this change should not impact end users.
      • Visualizations are not being switched to Power BI Enhanced Report (PBIR) format yet due to functional limitations that would impact end users (as of June 2024).
  • Cost summary:
    1. Changed the Cost summary Purchases page and Rate optimization Purchases page to use PricingQuantity instead of Usage/ConsumedQuantity and added the PricingUnit column.
    2. Updated the DQ page to identify empty ChargeDescription rows.
    3. Updated the DQ page to identify potentially missing rounding adjustments.
  • Rate optimization:
    1. Renamed the β€œCommitment discounts” report to β€œRate optimization” to align to the FinOps Framework 2024 updates.
  • Data ingestion:
    1. Optimized Data ingestion report queries to reduce memory footprint and load faster.

      We are investigating an issue where we are missing rounding adjustments since May 2024. We do not yet know the cause of this issue.

πŸ› οΈ Fixed:

πŸ“’ Azure Monitor workbooks

βž• Added:

  • Optimization workbook:
    1. Added reservation recommendations with the break-even point to identify when savings would be achieved.
    2. Identify idle ExpressRoute circuits to streamline costs.
    3. Gain insights into the routing preferences for public IP addresses to optimize network performance.
    4. Explore commitment discount savings to get a clear overview of rate optimization opportunities.
    5. Quickly view public IP addresses with DDoS protection enabled and compare if it would be cheaper to enable DDoS to the vNet instead.
    6. Identify Azure Hybrid Benefit usage for SQL Database elastic pools to maximize cost efficiency.

✏️ Changed:

  • Optimization workbook:
    1. Redesigned the Sustainability tab to clarify recommendations.
    2. Ignore dynamic IPs in the public IP addresses list to ensure more accurate results.
    3. Ignore free tier web apps to provide a clearer picture of your top services.

πŸ” Optimization engine

βž• Added:

  1. Added Azure Optimization Engine (AOE), an extensible solution for custom optimization recommendations.

πŸ–₯️ PowerShell

βž• Added:

  1. Added progress tracking to Start-FinOpsCostExport for multi-month exports.
  2. Added a 60-second delay when Cost Management returns throttling (429) errors in Start-FinOpsCostExport.

✏️ Changed:

  1. Updated New-FinOpsCostExport to default to FOCUS 1.0.

πŸ—‘οΈ Removed:

  1. Removed support for Windows PowerShell.

    We discovered errors with Windows PowerShell due to incompatibilities in Windows PowerShell and PowerShell 7. Due to our limited capacity, we decided to only support PowerShell 7 going forward.

  2. Removed ConvertTo-FinOpsSchema and Invoke-FinOpsSchemaTransform commands which were deprecated in 0.2 (January 2024).

🌐 Open data

βž• Added:

  1. Added a new FOCUS 1.0 dataset example.
  2. Added dataset metadata for FOCUS 1.0 and FOCUS 1.0-preview.

✏️ Changed

  1. Updated all open data files to include the latest data.
  2. Changed the primary columns in the Regions and Services open data files to be lowercase.
  3. Updated all sample exports to use the same date range as the FOCUS 1.0 dataset.


🚚 v0.3

Released March 28, 2024

πŸ“— FinOps guide

βž• Added:

  1. Moved Azure FinOps documentation about how to implement and adopt FinOps into the toolkit.

✏️ Changed:

  1. Rearranged documentation site to better organize content.

🏦 FinOps hubs

βž• Added:

  1. Started archiving template versions so they can be referenced easily via URL microsoft.github.io/finops-toolkit/deploy/finops-hub-{version}.json.

πŸ› οΈ Fixed:

  1. Fixed β€œmissing period” error Data Factory Studio.
  2. Fixed bug where msexports_FileAdded trigger was not getting started.
  3. Fixed deploy to Azure buttons to point to the latest release.

✏️ Changed:

  1. Return a single boolean value from the Remove-FinOpsHub command.

πŸ“Š Power BI reports

βž• Added:

  1. Added ResourceParentId, ResourceParentName, and ResourceParentType columns to support the usage of the user-defined cm-resource-parent tag.
  2. Added ToolkitVersion and ToolkitTool columns to help quantify the cost of FinOps toolkit solutions.
  3. Added a DQ page to the Commitment discounts report for data quality validations. This page can be useful in identifying data gaps in Cost Management.
  4. Added x_NegotiatedUnitPriceSavings column to show the price reduction from negotiated discounts compared to the public, list price.
  5. Added x_IsFree column to indicate when a row represents a free charge (based on Cost Management data). This is used in data quality checks.
  6. Added Tags and TagsAsJson columns to both the Usage details and Usage details amortized tables in the CostManagementTemplateApp report (#625).

πŸ› οΈ Fixed:

  1. Fixed numerous errors causing the Cost Management connector report to not load for MCA accounts.
  2. Fixed incorrect filter in the Commitment discounts report (#585).
  3. Fixed data issue where Cost Management uses β€œ1Year”, β€œ3Years”, and β€œ5Years” for the x_SkuTerm. Values should be 12, 36, and 60 (#594).
  4. Changed the data type for the x_Month column to be a date.
  5. Changed x_SkuTerm to be a whole number and to not summarize by default.
  6. Changed x_BillingExchangeRate to not summarize by default.
  7. Corrected references to x_InvoiceIssuerId and InvoiceIssuerName columns in the Cost Management connector report (#639).
  8. Corrected the datatype for the x_Month column.

✏️ Changed:

  1. Changed β€œOther” ChargeSubcategory for usage to β€œOn-Demand” to be consistent with Cost Management exports
  2. Renamed savings columns for consistency:
    • x_OnDemandUnitPriceSavings is now x_CommitmentUnitPriceSavings. This shows the commitment discount price reduction compared to the negotiated prices for the account.
    • x_ListUnitPriceSavings is now x_DiscountUnitPriceSavings. This shows the price reduction from all discounts compared to the public, list price.
    • x_NegotiatedSavings is now x_NegotiatedCostSavings. This shows the cost savings from negotiated discounts only (excluding commitment discounts).
    • x_CommitmentSavings is now x_CommitmentCostSavings. This shows the cost savings from commitment discounts compared to on-demand prices for the account (including negotiated discounts).
    • x_DiscountSavings is now x_DiscountCostSavings. This shows the cost savings from all negotiated and commitment discounts.
  3. Changed the PricingQuantity and UsageQuantity columns to use 3 decimal places.
  4. Changed all cost columns to use 2 decimal places.
  5. Changed all unit price columns to not summarize by default and use 3 decimal places.
  6. Changed the x_PricingBlockSize column to a whole number and not summarize by default.
  7. Renamed the Coverage pages in the Commitment discounts report to Recommendations.

πŸ–₯️ PowerShell

βž• Added:

  1. Get-FinOpsService includes new -Environment and -ServiceModel filters and properties in the response (#585).

✏️ Changed:

  1. Start-FinOpsCostExport includes a new -Backfill option to backfill multiple months.
  2. Start-FinOpsCostExport includes a new -StartDate and -EndDate options to run the export for a given date range. This can include multiple months.

πŸ› οΈ Fixed:

  1. Fixed ParameterBindingException error in New-FinOpsCostExport.
  2. Updated the FOCUS dataset version that was changed in Cost Management exports in New-FinOpsCostExport.
  3. Changed the default -EndDate in New-FinOpsCostExport to be the end of the month due to a breaking change in Cost Management exports.
  4. Fixed internal command used in Deploy-FinOpsHub that may have caused it to fail for some versions of the Az PowerShell module.

🌐 Open data

βž• Added:

  1. Added ServiceModel and Environment columns to the services data (#585).
  2. New and updated resource types and icons.

Download v0.3 Full changelog


🚚 v0.2

Released January 22, 2024

🏦 FinOps hubs

Breaking change

πŸ› οΈ Fixed:

  1. Fixed error in some China regions where deployment scripts were not supported (#259).

✏️ Changed:

  1. Switch from amortized cost exports to FOCUS cost exports.

    This change requires re-ingesting historical data and is not backwards compatible. The unified schema used in this release is aligned with the future plans for Microsoft Cost Management exports. Note the next release will update the schema to align to the FinOps Open Cost and Usage Specification (FOCUS).

  2. Updated ingestion container month folders from yyyyMMdd-yyyyMMdd to yyyyMM.
  3. Renamed msexports_extract pipeline to msexports_ExecuteETL.
  4. Renamed msexports_transform pipeline to msexports_ETL_ingestion.

πŸ“Š Power BI reports

βž• Added:

  1. Cost Management connector report to support the Cost Management connector.

✏️ Changed:

  1. Updated Cost summary and Commitment discounts reports to FOCUS 1.0 preview.
  2. Updated Cost summary and Commitment discounts reports to only use FinOps hubs.
  3. Removed unused custom visualizations.
  4. Organized setup instructions in Cost summary to match other reports.
  5. Updated troubleshooting documentation.

πŸ› οΈ Fixed:

  1. Removed sensitivity labels.
  2. Fixed dynamic data source error when the Power BI service refreshes data.
    • Error message: β€œYou can’t schedule refresh for this semantic model because the following data sources currently don’t support refresh…”
  3. Fixed error in ChargeId column when ResourceId is empty.
  4. Removed the ChargeId column due to it bloating the data size.
    • The field is commented out. If interested, you can enable uncomment it in the ftk_NormalizeSchema function. Just be aware that it duplicates a lot of columns to ensure uniqueness which bloats the data size significantly.
  5. Fixed null error when Billing Account ID is empty (#473).
  6. Added missing commitment discount refunds to the actual cost data (#447).

πŸ“’ Azure Monitor workbooks

βž• Added:

  • Optimization workbook:
    1. Storage: Identify Idle Backups: Review protected items’ backup activity to spot items not backed up in the last 90 days.
    2. Storage: Review Replication Settings: Evaluate and improve your backup strategy by identifying resources with default geo-redundant storage (GRS) replication.
    3. Networking: Azure Firewall Premium Features: Identify Azure Firewalls with Premium SKU and ensure associated policies leverage premium-only features.
    4. Networking: Firewall Optimization: Streamline Azure Firewall usage by centralizing instances in the hub virtual network or Virtual WAN secure hub.

✏️ Changed:

  • Optimization workbook:
    1. Top 10 services: Improved Monitoring tabs: Enhance your monitoring experience with updated Azure Advisor recommendations for Log Analytics.

πŸ› οΈ Fixed:

πŸ–₯️ PowerShell

βž• Added:

  1. New-FinOpsCostExport to create and update Cost Management exports.
  2. Start-FinOpsCostExport to run a Cost Management export immediately.
  3. Get-FinOpsCostExport now has a -RunHistory option to include the run history of each export.

✏️ Changed:

  1. Updated the default API version for export commands to 2023-07-01-preview to leverage new datasets and features.
    • Specify 2023-08-01 explicitly for the previous API version.

πŸ› οΈ Fixed:

  1. Fixed typo in Deploy-FinOpsHub causing it to fail.

🚫 Deprecated:

  1. ConvertTo-FinOpsSchema and Invoke-FinOpsSchemaTransform are no longer being maintained and will be removed in a future update.
    • With native support for FOCUS 1.0 preview in Cost Management, we are deprecating both commands, which only support FOCUS 0.5.
    • If you would like to see the PowerShell commands updated to 1.0 preview, please let us know in discussions or via a GitHub issue.

🌐 Open data

βž• Added:

  1. Resource types to map Azure resource types to friendly display names.
  2. Get-FinOpsResourceType PowerShell command to support resource type to display name mapping.
  3. Sample exports for each of the datasets that can be exported from Cost Management.

πŸ“— FinOps guide

βž• Added:

  1. FinOps Open Cost and Usage Specification (FOCUS) details.

Download v0.2 Full changelog


πŸ› οΈ v0.1.1

Released October 26, 2023

πŸ–₯️ PowerShell

βž• Added:

  1. New PowerShell commands to convert data to FOCUS 0.5:
    1. ConvertTo-FinOpsSchema
    2. Invoke-FinOpsSchemaTransform
  2. New PowerShell commands to get and delete Cost Management exports:
    1. Get-FinOpsCostExport
    2. Remove-FinOpsCostExport

🌐 Open data

βž• Added:

  1. New PowerShell commands to integrate open data to support data cleansing:
    1. Get-FinOpsPricingUnit
    2. Get-FinOpsRegion
    3. Get-FinOpsService

🏦 FinOps hubs

βž• Added:

  1. New PowerShell commands to manage FinOps hubs 0.1:
    1. Get-FinOpsHub
    2. Initialize-FinOpsHubDeployment
    3. Register-FinOpsHubProviders
    4. Remove-FinOpsHub

Download v0.1.1 Full changelog


🚚 v0.1

Released October 22, 2023

πŸ–₯️ PowerShell

βž• Added:

  1. FinOpsToolkit module released in the PowerShell Gallery.
  2. Get-FinOpsToolkitVersion to get toolkit versions.

🏦 FinOps hubs

βž• Added:

  1. Deploy-FinOpsHub to deploy or update a hub instance.
  2. Get-FinOpsHub to get details about a hub instance.
  3. Support for Microsoft Customer Agreement (MCA) accounts and Cloud Solution Provider (CSP) subscriptions in Power BI reports.

πŸ› οΈ Fixed:

  1. Storage redundancy dropdown default not set correctly in the create form.
  2. Tags specified in the create form were causing the deployment to fail (#331).

πŸ“Š Power BI reports

βž• Added:

  1. Commitments, Savings, Chargeback, Purchases, and Prices pages in the Commitment discounts report.
  2. Prices page in the Cost summary report.
  3. FOCUS sample report – See your data in the FinOps Open Cost and Usage Specification (FOCUS) schema.
  4. Cost Management template app (EA only) – The original Cost Management template app as a customizable PBIX file.

✏️ Changed:

  1. Expanded the FinOps hubs Cost summary and Commitment discounts Power BI reports to support the Cost Management connector.

πŸ“’ Azure Monitor workbooks

βž• Added:

  1. Governance workbook to centralize governance.

✏️ Changed:

  1. Optimization workbook updated to cover more scenarios.

🌐 Open data

βž• Added:

  1. Pricing units to map all pricing units (UnitOfMeasure values) to distinct units with a scaling factor.
  2. Regions to map historical resource location values in Microsoft Cost Management to standard Azure regions.
  3. Services to map all resource types to FOCUS service names and categories.

Download v0.1 Full changelog


🌱 v0.0.1

Released May 27, 2023

🏦 FinOps hubs

βž• Added:

  1. FinOps hub template to deploy a storage account and Data Factory instance.
  2. Cost summary report for various out-of-the-box cost breakdowns.
  3. Commitment discounts report for commitment-based discount reports.

🦾 Bicep modules

βž• Added:

  1. Scheduled action modules submitted to the Bicep Registry.

πŸ“’ Azure Monitor workbooks

βž• Added:

  1. Cost optimization workbook to centralize cost optimization.

Download v0.0.1 Full changelog



This site uses Just the Docs, a documentation theme for Jekyll.