Skip to content

Releases: Azure/azure-functions-nodejs-library

v4.5.1

28 Aug 19:10
5a93c76
Compare
Choose a tag to compare

Fixed

  • Fixed undefined HTTP params when streaming is enabled #285

v4.5.0

16 May 22:34
9e7366e
Compare
Choose a tag to compare

Added

  • Support for log hooks #228. This feature requires Azure Functions Host v4.34+
  • Allow specifying worker capabilities during setup #255

Fixed

  • Retry options were ignored #250

v4.4.0

01 Apr 19:20
a112be5
Compare
Choose a tag to compare

Added

Changed

  • The values of some system-generated request headers have changed when using the preview http streams feature. These values should now match the behavior when not using http streams.

v4.3.0

28 Feb 18:29
9413b47
Compare
Choose a tag to compare

Added

  • Preview support for HTTP Streams. Learn more in our blog post 🎉

Fixed

  • Fixed error with out-of-sync binding names #210

v4.2.0

30 Jan 23:42
b4f1389
Compare
Choose a tag to compare

Added

  • clone() method to HttpRequest and HttpResponse #207

v4.1.0

13 Nov 22:18
ca91f6a
Compare
Choose a tag to compare

Added

  • Pre-invocation, post-invocation, app-start, and app-terminate hooks using app.hook. #7
  • Warmup trigger #176
  • connection property to EventGridOutputOptions #177

Fixed

  • Bug where output isn't set if used in both extraOutput and return #179

v4.0.1

28 Sep 20:21
4a83c78
Compare
Choose a tag to compare

Add link to blog post and discussion to README

v4.0.0

26 Sep 23:22
d339bff
Compare
Choose a tag to compare

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, (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

v4.0.0-alpha.13

20 Sep 20:53
34c305a
Compare
Choose a tag to compare
v4.0.0-alpha.13 Pre-release
Pre-release

Added

  • Support for SQL input and output bindings #88
  • Support for table input and output bindings #146

v4.0.0-alpha.12

12 Sep 22:35
2205716
Compare
Choose a tag to compare
v4.0.0-alpha.12 Pre-release
Pre-release

Added

  • Support for several configurations when registering a function:
    • Retry policy #73
    • Service bus trigger cardinality setting for batching messages #129
    • Storage blog trigger source setting for EventGrid support #131

Fixed

  • Cleaned up inaccurate Cosmos DB types #127