diff --git a/CHANGELOG.md b/CHANGELOG.md
index 972cae5..4ef009c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,12 @@
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [1.1.1] - 2021-07-05
+
+### Fixed
+
+- The producer ignored message metadata provided by the end-user
+
 ## [1.1.0] - 2021-06-29
 
 ### Added
diff --git a/src/DotPulsar/DotPulsar.csproj b/src/DotPulsar/DotPulsar.csproj
index 1dadb0d..a12e88e 100644
--- a/src/DotPulsar/DotPulsar.csproj
+++ b/src/DotPulsar/DotPulsar.csproj
@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TargetFrameworks>netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0</TargetFrameworks>
-    <Version>1.1.0</Version>
+    <Version>1.1.1</Version>
     <AssemblyVersion>$(Version)</AssemblyVersion>
     <FileVersion>$(Version)</FileVersion>
     <Authors>ApachePulsar,DanskeCommodities,dblank</Authors>
diff --git a/src/DotPulsar/Internal/Producer.cs b/src/DotPulsar/Internal/Producer.cs
index 5951a1d..067ac12 100644
--- a/src/DotPulsar/Internal/Producer.cs
+++ b/src/DotPulsar/Internal/Producer.cs
@@ -221,10 +221,16 @@
         }
 
         public async ValueTask<MessageId> Send(TMessage message, CancellationToken cancellationToken)
-            => await _producers[await ChoosePartitions(null, cancellationToken).ConfigureAwait(false)].Send(message, cancellationToken).ConfigureAwait(false);
+        {
+            var partition = await ChoosePartitions(null, cancellationToken).ConfigureAwait(false);
+            return await _producers[partition].Send(message, cancellationToken).ConfigureAwait(false);
+        }
 
         public async ValueTask<MessageId> Send(DotPulsar.MessageMetadata metadata, TMessage message, CancellationToken cancellationToken)
-            => await _producers[await ChoosePartitions(metadata, cancellationToken).ConfigureAwait(false)].Send(message, cancellationToken).ConfigureAwait(false);
+        {
+            var partition = await ChoosePartitions(null, cancellationToken).ConfigureAwait(false);
+            return await _producers[partition].Send(metadata, message, cancellationToken).ConfigureAwait(false);
+        }
 
         private void ThrowIfDisposed()
         {
