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
2 changes: 1 addition & 1 deletion .codex/environments/environment.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ worktree_path="$PWD"
echo "Setting up Exceptionless Aspire worktree: $worktree_path"

if ! command -v dotnet >/dev/null 2>&1; then
echo "dotnet is not installed or not on PATH. Exceptionless requires .NET 10." >&2
echo "dotnet is not installed or not on PATH. Exceptionless requires .NET 11." >&2
exit 1
fi

Expand Down
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
"version": "latest"
},
"ghcr.io/devcontainers/features/dotnet:2": {
"version": "10.0"
"version": "11.0-preview"
},
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105
- name: Build Reason
env:
GITHUB_EVENT: ${{ toJson(github) }}
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105

- name: Version
id: version
Expand Down Expand Up @@ -156,7 +156,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105

- uses: actions/cache@v6
with:
Expand Down Expand Up @@ -215,7 +215,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105

- name: Merge coverage
run: |
Expand Down Expand Up @@ -327,8 +327,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-quality: ga
dotnet-version: 11.0.100-rc.2.26504.105

- name: Install Aspire CLI
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105

- name: Install Aspire CLI
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/elasticsearch-docker-8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0.402
dotnet-version: 11.0.100-rc.2.26504.105
- name: Build Reason
env:
GITHUB_EVENT: ${{ toJson(github) }}
Expand Down
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/src/Exceptionless.Web/bin/Debug/net10.0/Exceptionless.Web.dll",
"program": "${workspaceFolder}/src/Exceptionless.Web/bin/Debug/net11.0/Exceptionless.Web.dll",
"args": [],
"cwd": "${workspaceFolder}/src/Exceptionless.Web",
"stopAtEntry": false,
Expand All @@ -29,7 +29,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/src/Exceptionless.Job/bin/Debug/net10.0/Exceptionless.Job.dll",
"program": "${workspaceFolder}/src/Exceptionless.Job/bin/Debug/net11.0/Exceptionless.Job.dll",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Exceptionless

Real-time error monitoring platform on .NET 10, Aspire, and Svelte 5. Keep changes readable, narrow, and backwards compatible.
Real-time error monitoring platform on .NET 11, Aspire, and Svelte 5. Keep changes readable, narrow, and backwards compatible.

This file is root-scope agent guidance. When working in a subtree, read any nested `AGENTS.md` there too. Prefer nearby repo skills for detailed backend, frontend, testing, repository, and dogfood workflows.

Expand Down
10 changes: 5 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0.402 AS build
FROM mcr.microsoft.com/dotnet/sdk:11.0.100-rc.2 AS build
ARG MinVerVersionOverride
WORKDIR /app

Expand Down Expand Up @@ -40,7 +40,7 @@ RUN dotnet publish -c Release -o out --no-build

# job

FROM mcr.microsoft.com/dotnet/aspnet:10.0.13 AS job
FROM mcr.microsoft.com/dotnet/aspnet:11.0.0-rc.2 AS job
WORKDIR /app
COPY --from=job-publish /app/src/Exceptionless.Job/out ./

Expand All @@ -59,7 +59,7 @@ RUN dotnet publish -c Release -o out --no-build /p:SkipSpaPublish=true

# api

FROM mcr.microsoft.com/dotnet/aspnet:10.0.13 AS api
FROM mcr.microsoft.com/dotnet/aspnet:11.0.0-rc.2 AS api
WORKDIR /app
COPY --from=api-publish /app/src/Exceptionless.Web/out ./

Expand All @@ -77,7 +77,7 @@ RUN dotnet publish -c Release -o out --no-build

# app

FROM mcr.microsoft.com/dotnet/aspnet:10.0.13 AS app
FROM mcr.microsoft.com/dotnet/aspnet:11.0.0-rc.2 AS app

WORKDIR /app
COPY --from=app-publish /app/src/Exceptionless.Web/out ./
Expand Down Expand Up @@ -145,7 +145,7 @@ USER elasticsearch

RUN wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh && \
chmod +x dotnet-install.sh && \
./dotnet-install.sh --version 10.0.13 --runtime aspnetcore && \
./dotnet-install.sh --version 11.0.0-rc.2.26504.105 --runtime aspnetcore && \
rm dotnet-install.sh

EXPOSE 8080 9200
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ _In appreciation for anyone who submits a non-trivial pull request, we will give
Start here:

1. Read the [contributing document](https://github.com/exceptionless/Exceptionless/blob/main/CONTRIBUTING.md).
2. Install [Docker](https://www.docker.com/get-docker), [.NET 10.0](https://dotnet.microsoft.com/), and [Node 24+](https://nodejs.org/).
2. Install [Docker](https://www.docker.com/get-docker), [.NET 11.0](https://dotnet.microsoft.com/), and [Node 24+](https://nodejs.org/).
3. Run the app with one of these entry points:
- Visual Studio Code: open the repo root and start the `Aspire` launch configuration.
- Visual Studio: open `Exceptionless.slnx`, set `Exceptionless.AppHost` as the startup project, and run it.
Expand Down
2 changes: 1 addition & 1 deletion build/EmailTemplatePreviews.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#:sdk Microsoft.NET.Sdk
#:property TargetFramework=net10.0
#:property TargetFramework=net11.0
#:project ../src/Exceptionless.EmailTemplates/Exceptionless.EmailTemplates.csproj

// Run from the repository root.
Expand Down
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"sdk": {
"version": "10.0.100",
"version": "11.0.100-rc.2.26504.105",
"rollForward": "latestMinor",
"allowPrerelease": false
"allowPrerelease": true
},
"test": {
"runner": "Microsoft.Testing.Platform"
Expand Down
2 changes: 1 addition & 1 deletion src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<TargetFramework>net11.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Product>Exceptionless</Product>
<MinVerSkip Condition="'$(Configuration)' == 'Debug'">true</MinVerSkip>
Expand Down
2 changes: 1 addition & 1 deletion src/Exceptionless.AppHost/Exceptionless.AppHost.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Aspire.AppHost.Sdk/13.6.1">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<TargetFramework>net11.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<UserSecretsId>a9c2ddcc-e51d-4cd1-9782-96e1d74eec87</UserSecretsId>
Expand Down
10 changes: 5 additions & 5 deletions src/Exceptionless.Core/Exceptionless.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
<PackageReference Include="Exceptionless.RandomData" Version="2.0.1" />
<PackageReference Include="Foundatio.Extensions.Hosting" Version="13.0.5" />
<!-- Required at runtime by the repository package's index configuration hashing. -->
<PackageReference Include="System.IO.Hashing" Version="10.0.13" />
<PackageReference Include="System.IO.Hashing" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="MiniValidation" Version="0.10.0" />
<PackageReference Include="McSherry.SemanticVersioning" Version="1.5.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Stripe.net" Version="53.0.0" />
<PackageReference Include="System.DirectoryServices" Version="10.0.13" />
<PackageReference Include="System.DirectoryServices" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Foundatio.Repositories.Elasticsearch" Version="8.0.2-preview.elasticsearch-mapping-issue-investigation.0.3" Condition="'$(ReferenceFoundatioRepositoriesSource)' == '' OR '$(ReferenceFoundatioRepositoriesSource)' == 'false'" />
<ProjectReference Include="..\..\..\..\Foundatio\Foundatio.Repositories\src\Foundatio.Repositories.Elasticsearch\Foundatio.Repositories.Elasticsearch.csproj" Condition="'$(ReferenceFoundatioRepositoriesSource)' == 'true'" />
Expand Down
13 changes: 6 additions & 7 deletions src/Exceptionless.Insulation/Exceptionless.Insulation.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@
<PackageReference Include="Foundatio.AzureStorage" Version="13.0.5" />
<PackageReference Include="Foundatio.RabbitMQ" Version="13.0.5" />
<PackageReference Include="Foundatio.Redis" Version="13.0.5" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="10.0.13" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="MailKit" Version="4.18.1" />
<PackageReference Include="Serilog.Extensions.Logging" Version="10.0.0" />
<PackageReference Include="Serilog.Formatting.Compact" Version="3.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="10.0.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
<PackageReference Include="Serilog.Sinks.ExceptionLess" Version="5.0.0" />
<!-- MimeKit (via MailKit) allows 10.0.0, which has GHSA-2fmv-rv2c-59x7 and GHSA-846f-f764-76mx. -->
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="10.0.13" />
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="YamlDotNet" Version="18.1.0" />
</ItemGroup>
<ItemGroup>
Expand Down
6 changes: 2 additions & 4 deletions src/Exceptionless.Web/Exceptionless.Web.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@
<PackageReference Include="Exceptionless.AspNetCore" Version="6.2.0" />
<PackageReference Include="Joonasw.AspNetCore.SecurityHeaders" Version="6.0.0" />
<PackageReference Include="Foundatio.Mediator" Version="1.3.3" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.13" />
<!-- Microsoft.AspNetCore.OpenApi 10.x is built against the Microsoft.OpenApi 2.x API surface.
Keep this direct reference on the latest 2.x release until ASP.NET Core supports 3.x. -->
<PackageReference Include="Microsoft.OpenApi" Version="2.12.2" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="11.0.0-rc.2.26504.105" />
<PackageReference Include="Microsoft.OpenApi" Version="3.10.2" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we should be able to get rid of this now

<PackageReference Include="ModelContextProtocol.AspNetCore" Version="2.2.0" />
<PackageReference Include="Riok.Mapperly" Version="4.3.1" />
<PackageReference Include="MiniValidation" Version="0.10.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public Task TransformAsync(OpenApiOperation operation, OpenApiOperationTransform
requestBody.Required = true;
if (requestBody.Content is not null)
{
foreach (var mediaType in requestBody.Content.Values)
foreach (var mediaType in requestBody.Content.Values.OfType<OpenApiMediaType>())
mediaType.Schema = RemoveNullAlternative(mediaType.Schema);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi;

namespace Exceptionless.Web.Utility.OpenApi;

Expand All @@ -10,6 +11,8 @@ public static IServiceCollection AddExceptionlessOpenApi(this IServiceCollection
{
services.AddOpenApi(options =>
{
// ASP.NET Core 11 defaults to OpenAPI 3.2; keep publishing 3.1 for existing client generators.
options.OpenApiVersion = OpenApiSpecVersion.OpenApi3_1;
options.CreateSchemaReferenceId = SchemaReferenceIdHelper.CreateSchemaReferenceId;
options.AddDocumentTransformer<AggregateDocumentTransformer>();
options.AddDocumentTransformer<XmlDocumentationDocumentTransformer>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ public Task TransformAsync(OpenApiOperation operation, OpenApiOperationTransform
operation.RequestBody = new OpenApiRequestBody
{
Required = true,
Content = new Dictionary<string, OpenApiMediaType>
Content = new Dictionary<string, IOpenApiMediaType>
{
["multipart/form-data"] = new()
["multipart/form-data"] = new OpenApiMediaType
{
Schema = CreateMultipartSchema(multipartFileUploadAttribute)
}
Expand All @@ -61,7 +61,7 @@ public Task TransformAsync(OpenApiOperation operation, OpenApiOperationTransform
operation.RequestBody = new OpenApiRequestBody
{
Required = true,
Content = new Dictionary<string, OpenApiMediaType>()
Content = new Dictionary<string, IOpenApiMediaType>()
};

foreach (string contentType in contentTypes)
Expand Down
Loading
Loading