Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: DataDog/datadog-lambda-extension
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v90
Choose a base ref
...
head repository: DataDog/datadog-lambda-extension
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v91
Choose a head ref
  • 18 commits
  • 69 files changed
  • 10 contributors

Commits on Dec 1, 2025

  1. fix: [SVLS-8072] run apt-get update and apt-get install in same layer (

    …#949)
    
    ## Overview
    
    Fixes below error:
    
    
    https://github.com/DataDog/datadog-lambda-extension/actions/runs/19829559230/job/56812757592
    
    ```
    #16 [compresser  3/10] RUN apt-get install -y zip binutils
    #16 0.095 Reading package lists...
    #16 1.033 Building dependency tree...
    #16 1.217 Reading state information...
    #16 1.357 The following additional packages will be installed:
    #16 1.358   binutils-common binutils-x86-64-linux-gnu libbinutils libctf-nobfd0 libctf0
    #16 1.358   unzip
    #16 1.359 Suggested packages:
    #16 1.359   binutils-doc
    #16 1.392 The following NEW packages will be installed:
    #16 1.392   binutils binutils-common binutils-x86-64-linux-gnu libbinutils libctf-nobfd0
    #16 1.393   libctf0 unzip zip
    #16 1.648 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
    #16 1.648 Need to get 3769 kB of archives.
    #16 1.648 After this operation, 15.7 MB of additional disk space will be used.
    #16 1.648 Err:1 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils-common amd64 2.38-4ubuntu2.11
    #16 1.648   404  Not Found [IP: 91.189.91.82 80]
    #16 1.727 Err:2 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libbinutils amd64 2.38-4ubuntu2.11
    #16 1.727   404  Not Found [IP: 91.189.91.82 80]
    #16 1.727 Err:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libctf-nobfd0 amd64 2.38-4ubuntu2.11
    #16 1.727   404  Not Found [IP: 91.189.91.82 80]
    #16 1.727 Err:4 http://security.ubuntu.com/ubuntu jammy-security/main amd64 libctf0 amd64 2.38-4ubuntu2.11
    #16 1.727   404  Not Found [IP: 91.189.91.82 80]
    #16 1.727 Err:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils-x86-64-linux-gnu amd64 2.38-4ubuntu2.11
    #16 1.727   404  Not Found [IP: 91.189.91.82 80]
    #16 1.727 Err:6 http://security.ubuntu.com/ubuntu jammy-security/main amd64 binutils amd64 2.38-4ubuntu2.11
    #16 1.727   404  Not Found [IP: 91.189.91.82 80]
    #16 1.838 Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 unzip amd64 6.0-26ubuntu3.2 [175 kB]
    #16 2.515 Get:8 http://archive.ubuntu.com/ubuntu jammy/main amd64 zip amd64 3.0-12build2 [176 kB]
    #16 2.625 Fetched 350 kB in 1s (287 kB/s)
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils-common_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libbinutils_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libctf-nobfd0_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/libctf0_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils-x86-64-linux-gnu_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/b/binutils/binutils_2.38-4ubuntu2.11_amd64.deb  404  Not Found [IP: 91.189.91.82 80]
    #16 2.625 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
    #16 ERROR: process "/bin/sh -c apt-get install -y zip binutils" did not complete successfully: exit code: 100
    ```
    
    ## Testing
    duncanpharvey authored Dec 1, 2025
    Configuration menu
    Copy the full SHA
    585c745 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2025

  1. chore: Remove committed RIE binaries and download at build time (#950)

    https://datadoghq.atlassian.net/browse/SVLS-8083
    
    ## Overview
    chore: Remove committed RIE binaries and download at build time
     - Delete local_tests/rie/bottlecap/arm64/rie binary
     - Delete local_tests/rie/bottlecap/x86/rie binary
     - Update Dockerfile to download AWS Lambda RIE from GitHub releases instead of copying local binary
     - Improves maintainability by avoiding committed binaries in version control
    
    ## Testing 
    Confirmed by local debugging tests
    
    Co-authored-by: tianning.li <[email protected]>
    litianningdatadog authored Dec 2, 2025
    Configuration menu
    Copy the full SHA
    34a45d0 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2025

  1. [SVLS-8054] add integration testing (#946)

    ## Overview
    Setup integration tests for the lambda extension. These integration
    tests will run on every PR.
    
    ### Details
    This PR includes:
    * CDK stacks for deploying lambda integration tests. This is for the
    lambda, and any related resources, we want to test against.
    * Integration tests, setup with Jest. These invoke lambda functions,
    wait, then get Datadog telemetry data to test/verify against.
    * Gitlab Integration Test Step (info below).
    * `README.md` for how to run tests locally.
    
    Note:
    * For simplicity, this is setup to just test against the ARM variant
    (not AMD). This also doesn't include FIPS or AppSec builds. I think this
    should be a reasonable starting point for our integration tests and we
    can evaluate adding additional configuration support as needed.
    
    ### Gitlab Integration Test Step
    The integration tests step in Gitlab will:
    1. Publish the lambda extension.
    2. Deploy CDK stacks, using the newly published lambda extension.
    3. Run a test suite.
    4. Destroy the CDK stacks.
    5. Delete the lambda extension.
    
    ### Executing the integration tests
    The integration tests will automatically run on every PR. Developers can
    also run the integration tests locally by running `npm run test`. Full
    information is included in `README.md`.
    
    ### Example Integration Tests
    I added a 2 basic tests, one for node and one for python. These lambda
    function logs 'Hello World' and are setup with the extension and tracer
    library. The integration test gets the logs and traces from Datadog. It
    confirms that we have a log with the message 'Hello World!'. It also
    confirms we have spans with names `aws.lambda.cold_start`,
    `aws.lambda.load` and `aws.lambda`. Note that this isn't actually
    working correct for python for `aws.lambda.load` and
    `aws.lambda.cold_start`. Those spans are created, but with a different
    traceId so they aren't getting linked to `aws.lambda`. I will follow up
    and investigate.
    
    I plan on having a follow up PR with other runtimes.
    
    ## Testing 
    This PR triggered the integration tests, can see the [corresponding
    gitlab
    pipeline](https://gitlab.ddbuild.io/DataDog/datadog-lambda-extension/-/pipelines/84401218)
    with the newly added step 'integration-tests'. (Or see the
    'dd-gitlab/integration-test' in the checks for this PR)
    
    The results from the integration test can be obtained by going to
    [integration
    step](https://gitlab.ddbuild.io/DataDog/datadog-lambda-extension/-/jobs/1262527100)
    and downloading the artifacts. Screenshot attached below.
    
    <img width="1786" height="1177" alt="Screenshot 2025-12-01 at 9 14
    03 AM"
    src="https://github.com/user-attachments/assets/d1e1313c-b986-44d8-ad65-ab6341d0b909"
    />
    jchrostek-dd authored Dec 3, 2025
    Configuration menu
    Copy the full SHA
    581af89 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2025

  1. fix(config): support colons in tag values (URLs, etc.) (#953)

    https://datadoghq.atlassian.net/browse/SVLS-8095
    
    ## Overview
    Tag parsing previously used split(':') which broke values containing colons like URLs (git.repository_url:https://...). Changed to usesplitn(2, ':') to split only on the first colon, preserving the rest as the value.
    
    Changes:
     - Add parse_key_value_tag() helper to centralize parsing logic
     - Refactor deserialize_key_value_pairs to use helper
     - Refactor deserialize_key_value_pair_array_to_hashmap to use helper
     - Add comprehensive test coverage for URL values and edge cases
    
    ## Testing 
    unit test and expect e2e tests to pass
    
    Co-authored-by: tianning.li <[email protected]>
    litianningdatadog authored Dec 4, 2025
    Configuration menu
    Copy the full SHA
    56d4a07 View commit details
    Browse the repository at this point in the history
  2. docs: Add Lambda Managed Instance mode documentation (#951)

    docs: Add Lambda Managed Instance mode documentation
    
    https://datadoghq.atlassian.net/browse/SVLS-8083
    
    ## Overview
    Add comprehensive documentation for Lambda Managed Instance support
    (v90+):
    - Overview of Managed Instance mode and how it differs from standard
    Lambda
      - Automatic detection and optimization behavior
    - Background continuous flushing architecture with zero per-invocation
    overhead
    - Key differences comparison table (invocation model, flushing, use
    cases)
      - Getting started guide for users
    
      Also clarifies that custom continuous flush intervals are respected in
      Managed Instance mode (not completely ignored as previously stated).
    
    ## Testing 
    n/a
    litianningdatadog authored Dec 4, 2025
    Configuration menu
    Copy the full SHA
    1dbbc30 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2025

  1. fix(github): update vulnerability scans (#941)

    ## Overview
    
    Updates vulnerability scans to check on Rust binaries and dependencies
    
    ## Testing 
    
    GH actions
    duncanista authored Dec 8, 2025
    Configuration menu
    Copy the full SHA
    fdcb0ee View commit details
    Browse the repository at this point in the history
  2. fix(vulnerabilities): update rust dependencies (#955)

    ## Overview
    
    Updates Rust dependencies
    
    ## Testing 
    
    GH action
    duncanista authored Dec 8, 2025
    Configuration menu
    Copy the full SHA
    1615f47 View commit details
    Browse the repository at this point in the history
  3. fix integ test cleanup (#956)

    ## Overview
    * Integ test stacks aren't getting cleaned up.
    * Fixing issue.
    
    ## Testing
    jchrostek-dd authored Dec 8, 2025
    Configuration menu
    Copy the full SHA
    32d89e5 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2025

  1. add integration tests for node and java (#958)

    ## Overview
    * Adding integration tests for Java and Dotnet. These are similar to the
    existing Node/Python integration in that they just test very basic
    functionality - we get logs/traces from the lambda function. These tests
    are meant to be our starting point and serve as example setup for other
    integration tests.
    * Fixed how we are filtering logs to use
    `@lambda.request_id:{requestId}`. This makes it use log attributes
    instead of checking the actual log message.
    * Updated stack cleanup step to just execute CLI command instead of CDK
    command. There was a slight issue when cleaning up the Java/Dotnet
    stacks due to their code assets, so the CLI command was easier.
    * Added tag the tag `extension_integration_test: true` to all of the
    stacks to make it easier to cleanup stacks if it gets missed (deployed
    locally and forgot to clean up, pipeline cancelled before cleanup step,
    etc.) A follow up item is to create a lambda function to periodically
    run and clean up all old stacks with this tag.
    
    ## Testing 
    * Integ tests for this PR passed.
    * Checked AWS account and confirmed that there are no stacks with prefix
    `integ-61910f24`
    jchrostek-dd authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    0d69a7b View commit details
    Browse the repository at this point in the history
  2. chore: Add a timer to avoid repeated debug logs (#954)

    ## Problem
    When the Lambda runtime spins down, the extension may enter a loop
    waiting for unfinished work, printing up to 100,000s identical lines of
    log:
    > LOGS_AGENT | No more events to process but still have senders,
    continuing to drain...
    
    For example, in one of my tests, this line was printed 31602 times
    within 1.28 seconds.
    
    <img width="1097" height="344" alt="image"
    src="https://github.com/user-attachments/assets/b3aff30c-596f-4837-a081-fbe165ba6254"
    />
    
    This:
    1. slightly complicates debugging for our engineers
    2. adds costs and confusion for customers who turn on
    `DD_LOG_LEVEL=debug` to debug the extension
    
    
    
    ## This PR
    Add a timer and print this line at most once every 100ms, so it will be
    printed at most 20 times within the 2-second spindown time.
    
    ## Testing
    No testing for now. Should be straightforward. Will see if logs are
    reduced in future debugging.
    lym953 authored Dec 9, 2025
    Configuration menu
    Copy the full SHA
    b260205 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2025

  1. APPSEC-60188: gracefully accept null in APIGW response (#960)

    I strongly suspect the .NET Lambda SDK (from Amazon) produces `null`
    values instead of omitting fields, which appears to be accepted by API
    Gateway but is presently rejected by our parsing logic. This addresses
    this problem and adds a new test case.
    
    JJ-Change-Id: vprmkv
    ZD: 2375557
    Jira: APPSEC-60188
    RomainMuller authored Dec 10, 2025
    Configuration menu
    Copy the full SHA
    7e278cd View commit details
    Browse the repository at this point in the history
  2. build(deps): bump anchore/scan-action from 7.2.1 to 7.2.2 (#962)

    Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from
    7.2.1 to 7.2.2.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/anchore/scan-action/releases">anchore/scan-action's
    releases</a>.</em></p>
    <blockquote>
    <h2>v7.2.2</h2>
    <h2>New in scan-action v7.2.2</h2>
    <ul>
    <li>update Grype to v0.104.2 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/557">#557</a>)
    [[<a
    href="https://github.com/apps/anchore-actions-token-generator">anchore-actions-token-generator[bot]</a>](<a
    href="https://github.com/%5Banchore-actions-token-generator%5Bbot%5D%5D(https://github.com/apps/anchore-actions-token-generator))%5D">https://github.com/[anchore-actions-token-generator[bot]](https://github.com/apps/anchore-actions-token-generator))]</a></li>
    <li>bump glob from 10.4.5 to 10.5.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/546">#546</a>)
    [[<a href="https://github.com/apps/dependabot">dependabot[bot]</a>](<a
    href="https://github.com/%5Bdependabot%5Bbot%5D%5D(https://github.com/apps/dependabot))%5D">https://github.com/[dependabot[bot]](https://github.com/apps/dependabot))]</a></li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/anchore/scan-action/commit/3c9a191a0fbab285ca6b8530b5de5a642cba332f"><code>3c9a191</code></a>
    chore(deps): update Grype to v0.104.2 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/557">#557</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/0a9fbe8211a960db3679b0885ce6754e8554a0b1"><code>0a9fbe8</code></a>
    chore(deps-dev): bump lint-staged from 16.2.6 to 16.2.7 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/547">#547</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/5ac7f2aec0382580086343cec94d7b36d369047e"><code>5ac7f2a</code></a>
    chore(deps-dev): bump prettier from 3.6.2 to 3.7.4 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/555">#555</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/563e915d07829f21025d3c1821b9d1cc9f10975c"><code>563e915</code></a>
    chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.11
    (<a
    href="https://redirect.github.com/anchore/scan-action/issues/556">#556</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/49c6d261d1c975ab62c1eb10993425b7c6cb8ddc"><code>49c6d26</code></a>
    chore(deps): bump actions/checkout from 5.0.0 to 6.0.1 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/554">#554</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/77906c36b05b7a0949cf47fadd0d2e3f2cf22d18"><code>77906c3</code></a>
    chore(deps): bump actions/setup-node from 6.0.0 to 6.1.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/553">#553</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/ed82e81d1725e5ef6b41dbc1b1f3f13b366e417d"><code>ed82e81</code></a>
    chore(deps): bump glob from 10.4.5 to 10.5.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/546">#546</a>)</li>
    <li>See full diff in <a
    href="https://github.com/anchore/scan-action/compare/40a61b52209e9d50e87917c5b901783d546b12d0...3c9a191a0fbab285ca6b8530b5de5a642cba332f">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anchore/scan-action&package-manager=github_actions&previous-version=7.2.1&new-version=7.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Dec 10, 2025
    Configuration menu
    Copy the full SHA
    7619068 View commit details
    Browse the repository at this point in the history
  3. fix build layer script usages (#931)

    ## Overview
    
    more accurate commenting on using the build_bottlecap_layer script
    
    Co-authored-by: olivier.ndjikenzia <[email protected]>
    ojproductions authored Dec 10, 2025
    Configuration menu
    Copy the full SHA
    ea48140 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2025

  1. APPSEC-60188: downgrade integration response parsing log to debug (#959)

    The message was incorrectly kept as `warn!` when we donwgraded all these
    log messages to `debug!` and this is very noisy in customer accounts.
    
    JJ-Change-Id: zkowts
    ZD: 2375557
    Jira: APPSEC-60188
    RomainMuller authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    4a4d90d View commit details
    Browse the repository at this point in the history
  2. remove run bottlecap script (#966)

    **Please include Jira ticket in title.**
    
    ## Overview
    This no longer works after the addition of ASM and isn't heavily used
    
    ## Testing
    astuyve authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    ebaddff View commit details
    Browse the repository at this point in the history
  3. [SVLS-7934] feat: Support TLS certificate for trace/stats flusher (#961)

    ## Problem
    A customer reported that their Lambda is behind a proxy, and the
    Rust-based extension can't send traces to Datadog via the proxy, while
    the previous go-based extension worked.
    
    ## This PR
    Supports the env var `DD_TLS_CERT_FILE`: The path to a file of
    concatenated CA certificates in PEM format.
    Example: `DD_TLS_CERT_FILE=/opt/ca-cert.pem`, so the when the extension
    flushes traces/stats to Datadog, the HTTP client created can load and
    use this cert, and connect the proxy properly.
    
    ## Testing
    ### Steps
    1. Create a Lambda in a VPC with an NGINX proxy.
    2. Add a layer to the Lambda, which includes the CA certificate
    `ca-cert.pem`
    3. Set env vars:
        - `DD_TLS_CERT_FILE=/opt/ca-cert.pem`
    - `DD_PROXY_HTTPS=http://10.0.0.30:3128`, where `10.0.0.30` is the
    private IP of the proxy EC2 instance
        - `DD_LOG_LEVEL=debug`
    4. Update routing rules of security groups so the Lambda can reach
    `http://10.0.0.30:3128`
    5. Invoke the Lambda
    ### Result
    **Before**
    Trace flush failed with error logs:
    > DD_EXTENSION | ERROR | Max retries exceeded, returning request error
    error=Network error: client error (Connect) attempts=1
    DD_EXTENSION | ERROR | TRACES | Request failed: No requests sent
    
    **After**
    Trace flush is successful:
    > DD_EXTENSION | DEBUG | TRACES | Flushing 1 traces
    DD_EXTENSION | DEBUG | TRACES | Added root certificate from
    /opt/ca-cert.pem
    DD_EXTENSION | DEBUG | TRACES | Proxy connector created with proxy:
    Some("http://10.0.0.30:3128")
    DD_EXTENSION | DEBUG | Sending with retry
    url=https://trace.agent.datadoghq.com/api/v0.2/traces payload_size=1120
    max_retries=1
    DD_EXTENSION | DEBUG | Received response status=202 Accepted attempt=1
    DD_EXTENSION | DEBUG | Request succeeded status=202 Accepted attempts=1
    DD_EXTENSION | DEBUG | TRACES | Flushing took 1609 ms
    
    ## Notes
    This fix only covers trace flusher and stats flusher, which use
    `ServerlessTraceFlusher::get_http_client()` to create the HTTP client.
    It doesn't cover logs flusher and proxy flusher, which use a different
    function (http.rs:get_client()) to create the HTTP client. However, logs
    flushing was successful in my tests, even if no certificate was added.
    We can come back to logs/proxy flusher if someone reports an error.
    lym953 authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    bae97ec View commit details
    Browse the repository at this point in the history
  4. chore: Upgrade libdatadog (#964)

    ## Overview
    The crate `datadog-trace-obfuscation` has been renamed as
    `libdd-trace-obfuscation`. This PR updates this dependency.
    
    ## Testing
    lym953 authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    bce86ea View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2025

  1. v91 (#968)

    Update tag for v91 release
    shreyamalpani authored Dec 17, 2025
    Configuration menu
    Copy the full SHA
    948a938 View commit details
    Browse the repository at this point in the history
Loading