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: awslabs/aws-lambda-rust-runtime
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: lambda-extension-0.8.2
Choose a base ref
...
head repository: awslabs/aws-lambda-rust-runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: lambda-extension-0.9.0
Choose a head ref
  • 15 commits
  • 56 files changed
  • 9 contributors

Commits on Nov 17, 2023

  1. Fix typo in LogBuffering struct documentation (#731)

    Co-authored-by: Titus Bridgwood <titus.bridgwood@dunelm.com>
    nismotie and Titus Bridgwood authored Nov 17, 2023
    Configuration menu
    Copy the full SHA
    d3e365c View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Remove function config allocations per invocation. (#732)

    Every invocation clones the function config. This allocates memory in the heap for no reason.
    
    This change removes those extra allocations by wrapping the config into an Arc and sharing that between invocations.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Nov 20, 2023
    Configuration menu
    Copy the full SHA
    53637e7 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. Extract the request ID without allocating extra memory. (#735)

    Changes the way that the Context is initialized to receive the request ID as an argument. This way we also avoid allocating additional memory for it.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    b7df6fc View commit details
    Browse the repository at this point in the history
  2. Remove unused types. (#736)

    These types are not used anywhere.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Nov 28, 2023
    Configuration menu
    Copy the full SHA
    3c53476 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Hotfix/documentdb (#742)

    * Fix field types:
    
    - ls_nd must be an AnyDocument
    - cluster_time must be optional, because it's new at version 4.0
    
    * Fields bug fix
    nichmorgan authored Dec 1, 2023
    Configuration menu
    Copy the full SHA
    1e4e203 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2023

  1. Support internal Lambda extensions (#744)

    * Support internal Lambda extensions
    
    Internal Lambda extensions must be registered during the Lamba
    lifecycle Init phase, which ends when the runtime calls Next to
    await the first event. Since the `Extension::run` function both
    registers and executes the extension, there was previously no
    way for the runtime to determine that all internal extensions have
    been registered and that it's safe to proceed to the Invoke
    lifecycle phase.
    
    This change introduces an `Extension::register` method that
    registers the extension and begins any logs/telemetry handlers.
    It then returns a new `RegisteredExtension` abstraction that can
    be used to invoke the extension's run loop concurrently with the
    runtime's run loop.
    
    This change maintains backward compatibility by having the existing
    `Extension::run` method perform both steps. External Lambda
    extensions can use either API, and internal extensions should use
    the new API.
    
    Resolves #743.
    
    * Add example
    
    * Set extension name in example
    
    * Remove unnecessary Arc/Mutex
    ramosbugs authored Dec 3, 2023
    Configuration menu
    Copy the full SHA
    6e953eb View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. add lambda event agent for amazon bedrock (#746)

    * add lambda event agent for amazon bedrock
    
    * add comment for properties
    
    * add comment for AgentEvent
    
    * add check-event-features for bedrock
    
    * remove duplicated module
    
    * fix invalid naming
    
    * apply formatting
    KUrushi authored Dec 4, 2023
    Configuration menu
    Copy the full SHA
    3231e9f View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Made some properties of Bedrock's Event optional. (#748)

    * change some properties to optional value
    
    * Update lambda-events/src/event/bedrock_agent_runtime/mod.rs
    
    add default value to parameters
    
    Co-authored-by: David Calavera <david.calavera@gmail.com>
    
    * Update lambda-events/src/event/bedrock_agent_runtime/mod.rs
    
    add default to request_body
    
    Co-authored-by: David Calavera <david.calavera@gmail.com>
    
    ---------
    
    Co-authored-by: David Calavera <david.calavera@gmail.com>
    KUrushi and calavera authored Dec 6, 2023
    Configuration menu
    Copy the full SHA
    d513b13 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Remove #[serde(deny_unknown_fields)] (#753)

    Adding new fields to request payloads is typically not considered
    to be a breaking change, but using #[serde(deny_unknown_fields)]
    would cause all Lambda functions to start failing immediately in
    production if a new feature were deployed that added a new request
    field.
    
    Fixes #750.
    ramosbugs authored Dec 14, 2023
    Configuration menu
    Copy the full SHA
    9b21cd0 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Add session_issuer field to SessionContext (#751)

    * Add session_issuer field to SessionContext
    
    * Update lambda-events/src/event/s3/object_lambda.rs
    
    Co-authored-by: David Calavera <david.calavera@gmail.com>
    
    ---------
    
    Co-authored-by: David Calavera <david.calavera@gmail.com>
    kdnakt and calavera authored Dec 15, 2023
    Configuration menu
    Copy the full SHA
    2a2ae8b View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2023

  1. Config::from_env never returns an error. (#754)

    We don't need to return Result because the function either panics or returns the Ok value.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Dec 16, 2023
    Configuration menu
    Copy the full SHA
    fb86ebc View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Hyper 1 upgrade (#749)

    * chore: update hyper/http
    
    * chore: update hyper with legacy
    
    * Create new workspace dependencies.
    
    This makes tracking versions across packages easier.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Bring helpers to work with Hyper 1.
    
    Copy some of the utils that Axum created to support Hyper 1.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Upgrade lambda_runtime to Hyper 1.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Upgrade lambda_http to Hyper 1.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Update Axum examples to version 0.7.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Make extensions compile.
    
    Switch to use hyper::service::service_fn definitions.
    Implement new Hyper's polling loop for http connections.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Update tower-http to make cors example work.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Update tower-http to make tower-trace example work.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Make less copies of extension services.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Bring Body::channel implementation from Hyper
    
    Given the lack of a public implementation anymore, we don't have other choice but copying Hyper's private implementation.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Organize more dependencies.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Cleanup commented code.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Cleanup unused dependencies.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Introduce a module to group all streaming functionality.
    
    This makes the streaming functionallity more concise.
    It aliases other functionality to keep backwards compatibility.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Remove unnecesary loop.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    * Don't re-export `lambda_runtime_api_client::body`.
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    
    ---------
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    Co-authored-by: Spencer C. Imbleau <spencer@imbleau.com>
    calavera and simbleau authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    07430f1 View commit details
    Browse the repository at this point in the history
  2. Fix EventBridge event structures. (#755)

    According to the docs, the detail is always a JSON object: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events-structure.html
    
    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Dec 18, 2023
    Configuration menu
    Copy the full SHA
    953b2d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Implement Serialize for lambda telemetry (#759)

    * Add serialize testing mod and macro
    
    * Use and derive serialize
    
    * Skip serialize if None on Options
    
    * Add unit tests for serialization
    nismotie authored Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ead7f37 View commit details
    Browse the repository at this point in the history
  2. Release new versions compatible with Hyper 1 (#756)

    Signed-off-by: David Calavera <david.calavera@gmail.com>
    calavera authored Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ab3b809 View commit details
    Browse the repository at this point in the history
Loading