diff --git a/changelog.md b/changelog.md
index 35c4c30144af6feb6461288c39ded8c3d94eb3a9..ebd197b8d9afdf8632fc1e2a4831bcba711b6010 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,23 @@
 # changelog
 
+## 3.6.22
+`2023-6-14`
+* `FIX` [#2038]
+* `FIX` [#2042]
+* `FIX` [#2062]
+* `FIX` [#2083]
+* `FIX` [#2088]
+* `FIX` [#2110]
+* `FIX` [#2129]
+
+[#2038]: https://github.com/LuaLS/lua-language-server/issues/2038
+[#2042]: https://github.com/LuaLS/lua-language-server/issues/2042
+[#2062]: https://github.com/LuaLS/lua-language-server/issues/2062
+[#2083]: https://github.com/LuaLS/lua-language-server/issues/2083
+[#2088]: https://github.com/LuaLS/lua-language-server/issues/2088
+[#2110]: https://github.com/LuaLS/lua-language-server/issues/2110
+[#2129]: https://github.com/LuaLS/lua-language-server/issues/2129
+
 ## 3.6.21
 `2023-5-24`
 * `FIX` disable ffi plugin
diff --git a/package.json b/package.json
index 6b81251143a43a52d224842bfc94008051c50cdf..ddb7c110e8f05b46b4f0dbe9cd4aee6f61ca5127 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,10 @@
 			{
 				"command": "lua.exportDocument",
 				"title": "%command.exportDocument%"
+			},
+			{
+				"command": "lua.reloadFFIMeta",
+				"title": "%command.reloadFFIMeta%"
 			}
 		],
 		"configuration": {
@@ -3127,6 +3131,11 @@
 					"command": "lua.addon_manager.open",
 					"group": "z_commands",
 					"when": "resourceLangId == lua"
+				},
+				{
+					"command": "lua.reloadFFIMeta",
+					"group": "z_commands",
+					"when": "resourceLangId == lua"
 				}
 			]
 		},
@@ -3274,5 +3283,5 @@
 	"sponsor": {
 		"url": "https://github.com/LuaLS/lua-language-server/issues/484"
 	},
-	"version": "3.6.21"
+	"version": "3.6.22"
 }
diff --git a/package.nls.json b/package.nls.json
index a6e0d0932cba2c71ed533f6d2c5ec9ba040e491e..852216934408568f462f79f55d97f699a4e7f780 100644
--- a/package.nls.json
+++ b/package.nls.json
@@ -1,6 +1,7 @@
 {
     "command.addon_manager.open": "Lua: Open Addon Manager ...",
     "command.exportDocument": "Lua: Export Document ...",
+    "command.reloadFFIMeta": "Lua: Reload luajit ffi meta",
     "config.IntelliSense.traceBeSetted": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
     "config.IntelliSense.traceFieldInject": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
     "config.IntelliSense.traceLocalSet": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
diff --git a/package.nls.pt-br.json b/package.nls.pt-br.json
index f78bf01ac886d4aea76a84b0beda8fc5b9222a06..137a981a022c057ae89912de9af25fb3f17d47bc 100644
--- a/package.nls.pt-br.json
+++ b/package.nls.pt-br.json
@@ -1,6 +1,7 @@
 {
     "command.addon_manager.open": "Lua: Open Addon Manager ...",
     "command.exportDocument": "Lua: Export Document ...",
+    "command.reloadFFIMeta": "Lua: Reload luajit ffi meta",
     "config.IntelliSense.traceBeSetted": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
     "config.IntelliSense.traceFieldInject": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
     "config.IntelliSense.traceLocalSet": "Please read [wiki](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features) to learn more.",
diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json
index 2c384a0193253602046ada0f7afa64d4e2732424..50c55945a656a3b57dd729e8cd45693c7e6e5bf4 100644
--- a/package.nls.zh-cn.json
+++ b/package.nls.zh-cn.json
@@ -1,6 +1,7 @@
 {
     "command.addon_manager.open": "Lua: 打开插件管理器...",
     "command.exportDocument": "Lua: 导出文档...",
+    "command.reloadFFIMeta": "Lua: 重新生成luajit的FFI模块C语言元数据",
     "config.IntelliSense.traceBeSetted": "请查阅[文档](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)了解用法。",
     "config.IntelliSense.traceFieldInject": "请查阅[文档](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)了解用法。",
     "config.IntelliSense.traceLocalSet": "请查阅[文档](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)了解用法。",
diff --git a/package.nls.zh-tw.json b/package.nls.zh-tw.json
index f35fb015ecddd33e5bf7dbbf266ea8302e8de8ba..57efb3c0b0f485716e6abdae6b0c54c3a0e40d5b 100644
--- a/package.nls.zh-tw.json
+++ b/package.nls.zh-tw.json
@@ -1,6 +1,7 @@
 {
     "command.addon_manager.open": "Lua: Open Addon Manager ...",
     "command.exportDocument": "Lua: Export Document ...",
+    "command.reloadFFIMeta": "Lua: Reload luajit ffi meta",
     "config.IntelliSense.traceBeSetted": "請查閱[文件](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)瞭解用法。",
     "config.IntelliSense.traceFieldInject": "請查閱[文件](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)瞭解用法。",
     "config.IntelliSense.traceLocalSet": "請查閱[文件](https://github.com/LuaLS/lua-language-server/wiki/IntelliSense-optional-features)瞭解用法。",
diff --git a/package/build.lua b/package/build.lua
index ea668709d549e649287f275ce61a884218e17497..fd0f6aae5cd9bc0108d4b27af8d0548bafce9074 100644
--- a/package/build.lua
+++ b/package/build.lua
@@ -1,6 +1,6 @@
 local json = require 'json-beautify'
 
-local VERSION = "3.6.21"
+local VERSION = "3.6.22"
 
 local package = require 'package.package'
 local fsu     = require 'fs-utility'
diff --git a/server b/server
index a902fcd20961589355e446a8b7a8d6e351435084..d95fe20a07d599994323a766c6f78e4867ddcace 160000
--- a/server
+++ b/server
@@ -1 +1 @@
-Subproject commit a902fcd20961589355e446a8b7a8d6e351435084
+Subproject commit d95fe20a07d599994323a766c6f78e4867ddcace