diff --git a/.chloggen/annotations-filter.yaml b/.chloggen/annotations-filter.yaml
deleted file mode 100755
index e7f7a268a3..0000000000
--- a/.chloggen/annotations-filter.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: 'enhancement'
-
-# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
-component: operator
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: Created ability to filter out Annotations
-
-# One or more tracking issues related to the change
-issues: [2627]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext:
diff --git a/.chloggen/dotnet-instrumentation-command-flag.yaml b/.chloggen/dotnet-instrumentation-command-flag.yaml
deleted file mode 100644
index b9e20c6e08..0000000000
--- a/.chloggen/dotnet-instrumentation-command-flag.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: breaking
-
-# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
-component: operator
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note:  change dotnet instrumentation feature gate into command line flag --enable-dotnet-instrumentation
-
-# One or more tracking issues related to the change
-issues: [2582, 2671]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext: 
diff --git a/.chloggen/target-allocator-respect-endpointslice.yaml b/.chloggen/target-allocator-respect-endpointslice.yaml
deleted file mode 100755
index 460b1c08ec..0000000000
--- a/.chloggen/target-allocator-respect-endpointslice.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: 'bug_fix'
-
-# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
-component: target allocator
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: "Fix per-node target allocation for targets from endpointslices"
-
-# One or more tracking issues related to the change
-issues: [2718]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext: "The per-node target allocation strategy was not matching endpointslice entries for with a `kind` of Node, such as those for the kubelet metrics created by the prometheus operator"
diff --git a/.chloggen/webhook-remove-pod-update.yaml b/.chloggen/webhook-remove-pod-update.yaml
deleted file mode 100755
index b1f7e5e38e..0000000000
--- a/.chloggen/webhook-remove-pod-update.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
-change_type: 'bug_fix'
-
-# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
-component: operator
-
-# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: "Removes UPDATE from pod mutating admission webhook since it only needs to mutate on pod CREATE events."
-
-# One or more tracking issues related to the change
-issues: [1514]
-
-# (Optional) One or more lines of additional information to render under the primary note.
-# These lines will be padded with 2 spaces and then inserted directly into the document.
-# Use pipe (|) for multiline entries.
-subtext: "The pod webhook currently modifies the pod spec in invalid ways on UPDATE events, and UPDATES are not necessary in the webhook."
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 25792ca8b1..697f3064b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,35 @@ Changes by Version
 ==================
 <!-- next version -->
 
