diff --git a/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml
new file mode 100644
index 0000000000..40d60a6c4a
--- /dev/null
+++ b/reference/mysqlnd_ms/functions/mysqlnd-ms-xa-gc.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+ mysqlnd_ms_xa_gc
+ Garbage collects unfinished XA transactions after severe errors
+
+
+
+ &reftitle.description;
+
+ int
+ mysqlnd_ms_xa_gc
+ mixedconnection
+ stringgtrid
+
+
+
+ Garbage collects unfinished XA transactions.
+
+
+ The XA protocol is a blocking protocol. There exist cases when servers
+ participating in a global transaction cannot make progress when the transaction
+ coordinator crashes or disconnects. In such a case, the MySQL servers
+ keep waiting for instructions to finish the XA transaction in question.
+ Because transactions occupy resources, transactions should always be
+ terminated properly.
+
+
+ Garbage collection requires configuring a state store to track global
+ transactions. Should a PHP client crash in the middle of a transaction
+ and a new PHP client be started, then the built-in garbage collection
+ can learn about the aborted global transaction and terminate it. If you
+ do not configure a state store, the garbage collection cannot perform
+ any cleanup tasks.
+
+
+ The state store should be crash-safe and be highly available to survive
+ its own crash. Currently, only MySQL is supported as a state store.
+
+
+ Garbage collection can also be performed automatically in the background.
+ See the plugin configuration directive garbage_collection
+ for details.
+
+
+ Experimental
+
+ The feature is currently under development. There may be issues and/or
+ feature limitations. Do not use in production environments.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ connection
+
+
+ A MySQL connection handle obtained from any of the
+ connect functions of the mysqli,
+ mysql or
+ PDO_MYSQL extensions.
+
+
+
+
+ gtrid
+
+
+ Global transaction identifier (gtrid). If given, the garbage
+ collection considers the transaction only. Otherwise,
+ the state store is scanned for any unfinished transaction.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Returns &true; if the global transaction has been rolled back. Otherwise, returns &false;
+
+
+
+
+ &reftitle.seealso;
+
+
+
+ Quickstart XA/Distributed transactions
+
+
+ Runtime configuration
+
+
+ State store configuration
+
+
+
+
+
+
+
+
diff --git a/reference/mysqlnd_ms/versions.xml b/reference/mysqlnd_ms/versions.xml
index fec0a0f9dc..b8a1fb25a4 100755
--- a/reference/mysqlnd_ms/versions.xml
+++ b/reference/mysqlnd_ms/versions.xml
@@ -17,6 +17,7 @@
+