Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into test/renderer-abort
Browse files Browse the repository at this point in the history
  • Loading branch information
timfish committed Mar 18, 2024
2 parents b353b57 + effcb39 commit b1dd002
Show file tree
Hide file tree
Showing 273 changed files with 18,873 additions and 2,464 deletions.
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,16 @@ module.exports = {
rules: {
'no-console': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/member-ordering': 'off',
},
},
],
rules: {
'@typescript-eslint/no-var-requires': 'off',
'@sentry-internal/sdk/no-async-await': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/consistent-type-imports': 'off',
'@sentry-internal/sdk/no-optional-chaining': 'off',
'@sentry-internal/sdk/no-nullish-coalescing': 'off',
},
};
43 changes: 29 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,18 @@ jobs:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- name: Install
run: yarn install
- name: Build
run: yarn build
- name: Pack
run: yarn pack
- name: Archive Artifacts
uses: actions/upload-artifact@v3.1.1
uses: actions/upload-artifact@v3
with:
name: ${{ github.sha }}
path: |
Expand All @@ -38,8 +40,10 @@ jobs:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- run: yarn install
- name: Run Linter
run: yarn lint
Expand All @@ -49,13 +53,15 @@ jobs:
needs: build
runs-on: ${{ matrix.os }}
strategy:
# we want that the matrix keeps running, default is to cancel them if it fails.
# we want that the matrix keeps running, default is to cancel all if one fails.
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- run: yarn install
- name: Run Unit Tests
run: yarn test
Expand All @@ -72,13 +78,22 @@ jobs:
env:
ELECTRON_VERSION: ${{ matrix.electron }}
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v3
- uses: actions/cache@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
path: |
**/.cache/**/*.zip
key: ${{ runner.os }}-${{ matrix.electron }}
node-version-file: 'package.json'
- run: yarn install
- name: Run E2E Tests
run: yarn e2e

required_jobs_passed:
name: All required jobs passed or were skipped
needs: [build, lint, test, e2e]
# Always run this, even if a dependent job failed
if: always()
runs-on: ubuntu-20.04
steps:
- name: Check for failures
if: contains(needs.*.result, 'failure')
run: |
echo "One of the dependent jobs have failed. You may need to re-run it." && exit 1
58 changes: 29 additions & 29 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
name: 'CodeQL'

on:
push:
branches: [ master ]
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches: [master]
schedule:
- cron: '33 4 * * 5'

Expand All @@ -28,40 +28,40 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: ['javascript']
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release
#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ jobs:
name: Check new versions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- run: yarn install
- name: Update Versions
run: yarn update-electron-versions
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/new-sdk-versions-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Create PR for new SDK versions
on:
schedule:
# At 9am every day
- cron: '0 9 * * *'

jobs:
test:
name: Check new versions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version-file: 'package.json'
- run: yarn install
- name: Update Versions
run: yarn update-sdk-versions
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: test/new-sdk-version
delete-branch: true
title: 'test: New Sentry SDK version'
commit-message: 'test: New Sentry SDK version'
body: |
Automatically generated PR to test new Sentry SDK version
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
name: 'Release a new version'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
token: ${{ secrets.GH_RELEASE_PAT }}
fetch-depth: 0
Expand Down
144 changes: 144 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,150 @@

## Unreleased

## 4.20.0

