Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@

- Add `Write-SentryLog` cmdlet, a native PowerShell API for sending structured logs (Sentry Logs) ([#131](https://github.com/getsentry/sentry-powershell/pull/131))

### Dependencies

- Bump Dotnet SDK from v5.16.1 to v6.5.0 ([#109](https://github.com/getsentry/sentry-powershell/pull/109))
- [changelog](https://github.com/getsentry/sentry-dotnet/blob/main/CHANGELOG.md#650)
- [diff](https://github.com/getsentry/sentry-dotnet/compare/5.16.1...6.5.0)

## 0.4.0

### Fixes
Expand Down
2 changes: 1 addition & 1 deletion dependencies/Sentry.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
version = 5.16.1
version = 6.5.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SDK 6 breaks Experimental logging API

Medium Severity

Raising the bundled Sentry package to 6.5.0 removes SentryOptions.Experimental, but the log sample and tests still configure logging via Experimental.EnableLogs and Experimental.SetBeforeSendLog. Those assignments fail at runtime, so Write-SentryLog cannot be enabled with the current setup after this bump.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 837672b. Configure here.

repo = https://github.com/getsentry/sentry-dotnet
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The major version bump of sentry-dotnet to 6.x may break reflection-based access to internal methods like HttpTransportBase.ProcessEnvelope, which are not guaranteed to be stable.
Severity: HIGH

Suggested Fix

Verify that all internal methods accessed via reflection in SynchronousTransport.ps1 and New-HttpTransport.ps1 still exist with the same signatures in sentry-dotnet v6.5.0. If they have changed, update the reflection code to match the new APIs. For a more robust long-term solution, avoid relying on reflection against internal, non-public SDK components and request a public API if necessary.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: dependencies/Sentry.properties#L2

Potential issue: Upgrading `sentry-dotnet` from version 5.x to 6.x introduces a risk of
breakage. The PowerShell module uses reflection to access internal, non-public SDK
methods like `HttpTransportBase.ProcessEnvelope`, `HttpTransportBase.CreateRequest`, and
`Sentry.Internal.SdkComposer.CreateHttpTransport`. These internal APIs have no stability
guarantees across major versions. If their signatures change, reflection will fail at
runtime. This failure is silently caught, causing a fallback to the default asynchronous
transport. This defeats the purpose of the synchronous transport, potentially leading to
the silent loss of Sentry events captured just before a process terminates.

Did we get this right? 👍 / 👎 to inform future reviews.

license = MIT
Loading