diff --git a/CHANGELOG-3.0.md b/CHANGELOG-3.0.md
new file mode 100644
index 00000000..da29c109
--- /dev/null
+++ b/CHANGELOG-3.0.md
@@ -0,0 +1,5 @@
+# CHANGELOG
+
+### v3.0.0 (2025-10-22)
+
+- [#397](https://github.com/Sylius/InvoicingPlugin/pull/397) Isolate plugin messaging: Introduce dedicated event & command buses for InvoicingPlugin ([@tomkalon](https://github.com/tomkalon))
diff --git a/UPGRADE-3.0.md b/UPGRADE-3.0.md
new file mode 100644
index 00000000..192b34a9
--- /dev/null
+++ b/UPGRADE-3.0.md
@@ -0,0 +1,21 @@
+# UPGRADE FROM 2.1 TO 3.0
+
+## Changes
+
+1. Introduced plugin-specific Messenger buses (`sylius_invoicing.command_bus` and `sylius_invoicing.event_bus`):
+
+- The Invoicing Plugin no longer uses the global `sylius.command_bus` or `sylius.event_bus`.
+- If you have custom message handlers, middleware, or routing related to the plugin, update them to use the new plugin-specific buses.
+- Example configuration:
+
+```yaml
+framework:
+ messenger:
+ buses:
+ sylius_invoicing.command_bus:
+ middleware:
+ - 'validation'
+ - 'doctrine_transaction'
+ sylius_invoicing.event_bus:
+ default_middleware: allow_no_handlers
+```
diff --git a/config/config.yaml b/config/config.yaml
index 87569df3..020d7482 100644
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -114,9 +114,9 @@ sylius_grid:
framework:
messenger:
buses:
- sylius.event_bus:
+ sylius_invoicing.event_bus:
default_middleware: allow_no_handlers
- sylius.command_bus:
+ sylius_invoicing.command_bus:
middleware:
- 'validation'
- 'doctrine_transaction'
diff --git a/config/services.xml b/config/services.xml
index 47ea616a..fd1df801 100644
--- a/config/services.xml
+++ b/config/services.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/config/services/listeners.xml b/config/services/listeners.xml
index 988881bd..6148d11a 100644
--- a/config/services/listeners.xml
+++ b/config/services/listeners.xml
@@ -20,26 +20,26 @@
-
+
-
+
-
+
-
-
+
+