{"id":15290958,"url":"https://github.com/azure/azure-functions-durable-extension","last_synced_at":"2026-04-29T18:01:36.318Z","repository":{"id":37611979,"uuid":"93190658","full_name":"Azure/azure-functions-durable-extension","owner":"Azure","description":"Durable Task Framework extension for Azure Functions","archived":false,"fork":false,"pushed_at":"2026-04-27T22:59:51.000Z","size":55928,"stargazers_count":764,"open_issues_count":373,"forks_count":286,"subscribers_count":81,"default_branch":"dev","last_synced_at":"2026-04-28T00:23:41.148Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Azure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-02T17:51:30.000Z","updated_at":"2026-04-18T15:05:09.000Z","dependencies_parsed_at":"2026-02-18T20:02:09.053Z","dependency_job_id":null,"html_url":"https://github.com/Azure/azure-functions-durable-extension","commit_stats":{"total_commits":992,"total_committers":74,"mean_commits":"13.405405405405405","dds":0.8235887096774194,"last_synced_commit":"53abf0f5d893340e2ebeb24e352377c5d0c15393"},"previous_names":[],"tags_count":135,"template":false,"template_full_name":null,"purl":"pkg:github/Azure/azure-functions-durable-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fazure-functions-durable-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fazure-functions-durable-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fazure-functions-durable-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fazure-functions-durable-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azure","download_url":"https://codeload.github.com/Azure/azure-functions-durable-extension/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure%2Fazure-functions-durable-extension/sbom","scorecard":{"id":18850,"data":{"date":"2025-08-11","repo":{"name":"github.com/Azure/azure-functions-durable-extension","commit":"4d6387f65f7a7af623ede6275088a290214f64d0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.7,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeQL.yml:27","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeQL.yml:28","Warn: no topLevel permission defined: .github/workflows/E2ETest.yml:1","Warn: no topLevel permission defined: .github/workflows/codeQL.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-dotnet-isolated-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-java8-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-mssql-inproc-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-netherite-inproc-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-node20-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/smoketest-python37-v4.yml:1","Warn: no topLevel permission defined: .github/workflows/validate-build-analyzer.yml:1","Warn: no topLevel permission defined: .github/workflows/validate-build-e2e.yml:1","Warn: no topLevel permission defined: .github/workflows/validate-build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: nuget.exe:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:178: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:181: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:196: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:258: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:261: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:266: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:271: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:276: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/E2ETest.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/E2ETest.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeQL.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/codeQL.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-dotnet-isolated-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-java8-v4.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-java8-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-java8-v4.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-java8-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-mssql-inproc-v4.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-mssql-inproc-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-netherite-inproc-v4.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-netherite-inproc-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-node20-v4.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-node20-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/smoketest-python37-v4.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/smoketest-python37-v4.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-analyzer.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-analyzer.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-analyzer.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-analyzer.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-analyzer.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-analyzer.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-analyzer.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-analyzer.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-analyzer.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-analyzer.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-e2e.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-e2e.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-e2e.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-e2e.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-e2e.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-e2e.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-e2e.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-e2e.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build-e2e.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build-e2e.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build.yml/dev?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-build.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/Azure/azure-functions-durable-extension/validate-build.yml/dev?enable=pin","Warn: containerImage not pinned by hash: test/SmokeTests/BackendSmokeTests/MSSQL/Dockerfile:4","Warn: containerImage not pinned by hash: test/SmokeTests/BackendSmokeTests/MSSQL/Dockerfile:13: pin your Docker image by updating mcr.microsoft.com/azure-functions/dotnet:4 to mcr.microsoft.com/azure-functions/dotnet:4@sha256:afde22c6a8966c652fc56420535a24dd4775d02f8e56991134f221946f46e1b7","Warn: containerImage not pinned by hash: test/SmokeTests/BackendSmokeTests/Netherite/Dockerfile:4","Warn: containerImage not pinned by hash: test/SmokeTests/BackendSmokeTests/Netherite/Dockerfile:13: pin your Docker image by updating mcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0 to mcr.microsoft.com/azure-functions/dotnet:4-dotnet8.0@sha256:c0b978e09eee11312212bea15218cdb17c9daec685736827f18cadaf1bdc37d6","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/DotNetIsolated/Dockerfile:4","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/DotNetIsolated/Dockerfile:29: pin your Docker image by updating mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated6.0 to mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated6.0@sha256:bd32af29045b6d639399a48f6ea40c37d8409e2151b76835d6e1b014fbc27813","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durableJS/Dockerfile:6","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durableJS/Dockerfile:12: pin your Docker image by updating mcr.microsoft.com/azure-functions/node:4-node20 to mcr.microsoft.com/azure-functions/node:4-node20@sha256:f92c4eadd8965d324f7c10760962e2521e9d6761c8c08f942141b05adc52dbdf","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durableJava/Dockerfile:1","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durableJava/Dockerfile:6: pin your Docker image by updating mcr.microsoft.com/azure-functions/java:4-java8 to mcr.microsoft.com/azure-functions/java:4-java8@sha256:dac25879a9c457b5bb22e6c8e9658ce0a4b1ca16581da733b20574e0fe664813","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durablePy/Dockerfile:6","Warn: containerImage not pinned by hash: test/SmokeTests/OOProcSmokeTests/durablePy/Dockerfile:12: pin your Docker image by updating mcr.microsoft.com/azure-functions/python:4-python3.7 to mcr.microsoft.com/azure-functions/python:4-python3.7@sha256:302ba263539cc88db59ea9f22684896077143dfbb923347f07bac6d84c3516e3","Warn: nugetCommand not pinned by hash: test/SmokeTests/OOProcSmokeTests/DotNetIsolated/Dockerfile:20-26: pin your dependecies by either enabling central package management (https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management) or using a lockfile (https://learn.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies): some of dependency versions are not fixes to specific versions: 1.12.1, 2.46.6, 2.49.0, 2.70.0, 2.2.0, 2.2.0, 0.5.0, 2.3.0, 3.3.0, 1.16.0, 1.3.0, 6.7.0, 3.0.39, 0.5.0, 3.0.39, 6.0.0, 3.3.4, 3.9.0, 3.9.0, 3.9.0, 1.12.0, 1.12.0, 0.1.0, 1.7.0, 6.0.0, 4.2.0, 1.0.0, 1.1.118, 6.0.10, 6.0.0, 4.19.4, 2.22.0, 2.5.4, 3.1.0, 0.1.9-alpha, 1.21.0, 1.2.0, 0.4.1-alpha, 1.5.0, 3.2.0, 1.2.0, 1.18.1, 2.13.7, 3.2.0, 5.1.3, 3.0.33, 4.0.1, 17.3.2, 17.3.2, 1.4.1, 17.3.2, 3.9.0, 3.9.0, 2.0.65, 1.12.0, 1.0.0-preview.1, 1.5.0, 9.0.0, 9.0.0, 9.0.0, 6.0.0, 9.0.0, 17.12.0, 4.16.1, 1.3.2, 1.3.2, 2.9.2, 2.8.2","Warn: npmCommand not pinned by hash: test/SmokeTests/OOProcSmokeTests/durableJS/Dockerfile:16-17","Warn: pipCommand not pinned by hash: test/SmokeTests/OOProcSmokeTests/durablePy/Dockerfile:17-18","Warn: npmCommand not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:51","Warn: nugetCommand not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:54: pin your dependecies by either enabling central package management (https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management) or using a lockfile (https://learn.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies): some of dependency versions are not fixes to specific versions: 1.12.1, 2.46.6, 2.49.0, 2.70.0, 2.2.0, 2.2.0, 0.5.0, 2.3.0, 3.3.0, 1.16.0, 1.3.0, 6.7.0, 3.0.39, 0.5.0, 3.0.39, 6.0.0, 3.3.4, 3.9.0, 3.9.0, 3.9.0, 1.12.0, 1.12.0, 0.1.0, 1.7.0, 6.0.0, 4.2.0, 1.0.0, 1.1.118, 6.0.10, 6.0.0, 4.19.4, 2.22.0, 2.5.4, 3.1.0, 0.1.9-alpha, 1.21.0, 1.2.0, 0.4.1-alpha, 1.5.0, 3.2.0, 1.2.0, 1.18.1, 2.13.7, 3.2.0, 5.1.3, 3.0.33, 4.0.1, 17.3.2, 17.3.2, 1.4.1, 17.3.2, 3.9.0, 3.9.0, 2.0.65, 1.12.0, 1.0.0-preview.1, 1.5.0, 9.0.0, 9.0.0, 9.0.0, 6.0.0, 9.0.0, 17.12.0, 4.16.1, 1.3.2, 1.3.2, 2.9.2, 2.8.2","Warn: nugetCommand not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:65: pin your dependecies by either enabling central package management (https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management) or using a lockfile (https://learn.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies): some of dependency versions are not fixes to specific versions: 1.12.1, 2.46.6, 2.49.0, 2.70.0, 2.2.0, 2.2.0, 0.5.0, 2.3.0, 3.3.0, 1.16.0, 1.3.0, 6.7.0, 3.0.39, 0.5.0, 3.0.39, 6.0.0, 3.3.4, 3.9.0, 3.9.0, 3.9.0, 1.12.0, 1.12.0, 0.1.0, 1.7.0, 6.0.0, 4.2.0, 1.0.0, 1.1.118, 6.0.10, 6.0.0, 4.19.4, 2.22.0, 2.5.4, 3.1.0, 0.1.9-alpha, 1.21.0, 1.2.0, 0.4.1-alpha, 1.5.0, 3.2.0, 1.2.0, 1.18.1, 2.13.7, 3.2.0, 5.1.3, 3.0.33, 4.0.1, 17.3.2, 17.3.2, 1.4.1, 17.3.2, 3.9.0, 3.9.0, 2.0.65, 1.12.0, 1.0.0-preview.1, 1.5.0, 9.0.0, 9.0.0, 9.0.0, 6.0.0, 9.0.0, 17.12.0, 4.16.1, 1.3.2, 1.3.2, 2.9.2, 2.8.2","Warn: npmCommand not pinned by hash: .github/workflows/smoketest-dotnet-isolated-v4.yml:70","Info:   0 out of  53 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 nugetCommand dependencies pinned","Info:   0 out of   3 npmCommand dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned","Info:   0 out of  12 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/smoketest-dotnet-isolated-v4.yml:17"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'dev'","Info: 'force pushes' disabled on branch 'dev'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'dev'","Warn: 'stale review dismissal' is disabled on branch 'dev'","Warn: required approving review count is 1 on branch 'dev'","Warn: codeowners review is required - but no codeowners file found in repo","Info: 'last push approval' is required to merge on branch 'dev'","Warn: no status checks found to merge onto branch 'dev'","Info: PRs are required in order to make changes on branch 'dev'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T16:21:46.213Z","repository_id":37611979,"created_at":"2025-08-14T16:21:46.213Z","updated_at":"2025-08-14T16:21:46.213Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32437111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T17:34:55.123Z","status":"ssl_error","status_checked_at":"2026-04-29T17:34:45.749Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-30T16:10:17.249Z","updated_at":"2026-04-29T18:01:36.296Z","avatar_url":"https://github.com/Azure.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Durable Functions\r\n\r\n|Branch|Status|\r\n|---|---|\r\n|dev|[![Build Status](https://durabletaskframework.visualstudio.com/Durable%20Task%20Framework%20CI/_apis/build/status/Azure.azure-functions-durable-extension?branchName=dev)](https://durabletaskframework.visualstudio.com/Durable%20Task%20Framework%20CI/_build/latest?definitionId=15\u0026branchName=dev)|\r\n\r\nDurable Functions is an extension that helps developers build reliable, stateful apps on the [Azure Functions](https://functions.azure.com) platform.\r\n\r\nThis extension adds three new types functions to the Azure Functions family:\r\n\r\n* **[Orchestrator functions](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-orchestrations)**: Long-running, reliable workflow functions written in code that schedule and coordinate other functions.\r\n* **[Activity functions](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-types-features-overview#activity-functions)**: Stateless functions that are the basic unit of work in a durable function orchestration.\r\n* **[Entity functions](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-entities)**: Stateful [actor](https://en.wikipedia.org/wiki/Actor_model)-like functions that have identities and store state explicitly.\r\n\r\nDurable Functions can run anywhere that Azure Functions can run, including in the Azure Functions \"Serverless\" [Consumption plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#consumption-plan), the [Elastic Premium plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#premium-plan), on [Kubernetes](https://docs.microsoft.com/azure/azure-functions/functions-kubernetes-keda), or even locally for development using [Visual Studio](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-create-first-csharp) or [Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-develop-vs-code).\r\n\r\n📑 **[Official documentation](https://docs.microsoft.com/azure/azure-functions/durable/)** 📑\r\n\r\nFor a more detailed overview, including examples of what you can do with Durable Functions, see our [What is Durable Functions?](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-overview) article.\r\n\r\n## NuGet Packages\r\n\r\nDurable Functions updates are published as NuGet packages.\r\n\r\nPackage Name | NuGet\r\n---|---\r\nMicrosoft.Azure.WebJobs.Extensions.DurableTask | [![NuGet](https://img.shields.io/nuget/v/Microsoft.Azure.WebJobs.Extensions.DurableTask.svg)](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask)\r\nMicrosoft.Azure.WebJobs.Extensions.DurableTask.Analyzers (C# only) | [![NuGet](https://img.shields.io/nuget/v/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.svg)](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers)\r\nMicrosoft.Azure.Functions.Worker.Extensions.DurableTask | [![NuGet](https://img.shields.io/nuget/v/Microsoft.Azure.Functions.Worker.Extensions.DurableTask.svg)](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask)\r\n\r\n\r\n## Language support\r\n\r\nDurable Functions supports a subset of languages supported by Azure Functions:\r\n\r\n| Language   | Status | Repo |\r\n|------------|------------------|-|\r\n| C#         | Generally available - [get started](https://docs.microsoft.com/azure/azure-functions/durable/durable-functions-create-first-csharp) | [Azure/azure-functions-durable-extension](https://github.com/Azure/azure-functions-durable-extension) |\r\n| JavaScript | Generally available - [get started](https://docs.microsoft.com/azure/azure-functions/durable/quickstart-js-vscode) | [Azure/azure-functions-durable-js](https://github.com/Azure/azure-functions-durable-js) |\r\n| Python     | Generally available - [get started](https://docs.microsoft.com/azure/azure-functions/durable/quickstart-python-vscode) | [Azure/azure-functions-durable-python](https://github.com/Azure/azure-functions-durable-python) |\r\n| PowerShell | Generally available - [get started](https://docs.microsoft.com/azure/azure-functions/durable/quickstart-powershell-vscode) | [Azure/azure-functions-powershell-worker](https://github.com/Azure/azure-functions-powershell-worker) |\r\n| Java       | Generally available - [get started](https://learn.microsoft.com/azure/azure-functions/durable/quickstart-java?tabs=bash\u0026pivots=create-option-vscode) | [Microsoft/durabletask-java](https://github.com/microsoft/durabletask-java) |\r\n\r\nEach language has its own language-specific SDK and programming model. Regardless of which language you use, the extension in this repo must be installed to enable the Durable Functions triggers.\r\n\r\nSamples for each SDK may be found in their respective repos, usually under a \"/samples\" directory. For example, the JavaScript samples may be found [here](https://github.com/Azure/azure-functions-durable-js/tree/dev/samples).\r\n\r\n## Installation\r\n\r\nThe Durable Functions NuGet package can be referenced directly in a Visual Studio project or can be installed using the [Azure Functions Core Tools](https://docs.microsoft.com/azure/azure-functions/functions-run-local) command-line:\r\n\r\n```bash\r\nfunc extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v \u003clatest version on Nuget.org\u003e\r\n```\r\n\r\nDurable Functions is also available in supported [extension bundles](https://docs.microsoft.com/azure/azure-functions/functions-bindings-register#extension-bundles). Note that extension bundles are only supported for non-.NET languages.\r\n\r\n## Contributing\r\n\r\nMany features of Durable Functions have been voluntarily contributed by the community, and we always welcome such contributions. If you are interested in contributing, please take a look at our [CONTRIBUTING](./CONTRIBUTING.md) guide.\r\n\r\n## Publications\r\n\r\nDurable Functions is developed in collaboration with Microsoft Research. As a result, the Durable Functions team actively produces research papers and artifacts; these include:\r\n\r\n* [Durable Functions: Semantics for Stateful Serverless](https://www.microsoft.com/en-us/research/uploads/prod/2021/10/DF-Semantics-Final.pdf) _(OOPSLA'21)_\r\n* [Netherite: Efficient Execution of Serverless Workflows](https://www.microsoft.com/en-us/research/uploads/prod/2022/07/p1591-burckhardt.pdf) _(VLDB'22)_\r\n\r\n## License\r\n\r\nThis project is licensed under [the MIT License](https://github.com/Azure/azure-webjobs-sdk/blob/master/LICENSE.txt).\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fazure-functions-durable-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazure%2Fazure-functions-durable-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure%2Fazure-functions-durable-extension/lists"}