Skip to content

Releases: igoravl/TfsCmdlets

Release 2.11.0+4185.52

09 Apr 07:20

Choose a tag to compare

Added

  • Install-TfsShell — Installs Azure DevOps Shell shortcuts (Start Menu, Desktop) and Windows Terminal profile fragments. Automatically detects Windows Terminal and deploys WT profile fragments.
  • Uninstall-TfsShell — Removes Azure DevOps Shell shortcuts and Windows Terminal profile fragments. Supports selective removal via the -Target parameter.
  • Get-TfsPersonalAccessToken — Lists or gets Personal Access Tokens (PATs) for the current user (by name, ID, or wildcard). Administrators can list tokens of another user by specifying the -User parameter, which uses the Token Admin API.
  • New-TfsPersonalAccessToken — Creates a new PAT with the specified display name, scope, and validity period. Supports -AllOrganizations for organization-agnostic tokens.
  • Set-TfsPersonalAccessToken — Updates properties (display name, scope, validity, all-organizations flag) of an existing PAT.
  • Update-TfsPersonalAccessToken — Regenerates (rotates) a PAT by revoking and recreating it, preserving its scope and settings.
  • Remove-TfsPersonalAccessToken — Revokes a PAT. Administrators can revoke another user's tokens by specifying the -User parameter.
  • Rename-TfsPersonalAccessToken — Updates the display name of an existing PAT without changing its scope or expiration date.

Changed

  • Enter-TfsShell: Added Oh-My-Posh integration.
    • Bundled Oh-My-Posh theme (azuredevops.omp.json) for the Azure DevOps Shell, displaying the connected organization, project, team, and user in the prompt.
    • Integration can be controlled via environment variables: set TFSCMDLETS_OMP_DISABLE to 1 or true to suppress Oh-My-Posh, or set TFSCMDLETS_OMP_THEME to a custom theme file path. When Oh-My-Posh is detected and neither variable is set, the module automatically initializes the bundled Azure DevOps theme.
  • Connection state is now automatically synchronized to TFSCMDLETS_* process-level environment variables (TFSCMDLETS_CONNECTED, TFSCMDLETS_ORG, TFSCMDLETS_ORG_URL, TFSCMDLETS_USER, TFSCMDLETS_USER_DISPLAY, TFSCMDLETS_IS_HOSTED, TFSCMDLETS_PROJECT, TFSCMDLETS_TEAM) on every connect/disconnect, enabling integration with external prompt customization tools such as Oh-My-Posh and Starship.
  • Remove-Module TfsCmdlets now clears all TFSCMDLETS_* environment variables via IModuleAssemblyCleanup.
  • Bumped System.Composition and System.Composition.Hosting from 6.0.0 to 10.0.5.
  • WiX installer: Conditional Windows Terminal integration — creates a WT-aware shortcut when Windows Terminal is detected, falls back to standard PowerShell shortcut otherwise.

Fixed

  • Fixed authentication errors when using Personal Access Token authentication with on-premises Servers.

Release 2.10.0+4172.10

27 Mar 20:41
6c8cbdd

Choose a tag to compare

Added

  • -AzureLogin switch parameter for all credential-bearing cmdlets (e.g. Connect-TfsTeamProjectCollection, Connect-TfsOrganization, and all cmdlets that accept credential parameters). Uses DefaultAzureCredential from the Azure.Identity SDK to authenticate to Azure DevOps by inheriting the current Azure authentication context (Azure CLI, Managed Identity, Visual Studio, Environment Variables, etc.). Tokens are short-lived (~1 hour) and are automatically renewed when they expire.
  • Azure.Identity NuGet package dependency for Azure credential support.

Release 2.9.2+3932.5

30 Jul 05:25
8b4903b

Choose a tag to compare

This release fixes a bug in Get-TfsGitItem cmdlet.

Fixes

  • Get-TfsGitItem: Fixed an issue where the cmdlet would fail when specifying a commit SHA.

Release 2.9.1+3877.9

05 Jun 15:03
9e096ed

Choose a tag to compare

This release fixes a critical bug in Set-TfsWorkItem, among other improvements.

Fixes

  • Get-TfsVersion: Adds support for Azure DevOps Services version "20" (currently mapped to 2022)
  • Remove-TfsTeamProject: Removes a double-confirmation prompt when using the -Hard switch, simplifying the deletion process
  • Set-TfsWorkItem: Fixed an issue where the actual work item ID wasn't being used when retrieving work item type information, causing some field updates to fail

Release 2.9.0+3583.93

15 Aug 17:02
4b27cde

Choose a tag to compare

This release adds new process-related cmdlets along with some fixes, enhancements and a couple minor but potentially breaking changes.

New cmdlets

  • Get-ProcessFieldDefinition: Gets information from one or more organization-wide work item fields
  • New-ProcessFieldDefinition: Creates a new organization-wide work item field
  • Remove-ProcessFieldDefinition: Removes an organization-wide work item field

Fixes

  • Get-TfsArtifact: Fixed an issue where it wouldn't list deleted packages.
  • Get-TfsArtifactFeed: Fixed an issue where it would ignore the -Project argument and thus not filter feeds by project.
  • Get-TfsWorkItemTag: Fixed an issue where it would fail when given a list of tags as input.
  • Get-TfsWorkItemType: Fixed an issue where it would throw a "Parameter count mismatch" error when trying to get the work item type of a given work item.

Changes and enhancements

  • Get-TfsGitBranch: Added a new -Compare argument to to get the "Compare" (base) branch of a given repository.
  • Connect-TfsTeamProjectCollection, Connect-TfsOrganization: Now it throws an error when trying to connect with invalid credentials instead of silently going into "anonymous mode". That help preventing subtle script errors where the lack of authorization would only be noticed later in the script, when trying to actually perform some command that required valid credentials. Now you get the warning that something is wrong as early in the script as possible.

Breaking changes

  • Get-TfsGitBranch: -Repository parameter is now mandatory. This is to reduce the ambiguity of the command when omitting that argument. Scripts that rely on the old behavior may need to be updated.
  • Get-TfsGitBranchPolicy: Both -Branch and -Repository parameters are now mandatory. This is to reduce the ambiguity of the command when omitting those arguments. Scripts that rely on the old behavior may need to be updated.

Release 2.8.2+3561.26

24 Jul 17:44
073ff45

Choose a tag to compare

This release brings some fixes and enhancements.

Enhancements

  • Add-TfsWorkItemLink: Added support for specifying the arguments -SuppressNotification and -BypassRules to suppress notifications and bypass rules when adding a work item link.
  • Now when when a cmdlet fails, a full exception dump will be sent to the verbose output stream in addition to the short error message sent to the error stream. So, if your script is failing and you don't know why, you can enable the verbose output to get more information about the error.

Fixes

  • Fixed an issue where the Get-TfsTeam cmdlet would not work when specifying the -Default parameter.
  • Fixed an issue where Invoke-TfsRestApi would ignore the parameters passed via the -Parameters argument [#228]

Release 2.8.1+3553.1

16 Jul 15:08
ca2d168

Choose a tag to compare

This release fixes an issue with the New-TfsUser cmdlet.

Fixes

  • Fixed an issue where the New-TfsUser cmdlet could throw an error when not supplying project entitlements via the -Project argument.

Release 2.8.0+3546.2

09 Jul 06:58
645b1fd

Choose a tag to compare

This release adds two new cmdlets: New-TfsUser and Remove-TfsUser.

New cmdlets

  • New-TfsUser: Creates a new user in the organization and optionally adds them to projects.
  • Remove-TfsUser: Removes a user from the organization.

Release 2.7.1+3540.1

03 Jul 19:27
4e35fb0

Choose a tag to compare

This release fixes an issue with the Chocolatey publishing process. No changes have been made to the cmdlets.

Release 2.7.0+3540.2

03 Jul 17:46
e570b7d

Choose a tag to compare

This release adds support for suppressing notifications when creating or updating work items.

New features

  • Adds -SuppressNotifications switch to New-TfsWorkItem and Set-TfsWorkItem to suppress notifications when creating or updating work items. This is useful when you are creating or updating a large number of work items and don't want to flood the notification feed of team members.