+## 0.96.0
+
+### 🛑 Breaking changes 🛑
+
+- `operator`: change dotnet instrumentation feature gate into command line flag --enable-dotnet-instrumentation (#2582, #2671)
+
+### 💡 Enhancements 💡
+
+- `operator`: Created ability to filter out Annotations (#2627)
+
+### 🧰 Bug fixes 🧰
+
+- `target allocator`: Fix per-node target allocation for targets from endpointslices (#2718)
+  The per-node target allocation strategy was not matching endpointslice entries for with a `kind` of Node, such as those for the kubelet metrics created by the prometheus operator
+- `operator`: Removes UPDATE from pod mutating admission webhook since it only needs to mutate on pod CREATE events. (#1514)
+  The pod webhook currently modifies the pod spec in invalid ways on UPDATE events, and UPDATES are not necessary in the webhook.
+
+### Components
+
+* [OpenTelemetry Collector - v0.96.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.96.0)
+* [OpenTelemetry Contrib - v0.96.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.96.0)
+* [Java auto-instrumentation - v1.32.1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.32.1)
+* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/{AUTO_INSTRUMENTATION_DOTNET_VERSION})
+* [Node.JS - v0.46.0](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.46.0)
+* [Python - v0.44b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.44b0)
+* [Go - v0.10.1-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.10.1-alpha)
+* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
+* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
+
 ## 0.95.0
 
 ### 🛑 Breaking changes 🛑
diff --git a/README.md b/README.md
index 646b39af8e..1f80f99d2b 100644
--- a/README.md
+++ b/README.md
@@ -710,6 +710,7 @@ The OpenTelemetry Operator *might* work on versions outside of the given range,
 
 | OpenTelemetry Operator | Kubernetes           | Cert-Manager        |
 |------------------------|----------------------|---------------------|
+| v0.96.0                | v1.23 to v1.29       | v1                  |
 | v0.95.0                | v1.23 to v1.29       | v1                  |
 | v0.94.0                | v1.23 to v1.29       | v1                  |
 | v0.93.0                | v1.23 to v1.29       | v1                  |
@@ -732,7 +733,6 @@ The OpenTelemetry Operator *might* work on versions outside of the given range,
 | v0.76.1                | v1.19 to v1.26       | v1                  |
 | v0.75.0                | v1.19 to v1.26       | v1                  |
 | v0.74.0                | v1.19 to v1.26       | v1                  |
-| v0.73.0                | v1.19 to v1.26       | v1                  |
 
 ## Contributing and Developing
 
diff --git a/RELEASE.md b/RELEASE.md
index 6bc6f5b27e..16fcc7530e 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -44,10 +44,10 @@ The operator should be released within a week after the [OpenTelemetry collector
 
 | Version  | Release manager |
 |----------|-----------------|
-| v0.96.0  | @frzifus        |
 | v0.97.0  | @jaronoff97     |
 | v0.98.0  | @yuriolisa      |
 | v0.99.0  | @pavolloffay    |
 | v0.100.0 | @VineethReddy02 |
 | v0.101.0 | @TylerHelmuth   |
 | v0.102.0 | @swiatekm-sumo  |
+| v0.103.0 | @frzifus        |
diff --git a/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml b/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml
index 40a642de84..6de258d597 100644
--- a/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml
+++ b/bundle/manifests/opentelemetry-operator.clusterserviceversion.yaml
@@ -65,13 +65,13 @@ metadata:
     categories: Logging & Tracing,Monitoring
     certified: "false"
     containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
-    createdAt: "2024-03-04T14:38:01Z"
+    createdAt: "2024-03-08T17:10:13Z"
     description: Provides the OpenTelemetry components, including the Collector
     operators.operatorframework.io/builder: operator-sdk-v1.29.0
     operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
     repository: github.com/open-telemetry/opentelemetry-operator
     support: OpenTelemetry Community
-  name: opentelemetry-operator.v0.95.0
+  name: opentelemetry-operator.v0.96.0
   namespace: placeholder
 spec:
   apiservicedefinitions: {}
@@ -404,7 +404,7 @@ spec:
                 - --zap-log-level=info
                 - --zap-time-encoding=rfc3339nano
                 - --feature-gates=+operator.autoinstrumentation.go,+operator.autoinstrumentation.nginx
-                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.95.0
+                image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.96.0
                 livenessProbe:
                   httpGet:
                     path: /healthz
@@ -512,7 +512,7 @@ spec:
   minKubeVersion: 1.23.0
   provider:
     name: OpenTelemetry Community
-  version: 0.95.0
+  version: 0.96.0
   webhookdefinitions:
   - admissionReviewVersions:
     - v1
diff --git a/versions.txt b/versions.txt
index 0f869b30b8..32996d27d2 100644
--- a/versions.txt
+++ b/versions.txt
@@ -2,16 +2,16 @@
 # by default with the OpenTelemetry Operator. This would usually be the latest
 # stable OpenTelemetry version. When you update this file, make sure to update the
 # the docs as well.
-opentelemetry-collector=0.95.0
+opentelemetry-collector=0.96.0
 
 # Represents the current release of the OpenTelemetry Operator.
-operator=0.95.0
+operator=0.96.0
 
 # Represents the current release of the Target Allocator.
-targetallocator=0.95.0
+targetallocator=0.96.0
 
 # Represents the current release of the Operator OpAMP Bridge.
-operator-opamp-bridge=0.95.0
+operator-opamp-bridge=0.96.0
 
 # Represents the current release of Java instrumentation.
 # Should match autoinstrumentation/java/version.txt