- feat: Update from [v7.102.1](https://github.com/getsentry/sentry-javascript/releases/tag/7.102.1) to
[v7.105.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.105.0) of JavaScript SDKs (#837, #841)
- feat: Deprecate `Anr` class based integration in favor of new functional style (#822)
- feat: Support and test `Sentry.sendFeedback` (#839)

## 4.19.0

- feat: Update from [v7.101.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.101.0) to
[v7.102.1](https://github.com/getsentry/sentry-javascript/releases/tag/7.102.1) of JavaScript SDKs (#823)
- feat: Deprecate class based integrations in favor of new functional style (#822)

## 4.18.0

- feat: Update from [v7.92.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.92.0) to
[v7.101.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.101.0) of JavaScript SDKs (#815, #821, #826)

## 4.17.0

- feat: Update from [v7.90.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.90.0) to
[v7.92.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.92.0) of JavaScript SDKs (#810)
- feat: Re-work ANR detection to use worker thread (#810)
- feat: Add support for performance metrics (#811)
- test: Ensure correct scope for main process native crashes (#812)

## 4.16.0

- feat: Update from [v7.84.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.84.0) to
[v7.90.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.90.0) of JavaScript SDKs (#800)
- feat: Browser profiling (#799)

## 4.15.1

- fix: Don't call `app.getPath('userData')` before SDK `init` (#797)

## 4.15.0

- feat: Update from [v7.74.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.74.0) to
[v7.84.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.84.0) of JavaScript SDKs (#779, #786, #788)
- fix: Patch registerSchemesAsPrivileged so sentry scheme isn't overwritten (#787)
- fix: Add missing exports (#790)

## 4.14.0

- feat: Renderer process ANR detection with stack traces (#770)
- Update from [v7.73.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.73.0) to
[v7.74.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.74.0) of JavaScript SDKs
- fix: Hide ANR child process from dock (#777)
- test: Electron v28 main process ESM (#773)

## 4.13.0

- feat: Add App Not Responding detection for main process (#753)
- feat: Update from [v7.68.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.68.0) to
[v7.73.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.73.0) of JavaScript SDKs (#766)

## 4.12.0

- feat: Identify `webContents` of renderers via custom protocol (#762)
- fix: Re-work Sentry minidump loader (#761)
- feat: Node compatible ESM build for main process (#756)

**Note:** Node ESM support is in beta until Electron v28 has a beta release and can be tested with the full test suite.

## 4.11.1

fix: Don't send minidumps that are too small to be valid (#748)

## 4.11.0

- feat: Add optional `BrowserWindowSession` to track sessions as window in foreground (#725)
- feat: Update from [v7.63.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.63.0) to
[v7.68.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.68.0) of JavaScript SDKs (#738)
- **feat: Mark errors caught by the SDK as unhandled**

As per the changes in the JavaScript SDKs [for
v7.67.0](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#7670), this release fixes inconsistent
behaviour of when our SDKs classify captured errors as unhandled. Previously, some of our instrumentations correctly set
unhandled, while others set handled.

Going forward, all errors caught automatically from our SDKs will be marked as unhandled.
If you manually capture errors (e.g. by calling `Sentry.captureException`), your errors will continue to be reported as handled.

This change might lead to a decrease in reported crash-free sessions and consequently in your release health score.
If you have concerns about this, feel free to open an issue.

## 4.10.0

- feat: Optionally send sessions when they're created (#715)
- feat: Update from [v7.61.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.61.0) to [v7.63.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.63.0) of JavaScript SDKs (#719)

## 4.9.0

- fix: Ensure context from previous run is used for native main crashes (#683)
- feat: Tracing without performance (#710)
- feat: Deprecate `tracingOrigins` for `tracePropagationTargets` (#703)
- feat: Use `protocol.handle` on Electron >= v25 (#704)
- test: Update from [v7.58.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.58.0) to [v7.61.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.61.0) of JavaScript SDKs (#709)

## 4.8.0

- feat: Update to [v7.58.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.58.0) of JavaScript SDKs
(#699)
- fix: Normalize filename before parsing into module name (#699)

## 4.7.0

- feat: Update to [v7.57.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.57.0) of JavaScript SDKs
(#690)

## 4.6.0

- feat: Update to [v7.50.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.50.0) of JavaScript SDKs
(#671)
- fix: Fix debug ID matching by normalizing `debug_meta` paths (#676)

## 4.5.0

- feat: Update to [v7.48.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.48.0) of JavaScript SDKs
(#662)
- fix: IPC protocol should be registered as secure (#664)

## 4.4.0

- feat: Update to [v7.46.0](https://github.com/getsentry/sentry-javascript/releases/tag/7.46.0) of JavaScript SDKs
(#657)

## 4.3.0

- fix: Add 2 second timeout to session flushing (#644)
- feat: Update dependencies (#640)
- feat: Update Sentry SDKs to 7.37.1 (#636)
- fix: Replay should be re-exported (#633)

## 4.2.0

- feat: Update JavaScript SDKs to 7.30.0 and add support for Replay in renderers (#618)
- feat: Use a transport to send events to main process rather than via integration (#610)
- test: Add test to ensure window titles don't end up in breadcrumbs when disabled (#594)
- fix: Use POST for main process ping so it does not result in fetch breadcrumb (#612)
- CI: Use volta-cli/action to use the correct node version (#609)
- CI: Auto-generate PRs for JavaScript SDK updates (#608)

## 4.1.2

- fix: Ensure the scope writes do not beat the initial async scope read (#593)
Expand Down
Loading

0 comments on commit b1dd002

Please sign in to comment.