Skip to content

Latest commit

 

History

History
193 lines (142 loc) · 10.8 KB

File metadata and controls

193 lines (142 loc) · 10.8 KB

Changelog for FabricTools

The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Added Get-FabricDataset cmdlet to retrieve Power BI datasets from My Workspace or a specific workspace, with optional filtering by DatasetId or DatasetName (WorkspaceId parameter, alias GroupId)
  • Added Get-FabricDatasetRefreshHistory cmdlet to retrieve the refresh history of a Power BI dataset, with optional WorkspaceId (alias GroupId) and Top parameters
  • Added Invoke-FabricDatasetRefresh cmdlet (in Dataset folder) to trigger on-demand dataset refreshes, supporting both standard and enhanced refresh parameters (Type, CommitMode, MaxParallelism, RetryCount, Timeout, EffectiveDate, ApplyRefreshPolicy, Objects)
  • Updated unit tests for Invoke-FabricDatasetRefresh to cover the new parameter set, alias, ShouldProcess, body construction, and error handling

Changed

  • Renamed Add-FabricWorkspaceCapacityAssignment to Add-FabricWorkspaceCapacity (issue #42)
  • Renamed Remove-FabricWorkspaceCapacityAssignment to Remove-FabricWorkspaceCapacity (issue #42)
  • Refactored Invoke-FabricRestMethod call in bunch of cmdlets to use hash splatting instead of backtick line continuation (issue #87)
  • Refactored cmdlets to use HandleResponse = $true on Invoke-FabricRestMethod, removing manual status-code switches, LRO polling, and pagination loops from each cmdlet
  • Invoke-FabricRestMethod handles response by default

Fixed

  • Connect-FabricAccount now automatically re-authenticates when MFA or conditional access has expired, without requiring the -Reset switch
  • Made ReportPathDefinition parameter optional in New-FabricReport (issue #43)
  • Fixed PowerShell 5.1 compatibility by replacing ternary operators with if-else statements (issue #166)
  • Added PSFramework as a required module dependency to prevent "not recognized" errors on fresh environments (issue #167)
  • Added Id parameter alias to Workspace functions that take WorkspaceId to support compatibility with API field names and issue #158.
  • The module is compatible with PS 5.1 (issue #166)

Deprecated

Removed

  • Removed Invoke-FabricAPIRequest_duplicate and Invoke-FabricRestMethodExtended
  • Removed all legacy FAB and PowerBI aliases from functions to clean up the module and remove references to old PowerBI-focused codebase (issue #47).
  • Removed Register-FabricWorkspaceToCapacity and Unregister-FabricWorkspaceToCapacity, as they are no longer needed (issue #42)
  • Removed abandoned New-FabricNotebookNEW file (incomplete/broken duplicate of New-FabricNotebook)

Security

0.31.0 - 2025-12-14

Added

  • Added GitHub Codespaces and DevContainerSupport (Non Functional Change)
  • Added function Update-FabricCapacity
  • Added Error Detailed Info in Test-FabricApiResponse (Debug mode) when response.error exists
  • Enhanced Pester unit tests with coverage for many public functions including:
    • Domain workspace assignment functions (Add-FabricDomainWorkspaceAssignmentByCapacity, Add-FabricDomainWorkspaceAssignmentById, Add-FabricDomainWorkspaceAssignmentByPrincipal, Add-FabricDomainWorkspaceRoleAssignment)
    • Workspace functions (Add-FabricWorkspaceCapacityAssignment, Add-FabricWorkspaceIdentity, Add-FabricWorkspaceRoleAssignment, Add-FabricWorkspaceToStage, Update-FabricWorkspace, Update-FabricWorkspaceRoleAssignment)
    • Utility functions (Convert-FromBase64, Convert-ToBase64, Connect-FabricAccount, Export-FabricItem)
    • Update functions for various Fabric items (Notebooks, Reports, Semantic Models, Warehouses, ML models, etc.)
    • Tests now include scenarios for successful API calls, long-running operations, error handling, and exception handling
  • Increased code coverage threshold from 0.1% to 50%

Changed

  • Version of Microsoft.PowerShell.PSResourceGet and Microsoft.PowerShell.PlatyPS updated
  • Replace the repo's configuration approach with PSFramework (move config handling to PSFramework) #85
  • Applied Invoke-FabricRestMethod to several public cmdlets #85

Fixed

  • Fixed bug in Update-FabricSemanticModelDefinition - Uri was incorrect when a platform file exists
  • Name of new SQL database will be shown (#169)
  • Logging in with a Service Principal does not work (#164)

0.30.0 - 2025-07-22

Added

  • Added unit tests for Get-FabricWorkspaceUser function to ensure it works correctly with multiple workspaces both in the pipeline and passed to a parameter.
  • Added unit tests for Aliases for Get-FabricWorkspaceUser function to ensure backward compatibility.
  • Added credits for authors to all functions and Unit tests to verify the existence of such tags (#89)
  • Added NoWait switch parameter to New-FabricSQLDatabase (#123)
  • Added functions related to Deployment Pipelines (#121):
    • Add-FabricWorkspaceToStage,
    • Get-FabricDeploymentPipeline,
    • Get-FabricDeploymentPipelineOperation,
    • Get-FabricDeploymentPipelineRoleAssignments,
    • Get-FabricDeploymentPipelineStage,
    • Get-FabricDeploymentPipelineStageItem,
    • New-FabricDeploymentPipeline,
    • Remove-FabricDeploymentPipeline,
    • Remove-FabricWorkspaceFromStage,
    • Start-FabricDeploymentPipelineStage
  • Added private function Get-FabricContinuationToken to facilitate pagination
  • Invoke-FabricRestMethod handles throttling (error 429) by pausing and repeating the request (#88)
  • New build automation task added Generate_help_from_built_module

Changed

  • Write-Message uses Write-Warning & Write-Error accordingly rather than Write-Host with colour (#136)
  • Updated Get-FabricWorkspaceUser to support pipeline input for WorkspaceId and WorkspaceName parameters.
  • Renamed Get-FabricWorkspaceUsers to match the singular form
  • Get-FabricSqlDatabase accepts Workspace as a pipeline, handles errors correctly and can filter by name (#117).
  • Applied splatting for several parameters in Invoke-FabricRestMethod and output results in debug mode
  • Remove-FabricSQLDatabase uses unified function to handle API results
  • Updated the WorkspaceId, CapacitiesIds,CapacityId,CopyJobId,datamartId,DataPipelineId,DataWarehouseGUID,DomainId,EnvironmentId,EventhouseId,EventstreamId,ExternalDataShareId,ItemId,KQLDashboardId,KQLDatabaseId,KQLQuerysetId,LakehouseId,MirroredDatabaseId,MirroredWarehouseId,MLExperimentId,MLModelId,NotebookId,operationId,PaginatedReportId,ParentDomainId,parentEventhouseId,PrincipalId,ReflexId,ReportId,SemanticModelId,SparkCustomPoolId,SparkJobDefinitionId,SQLDatabaseId,SQLEndpointId,subscriptionID,UserId,WarehouseId,WorkspaceGUID,WorkspaceId,WorkspaceIds, and WorkspaceRoleAssignmentId parameters to the datatype GUID #125
  • Internal function Invoke-FabricRestMethod: (#143)
    • handles API response, no need to use Test-FabricApiResponse from parent public function
    • handles pagination automatically (when -HandleResponse is provided)
  • All Deployment Pipeline functions raise an error when an exception is caught. Used splatting for params.
  • Refactored SQL Database functions to use enhanced capability in Invoke-FabricRestMethod. Used splatting for params.
  • Write-Message uses PSFramework function for logging, which logs function name (#84)
  • Changed the documentation folder to docs/<locale>
  • Code-fenced blocks included in function examples

Fixed

  • Enhanced logic in unified function Test-FabricApiResponse to handle API results and moved it to private functions
  • Fixed bug in Get-FabricLongRunningOperation - Uri was incorrectly created (#131)
  • Fixed bug in Get-FabricLongRunningOperationResult - uses correct statusCode (#131)
  • Fixed misleading message from Remove-FabricWarehouse (#145)
  • Fixed Start-FabricDeploymentPipelineStage that supports -NoWait correctly

Deprecated

  • None

Removed

  • Removed Revision History from Get-FabricSQLDatabase, Get-FabricSQLDatabase

Contributors:
Rob Sewell, Kamil Nowinski and Gijs Reijn.

Note:
For a full list of changes and details, please see the commit history.

0.29.0 - 2025-06-10

Added

  • Introduced new PowerShell functions for managing Fabric workspaces, recovery points, configurations, tenant settings, and workspace identities.
  • Added unit tests for key functions, including Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides.
  • Added standard tests for each function and enhanced Help tests to filter by exported commands.
  • Added OutputType attributes to several functions for improved type safety.
  • Added support for WhatIf and Confirm parameters to update and revoke functions.
  • Added Contributor Covenant Code of Conduct and enhanced contributing guidelines.
  • Added commit message guidelines for contributors using GitHub Copilot.

Changed

  • Refactored Get-FabricAPIClusterURI to use Invoke-FabricRestApi for improved consistency.
  • Updated validation pattern for WorkspaceName to allow additional special characters, then removed the pattern for greater flexibility.
  • Improved documentation for many functions, especially around parameters like WorkspaceId.
  • Refactored multiple functions for clarity, consistency, and maintainability.
  • Enhanced error handling and confirmation prompts (ShouldProcess) for potentially destructive actions.
  • Updated module manifest and build/test workflows for better automation and deployment.
  • Improved code formatting using the dbatools formatter.

Fixed

  • Fixed issues with New-FabricDataPipeline and its call to Invoke-FabricAPIRequest.
  • Fixed capital letter handling in test automation.
  • Fixed ResourceUrl for token retrieval in Connect-FabricAccount.
  • Fixed bugs in New-FabricEventhouse and improved ShouldProcess logic.
  • Fixed parameter naming and example formatting in several functions.
  • Fixed issue with call to Invoke-FabricAPIRequest from Remove-FabricWarehouse.

Deprecated

  • None.

Removed

  • Removed unnecessary or duplicate functions (e.g., Get-AllFabricDatasetRefreshes, Get-AllFabricCapacities).
  • Removed obsolete scripts and commented-out configuration paths.
  • Removed Invoke-FabricAPIRequest and replaced it by Invoke-FabricRestMethodExtended
  • Removed Confirm-FabricAuthToken
  • Renamed Test-TokenExpired to Confirm-TokenState and extended it using EnableTokenRefresh Feature Flag
  • Removed Set-FabricApiHeaders and merged the entire logic to Connect-FabricAccount

Security

  • None.

Contributors:
Rob Sewell, Jess Pomfret, Ioana Bouariu, Frank Geisler, Kamil Nowinski, and others.

Note:
For a full list of changes and details, please see the commit history.

Added

Security

  • In case of vulnerabilities.