diff --git a/2.2.2.202609271917/artifacts.jar b/2.2.2.202609271917/artifacts.jar
deleted file mode 100644
index f59e2e7..0000000
Binary files a/2.2.2.202609271917/artifacts.jar and /dev/null differ
diff --git a/2.2.2.202609271917/artifacts.xml.xz b/2.2.2.202609271917/artifacts.xml.xz
deleted file mode 100644
index 5cc88a1..0000000
Binary files a/2.2.2.202609271917/artifacts.xml.xz and /dev/null differ
diff --git a/2.2.2.202609271917/content.jar b/2.2.2.202609271917/content.jar
deleted file mode 100644
index fc60b94..0000000
Binary files a/2.2.2.202609271917/content.jar and /dev/null differ
diff --git a/2.2.2.202609271917/content.xml.xz b/2.2.2.202609271917/content.xml.xz
deleted file mode 100644
index e31dbbf..0000000
Binary files a/2.2.2.202609271917/content.xml.xz and /dev/null differ
diff --git a/2.2.2.202609271917/features/com.epod.adt.mcp.feature_2.2.2.202609271917.jar b/2.2.2.202609271917/features/com.epod.adt.mcp.feature_2.2.2.202609271917.jar
deleted file mode 100644
index 9abbc24..0000000
Binary files a/2.2.2.202609271917/features/com.epod.adt.mcp.feature_2.2.2.202609271917.jar and /dev/null differ
diff --git a/2.3.0.202609300746/artifacts.jar b/2.3.0.202609300746/artifacts.jar
new file mode 100644
index 0000000..a336300
Binary files /dev/null and b/2.3.0.202609300746/artifacts.jar differ
diff --git a/2.3.0.202609300746/artifacts.xml.xz b/2.3.0.202609300746/artifacts.xml.xz
new file mode 100644
index 0000000..9852507
Binary files /dev/null and b/2.3.0.202609300746/artifacts.xml.xz differ
diff --git a/2.3.0.202609300746/content.jar b/2.3.0.202609300746/content.jar
new file mode 100644
index 0000000..639e4ba
Binary files /dev/null and b/2.3.0.202609300746/content.jar differ
diff --git a/2.3.0.202609300746/content.xml.xz b/2.3.0.202609300746/content.xml.xz
new file mode 100644
index 0000000..a9c02de
Binary files /dev/null and b/2.3.0.202609300746/content.xml.xz differ
diff --git a/2.3.0.202609300746/features/com.epod.adt.mcp.feature_2.3.0.202609300746.jar b/2.3.0.202609300746/features/com.epod.adt.mcp.feature_2.3.0.202609300746.jar
new file mode 100644
index 0000000..457bee4
Binary files /dev/null and b/2.3.0.202609300746/features/com.epod.adt.mcp.feature_2.3.0.202609300746.jar differ
diff --git a/2.2.2.202609271917/p2.index b/2.3.0.202609300746/p2.index
similarity index 82%
rename from 2.2.2.202609271917/p2.index
rename to 2.3.0.202609300746/p2.index
index 9ebbeee..2b3dbda 100644
--- a/2.2.2.202609271917/p2.index
+++ b/2.3.0.202609300746/p2.index
@@ -1,4 +1,4 @@
-#Sun Sep 27 21:17:22 CEST 2026
+#Wed Sep 30 09:47:21 CEST 2026
artifact.repository.factory.order=artifacts.xml.xz,artifacts.xml,\!
metadata.repository.factory.order=content.xml.xz,content.xml,\!
version=1
diff --git a/2.2.2.202609271917/plugins/com.epod.adt.mcp.plugin_2.2.2.202609271917.jar b/2.3.0.202609300746/plugins/com.epod.adt.mcp.plugin_2.3.0.202609300746.jar
similarity index 61%
rename from 2.2.2.202609271917/plugins/com.epod.adt.mcp.plugin_2.2.2.202609271917.jar
rename to 2.3.0.202609300746/plugins/com.epod.adt.mcp.plugin_2.3.0.202609300746.jar
index df58b10..f82d3ba 100644
Binary files a/2.2.2.202609271917/plugins/com.epod.adt.mcp.plugin_2.2.2.202609271917.jar and b/2.3.0.202609300746/plugins/com.epod.adt.mcp.plugin_2.3.0.202609300746.jar differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..fb6e1bf
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,48 @@
+# Changelog
+
+## [Unreleased]
+
+## [2.3.0] — 2026-09-30
+
+### New features
+- `sap_create_object` creates a function module (FUNC) in an existing function group.
+- `sap_create_object` creates a function group (FUGR).
+- The MCP Server view has an Activity tab that shows each tool call live, with the client name, the result size, and an estimated token count.
+- The MCP Server view changes its layout to fit the view width and has a "Connected only" filter for the project table.
+- The security log records the client name and the result size of each tool call.
+
+## [2.2.2] — 2026-09-27
+
+### New features
+- `sap_object_members` shows the include of each member. The option `includeLocal` lists local classes and test classes.
+- `sap_push_element` writes the declaration of an attribute, a constant, or a type.
+- `sap_check_object` reports ABAP Unit statement coverage when you set `coverage`.
+- Each connected system has an access mode. A read-only system refuses all write tools.
+- The bearer token stays the same after an Eclipse restart. The **Regenerate token** button creates a new token.
+- `sap_object_versions` lists the version history of an object.
+- `sap_object_diff` shows the difference between two versions of an object.
+- `sap_compare_systems` compares one object in two connected systems.
+- `sap_create_object` creates a domain (DOMA).
+- `sap_create_object` creates a table type (TTYP) and a message class (MSAG).
+- `sap_push_message` writes messages into a message class.
+- The push tools have an `activate` option. Set `activate` to false to write a source and keep the object inactive.
+- `sap_syntax_check` selects the inactive or the active source on its own.
+- The server writes a security event log in JSON Lines format.
+- The server accepts a maximum of 8 sessions and closes a session after 30 minutes without use.
+
+### Bug fixes
+- Bug fixes.
+
+## [2.2.1] — 2026-08-23
+
+### Bug fixes
+- Bug fixes.
+
+## [2.2.0] — 2026-08-23
+
+### New features
+- `sap_object_members` lists the members of a class, an interface, a program, or a function group in a compact form.
+- `sap_push_element` writes one member block of a class or an interface.
+- `sap_check_object` runs the syntax check, ATC, and unit tests as one quality gate.
+- `sap_pull_source` and `sap_pull_source_to_file` read one member when you set `element`.
+- `sap_atc_run` accepts an ATC check variant.
diff --git a/README.md b/README.md
index 622438d..ecb3f92 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,17 @@ AI Client --(HTTP/JSON-RPC)--> Eclipse Plugin --(ADT REST API / SNC)--> SAP
```
+## What's new in 2.3.0
+
+- `sap_create_object` creates a function module (FUNC) in an existing function group.
+- `sap_create_object` creates a function group (FUGR).
+- The MCP Server view has an Activity tab that shows each tool call live, with the client name, the result size, and an estimated token count.
+- The MCP Server view changes its layout to fit the view width and has a "Connected only" filter for the project table.
+- The security log records the client name and the result size of each tool call.
+
+See [CHANGELOG.md](CHANGELOG.md) for earlier versions.
+
+
## Token-efficient by design
AI assistants are billed by tokens, and most of the bill is not the prompt. Measured on a real ABAP task, 63% of the cost was cache write — everything a tool returns enters the model context — and 29% was cache read, the context re-read on every tool call. The prompt was 3%.
diff --git a/compositeArtifacts.xml b/compositeArtifacts.xml
index 109e82f..f44bd79 100644
--- a/compositeArtifacts.xml
+++ b/compositeArtifacts.xml
@@ -4,10 +4,10 @@
type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository'
version='1.0.0'>
-
+
-
+
diff --git a/compositeContent.xml b/compositeContent.xml
index a8efb65..424fdf6 100644
--- a/compositeContent.xml
+++ b/compositeContent.xml
@@ -4,10 +4,10 @@
type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository'
version='1.0.0'>
-
+
-
+