Skip to content

Commit

Permalink
Merge branch 'master' into nacho/RequestComExceptionReadingBody
Browse files Browse the repository at this point in the history
  • Loading branch information
NachoEchevarria authored Dec 18, 2024
2 parents 22c3375 + 137aac2 commit 16fdae4
Show file tree
Hide file tree
Showing 87 changed files with 2,328 additions and 1,124 deletions.
2 changes: 1 addition & 1 deletion .azure-pipelines/steps/update-github-status.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ steps:
| awk '{l[NR] = $0} END {for (i=1; i<=NR-1; i++) print l[i]}; END{ if ($0<200||$0>299) {print "The requested URL returned error: " $0; exit 1}}'
}
# example usage
export IFS=";"
allChecks="${{ parameters.checkName }}"
for stageToSkip in $allChecks; do
TARGET_URL="https://dev.azure.com/datadoghq/$(AZURE_PROJECT_NAME)/_build/results?buildId=$(Build.BuildId)"
Expand Down
2 changes: 1 addition & 1 deletion .azure-pipelines/ultimate-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ variables:
DD_COLLECTOR_CPU_USAGE: true
# If we're doing an SSI run, set the indicator, the rest need to be set in the stage
IS_SSI_RUN: $[ or(eq(variables['Build.CronSchedule.DisplayName'], 'Daily SSI Run'), eq(variables['force_ssi_run'], 'true')) ]
ToolVersion: 3.7.0
ToolVersion: 3.8.0

# Declare the datadog agent as a resource to be used as a pipeline service
resources:
Expand Down
14 changes: 6 additions & 8 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,10 @@ jobs:
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Learn more about CodeQL language support at https://git.io/codeql-language-support

- name: Install Clang-16
- name: Setup Clang-16
# clang-16 is already installed in the ubuntu 24.04 used, but the default is clang-18,
# so we just need to modify where clang points.
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x ./llvm.sh
sudo ./llvm.sh 16
sudo ln -s -f `which clang-16` `which clang`
sudo ln -s -f `which clang++-16` `which clang++`
Expand Down Expand Up @@ -119,11 +118,10 @@ jobs:
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Learn more about CodeQL language support at https://git.io/codeql-language-support

- name: Install Clang-16
- name: Setup Clang-16
# clang-16 is already installed in the ubuntu 24.04 used, but the default is clang-18,
# so we just need to modify where clang points.
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x ./llvm.sh
sudo ./llvm.sh 16
sudo ln -s -f `which clang-16` `which clang`
sudo ln -s -f `which clang++-16` `which clang++`
Expand Down
140 changes: 140 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,146 @@




## [Release 3.7.0](https://github.com/DataDog/dd-trace-dotnet/releases/tag/v3.7.0)

## Summary

* [IAST] Extend stored XXS to cover more databases
* [IAST] Support of DefaultInterpolatedStringHandler
* [Tracer] Add support for HotChocolate 14.x.x, GraphQL.NET 8.x.x, Aerospile.Client 8.x.x, MongoDB 3.0.0, and NpgSQL 9.x.x
* [Tracer] Fix runtime-metrics thread count
* [CI Visibility] Improve support for MSTest

## Changes

