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: v77
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: v78
Choose a head ref
  • 20 commits
  • 56 files changed
  • 6 contributors

Commits on Apr 15, 2025

  1. Configuration menu
    Copy the full SHA
    193e3bf View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2025

  1. chore(config): parse config only twice (#651)

    # What?
    
    Removes `FallbackConfig` and `FallbackYamlConfig` in favor of the
    existing configurations.
    
    # How?
    
    1. Using only the known places where we are going to fallback from the
    available configs.
    2. Moved environment variables and yaml config to its own file for
    readability.
    
    # Notes
    
    - Added fallbacks for OTLP (in preparation for that PR, allowed some
    fields to not fallback).
    duncanista authored Apr 16, 2025
    Configuration menu
    Copy the full SHA
    9b58f39 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2025

  1. fix: Add sns sqs binary tests (#653)

    While investigating a trade propagation issue we realized there was no
    test for binary-encoded sns-sqs payloads, so I've added one.
    astuyve authored Apr 18, 2025
    Configuration menu
    Copy the full SHA
    f4e589e View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2025

  1. fix: Extract trace context from inferred span when AWS Xray is enabled (

    #655)
    
    ### What
    - In `span_inferrer.rs`, we were looking for `generated_span_context`
    first before looking for the inferred span's trace context.
    - AWS Xray's trace context is extracted from the AWSTraceHeader in
    `extract_trace_context_from_aws_trace_header`.
    - Therefore, if the user has AWS Xray enabled, we would use that trace
    context rather than the inferred span's trace context, breaking trace
    propagation.
    - The fix is simply swapping the order of the if statements: first look
    for inferred span's trace context, then look for trace context in the
    AWS trace header.
    
    ### Testing
    Before this change, trace propagation was broken when Xray was enabled:
    <img width="400" alt="Screenshot 2025-04-18 at 4 28 28 PM"
    src="https://github.com/user-attachments/assets/2a822270-7d52-42ea-ba4e-6dee33b4c9a5"
    />
    
    After this change, trace propagation works as expected with Xray
    enabled:
    <img width="400" alt="Screenshot 2025-04-18 at 4 29 30 PM"
    src="https://github.com/user-attachments/assets/26577101-2d47-4914-a514-cf564efb50a2"
    />
    
    The Datadog Java tracer injects trace context in the AWSTraceHeader for
    SQS, so I also manually verifed that this change does not break
    Java->SQS->Java trace propagation:
    <img width="400" alt="Screenshot 2025-04-18 at 4 31 53 PM"
    src="https://github.com/user-attachments/assets/872aa469-fdd0-4035-a39a-56e8cf80a5a6"
    />
    
    Lastly, the `generated_span_context` is also used by Step Functions, but
    there is no inferred span for step functions so this change should not
    affect Step Functions.
    
    https://github.com/DataDog/datadog-lambda-extension/blob/56e6cc11b74eace24a8621d058d9b6d13d708a2b/bottlecap/src/lifecycle/invocation/span_inferrer.rs#L231-L236
    nhulston authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    92183ae View commit details
    Browse the repository at this point in the history
  2. fix: Parse DD_APM_REPLACE_TAGS env var (#656)

    Fixes an issue where we didn't parse `DD_APM_REPLACE_TAGS` because the
    yaml block includes an additional `config` word after APM, which is not
    present in the env var.
    
    As usual, env vars override config file settings
    astuyve authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    9b47d91 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2025

  1. feat(tracing): add cold start spans for Node+Python (#658)

    ### What
    
    Adds support for cold start spans in Node+Python.
    
    We were always creating the cold start span, but prior to these changes,
    we were not sending the cold start span to the trace agent if we were in
    Node/Python. This PR has 3 changes to add support for cold start spans:
    1. If we detect a `aws.lambda.load` span, we're in Node/Python. Set the
    cold start span's trace ID to the same trace ID as the `aws.lambda.load`
    span
    2. Reparent the `aws.lambda.load` to be a child of the cold start span
    3. Send the cold start span to the trace agent so it will eventually get
    sent to Datadog
    
    Node:
    <img width="600" alt="Screenshot 2025-04-23 at 12 16 59 PM"
    src="https://github.com/user-attachments/assets/723e0625-eaa1-40a7-987a-0c3de0c84b17"
    />
    
    Python:
    <img width="600" alt="Screenshot 2025-04-23 at 12 16 25 PM"
    src="https://github.com/user-attachments/assets/151c9dcd-a8bb-476e-88c4-61dc29c083cf"
    />
    
    And non-breaking for universal instrumentation (Java):
    <img width="600" alt="Screenshot 2025-04-23 at 12 19 05 PM"
    src="https://github.com/user-attachments/assets/1f0404dc-3917-4ada-adf7-47a32e47d229"
    />
    
    ### Motivation
    
    the `aws.lambda.load` span only gives us information about the cold
    start time of the tracer+external libraries, but not the full cold start
    time (which should also include the extension startup time)
    https://datadoghq.atlassian.net/browse/SVLS-6646
    nhulston authored Apr 23, 2025
    Configuration menu
    Copy the full SHA
    162d5a3 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2025

  1. build(deps): bump actions-rust-lang/setup-rust-toolchain from 1.11.0 …

    …to 1.12.0 (#660)
    
    Bumps
    [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain)
    from 1.11.0 to 1.12.0.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/releases">actions-rust-lang/setup-rust-toolchain's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.12.0</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Support rustup installation for Windows by <a
    href="https://github.com/maennchen"><code>@​maennchen</code></a> in <a
    href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/pull/58">actions-rust-lang/setup-rust-toolchain#58</a></li>
    </ul>
    <h2>New Contributors</h2>
    <ul>
    <li><a href="https://github.com/maennchen"><code>@​maennchen</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/pull/58">actions-rust-lang/setup-rust-toolchain#58</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.12.0">https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1...v1.12.0</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/blob/main/CHANGELOG.md">actions-rust-lang/setup-rust-toolchain's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[1.12.0] - 2025-04-23</h2>
    <ul>
    <li>Add support for installing rustup on Windows (<a
    href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/58">#58</a>
    by <a href="https://github.com/maennchen"><code>@​maennchen</code></a>)
    This adds support for using Rust on the GitHub provided Windows ARM
    runners.</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/9d7e65c320fdb52dcd45ffaa68deb6c02c8754d9"><code>9d7e65c</code></a>
    Update changelog for windows support</li>
    <li><a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/9988a3d74bdbde17eac1e61264c78dea69889540"><code>9988a3d</code></a>
    Update the dependency section to mark the new windows rustup
    support</li>
    <li><a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/0ddce9f6325d5881c38a9802aaeaaf95d45c90e9"><code>0ddce9f</code></a>
    Merge pull request <a
    href="https://redirect.github.com/actions-rust-lang/setup-rust-toolchain/issues/58">#58</a>
    from maennchen/jm/windows-arm</li>
    <li><a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/commit/d9c91b20fd575d8e7998826de9744357e3a7a903"><code>d9c91b2</code></a>
    Support rustup installation for Windows</li>
    <li>See full diff in <a
    href="https://github.com/actions-rust-lang/setup-rust-toolchain/compare/v1.11.0...v1.12.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions-rust-lang/setup-rust-toolchain&package-manager=github_actions&previous-version=1.11.0&new-version=1.12.0)](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 Apr 24, 2025
    Configuration menu
    Copy the full SHA
    28fcbea View commit details
    Browse the repository at this point in the history
  2. fix: Correctly get oldest invocation in should_adapt_to_periodic (#662

    )
    
    ### What
    We switch to periodic flushing if there are at least 20 invocations and
    the average time between each invocation is less than 120 seconds. (see
    [datadog-agent
    implementation](https://github.com/DataDog/datadog-agent/blob/main/pkg/serverless/daemon/interval.go#L47-L76))
    
    In `should_adapt_to_periodic`, we calculate the average time between
    invocations (for the last 20 invocations) by taking the time between the
    oldest and newest invocations in the buffer, then dividing by 20.
    
    Prior to this, we were assuming the oldest invocation in the buffer was
    the last item in the array. This is incorrect because the buffer is a
    circular buffer; we can instead use `buffer[head]` to get the oldest
    item in the array.
    
    I also added a small improvement where we exit early if the buffer is
    not full (meaning <20 invocations have occurred so far).
    
    ### Motivation
    #652
    https://datadoghq.atlassian.net/browse/SVLS-6684
    nhulston authored Apr 24, 2025
    Configuration menu
    Copy the full SHA
    4c79f46 View commit details
    Browse the repository at this point in the history
  3. feat: Optionally disable proc enhanced metrics (#663)

    Fixes #648
    
    For customers using very very fast/small lambda functions (usually just
    rust), there can be a small 1-2ms increase in runtime duration when
    collecing metrics like open file descriptors or tmp file usage.
    
    We still enable these by default, but customers can now optionally
    disable them
    astuyve authored Apr 24, 2025
    Configuration menu
    Copy the full SHA
    10f803c View commit details
    Browse the repository at this point in the history
  4. fix(config): serialize booleans from anything (#657)

    # What?
    
    Serializes any boolean with values `0|1|true|TRUE|False|false` to its
    boolean part.
    
    # How?
    
    Using `serde-aux` crate to leverage the unit testing and ownership.
    
    # Motivation
    
    Some products at Datadog allow this values as they coalesce them –
    [SVLS-6687](https://datadoghq.atlassian.net/browse/SVLS-6687)
    
    [SVLS-6687]:
    https://datadoghq.atlassian.net/browse/SVLS-6687?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
    duncanista authored Apr 24, 2025
    Configuration menu
    Copy the full SHA
    438b91b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3b10c17 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    02b5891 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2025

  1. chore: refactor remove unnecessary clones and minor cleanups (#665)

    While reading through the codebase, I found a few opportunities for
    improvements.
    
    This PR includes:
    
    - Removal of unnecessary clone calls to reduce redundant allocations.
    
    - Minor refactoring of variable names for better readability.
    
    - Small adjustments to tests to align with the changes.
    
    These changes are intended to improve performance and code clarity
    without altering any functionality.
    u-kai authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    5348720 View commit details
    Browse the repository at this point in the history
  2. feat(bottlecap): add MSK inferred spans (#666)

    Add inferred spans for MSK events. Since there are multiple records,
    possibly from multiple different topics, we just get the first item from
    the first topic and use that information to create the inferred span.
    
    <img width="600" alt="Screenshot 2025-04-28 at 10 09 23 AM"
    src="https://github.com/user-attachments/assets/af7bdcdc-b137-4bad-b5dd-5252414121b1"
    />
    
    https://datadoghq.atlassian.net/browse/SVLS-6711
    nhulston authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    b9d86ac View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2025

  1. build(deps): bump anchore/scan-action from 6.1.0 to 6.2.0 (#667)

    Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from
    6.1.0 to 6.2.0.
    <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>v6.2.0</h2>
    <h2>New in scan-action v6.2.0</h2>
    <ul>
    <li>feat: update Scan action to use grype db v6 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/462">#462</a>)
    [<a href="https://github.com/spiffcs">spiffcs</a>]</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/anchore/scan-action/commit/2c901ab7378897c01b8efaa2d0c9bf519cc64b9e"><code>2c901ab</code></a>
    Scan action grype db v6 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/462">#462</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/39c42eae21c66f570a5f16e089a61416d0d73282"><code>39c42ea</code></a>
    chore(deps-dev): bump lint-staged from 15.5.0 to 15.5.1 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/458">#458</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/eec251a82dde59ab612cf1b01f601a0ef2134f10"><code>eec251a</code></a>
    chore(deps): bump actions/setup-node from 4.3.0 to 4.4.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/457">#457</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/c8820f3bdd8849aefb07dea305137fb644333f83"><code>c8820f3</code></a>
    chore(deps-dev): bump eslint from 9.24.0 to 9.25.1 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/460">#460</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/b1d1a26a86f05844d74981c8bb9de1b670fd0eed"><code>b1d1a26</code></a>
    chore(deps-dev): bump eslint from 9.23.0 to 9.24.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/456">#456</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/dc6246fcaf83ae86fcc6010b9824c30d7320729e"><code>dc6246f</code></a>
    chore(deps-dev): bump lint-staged from 15.4.3 to 15.5.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/448">#448</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/4736597fa0d5678647e076e049486aadc4951f0b"><code>4736597</code></a>
    chore(deps): bump actions/setup-node from 4.2.0 to 4.3.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/449">#449</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/0883344ae293efe023ebc32f154dc691b633b074"><code>0883344</code></a>
    chore(deps-dev): bump eslint from 9.22.0 to 9.23.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/452">#452</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/11388f2a04e037749322db9e534332beca1ff71b"><code>11388f2</code></a>
    chore(deps-dev): bump eslint from 9.21.0 to 9.22.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/447">#447</a>)</li>
    <li><a
    href="https://github.com/anchore/scan-action/commit/8b283479463e8c979d193d2616366226f91fb8c3"><code>8b28347</code></a>
    chore(deps-dev): bump eslint from 9.19.0 to 9.21.0 (<a
    href="https://redirect.github.com/anchore/scan-action/issues/440">#440</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/anchore/scan-action/compare/7c05671ae9be166aeb155bad2d7df9121823df32...2c901ab7378897c01b8efaa2d0c9bf519cc64b9e">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=6.1.0&new-version=6.2.0)](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 Apr 30, 2025
    Configuration menu
    Copy the full SHA
    dd29b5c View commit details
    Browse the repository at this point in the history

Commits on May 5, 2025

  1. aj/fix route tag (#661)

    This is a breaking change, and a feature improvement/enhancement.
    
    It and adds a parameterized path parser for APIGW rest/http events.
    Specifically this is most helpful for proxy routes.
    
    Initial versions of the Go extension would just set the `resource` to
    the raw route, inclusive of IDs. This caused cardinality issues and
    `resource` limit exhaustion for certain customers as serverless would
    eat all of the cardinality available.
    
    With the introduction of the next-generation lambda extension, we
    changed this to match the implementation of node/python, which tags all
    resources for `proxy` routes with `{proxy+}`. That's less helpful for
    APM customers doing internal routing with frameworks (but solved the
    cardinality issues).
    
    For universal-instrumentation languages, we're unable to rely on the
    internal framework route matching so this change looks for:
    - integer IDs between REST routes
    - UUIDs
    - GUIDs
    - ULIDs
    
    then replaces the content of the identifier with the previous string
    value in the REST URL, so:
    ```
    /dev/proxy_route/users/1234/friends/abdx-3230234-asdfalksdj-2342/pizzas/7
    ->
    /dev/proxy_route/users/{user_id}/friends/{friend_id}/pizzas/{pizza_id}
    ```
    
    This does diverge from node and python (which we will hopefully extend
    this functionality to), but it does strike a useful balance.
    
    This impacts users enabling APIGW Parameterized Routes as well.
    Previously we'd use the `resource` argument there, which may use
    customer placeholders. Now we override that.
    
    I'm ammenable to changing that (we'd have to check if the `resource`
    contains `proxy` and then trigger this behavior instead. But, after spot
    checking a few internal users I think this change would result in
    basically the same thing. It's still breaking for users with monitors
    configured, but that can't be avoided
    
    Fixes #601
    astuyve authored May 5, 2025
    Configuration menu
    Copy the full SHA
    f408ef2 View commit details
    Browse the repository at this point in the history
  2. Support trace extraction from multiValueHeaders in ALB (#668)

    ### What
    
    Support trace extraction when we receive `multiValueHeaders` instead of
    `headers`. This can happen if multi value headers are turned on in ALB.
    
    We do this by creating an ALB event in `span_inferrer` -- even though
    there's no inferred spans, this is still a common event type.
    
    The event payload structure for multiValueHeaders is defined here:
    https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html
    
    This also has the benefit of creating these trigger tags:
    <img width="400" alt="Screenshot 2025-05-01 at 4 55 34 PM"
    src="https://github.com/user-attachments/assets/d02ba864-3ee3-43d8-9f4b-bdb6650544a5"
    />
    <img width="250" alt="Screenshot 2025-05-01 at 4 56 38 PM"
    src="https://github.com/user-attachments/assets/15c56afe-d314-4c42-a828-908d499ab62f"
    />
    
    
    ### Motivation
    Porting DataDog/datadog-lambda-js#647 and
    DataDog/datadog-agent#31542
    https://datadoghq.atlassian.net/browse/SVLS-6757
    nhulston authored May 5, 2025
    Configuration menu
    Copy the full SHA
    3091cc9 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2025

  1. feat: [SVLS-6242] bottlecap fips builds (#644)

    Building bottlecap with fips mode.
    
    This is entirely focused on removing `ring` (and other
    non-FIPS-compliant dependencies from our `fips`-featured builds.)
    apiarian-datadog authored May 6, 2025
    Configuration menu
    Copy the full SHA
    f1a0193 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2025

  1. fix: use debug log level for connection errors (#671)

    SLES-2247
    Fixes #670
    Hyper v1 migration added these logs but it's a bit noisy when clients go
    away without sending FIN.
    
    This moves these to debug (which is what we'd need for support anyway)
    astuyve authored May 7, 2025
    Configuration menu
    Copy the full SHA
    658e9c5 View commit details
    Browse the repository at this point in the history
  2. v78 (#672)

    apiarian-datadog authored May 7, 2025
    Configuration menu
    Copy the full SHA
    690f8c3 View commit details
    Browse the repository at this point in the history
Loading