Skip to content

Releases: Azure/azure-functions-nodejs-library

v4.0.0-alpha.11

22 Jun 21:13
f8903c5
Compare
Choose a tag to compare
v4.0.0-alpha.11 Pre-release
Pre-release
  • Added support for Cosmos DB extension v4 #86

v4.0.0-alpha.10

14 Apr 21:04
5e16039
Compare
Choose a tag to compare
v4.0.0-alpha.10 Pre-release
Pre-release

Fixed error "Unknown ParameterBindingType" when extra output was null or undefined #71

v4.0.0-alpha.9

27 Mar 17:15
40b1ad3
Compare
Choose a tag to compare
v4.0.0-alpha.9 Pre-release
Pre-release

This is the first version of the package officially supported for public preview of the new Node.js programming model! 🎉 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, (context, request) is now (request, context) #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

v3.5.1

27 Mar 17:20
d2cb03f
Compare
Choose a tag to compare

Update readme for v4 announcement

v3.5.0

05 Dec 22:54
a0861b4
Compare
Choose a tag to compare

Added

  • This package now contains the underlying Azure Functions framework for Node.js in addition to the TypeScript types. Now you can get updates faster (or slower 😅) by including the npm package directly in your app instead of waiting for a rollout in Azure! More details here. This functionality requires Azure Functions host v4.14.0 or higher
  • Added bufferBody property to http request object #294
  • Added HttpRequest.get method to TypeScript types. This is the recommended, case-insensitive way to get headers #274

Fixed

  • Request fails with nested "bytes" property set to a number #607