Skip to content

Releases: pbi-tools/pbi-tools

1.0.0-rc.8 (TMDL Preview-9)

09 Jan 19:38
1454b5e
Compare
Choose a tag to compare
  • Upgraded to TOM 19.74.2 (TMDL Preview-9)
  • PbixProj v0.14 Schema
    • settings.model.excludeChildrenMetadata
    • settings.model.includeRestrictedInformation
    • settings.model.formatting.encoding
    • settings.model.formatting.newLineStyle
    • settings.model.formatting.indentationMode
    • settings.model.formatting.indentationSize
  • #296 TMDL Serializer now honors settings.model.annotations in PbixProj
  • Various dependencies updated

Example .pbixproj.json

{
  "version": "0.14",
  "settings": {
    "model": {
      "annotations": {
        "exclude": [
          "*TEdtr"
        ]
      },
      "formatting": {
        "encoding": "utf-8",
        "newLineStyle": "WindowsStyle",
        "indentationMode": "Spaces",
        "indentationSize": 2
      },
      "excludeChildrenMetadata": false,
      "includeRestrictedInformation": true
    }
  }
}

1.0.0-rc.7 (TMDL Preview-7)

28 Nov 22:50
59ea832
Compare
Choose a tag to compare
  • Upgraded to TOM 19.69.6.2 (TMDL Preview-7; aligns with Tabular Editor 2.21.x)

1.0.0-rc.5 (TMDL Preview-5)

28 Nov 16:20
54f4823
Compare
Choose a tag to compare
  • Upgraded to TOM 19.67 (aligns with Tabular Editor 2.20.x)

1.0.0-rc.5+preview.1

09 Jun 18:43
aedb33b
Compare
Choose a tag to compare
1.0.0-rc.5+preview.1 Pre-release
Pre-release
  • Upgraded to TOM 19.65
  • Temp fix for #290 (Cannot deploy/compile TMDL model with Power BI-specific artifacts, for instance field params)
    • To be reverted once the next TMDL preview handles this scenario internally

1.0.0-rc.4 (TMDL Preview-2)

09 May 10:08
a251c88
Compare
Choose a tag to compare
  • Upgraded to TOM 19.64, including TMDL Preview-2
  • #232 CI Runner Console Output
    • manifest.options.console.width: If specified, sets an explicit console width. This setting can be useful with certain CI/CD runners.
    • manifest.options.console.expandTable: Indicates whether or not tables printed to the console should fit the available space. If false (default), the table width will be auto calculated.
  • #274 Allow running pbi-tools with private AMO DLLs
    • New env setting: PBITOOLS_ExternalAmoPath (Desktop/NetFx only)
    • If provided and a valid directory, loads all "Microsoft.AnalysisServices*.dll" assemblies from that folder into current AppDomain (prior to Fody embedded dlls).
    • Allows users to run pbi-tools session with private set of AMO DLLs
  • #272 Simplified error reporting (no stack trace) for certain known exception types
    • IOException: The process cannot access the file because it is being used by another process.
  • Fixed #269 Typo in deployment error message
  • PbixProj v0.13 Schema (Note that the RC.3 release should have had a version bump, too.)
    • #195 OAuth2 creds in deployment manifest { scopes, useDeploymentToken }
    • #232 Deployment log setting: manifest.options.console { width, expandTable }

1.0.0-rc.3 (TMDL Preview-1)

11 Apr 17:06
8cc0fad
Compare
Choose a tag to compare

#262 TMDL Serialization Support

This release adds support for the newly announced Tabular Model Definition Language (TMDL).

  • New model serialization modes: Tmdl (default), Legacy (PbixProj)
  • New (optional) environment variable: PBITOOLS_DefaultModelSerialization

New CLI action: extract-pbidesktop

  • Extracts binaries from a PBIDesktopSetup.exe|.msi installer bundle (silent/x-copy install). (Implemented using an embedded tool: wix-extract.exe)
  • Arguments:
    • <installerPath> - The path to an existing PBIDesktopSetup.exe|PBIDesktopSetup.msi file.
    • <targetFolder> - The destination folder. '-overwrite' must be specified if folder is not empty.
    • <overwrite> - Overwrite any contents in the destination folder. Default: false

#195 Deployments - Setting dataset credentials

  • Added support for Anonymous and OAuth2 (cloud) credentials
  • Case-insensitive matching of data sources
  • Manifest Schema Changes
    • manifest.credentials[].updateMode: { NotSpecified, Always, Never, BeforeRefresh }
    • manifest.credentials[].type: { Basic, Anonymous, OAuth2 }
    • manifest.credentials[].authority
    • manifest.credentials[].validateAuthority
    • manifest.credentials[].tenantId
    • manifest.credentials[].clientId
    • manifest.credentials[].clientSecret
    • manifest.credentials[].scopes
    • manifest.credentials[].useDeploymentToken

Example: OAuth2 credentials for another PBI dataset

      "credentials": [
        {
          "match": {
            "datasourceType": "AnalysisServices",
            "connectionDetails": {
              "server": "powerbi://api.powerbi.com/v1.0/myorg/WORKSPACE",
              "database": "DATASET_NAME"
            }
          },
          "type": "OAuth2",
          "updateMode": "BeforeRefresh",
          "tenantId": "your-tenant.com",
          "clientId": "c2e24fe7-4785-4776-9040-eb19c16ed700",
          "clientSecret": "%CLIENT_SECRET%",
          "scopes": [
            "https://analysis.windows.net/powerbi/api/.default"
          ]
        }
      ]

Example: Use deployment token to access another PBI dataset during refresh

This will only work for other Power BI resources (because of OAuth scope). Ensure that the service principal used for the deployment has sufficient access to the referenced dataset.

      "credentials": [
        {
          "match": {
            "datasourceType": "AnalysisServices",
            "connectionDetails": {
              "server": "powerbi://api.powerbi.com/v1.0/myorg/WORKSPACE",
              "database": "DATASET_NAME"
            }
          },
          "type": "OAuth2",
          "updateMode": "BeforeRefresh",
          "useDeploymentToken": true
        }
      ]

