diff --git a/prdoc/pr_4249.prdoc b/prdoc/pr_4249.prdoc
new file mode 100644
index 0000000000000000000000000000000000000000..1a267e263924b7f5d0df62d1e1af6800e3ad255f
--- /dev/null
+++ b/prdoc/pr_4249.prdoc
@@ -0,0 +1,17 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: Moves runtime macro out of experimental flag
+
+doc:
+  - audience: Runtime Dev
+    description: |
+      Now that the runtime macro (Construct Runtime V2) has been successfully deployed on Westend, 
+      this PR moves it out of the experimental feature flag and makes it generally available for
+      runtime devs.
+
+crates:
+  - name: frame-support
+    bump: minor
+  - name: frame-support-procedural
+    bump: minor
diff --git a/substrate/frame/support/procedural/src/lib.rs b/substrate/frame/support/procedural/src/lib.rs
index 53f01329d1815d280031574ca232a166e7f8148e..e812ac071b2c9a2cf2e8ef199c2e1d656b7f0494 100644
--- a/substrate/frame/support/procedural/src/lib.rs
+++ b/substrate/frame/support/procedural/src/lib.rs
@@ -1249,7 +1249,6 @@ pub fn import_section(attr: TokenStream, tokens: TokenStream) -> TokenStream {
 ///
 /// * The macro generates a type alias for each pallet to their `Pallet`. E.g. `type System =
 ///   frame_system::Pallet<Runtime>`
-#[cfg(feature = "experimental")]
 #[proc_macro_attribute]
 pub fn runtime(attr: TokenStream, item: TokenStream) -> TokenStream {
 	runtime::runtime(attr, item)
diff --git a/substrate/frame/support/procedural/src/runtime/mod.rs b/substrate/frame/support/procedural/src/runtime/mod.rs
index aaae579eb086638f1bfacf02105a8fcd0e3d01b5..1d4242cd122eb798d82494ef2f4d630571f2d518 100644
--- a/substrate/frame/support/procedural/src/runtime/mod.rs
+++ b/substrate/frame/support/procedural/src/runtime/mod.rs
@@ -200,8 +200,6 @@
 //!     +----------------------+
 //! ```
 
-#![cfg(feature = "experimental")]
-
 pub use parse::Def;
 use proc_macro::TokenStream;
 use syn::spanned::Spanned;
diff --git a/substrate/frame/support/src/lib.rs b/substrate/frame/support/src/lib.rs
index 7eddea1259d7d040e57084232feb53eb2b6b1270..8ae1f56b4d686e6d6aa637aac1f6f2a0973e6157 100644
--- a/substrate/frame/support/src/lib.rs
+++ b/substrate/frame/support/src/lib.rs
@@ -508,7 +508,6 @@ pub use frame_support_procedural::{
 	construct_runtime, match_and_insert, transactional, PalletError, RuntimeDebugNoBound,
 };
 
-#[cfg(feature = "experimental")]
 pub use frame_support_procedural::runtime;
 
 #[doc(hidden)]