### Tracer
* Add Support for GraphQL HotChocolate v14 (#6248)
* Add support for Graph.NET v8 (#6423)
* Add support for `Aerospike.Client` v8 (#6424)
* Add support for mongodb v3 (#6354)
* Update npgsql to support 9.x.x (#6350)
* Filter out dead threads in runtime metrics (#6298)
* Fix bug in manual instrumentation (#6330)
* Bail out if we're in a no-dynamic-code scenario (#6362)
* Remove settings snapshot generator (#6370)
* Ducktype instance type check (#6373)
* Remove old generated public APIs (#6376)
* Add try catch on shutdown (#6378)
* Simplify duplication in `IConfigurationSource` (#6386)
* Make more integration settings case insensitive (#6393)
* Update config-in-code manual instrumentation to use an `IConfigurationSource` (#6397)
* Remove the vendored arraypool eventsource (#6398)
* Make `DirectLogSubmissionSettings` properly immutable and remove `ImmutableDirectLogSubmissionSettings` (#6400)
* Make `IntegrationSettings` properly immutable and remove `ImmutableIntegrationSettings` (#6405)
* Make `ExporterSettings` properly immutable and remove `ImmutableExporterSettings` (#6408)
* Validate data before EnumNgenModuleMethodsInliningThisMethod call (#6410)
* Make `TracerSettings` properly immutable and remove `ImmutableTracerSettings` (#6415)
* [Tracer] Fix git metadata retrieval (#6444)
* [dd-dotnet] Catch error when failing to read env vars on IIS (#6430)

### CI Visibility
* [CI Visibility] Fix MSTest integrarion bug (#6336)
* [CI Visibility] Specify if the user is setting the DD_SERVICE (#6348)
* [CI Visibility] Adding nullability checks (#6374)
* [CI Visibility] Use same number of execution in EFD tests (#6416)
* [CI Visibility] Set `TracerSettings` using a configuration source instead of mutating (#6399)

### ASM
* [ASM] Native CallTarget definitions (#6252)
* [APM] Exclude windows only definitions from non windows dlls (#6270)
* [ASM] IAST events in span's `meta_struct` (#5803)
* [ASM][ATO] Collect request headers on login user events (failures and success) (#6225)
* [ASM] Update WAF v1.21.0 Ruleset 1.13.3 (#6287)
* [ASM] Restore IAST unit tests (#6294)
* [ASM][ATO] Adapt v3 new login tags and fix signup tags (#6302)
* [ASM] Extend locking to cover _disposed member variable (#6319)
* [ASM] RASP: Command injection vulnerability implementation (#6323)
* [ASM]Fix appsec waf benchmark for real (#6329)
* [ASM] iast: Tainting of DefaultInterpolatedStringHandler (#6340)
* [ASM] Skip integration tests using Microsoft.Data.Sqlite on netcoreapp3.0 (#6342)
* [ASM] Skip `DefaultInterpolatedStringHandler` flaky tests (#6379)
* [ASM] Fix possible stackoverflow if nested routedictionary (#6382)
* [IAST] fix tainting values stored in the db (#6389)
* [ASM] Fix IAST weak random vulnerability error (#6432)
* [ASM] Update WAF version to 1.22.0 (#6440)
* [ASM] Fix database tests (netcoreapp3.0) (#6442)
* [IAST] Native CallSites Definitions (#6241)
* [IAST] Fix compilation of Samples.Security.AspNetCore2 (#6441)

### Continuous Profiler
* [Profiler] Use chrono types instead of integer type (#6288)
* [Profiler] Clean up profiler code (#6291)
* [Profiler] Force waiting for the `LibrariesInfoCache` service to be fully started (#6338)
* [Shared] Fix bug in logger (#6335)

### Debugger
* [Dynamic Instrumentation] DEBUG-2256 Do not create ProbeProcessor when LiveDebugger isn't fully initialized (#6092)
* [Dynamic Instrumentation] DEBUG-3223 Add compression support for SymDB (#6427)

### Data Streams Monitoring
* Data Streams Monitoring support in Kinesis (#6428)
* [DSM] Switch from `ManualResetEventSlim` to `AsyncManualResetEvent` (#6356)
* [DSM] Switch .NET tracer to injecting both base64 & binary headers (#6448)

### Miscellaneous
* [Crashtracking] Zero the stackframe upon creation (#6346)
* [Crashtracker] Fix missing GetThreadDescription symbol (#6357)
* [Crashtracker] Use blazesym API to retrieve buildid (#6347)
* [Crashtracking] Display a nicer error message when the glibc version is too old (#6402)
* [Crashtracking] Improve handling of unhandled exceptions on Windows (#6435)
* Trim whitespace in DBM_PROPAGATION_MODE (#6332)
* Change `ICorProfilerMethodEnum` to use the `COMPtr` (#6334)
* Exclude InetMgr.exe from instrumentation (#6355)
* Introduce a SignatureBuilder to build signatures of arbitrary size (#6383)
* Use the signature builder in more places (#6384)
* [APM] Made native definition lists temporary (#6417)

### Build / Test
* [Test Package Versions Bump] Updating package versions (#6351)
* [Test Package Versions Bump] Updating package versions (#6372)
* [Test Package Versions Bump] Updating package versions (#6392)
* [Test Package Versions Bump] Updating package versions (#6420)
* [Test Package Versions Bump] Updating package versions (#6437)
* [Test Package Versions Bump] Updating package versions (#6279)
* add the filepath we check for datadog.json to the output of diagnostic tool (#6273)
* Stop hiding build files in github search (#6299)
* Fix typo in smoke test (#6300)
* Fix CMake warnings (#6309)
* Ignore multiple instances of the same version of the tracer (#6310)
* Fix the debug symbol publish step in release process (#6312)
* Enable RuntimeMetricsShutdownSmokeTest only for .NET 9+ (#6316)
* Use agent telemetry proxy instead of the standalone telemetry (#6324)
* Try to fix flake in ManualInstrumentation tests (#6333)
* Fix alpine .NET Core 3.1 telemetry failures (#6339)
* Update `dotnet test` tests to take memory dump on hang (#6343)
* Bump timeit to 0.3.2 (#6349)
* Try enabling debug in `EnumerateAssemblyReferencesTest` (#6352)
* Update CODEOWNERS for IAST owned file (#6358)
* Add testing for latest Microsoft.Data.Sqlite (#6369)
* Removing MetaStruct check from TestSessionTimeoutVulnerability (#6395)
* Adding Delay to CheckForSmoke to Prevent Flakes (#6396)
* Dump process and children processes when a test hangups (#6401)
* Removing MetaStruct Check from TestDirectoryListingLeak (#6404)
* Report failures to update GitHub as build errors in Azure Devops (#6407)
* Pin the lang version in the Nuke build project (#6411)
* Fix checking for changes to generated files (#6412)
* Fix name of target creating trimming file + desc (#6422)
* Fix codeql to work on newer version of Ubuntu (#6445)
* Fix the no-op pipeline (#6449)
* Remove `PublicApiTests.PublicApiHasNotChanged` for Datadog.Trace.dll (#6385)
* Removing Delay in Smoke Test Helper Method (#6403)
* [Profiler] Update tests to save output to xunit.txt files (#6160)
* Add more info when GenerateDumpIfDbgRequested fails (take 3) (#6325)
* Add more info when GenerateDumpIfDbgRequested fails (take 4) (#6344)
* [Profiler] Disable flaky check (#6367)
* [Profiler] Avoid ETW tests flackiness (#6368)
* [Profiler] Fix UBsan Job (#6380)
* [Profiler] Use Vcpkg download and install native dependencies (libdatadog) (#6388)
* [Profiler] Fix static analysis job (#6406)

[Changes since 3.6.1](https://github.com/DataDog/dd-trace-dotnet/compare/v3.6.1...v3.7.0)

## [Release 3.6.0](https://github.com/DataDog/dd-trace-dotnet/releases/tag/v3.6.0)

## Summary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Project definition
# ******************************************************

project("Datadog.Linux.ApiWrapper" VERSION 3.7.0)
project("Datadog.Linux.ApiWrapper" VERSION 3.8.0)

# ******************************************************
# Compiler options
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Project definition
# ******************************************************

project("Datadog.Profiler.Native.Linux" VERSION 3.7.0)
project("Datadog.Profiler.Native.Linux" VERSION 3.8.0)

option(RUN_ASAN "Build with Clang Undefined-Behavior Sanitizer" OFF)
option(RUN_UBSAN "Build with Clang Undefined-Behavior Sanitizer" OFF)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ END

// ------- version info -------------------------------------------------------
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,7,0,0
PRODUCTVERSION 3,7,0,0
FILEVERSION 3,8,0,0
PRODUCTVERSION 3,8,0,0
FILEFLAGSMASK VS_FF_PRERELEASE
FILEOS VOS_NT
FILETYPE VFT_DLL
Expand All @@ -74,12 +74,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Datadog"
VALUE "FileDescription", "Continuous Profiler for .NET Applications"
VALUE "FileVersion", "3.7.0.0"
VALUE "FileVersion", "3.8.0.0"
VALUE "InternalName", "Native Profiler Engine"
VALUE "LegalCopyright", "(c) Datadog 2020-2022"
VALUE "OriginalFilename", "Datadog.Profiler.Native.dll"
VALUE "ProductName", "Continuous Profiler for .NET Applications"
VALUE "ProductVersion", "3.7.0.0"
VALUE "ProductVersion", "3.8.0.0"
END
END
BLOCK "VarFileInfo"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@

#pragma once

constexpr auto PROFILER_VERSION = "3.7.0";
constexpr auto PROFILER_VERSION = "3.8.0";
2 changes: 1 addition & 1 deletion profiler/src/ProfilerEngine/ProductVersion.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<!-- * * * * * * * * * * * INPUTS. Update this section EVERY time the component is shipped/released! * * * * * * * * * * * -->
<PropertyGroup>
<ProductVersion>3.7.0</ProductVersion>
<ProductVersion>3.8.0</ProductVersion>
</PropertyGroup>
<!-- * * * * * * * * * * * END OF INPUTS. * * * * * * * * * * * -->

Expand Down
4 changes: 2 additions & 2 deletions shared/src/Datadog.Trace.ClrProfiler.Native/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.13.4)
cmake_minimum_required (VERSION 3.8.0)
cmake_policy(SET CMP0015 NEW)

# macOS uses 3.30 which deprecates FetchContent_Populate in favor of FetchContent_MakeAvailable,
Expand All @@ -12,7 +12,7 @@ endif()
# Project definition
# ******************************************************

project("Datadog.Trace.ClrProfiler.Native" VERSION 3.7.0)
project("Datadog.Trace.ClrProfiler.Native" VERSION 3.8.0)

if (UNIVERSAL)
find_package(GlibcCompat REQUIRED)
Expand Down
8 changes: 4 additions & 4 deletions shared/src/Datadog.Trace.ClrProfiler.Native/Resource.rc
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ VS_VERSION_INFO VERSIONINFO
#else
FILEFLAGS 0x0L
#endif
FILEVERSION 3,7,0,0
PRODUCTVERSION 3,7,0,0
FILEVERSION 3,8,0,0
PRODUCTVERSION 3,8,0,0
FILEOS VOS_NT
FILETYPE VFT_DLL
BEGIN
Expand All @@ -68,12 +68,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Datadog"
VALUE "FileDescription", "Native loader for Datadog .NET APM"
VALUE "FileVersion", "3.7.0.0"
VALUE "FileVersion", "3.8.0.0"
VALUE "InternalName", "Native loader"
VALUE "LegalCopyright", "(c) Datadog 2020-2022"
VALUE "OriginalFilename", "Datadog.Trace.ClrProfiler.Native.dll"
VALUE "ProductName", "Native loader for Datadog .NET APM"
VALUE "ProductVersion", "3.7.0.0"
VALUE "ProductVersion", "3.8.0.0"
END
END
BLOCK "VarFileInfo"
Expand Down
4 changes: 2 additions & 2 deletions shared/src/msi-installer/WindowsInstaller.wixproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
<IntermediateOutputPath>obj\$(Configuration)\$(Platform)\</IntermediateOutputPath>
<SuppressPdbOutput>True</SuppressPdbOutput>
<DefineSolutionProperties>false</DefineSolutionProperties>
<OutputName>datadog-dotnet-apm-3.7.0-$(Platform)</OutputName> <!-- -The regex recognizes this line -->
<OutputName>datadog-dotnet-apm-3.8.0-$(Platform)</OutputName> <!-- -The regex recognizes this line -->
<MonitoringHomeDirectory Condition="'$(MonitoringHomeDirectory)' == ''">$(MSBuildThisFileDirectory)..\..\bin\monitoring-home</MonitoringHomeDirectory>
<DefineConstants>InstallerVersion=3.7.0;MonitoringHomeDirectory=$(MonitoringHomeDirectory);</DefineConstants>
<DefineConstants>InstallerVersion=3.8.0;MonitoringHomeDirectory=$(MonitoringHomeDirectory);</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DefineConstants>$(DefineConstants);Debug</DefineConstants>
Expand Down
2 changes: 1 addition & 1 deletion shared/src/native-src/version.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma once

constexpr auto PROFILER_VERSION = "3.7.0";
constexpr auto PROFILER_VERSION = "3.8.0";
2 changes: 1 addition & 1 deletion tracer/build/_build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ partial class Build : NukeBuild
const int LatestMajorVersion = 3;

[Parameter("The current version of the source and build")]
readonly string Version = "3.7.0";
readonly string Version = "3.8.0";

[Parameter("Whether the current build version is a prerelease(for packaging purposes)")]
readonly bool IsPrerelease = false;
Expand Down
2 changes: 1 addition & 1 deletion tracer/build/artifacts/dd-dotnet.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh

TRACER_VERSION="3.7.0"
TRACER_VERSION="3.8.0"

# Get the directory of the script
DIR=$(dirname "$(readlink -f "$0")")
Expand Down
49 changes: 49 additions & 0 deletions tracer/build/supported_calltargets.g.json
Original file line number Diff line number Diff line change
Expand Up @@ -1888,6 +1888,55 @@
"IsAdoNetIntegration": false,
"InstrumentationCategory": 1
},
{
"IntegrationName": "AwsKinesis",
"AssemblyName": "AWSSDK.Kinesis",
"TargetTypeName": "Amazon.Kinesis.AmazonKinesisClient",
"TargetMethodName": "GetRecords",
"TargetReturnType": "Amazon.Kinesis.Model.GetRecordsResponse",
"TargetParameterTypes": [
"Amazon.Kinesis.Model.GetRecordsRequest"
],
"MinimumVersion": {
"Item1": 3,
"Item2": 0,
"Item3": 0
},
"MaximumVersion": {
"Item1": 3,
"Item2": 65535,
"Item3": 65535
},
"InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AWS.Kinesis.GetRecordsIntegration",
"IntegrationKind": 0,
"IsAdoNetIntegration": false,
"InstrumentationCategory": 1
},
{
"IntegrationName": "AwsKinesis",
"AssemblyName": "AWSSDK.Kinesis",
"TargetTypeName": "Amazon.Kinesis.AmazonKinesisClient",
"TargetMethodName": "GetRecordsAsync",
"TargetReturnType": "System.Threading.Tasks.Task`1[Amazon.Kinesis.Model.GetRecordsResponse]",
"TargetParameterTypes": [
"Amazon.Kinesis.Model.GetRecordsRequest",
"System.Threading.CancellationToken"
],
"MinimumVersion": {
"Item1": 3,
"Item2": 0,
"Item3": 0
},
"MaximumVersion": {
"Item1": 3,
"Item2": 65535,
"Item3": 65535
},
"InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.AWS.Kinesis.GetRecordsAsyncIntegration",
"IntegrationKind": 0,
"IsAdoNetIntegration": false,
"InstrumentationCategory": 1
},
{
"IntegrationName": "AwsKinesis",
"AssemblyName": "AWSSDK.Kinesis",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Datadog.Trace.Bundle" Version="3.6.0" />
<PackageReference Include="Datadog.Trace.Bundle" Version="3.7.0" />
<PackageReference Include="log4net" Version="2.0.12" />
<PackageReference Include="log4net.Ext.Json" Version="2.0.8.3" />
</ItemGroup>
Expand Down
Loading

0 comments on commit 16fdae4

Please sign in to comment.