Other Changes

  • Change to 'launch-pbi' CLI action: <pbixPath> argument is now optional. If not specified, a new PBIDesktop instance is started without opening an existing file.
  • New build target: "BuildTools" - Builds all csproj inside ./tools and bundles each tool output as a .zip archive in ./.build/out/*.zip

1.0.0-rc.3+preview.2

01 Apr 20:23
e42f31c
Compare
Choose a tag to compare
1.0.0-rc.3+preview.2 Pre-release
Pre-release
  • New CLI action: extract-pbidesktop
    • Extracts binaries from a PBIDesktopSetup.exe|.msi installer bundle (silent/x-copy install). (Implemented using an embedded tool: wix-extract.exe)
    • Arguments:
      • <installerPath> - The path to an existing PBIDesktopSetup.exe|PBIDesktopSetup.msi file.
      • <targetFolder> - The destination folder. '-overwrite' must be specified if folder is not empty.
      • <overwrite> - Overwrite any contents in the destination folder. Default: false
  • Change to 'launch-pbi' CLI action: <pbixPath> argument is now optional. If not specified, a new PBIDesktop instance is started without opening an existing file.
  • New build target: "BuildTools" - Builds all csproj inside ./tools and bundles each tool output as a .zip archive in ./.build/out/*.zip
  • #195 Set (Cloud) credentials during dataset deployment - Anonymous
  • #195 Set (Cloud) credentials during dataset deployment - OAuth2
  • #195 Case-insensitive matching of data sources
  • Manifest Schema Changes
    • manifest.credentials[].updateMode: { NotSpecified, Always, Never, BeforeRefresh }
    • manifest.credentials[].type: { Basic, Anonymous, OAuth2 }
    • manifest.credentials[].authority
    • manifest.credentials[].validateAuthority
    • manifest.credentials[].tenantId
    • manifest.credentials[].clientId
    • manifest.credentials[].clientSecret
    • manifest.credentials[].scopes
    • manifest.credentials[].useDeploymentToken

1.0.0-rc.3+preview.1

29 Mar 22:17
02aa529
Compare
Choose a tag to compare
1.0.0-rc.3+preview.1 Pre-release
Pre-release
  • #195 Set (Cloud) credentials during dataset deployment - Anonymous
  • #195 Set (Cloud) credentials during dataset deployment - OAuth2
  • #195 Case-insensitive matching of data sources
  • Manifest Schema Changes
    • manifest.credentials[].updateMode: { NotSpecified, Always, Never, BeforeRefresh }
    • manifest.credentials[].type: { Basic, Anonymous, OAuth2 }
    • manifest.credentials[].authority
    • manifest.credentials[].validateAuthority
    • manifest.credentials[].tenantId
    • manifest.credentials[].clientId
    • manifest.credentials[].clientSecret
    • manifest.credentials[].scopes
    • manifest.credentials[].useDeploymentToken

1.0.0-rc.2

09 Jan 23:42
b02640e
Compare
Choose a tag to compare
  • #97 Model Deployments
  • #147 Refresh Tracing
  • #141 Deployment of "thick" reports
  • #145 Non-string deployment parameters
  • #146 Environment-scoped parameters
  • #168 SqlScripts Deployments
  • #129 Object-specific refresh
  • #135 Bind to Gateway (new datasets)
  • #167 Report partition status after update/refresh
  • #169 Report datasources
  • #151 Deployments of Incremental Refresh datasets
  • #195 Set (Cloud) credentials during dataset deployment - Basic
  • #26 Bookmarks (PbixProj v0.12 schema)
  • #91 Serialize/Deserialize MobileState
  • #153 Make "CreateOrOverwrite" default import mode
  • #202 Ship .Net 7 version of pbi-tools Core
  • #56 Support for long paths on Windows
  • Fixed #109 'pbi-tools info' no longer fails when another instance of SSAS runs on the same machine
  • Fixed #127 Folder or File sources containing spaces aren't matched (Desktop edition only)
  • Fixed #102 x-plat conform resolution of TEMP path
  • Fixed #111 Deployment fails in model-only mode (due to logging)
  • Fixed #207 Dataset deployment fails if model has field parameters
  • Fixed #219 pbi-tools Core does not compress PBIX files when compiling
  • Libraries updated: TOM 19.54, Power BI API 4.11, MSAL 4.49, db-up 5.0
  • Tested with PBI Desktop 2.112 (Dec '22)
  • Converted Fake build system from runner to fsproj

1.0.0-rc.2+preview.6 Bugfix Release

23 Nov 00:01
07fc1ba
Compare
Choose a tag to compare
Pre-release
  • #97 Model Deployments
  • #147 Refresh Tracing
  • #141 Deploying "thick" reports
  • #145 Non-string deployment parameters
  • #146 Environment-scoped parameters
  • #168 SqlScripts Deployments
  • #129 Object-specific refresh
  • #135 Bind to Gateway
  • #167 Report partition status after update/refresh
  • #169 Report datasources
  • #151 Deployments of Incremental Refresh datasets
  • #195 Set (Cloud) credentials during dataset deployment - Basic
  • #26 Bookmarks (PbixProj v0.12 schema)
  • #91 Serialize/Deserialize MobileState
  • #153 Make "CreateOrOverwrite" default import mode
  • Fixed #109 'pbi-tools info' no longer fails when another instance of SSAS runs on the same machine
  • Fixed #127 Folder or File sources containing spaces aren't matched (Desktop edition only)
  • Fixed #102 (x-plat conform resolution of TEMP path)
  • Fixed #111 Deployment fails in model-only mode (due to logging)
  • Fixed #207 Dataset deployment fails if model has field parameters
  • Libraries updated: TOM 19.52, Power BI API 4.11, MSAL 4.48
  • Tested with PBI Desktop 2.110 (Oct '22)