Skip to content

Releases: Azure/azure-functions-host

Functions 0.9.10574 (1.0.0-beta1-10574)

02 Nov 18:24
Compare
Choose a tag to compare
Pre-release

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)

27 Oct 19:57
Compare
Choose a tag to compare
Pre-release

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)

21 Oct 16:16
Compare
Choose a tag to compare
Pre-release

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
  • 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)

23 Sep 18:08
Compare
Choose a tag to compare
Pre-release

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)

20 Sep 22:15
Compare
Choose a tag to compare
Pre-release

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 in host.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)

31 Aug 01:26
Compare
Choose a tag to compare
Pre-release

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
    • Now support binding expressions for C# (addresses #334 and #230)
    • E.g. you can now bind to values from the request body or query string. See example function here
  • 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 values maxBatchSize and prefetchCount
    • See here for details
  • Improvements to multi-instance logging (addresses #164)
  • Allow File Watch directories to be configured
    • In addition to the default directories and files we watch, we allow you to specify additional folders to watch
    • You can add additional directories by adding a watchDirectories value to host.json (example here)
    • Addresses #608
  • 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)

15 Aug 19:02
Compare
Choose a tag to compare
Pre-release

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)

09 Aug 00:35
Compare
Choose a tag to compare
Pre-release

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)

21 Jul 18:04
Compare
Choose a tag to compare
Pre-release

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)

15 Jul 00:46
Compare
Choose a tag to compare
Pre-release

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)
  • Changes to rand-guid binding parameter (Breaking)
    • previously you would use %rand-guid% (e.g. in a blob path mycontainer/%rand-guid%)
    • syntax has changed to {rand-guid} (e.g. in a blob path mycontainer/{rand-guid})
  • 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 named run 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)
  • Large refactoring of the binding pipeline for extensibility