Conversation
Add new packages to azd-core: - version: extension version info and cobra command builder - cmdutil: generic command execution framework - logutil/ComponentLogger: component-scoped structured logging - cache: thread-safe file-based cache manager - auth: Azure token management and scope detection - httpclient: HTTP client with retry, pagination, header redaction - progress: multi-progress bar system with spinners - yamlutil: comment-preserving YAML manipulation - notify: cross-platform OS notifications - healthcheck: service health monitoring with circuit breaker - registry: in-memory service registry - projecttype: project type detection types Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Replace custom browser launch code with pkg/browser - Replace platform-specific notify implementations with gen2brain/beeep - Simplify cross-platform code, reduce maintenance burden Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix race condition in auth token cache expiration check (getCached) - Add context parameter to GetAzureToken for caller-controlled cancellation - Add timeout enforcement around browser.OpenURL call - Add bounds check in yamlutil FindServiceInSection to prevent panic on malformed YAML Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix golangci-lint v2 issues (errcheck, staticcheck, revive) - Fix test reliability issues - All preflight checks now pass Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Feb 19, 2026
- auth/auth_test.go: Remove brittle error message assertion in TestAzureTokenProvider_InvalidScope that fails in CI where no Azure credentials are available (error is auth-related, not scope-related) - Remove redundant // +build tags from 6 test files that already have the modern //go:build directive (fixes golangci-lint govet warnings) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #18 +/- ##
==========================================
- Coverage 80.97% 73.11% -7.86%
==========================================
Files 16 39 +23
Lines 1335 3649 +2314
==========================================
+ Hits 1081 2668 +1587
- Misses 193 797 +604
- Partials 61 184 +123
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extract common code from azd-exec, azd-rest, azd-copilot, and azd-app into shared azd-core packages, eliminating duplication across the extension ecosystem.
New Packages
versioncmdutilcacheauthhttpclientprogressyamlutilnotifyhealthcheckregistryprojecttypelogutilCommunity Packages Adopted
Security Fixes
auth.getCached()(token expiration check outside RLock)GetAzureToken()for cancellation supportyamlutilon negative indentDeltabrowser.Launch()via select/time.AfterQuality