diff --git a/docs/sources/configure-client/language-sdks/dotnet.md b/docs/sources/configure-client/language-sdks/dotnet.md
index 4b0dca83c4..e1046fe0a8 100644
--- a/docs/sources/configure-client/language-sdks/dotnet.md
+++ b/docs/sources/configure-client/language-sdks/dotnet.md
@@ -45,13 +45,13 @@ The Pyroscope server can be a local server for development or a remote server fo
1. Obtain `Pyroscope.Profiler.Native.so` and `Pyroscope.Linux.ApiWrapper.x64.so` from the [latest tarball](https://github.com/pyroscope-io/pyroscope-dotnet/releases/):
```bash
-curl -s -L https://github.com/grafana/pyroscope-dotnet/releases/download/v0.9.2-pyroscope/pyroscope.0.9.2-glibc-x86_64.tar.gz | tar xvz -C .
+curl -s -L https://github.com/grafana/pyroscope-dotnet/releases/download/v0.9.4-pyroscope/pyroscope.0.9.4-glibc-x86_64.tar.gz | tar xvz -C .
```
Or copy them from the [latest docker image](https://hub.docker.com/r/pyroscope/pyroscope-dotnet/tags). We have `glibc` and `musl` versions:
```dockerfile
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
````
2. Set the following required environment variables to enable profiler
diff --git a/examples/language-sdk-instrumentation/dotnet/fast-slow/Dockerfile b/examples/language-sdk-instrumentation/dotnet/fast-slow/Dockerfile
index 4180145d6b..f19d33cb70 100644
--- a/examples/language-sdk-instrumentation/dotnet/fast-slow/Dockerfile
+++ b/examples/language-sdk-instrumentation/dotnet/fast-slow/Dockerfile
@@ -2,8 +2,8 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0
WORKDIR /dotnet
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
ADD example .
diff --git a/examples/language-sdk-instrumentation/dotnet/fast-slow/musl.Dockerfile b/examples/language-sdk-instrumentation/dotnet/fast-slow/musl.Dockerfile
index 2e62de50ca..2e7de8b8f6 100644
--- a/examples/language-sdk-instrumentation/dotnet/fast-slow/musl.Dockerfile
+++ b/examples/language-sdk-instrumentation/dotnet/fast-slow/musl.Dockerfile
@@ -2,8 +2,8 @@ FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine
WORKDIR /dotnet
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-musl /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-musl /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-musl /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-musl /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
ADD example .
diff --git a/examples/language-sdk-instrumentation/dotnet/rideshare/Dockerfile b/examples/language-sdk-instrumentation/dotnet/rideshare/Dockerfile
index 0ffdbf89a6..86bbfd265d 100644
--- a/examples/language-sdk-instrumentation/dotnet/rideshare/Dockerfile
+++ b/examples/language-sdk-instrumentation/dotnet/rideshare/Dockerfile
@@ -17,7 +17,7 @@ RUN sed -i -E 's|.*|net'$SDK
RUN dotnet publish -o . --framework net$SDK_VERSION --runtime linux-x64 --no-self-contained
# This fetches the SDK
-FROM --platform=linux/amd64 pyroscope/pyroscope-dotnet:0.9.2-glibc AS sdk
+FROM --platform=linux/amd64 pyroscope/pyroscope-dotnet:0.9.4-glibc AS sdk
# Runtime only image of the targetplatfrom, so the platform the image will be running on.
FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/aspnet:$SDK_VERSION
diff --git a/examples/language-sdk-instrumentation/dotnet/rideshare/musl.Dockerfile b/examples/language-sdk-instrumentation/dotnet/rideshare/musl.Dockerfile
index 9552ba6644..1328066cda 100644
--- a/examples/language-sdk-instrumentation/dotnet/rideshare/musl.Dockerfile
+++ b/examples/language-sdk-instrumentation/dotnet/rideshare/musl.Dockerfile
@@ -17,7 +17,7 @@ RUN sed -i -E 's|.*|net'$SDK
RUN dotnet publish -o . --framework net$SDK_VERSION --runtime linux-musl-x64 --no-self-contained
# This fetches the SDK
-FROM --platform=linux/amd64 pyroscope/pyroscope-dotnet:0.9.2-musl AS sdk
+FROM --platform=linux/amd64 pyroscope/pyroscope-dotnet:0.9.4-musl AS sdk
# Runtime only image of the targetplatfrom, so the platform the image will be running on.
FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/aspnet:$SDK_VERSION-alpine
diff --git a/examples/language-sdk-instrumentation/dotnet/web-new/Dockerfile b/examples/language-sdk-instrumentation/dotnet/web-new/Dockerfile
index 8941e106c5..159575f5ec 100644
--- a/examples/language-sdk-instrumentation/dotnet/web-new/Dockerfile
+++ b/examples/language-sdk-instrumentation/dotnet/web-new/Dockerfile
@@ -3,8 +3,8 @@ FROM --platform=linux/amd64 mcr.microsoft.com/dotnet/sdk:6.0
WORKDIR /dotnet
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
-COPY --from=pyroscope/pyroscope-dotnet:0.9.2-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Profiler.Native.so ./Pyroscope.Profiler.Native.so
+COPY --from=pyroscope/pyroscope-dotnet:0.9.4-glibc /Pyroscope.Linux.ApiWrapper.x64.so ./Pyroscope.Linux.ApiWrapper.x64.so
ADD example .
diff --git a/tools/update_examples.go b/tools/update_examples.go
index 7a734ec7c4..2f1091ebf8 100644
--- a/tools/update_examples.go
+++ b/tools/update_examples.go
@@ -228,7 +228,7 @@ func extractRSVersion(module string) func(tag Tag) *version {
func extractDotnetVersion() func(tag Tag) *version {
return func(tag Tag) *version {
- re := regexp.MustCompile(`v(\d+).(\d+).(\d+)-pyroscope`)
+ re := regexp.MustCompile(`v(\d+).(\d+).(\d+)$`)
match := re.FindStringSubmatch(tag.Name)
if match != nil {
fmt.Println(len(match), match)