Beta 3 Release
Pre-releaseThis is the third beta release and contains several important fixes, new features, and breaking changes. Thanks to everyone who contributed, either via code, asking good questions, or by filing issues!
Special thanks goes to @gled4er and @brandonh-msft for their community contributions!
New Features
Many new features were included in this release:
- Declarative binding expressions (#123): It is now possible to use binding expressions in activity functions.
- Query for orchestration history (#16): You can now get the orchestration history from the
statusEndpointGetUrl
by including theshowHistory=true
query string parameter. - Support for synchronous HTTP execution (#102): It is now possible to run an orchestration and get the output via a single blocking HTTP request.
- Unit testing support (#64): New abstract base classes have been added which enable unit testing orchestration code and triggers via mocks. The the precompiled sample project for examples of this.
- Configurable partition counts (#73): It's now possible to configure the number of partitions in your task hub in host.json (the default is 4).
Proper documentation is still being written for these new features, so stay tuned for that.
Fixed
- Attempting to poll the result of CreateCheckStatusResponse can return 404 (#143, #134)
- Calling RaiseEventAsync or TerminateAsync after starting a new instance results in an error (#101)
- Function app doesn't scale when custom HubName is specified (#111)
- Orchestration termination reason is not shown (#130)
- Passing null parameter into activity causes exception (#137)
- WaitForExternalEvent cannot be awaited more than once using the same event name (#141)
- Durable function queues keep growing and process becomes slower (#104)
Misc.
- Added a Monitor sample which periodically checks the weather and sends a notification on certain conditions.
- Removed the Counter sample from sample projects because the actor model is being de-emphasized (too many fundamental issues make it impractical for real use-cases).
Installation
Anyone can start using the v1.2.0-beta3 release by referencing the latest Microsoft.Azure.WebJobs.Extensions.DurableTask NuGet package in their projects.
Visual Studio 2017 (Functions 1.0 or Functions 2.0)
Update your .csproj file with the following package reference:
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="1.2.0-beta3" />
Azure Functions CLI (Functions 2.0)
Use the following command to install the updated extension into your project:
func extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v 1.2.0-beta3
Azure Portal
The Azure Portal templates do not currently support installing or updating to v1.2.0-beta3. :( Please consider using the Azure Functions CLI experience instead, and deploying your local changes to Azure.
Breaking Changes
There are runtime breaking changes in this release, so it is highly recommended to use this new package version with new function apps.
If you have an existing function app that you would like to migrate to this version, please see the versioning and migration strategies documentations for best practices.