Releases: Azure/azure-functions-host
Functions 0.9.10574 (1.0.0-beta1-10574)
Main items in this release:
- Improved startup performance
- Host ID change
- Fix to avoid host ID collisions between deployment slots and prevent conflicts when performing storage operations
- Other bug fixes and enhancements
Functions 0.8.10564 (1.0.0-beta1-10564)
IMPORTANT: if you're using an older functions runtime, you must upgrade to this release, otherwise you will not see any logs in the Monitor tab.
Main items in this release:
- Enhanced Node.js HTTP programming model
- Express like programming model for Node.js functions
- see example here
- Managed code functions (C# and F#) optimization level
- Now default to Release optimization level
- Debug optimization level automatically set in remote debugging scenarios or through app setting
- see PR for details
- Multi-key secret file format and secret encryption enabled by default
- function and host secrets are now encrypted at rest by default
- function and host secrets now default to the format that supports multiple keys
- breaking change if automated processes were accessing files directly through VFS or other mechanism
- Updated package/SDK references
- Azure Storage SDK 7.2.1
- Azure DocumentDB SDK 1.10.0
- Azure Mobile Apps Client SDK 3.0.3
- Sendgrid 8.0.5
- Other bug fixes and enhancements
Functions 0.7.10532 (1.0.0-beta1-10532)
Here are the main changes in this release:
- Custom Http Routes - support for custom routes and route templates/constraints
- ability to specify custom routes for functions, with arbitrarily complex route constraints (e.g.
"route": "products/{Category:alpha}/{Id:int}"
). Documentation on supported constraint formats can be found here. Basically this is just regular Asp.Net WebApi routing. - integrates captured route parameters with our binding data pipeline
- allow for the default "api" route prefix to be customized or completely removed via host.json
- see PR for details
- ability to specify custom routes for functions, with arbitrarily complex route constraints (e.g.
- Secret Encryption and Multi-Key support
- secret files are now encrypted at rest
- support for multiple keys per function + the ability to roll keys
- introduced key management APIs to allow our Portal and other 3rd parties to manage keys
- SendGrid v3 - moved the SendGrid binding to their latest v3 APIs (breaking)
- the v3 APIs are quite different and the move results in quite a few breaking changes
- see our updated SendGrid templates or the following PR for migration details
- see PR for details
- Multi-Table Support for Function Logs (breaking)
- log tables contain a month of logging data, and automatically roll to new tables
- allows for efficient log purging + history management
- see core SDK PR
- Cardinality Support for input bindings
- e.g. we now allow a Node.js EventHub trigger binding to receive an array of events
- declared via a new
cardinality
binding property (e.g.cardinality: 'many'
) - addresses #618
Functions 0.6.10462 (1.0.0-beta1-10462)
Few minor fixes for the previous release. Fixes include:
- ServiceBus Topic trigger portal invoke fix (#585)
- Fixing compilation warning for $return output bindings
Functions 0.6.10453 (1.0.0-beta1-10453)
Main things in this release are called out below.
- Enabling function timeouts (#18)
- Default execution timeout of 5 minutes is enforced. If a function runs longer than that it will be terminated.
- timeout is only enforced on Dynamic SKUs
- timeout can be configured via
functionTimeout
property inhost.json
- Imposing some naming restrictions on function names + binding names (#15). See Renaming a Function for instructions on renaming if you have a name that doesn't match the new rules.
- Support for function return bindings (#675)
- naming an output binding $return maps it to the function return value
- for C#/F#/Node, this allows simpler, more idiomatic code to be written (i.e. no
out
/byref
parameters required)
- Allow Node.js functions to return Promises (#158)
- Moved to Node.js version 6.5.0
- EventHub Consumer group fix (#570)
- Binding fixes for ManualTrigger (#628)
- lots of additional bug fixes
Functions 0.5.10398 (1.0.0-beta1-10398)
Main things in this release are called out below.
- New F# programming model! (Breaking)
- F# is now first class like C#, no longer using an out of proc execution model
- New Twilio output binding allowing you to easily send Twilio SMS messages from your functions!
- HttpTrigger binding improvements
- Moved to Node.js 6.4.0
- C# Package Restore improvements (addresses #312 #469)
- We now identify when a restore needs to be run and do it automatically
- Tracing Changes + Throttling
- File logging (which drives the Portal logs via log streaming) is now only enabled during Portal sessions
- If the Portal hasn't connected in 15 minutes, file logging is turned off. For historical logs, use the Dashboard view
- In addition, we now throttle tracing to a maximum of 250 lines per second
- Addresses issues #557 and #100
- Allow EventHub receiver options to be configured via host.json
- You can now add an
eventHub
config section and configure valuesmaxBatchSize
andprefetchCount
- See here for details
- You can now add an
- Improvements to multi-instance logging (addresses #164)
- Allow File Watch directories to be configured
- Fixed ManualTrigger input (addresses #602)
- Normalized
context.bindingData
property casing (addresses #426) (Breaking)- casing is now normalized to camel case
- Lots of other bug fixes
Functions 0.4.10355 (1.0.0-beta1-10355)
Main things in this release are called out below.
- timer trigger fixes to prevent duplicate executions and other schedule issues
- Added a blob lease based "primary host" detection mechanism to unblock a fix for #164
- For scaled out Function Apps (i.e. multiple instances), only one instance will acquire (and maintain) the blob lease
- Some logs and other actions will only be performed by the primary host
- Moving to latest minor versions of all our dependencies
- changed log file name format to make them more easily sortable (e.g. 2016-08-15T17-59-25Z-b84490e99a.log)
- Several other bug fixes
Functions 0.4.10341 (1.0.0-beta1-10341)
Hotfix release made to fix a bug with Function monitoring/metrics.
This hotfix contains a single commit: b903c91
Functions 0.4.10312 (1.0.0-beta1-10312)
Hotfix release made to fix a bug with the Mobile Apps binding.
This hotfix contains a single commit to consume the updated extension package: 512f2d4
Functions 0.4.10307 (1.0.0-beta1-10307)
Main things in this release are called out below. You can also review the raw commits since the last release.
- Lots of bug fixes (See the issues we closed out in this milestone)
- Function Exclusion : added the ability to exclude functions via new function level “excluded” metadata property
- set the
excluded: true
function metadata property to have the host completely ignore a function and not load it. It will not be invokable, even via the portal - this differs from the existing
disabled: true
function property, which tells the host to load the function, just not automatically trigger it, and only make it accessible via the portal (not regular requests)
- set the
- Changes to
rand-guid
binding parameter (Breaking)- previously you would use
%rand-guid%
(e.g. in a blob pathmycontainer/%rand-guid%
) - syntax has changed to
{rand-guid}
(e.g. in a blob pathmycontainer/{rand-guid}
)
- previously you would use
- Support for multiple Function exports
- added a new function level metadata property
entryPoint
which allows a function to explicitly declare its entry point - if a function has multiple named exports and no
entryPoint
property is specified, and there is an export namedrun
by convention, it is used. If there is only a single named export, it is used. - e.g. this allows a Node function to export multiple functions to aid in testability
- similarly, for C# the function code can include multiple functions (same logic as above)
- added a new function level metadata property
- Large refactoring of the binding pipeline for extensibility