Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency @azure/functions to v4 #3017

Merged
merged 1 commit into from
Sep 27, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 26, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@azure/functions 3.5.1 -> 4.0.0 age adoption passing confidence

Release Notes

Azure/azure-functions-nodejs-library (@​azure/functions)

v4.0.0

Compare Source

The new Node.js programming model is now Generally Available! 🎉 This changelog is meant as a detailed list of changes in the new version. See the official upgrade guide for a less detailed, more user-friendly list of the changes.

Added
  • Support registering functions directly in your code instead of in function.json files #​569 and #​480
  • Allow classes like InvocationContext and HttpRequest to be constructed in test environments outside the Azure Functions runtime
Changed
  • Update minimum version of Node.js to 18.x
  • Update minimum version of TypeScript to 4.x
  • Switch the order of arguments. For example, (request, context) is now (context, request) #​34
  • Simplify context object #​204
    • Rename Context to InvocationContext
    • Remove context.done(). We assume your function (async or sync) is done as soon as it returns
    • Remove context.executionContext. You can find functionName and retryContext on the root context object instead
    • Remove context.bindingDefinitions in favor of context.options
    • Remove context.log sub-methods (context.log.error/context.log.warn/etc.) in favor of methods on the root context object (context.error/context.warn/etc.). Also Remove the verbose option in favor of trace and debug to match Node.js's console methods
    • Remove context.req, context,res, and context.bindings. The primary input is always an argument to your function, the primary output is always the return value of your function, and everything else can be accessed on context.extraInputs or context.extraOutputs
    • Clean up context.bindingMetadata
      • Rename to context.triggerMetadata
      • Remove legacy sys property
      • Remove logic that was recursively attempting to convert objects from rpc values, causing #​607
      • Make camel-case logic consistent so that it applies to the whole object - specifically including arrays which were previously excluded
  • Remove http classes that were unique to Azure Functions in favor of new classes representing a subset of the fetch standard based on the undici npm package.
    • Rename Request to HttpRequest
      • Change query from type HttpRequestQuery to Node.js core type URLSearchParams
    • Remove HttpResponseSimple/HttpResponseFull/HttpResponse types in favor of HttpResponse class and HttpResponseInit interface
      • Remove statusCode in favor of status
      • Remove end, send, sendStatus, and json. These were callback methods based on context.done() which is no longer supported
      • Remove header-related methods (setHeader, header, set, getHeader, get, removeHeader, type) from base response object. You must use response.headers for any header-related methods
    • Change headers from type HttpRequestHeaders/HttpResponseHeaders to fetch standard type Headers
    • Remove body properties body, rawBody, bufferBody, and parseFormBody() in favor of fetch standard methods arrayBuffer(), blob(), formData(), json(), and text()
  • Handle all falsy values appropriately. Treat it as data to be passed along instead of occasionally converting it to null #​388
  • Remove setup() method. v4 of the programming model is automatically setup when you register any function from the app object

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Sep 26, 2023
@changeset-bot
Copy link

changeset-bot bot commented Sep 26, 2023

⚠️ No Changeset found

Latest commit: 074c5ab

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Contributor

Apollo Federation Subgraph Compatibility Results

Federation 1 SupportFederation 2 Support
_service🟢
@key (single)🟢
@key (multi)🟢
@key (composite)🟢
repeatable @key🟢
@requires🟢
@provides🟢
federated tracing🟢
@link🟢
@shareable🟢
@tag🟢
@override🟢
@inaccessible🟢
@composeDirective🟢
@interfaceObject🟢

Learn more:

@github-actions
Copy link
Contributor

github-actions bot commented Sep 26, 2023

✅ Benchmark Results

     ✓ no_errors{mode:graphql}
     ✓ expected_result{mode:graphql}
     ✓ no_errors{mode:graphql-jit}
     ✓ expected_result{mode:graphql-jit}
     ✓ no_errors{mode:graphql-response-cache}
     ✓ expected_result{mode:graphql-response-cache}
     ✓ no_errors{mode:graphql-no-parse-validate-cache}
     ✓ expected_result{mode:graphql-no-parse-validate-cache}

     checks.......................................: 100.00% ✓ 243132      ✗ 0     
     data_received................................: 985 MB  8.2 MB/s
     data_sent....................................: 49 MB   409 kB/s
     http_req_blocked.............................: avg=2.07µs   min=1µs      med=1.7µs    max=1.45ms   p(90)=2.5µs    p(95)=2.8µs   
     http_req_connecting..........................: avg=8ns      min=0s       med=0s       max=678.81µs p(90)=0s       p(95)=0s      
     http_req_duration............................: avg=673.22µs min=292.2µs  med=541.41µs max=32.58ms  p(90)=947.42µs p(95)=1.06ms  
       { expected_response:true }.................: avg=673.22µs min=292.2µs  med=541.41µs max=32.58ms  p(90)=947.42µs p(95)=1.06ms  
     ✓ { mode:graphql-jit }.......................: avg=497.89µs min=292.2µs  med=430.01µs max=32.58ms  p(90)=526.51µs p(95)=623.13µs
     ✓ { mode:graphql-no-parse-validate-cache }...: avg=1.04ms   min=681.11µs med=925.02µs max=24.8ms   p(90)=1.12ms   p(95)=1.64ms  
     ✓ { mode:graphql-response-cache }............: avg=602.73µs min=361.01µs med=517.41µs max=19.33ms  p(90)=645.21µs p(95)=821.92µs
     ✓ { mode:graphql }...........................: avg=695.94µs min=393.11µs med=587.21µs max=19.32ms  p(90)=764.82µs p(95)=1.03ms  
     http_req_failed..............................: 0.00%   ✓ 0           ✗ 121566
     http_req_receiving...........................: avg=38.25µs  min=16.7µs   med=32.4µs   max=8.19ms   p(90)=47.4µs   p(95)=52.9µs  
     http_req_sending.............................: avg=16.96µs  min=6µs      med=10.4µs   max=5.38ms   p(90)=17.2µs   p(95)=20.4µs  
     http_req_tls_handshaking.....................: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting.............................: avg=618µs    min=258.8µs  med=492.11µs max=32.5ms   p(90)=895.62µs p(95)=996.52µs
     http_reqs....................................: 121566  1013.027897/s
     iteration_duration...........................: avg=979.63µs min=498.11µs med=838.22µs max=32.93ms  p(90)=1.26ms   p(95)=1.45ms  
     iterations...................................: 121566  1013.027897/s
     vus..........................................: 1       min=1         max=1   
     vus_max......................................: 2       min=2         max=2   

@github-actions
Copy link
Contributor

💻 Website Preview

The latest changes are available as preview in: https://49cc0c5c.graphql-yoga.pages.dev

@github-actions
Copy link
Contributor

github-actions bot commented Sep 26, 2023

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@graphql-yoga/plugin-apq 2.0.5-alpha-20230926201613-074c5ab5 npm ↗︎ unpkg ↗︎
@graphql-yoga/plugin-prometheus 2.0.6-alpha-20230926201613-074c5ab5 npm ↗︎ unpkg ↗︎

@ardatan ardatan merged commit c5233d1 into main Sep 27, 2023
@ardatan ardatan deleted the renovate/azure-functions-4.x branch September 27, 2023 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant