diff --git a/packages/ep_products/Resources/Public/Icons/Extension.svg b/packages/ep_products/Resources/Public/Icons/Extension.svg
new file mode 100644
index 0000000..3bfc15c
--- /dev/null
+++ b/packages/ep_products/Resources/Public/Icons/Extension.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/ep_theme/Resources/Private/Assets/icons/Extension.svg b/packages/ep_theme/Resources/Private/Assets/icons/Extension.svg
new file mode 100644
index 0000000..3bfc15c
--- /dev/null
+++ b/packages/ep_theme/Resources/Private/Assets/icons/Extension.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/ep_theme/ext_emconf.php b/packages/ep_theme/ext_emconf.php
index 0ded659..e2fec36 100644
--- a/packages/ep_theme/ext_emconf.php
+++ b/packages/ep_theme/ext_emconf.php
@@ -8,7 +8,7 @@ $EM_CONF[$_EXTKEY] = [
'category' => 'plugins',
'author' => 'Björn Fromme',
'author_email' => 'fromme@dreipunktnull.com',
- 'state' => 'beta',
+ 'state' => 'stable',
'dividers2tabs' => true,
'version' => '3.0.0',
'constraints' => [
diff --git a/webpack.config.js b/webpack.config.js
index 2cecfbf..224feaf 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -50,6 +50,8 @@ Encore
.copyFiles([
{ from: './packages/ep_theme/Resources/Private/Assets/images', to: 'images/[name].[ext]' },
{ from: './packages/ep_theme/Resources/Private/Assets/images/icons', to: 'images/icons/[name].[ext]' },
+ // TYPO3 takes the extension icon from this fixed path
+ { from: './packages/ep_theme/Resources/Private/Assets/icons', to: 'Icons/[name].[ext]' },
])
// The content hash is what lets .htaccess serve these as `immutable` for a year: a new
// build is a new URL, so a browser never has to revalidate one. It also replaces TYPO3's