Releases: Azure/azure-functions-nodejs-library
Releases · Azure/azure-functions-nodejs-library
v4.6.0
v4.5.1
v4.5.0
v4.4.0
Added
- Support for params when using preview http streams feature #229
- Support for SQL trigger #88
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
v4.2.0
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.json
files #569 and #480 - Allow classes like
InvocationContext
andHttpRequest
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
toInvocationContext
- Remove
context.done()
. We assume your function (async or sync) is done as soon as it returns - Remove
context.executionContext
. You can findfunctionName
andretryContext
on the rootcontext
object instead - Remove
context.bindingDefinitions
in favor ofcontext.options
- Remove
context.log
sub-methods (context.log.error
/context.log.warn
/etc.) in favor of methods on the rootcontext
object (context.error
/context.warn
/etc.). Also Remove theverbose
option in favor oftrace
anddebug
to match Node.js'sconsole
methods - 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.extraInputs
orcontext.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
- 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
Request
toHttpRequest
- Change
query
from typeHttpRequestQuery
to Node.js core typeURLSearchParams
- Change
- Remove
HttpResponseSimple
/HttpResponseFull
/HttpResponse
types in favor ofHttpResponse
class andHttpResponseInit
interface- Remove
statusCode
in 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.headers
for any header-related methods
- Remove
- Change
headers
from typeHttpRequestHeaders
/HttpResponseHeaders
to 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 theapp
object