Releases: Azure/azure-functions-nodejs-library
Releases · Azure/azure-functions-nodejs-library
v4.1.0
v4.0.1
v4.0.0
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.jsonfiles #569 and #480
- Allow classes like InvocationContextandHttpRequestto 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 contextobject #204- Rename ContexttoInvocationContext
- Remove context.done(). We assume your function (async or sync) is done as soon as it returns
- Remove context.executionContext. You can findfunctionNameandretryContexton the rootcontextobject instead
- Remove context.bindingDefinitionsin favor ofcontext.options
- Remove context.logsub-methods (context.log.error/context.log.warn/etc.) in favor of methods on the rootcontextobject (context.error/context.warn/etc.). Also Remove theverboseoption in favor oftraceanddebugto match Node.js'sconsolemethods
- Remove context.req,context,res, andcontext.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 oncontext.extraInputsorcontext.extraOutputs
- Clean up context.bindingMetadata- Rename to context.triggerMetadata
- Remove legacy sysproperty
- 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
 
- Rename to 
 
- Rename 
- 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 RequesttoHttpRequest- Change queryfrom typeHttpRequestQueryto Node.js core typeURLSearchParams
 
- Change 
- Remove HttpResponseSimple/HttpResponseFull/HttpResponsetypes in favor ofHttpResponseclass andHttpResponseInitinterface- Remove statusCodein favor ofstatus
- Remove end,send,sendStatus, andjson. These were callback methods based oncontext.done()which is no longer supported
- Remove header-related methods (setHeader,header,set,getHeader,get,removeHeader,type) from base response object. You must useresponse.headersfor any header-related methods
 
- Remove 
- Change headersfrom typeHttpRequestHeaders/HttpResponseHeadersto fetch standard typeHeaders
- Remove body properties body,rawBody,bufferBody, andparseFormBody()in favor of fetch standard methodsarrayBuffer(),blob(),formData(),json(), andtext()
 
- Rename 
- 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 theappobject
v4.0.0-alpha.13
v4.0.0-alpha.12
v4.0.0-alpha.11
- Added support for Cosmos DB extension v4 #86
v4.0.0-alpha.10
Fixed error "Unknown ParameterBindingType" when extra output was null or undefined #71
v4.0.0-alpha.9
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.jsonfiles #569 and #480
- Allow classes like InvocationContextandHttpRequestto 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 contextobject #204- Rename ContexttoInvocationContext
- Remove context.done(). We assume your function (async or sync) is done as soon as it returns
- Remove context.executionContext. You can findfunctionNameandretryContexton the rootcontextobject instead
- Remove context.bindingDefinitionsin favor ofcontext.options
- Remove context.logsub-methods (context.log.error/context.log.warn/etc.) in favor of methods on the rootcontextobject (context.error/context.warn/etc.). Also Remove theverboseoption in favor oftraceanddebugto match Node.js'sconsolemethods
- Remove context.req,context,res, andcontext.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 oncontext.extraInputsorcontext.extraOutputs
- Clean up context.bindingMetadata- Rename to context.triggerMetadata
- Remove legacy sysproperty
- 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
 
- Rename to 
 
- Rename 
- 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 RequesttoHttpRequest- Change queryfrom typeHttpRequestQueryto Node.js core typeURLSearchParams
 
- Change 
- Remove HttpResponseSimple/HttpResponseFull/HttpResponsetypes in favor ofHttpResponseclass andHttpResponseInitinterface- Remove statusCodein favor ofstatus
- Remove end,send,sendStatus, andjson. These were callback methods based oncontext.done()which is no longer supported
- Remove header-related methods (setHeader,header,set,getHeader,get,removeHeader,type) from base response object. You must useresponse.headersfor any header-related methods
 
- Remove 
- Change headersfrom typeHttpRequestHeaders/HttpResponseHeadersto fetch standard typeHeaders
- Remove body properties body,rawBody,bufferBody, andparseFormBody()in favor of fetch standard methodsarrayBuffer(),blob(),formData(),json(), andtext()
 
- Rename 
- 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 theappobject
v3.5.1
Update readme for v4 announcement
v3.5.0
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 bufferBodyproperty to http request object #294
- Added HttpRequest.getmethod 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