Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e4d6bac
[Fix] streaming: do not reset timeout for each chunk emit (#378)
MehakBindra Dec 24, 2025
f30bbda
Add support for Targeted Messages (#427)
ShanmathiMayuramKrithivasan Jan 8, 2026
9d8250f
Revert "Add support for Targeted Messages" (#429)
heyitsaamir Jan 8, 2026
a2858fc
Update React to 19.2.3 for CVE fixes (#423)
Copilot Jan 15, 2026
c43dfc8
Bump express from 4.21.2 to 4.22.0 (#411)
dependabot[bot] Jan 22, 2026
a32b268
Bump react-router from 7.5.3 to 7.12.0 (#432)
dependabot[bot] Jan 22, 2026
8c58404
Bump qs from 6.14.0 to 6.14.1 (#425)
dependabot[bot] Jan 22, 2026
b393488
Bump @modelcontextprotocol/sdk from 1.24.3 to 1.25.2 (#428)
dependabot[bot] Jan 22, 2026
440ed02
add meetings sample and update events to pascal casing (#434)
lilyydu Jan 22, 2026
b984212
Fix context merging with Plugin's response to onActivity (#418)
heyitsaamir Jan 22, 2026
02fe092
Add option to override base service url for our API Client (#435)
heyitsaamir Jan 26, 2026
df7390c
Bump lodash from 4.17.21 to 4.17.23 (#436)
dependabot[bot] Jan 27, 2026
0eebe84
Refactor C# template and update .NET target framework (#437)
rido-min Jan 27, 2026
98db271
Add support for Targeted Messages (#443)
ShanmathiMayuramKrithivasan Jan 28, 2026
b3093cb
Fix MeetingClient API usage for `getParticipant` and `getById` (#448)
corinagum Feb 11, 2026
ff5e602
Switch CLI to give instructions for pip (python) (#444)
heyitsaamir Feb 12, 2026
6ca623f
Add AGENTS.md to TypeScript AI template (#446)
SidU Feb 17, 2026
43cc087
Bump qs from 6.14.1 to 6.14.2 (#450)
dependabot[bot] Feb 17, 2026
70effed
Remove changesets, use dynamic versioning during release (#445)
heyitsaamir Feb 17, 2026
70439c4
Refactor targeted messaging API to consolidate recipient and targetin…
Copilot Feb 18, 2026
767bddf
Add ESRP publish pipeline and migrate from ADO (#454)
corinagum Feb 18, 2026
a9bf4d4
Fix versioning issues with nbgv (#456)
corinagum Feb 19, 2026
0f0c49c
Rename CUSTOM_VERSION variable to VersionNumber in publish pipeline (…
rido-min Feb 19, 2026
5f28a25
Set nbgv cloud build version variable in publish script (#458)
corinagum Feb 23, 2026
644aac3
Update docs for Release and Meeting API (#455)
corinagum Feb 23, 2026
9a5adfe
Create and use ADO-managed approver groups for publish (#461)
corinagum Feb 24, 2026
4fdb54b
Update node version publish.yml for Azure Pipelines
corinagum Feb 25, 2026
07efd04
Implement Reactions following teams.net PR #335 (#452)
Copilot Feb 26, 2026
6313f7e
Fix package-lock with rollup for windows (#466)
rido-min Feb 27, 2026
0115a37
Fix package-lock json (#467)
rido-min Feb 27, 2026
184f9d6
Create `'signin/failure'` invoke activity handling (#459)
corinagum Mar 5, 2026
1a9159d
Update sign-in failure example string (#470)
corinagum Mar 9, 2026
104e5aa
Fix JWT validator issuer validation and audience matching (#469)
heyitsaamir Mar 11, 2026
1ccc238
Update `target: container: host` in each step and release title to pu…
corinagum Mar 11, 2026
f1b133c
Add preview indicators to targeted messages and reactions (#468)
corinagum Mar 13, 2026
bc8dbfd
Simplify HTTP Plugin architecture (#424)
heyitsaamir Mar 13, 2026
e875163
Fix npm audit vulnerabilities (#473)
heyitsaamir Mar 16, 2026
f7911b2
Introduce HttpServer (and begin deprecating HttpPlugin) (#433)
heyitsaamir Mar 16, 2026
cfec748
fix: update `objectId` to` aadObjectId` for `TeamsChannelAccount` (#475)
lilyydu Mar 17, 2026
549772c
Move internal workspace packages from peer deps to direct deps (#474)
heyitsaamir Mar 23, 2026
7ccf40f
Fix npm audit vulnerabilities (#481)
heyitsaamir Mar 23, 2026
2ddb91f
Move IsTargeted property from Activity to Account (#477)
ShanmathiMayuramKrithivasan Mar 23, 2026
dd12f32
Make messaging endpoint path configurable (#483)
heyitsaamir Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
204 changes: 204 additions & 0 deletions .azdo/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# =============================================================================
# This pipeline publishes npm packages. Manually triggered only.
# - Internal: publishes unsigned packages to the internal TeamsSDKPreviews feed.
# - Public: publishes signed packages to npm via ESRP (requires approval).
# =============================================================================

trigger: none

pr: none

parameters:
- name: publishType
displayName: 'Publish Type'
type: string
default: 'Internal'
values:
- Internal
- Public

variables:
- group: TeamsSDK-Release

resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
parameters:
pool:
name: 1ES-Teams-Windows-2022-DomoreexpGithub
os: windows
stages:
- stage: build
displayName: Build and Test
jobs:
- job: build_test
pool:
name: 1ES-Teams-Windows-2022-DomoreexpGithub
os: windows
templateContext:
isReleaseJob: true
variables:
ob_outputDirectory: '$(Build.SourcesDirectory)/out'
ob_git_fetchTags: true
ob_sdl_binskim_break: true
ob_git_fetchDepth: -1

steps:
- checkout: self
displayName: 'Checkout'
fetchDepth: 0
target:
container: host

- task: NodeTool@0
displayName: 'Use Node 24.x'
inputs:
versionSpec: '24.x'
checkLatest: true
target:
container: host

- task: UseDotNet@2
displayName: 'Use .NET SDK'
inputs:
packageType: 'sdk'
version: '8.x'
target:
container: host

- powershell: |
# Install nbgv
dotnet tool install -g nbgv
Write-Host "##vso[task.prependpath]$env:USERPROFILE\.dotnet\tools"
nbgv --version

# Set cloud build number and variables (resolves detached HEAD in ADO)
nbgv cloud
displayName: 'Install nbgv and set cloud build version'
target:
container: host

# Always use internal feed for dependency resolution (avoids firewall issues on 1ES pool)
- task: CmdLine@2
displayName: 'Configure npm registry'
inputs:
script: |
echo always-auth=true >> .npmrc
echo registry=https://pkgs.dev.azure.com/DomoreexpGithub/Github_Pipelines/_packaging/TeamsSDKPreviews/npm/registry/ >> .npmrc
target:
container: host

- task: NpmAuthenticate@0
displayName: 'Authenticate npm registry'
inputs:
workingFile: .npmrc
target:
container: host

- task: Npm@1
displayName: 'npm ci'
inputs:
command: ci
verbose: true
target:
container: host

- script: npm run build
displayName: 'npm build'
target:
container: host

- script: npm test
displayName: 'npm test'
continueOnError: false
target:
container: host

- powershell: |
Write-Host "Stamping package versions from nbgv..."
npm run version:stamp

# Get version from nbgv and set NpmTag
$version = (npm run version:get --silent).Trim()
Write-Host "Version from nbgv: $version"
Write-Host "##vso[task.setvariable variable=VersionNumber]$version"

# If version contains '-' it's a prerelease, use 'next' tag; otherwise 'latest'
if ($version -match '-') {
Write-Host "Prerelease version detected - using 'next' npm tag"
Write-Host "##vso[task.setvariable variable=NpmTag]next"
} else {
Write-Host "Stable version detected - using 'latest' npm tag"
Write-Host "##vso[task.setvariable variable=NpmTag]latest"
}
displayName: 'Stamp package versions (nbgv)'
env:
PublicRelease: 'true'
target:
container: host

- powershell: |
New-Item -ItemType Directory -Force -Path ./out

Get-ChildItem -Path packages, external -Directory | ForEach-Object {
$packageJsonPath = "$($_.FullName)/package.json"
if (Test-Path $packageJsonPath) {
$packageJson = Get-Content $packageJsonPath | ConvertFrom-Json
if ($packageJson.private -eq $true) {
Write-Host "Skipping $($_.Name) (marked as private)"
} else {
Write-Host "Packing $($_.Name)..."
Set-Location $_.FullName
npm pack --pack-destination ../../out
Set-Location ../..
}
}
}

Write-Host "`nFiles to publish:"
Get-ChildItem ./out
displayName: 'npm pack (excluding private packages)'
target:
container: host

# Publish to internal npm feed (Azure Artifacts)
- powershell: |
Get-ChildItem ./out -Filter *.tgz | ForEach-Object {
Write-Host "Publishing $($_.Name) to internal feed..."
npm publish $_.FullName --tag $(NpmTag)
}
displayName: 'Publish packages to internal npm feed'
condition: and(succeeded(), eq('${{ parameters.publishType }}', 'Internal'))
target:
container: host

# Publish to npm via ESRP
- task: EsrpRelease@10
displayName: 'Publish packages to npm via ESRP'
condition: and(succeeded(), eq('${{ parameters.publishType }}', 'Public'))
inputs:
connectedservicename: 'TeamsESRP-Release-Npm'
usemanagedidentity: true
keyvaultname: 'esrp-teams'
signcertname: '37a342c7-607b-474f-a41f-b772450e461d'
clientid: '37a342c7-607b-474f-a41f-b772450e461d'
intent: 'packagedistribution'
contenttype: 'npm'
contentsource: 'Folder'
folderlocation: '$(Build.SourcesDirectory)/out'
waitforreleasecompletion: true
serviceendpointurl: 'https://api.esrp.microsoft.com'
owners: $(Release.Owners)
approvers: $(Release.Approvers)
mainpublisher: 'ESRPRELPACMAN'
domaintenantid: '975f013f-7f24-47e8-a7d3-abc4752bf346'
productState: $(NpmTag)
releasetitle: 'Teams SDK TypeScript $(VersionNumber)'
target:
container: host
8 changes: 0 additions & 8 deletions .changeset/README.md

This file was deleted.

14 changes: 0 additions & 14 deletions .changeset/config.json

This file was deleted.

11 changes: 1 addition & 10 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,11 +1,2 @@
/\\* @microsoft/teams-ai-admins
/.github/ @microsoft/teams-ai-admins

# Cards
/packages/cards/ @dclaux

# Client
/packages/client/ @ydogandjiev @Jesperholmbergmsft

# DevTools
/packages/devtools/ @corinagum
/.github/ @microsoft/teams-ai-admins
2 changes: 1 addition & 1 deletion .github/workflows/build-test-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['20.x', '21.x', '22.x', '23.x']
node-version: ['24.x', '25.x']
permissions:
contents: read
steps:
Expand Down
Loading
Loading