diff --git a/README.md b/README.md
index c13eb5ea..b02c4208 100644
--- a/README.md
+++ b/README.md
@@ -218,7 +218,7 @@ ioGame 是轻量级的网络编程框架,**不依赖任何第三方**中间件
com.iohao.game
run-one-netty
- 21.18
+ 21.19
```
diff --git a/changeLog_ioGame.md b/changeLog_ioGame.md
index 0e46e832..a7b3d0c0 100644
--- a/changeLog_ioGame.md
+++ b/changeLog_ioGame.md
@@ -13,6 +13,86 @@
### 2024-10
+#### 2024-10-28 - v21.19
+
+https://github.com/iohao/ioGame/releases/tag/21.19
+
+
+
+**版本更新汇总**
+
+> 1. [core] FlowContext provides the setUserId method to simplify the login operation.
+> 2. [broker] Added RingElementSelector load balancing implementation and set it as default to replace RandomElementSelector
+> 3. [core] [#386](https://github.com/iohao/ioGame/issues/386) Action supports constructor injection with parameters in Spring
+> 4. Simplify the implementation class of ActionParserListener related to ProtoDataCodec. and #386
+> 5. perf(i18n): 🐳 [#376](https://github.com/iohao/ioGame/issues/376) cmd check tips
+> 6. refactor(external): simplify and improve externalCache
+
+
+------
+
+**[core]** FlowContext provides the setUserId method to simplify the login operation.
+> FlowContext 提供登录方法以简化登录的使用
+
+```java
+@ActionController(LoginCmd.cmd)
+public class TheLoginAction {
+ ... ...
+ @ActionMethod(LoginCmd.login)
+ public UserInfo loginVerify(LoginVerify loginVerify, FlowContext flowContext) {
+ long userId = ...;
+
+ // Deprecated
+ boolean success = UserIdSettingKit.settingUserId(flowContext, userId);
+ // now
+ boolean success = flowContext.setUserId(userId);
+
+ return ...;
+ }
+}
+```
+
+---
+
+**[core]** [#386](https://github.com/iohao/ioGame/issues/386) Action supports constructor injection with parameters in Spring
+> 在 Spring 中,Action 支持构造函数注入
+
+```java
+// Action supports constructor injection in Spring.
+@Component
+@AllArgsConstructor
+@ActionController(PersonCmd.cmd)
+public class PersonAction {
+ final PersonService personService;
+ ...
+}
+```
+
+---
+
+refactor(external): simplify and improve externalCache
+> 简化与提升游戏对外服缓存
+
+```java
+// create externalCache
+private static void extractedExternalCache() {
+ // Deprecated
+ DefaultExternalCmdCache externalCmdCache = new DefaultExternalCmdCache();
+ // now
+ var externalCmdCache = ExternalCmdCache.of();
+}
+```
+
+------
+
+**[其他更新]**
+
+```xml
+4.1.114.Final
+```
+
+------
+
#### 2024-10-09 - v21.18
https://github.com/iohao/ioGame/releases/tag/21.18
diff --git a/common/common-core/pom.xml b/common/common-core/pom.xml
index 7b8e9acc..68a3338a 100644
--- a/common/common-core/pom.xml
+++ b/common/common-core/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/common/common-core/src/main/java/com/iohao/game/action/skeleton/IoGameVersion.java b/common/common-core/src/main/java/com/iohao/game/action/skeleton/IoGameVersion.java
index 7fd8cab4..bb689211 100644
--- a/common/common-core/src/main/java/com/iohao/game/action/skeleton/IoGameVersion.java
+++ b/common/common-core/src/main/java/com/iohao/game/action/skeleton/IoGameVersion.java
@@ -26,7 +26,7 @@ public final class IoGameVersion {
public static final String VERSION;
static {
- String internalVersion = "21.18";
+ String internalVersion = "21.19";
VERSION = internalVersion
.replace("", "")
diff --git a/common/common-kit/pom.xml b/common/common-kit/pom.xml
index 8bfd591a..f59a2c9e 100644
--- a/common/common-kit/pom.xml
+++ b/common/common-kit/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/common/common-micro-kit/pom.xml b/common/common-micro-kit/pom.xml
index 1e8bda53..119b6ec5 100644
--- a/common/common-micro-kit/pom.xml
+++ b/common/common-micro-kit/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml
diff --git a/common/common-validation/pom.xml b/common/common-validation/pom.xml
index 1c551b36..381d4ce2 100644
--- a/common/common-validation/pom.xml
+++ b/common/common-validation/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/external/external-core/pom.xml b/external/external-core/pom.xml
index 86123839..af9f4cd5 100644
--- a/external/external-core/pom.xml
+++ b/external/external-core/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml
diff --git a/external/external-netty/pom.xml b/external/external-netty/pom.xml
index 867f062f..26afd609 100644
--- a/external/external-netty/pom.xml
+++ b/external/external-netty/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml
diff --git a/net-bolt/bolt-broker-server/pom.xml b/net-bolt/bolt-broker-server/pom.xml
index 54bcf9e1..6313e92e 100644
--- a/net-bolt/bolt-broker-server/pom.xml
+++ b/net-bolt/bolt-broker-server/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/net-bolt/bolt-client/pom.xml b/net-bolt/bolt-client/pom.xml
index 59d2cba5..d187a8de 100644
--- a/net-bolt/bolt-client/pom.xml
+++ b/net-bolt/bolt-client/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/net-bolt/bolt-core/pom.xml b/net-bolt/bolt-core/pom.xml
index c4c88931..c484d927 100644
--- a/net-bolt/bolt-core/pom.xml
+++ b/net-bolt/bolt-core/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/pom.xml b/pom.xml
index aa0d3c85..adebeac6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
ioGame
生产资料公有制。
@@ -53,7 +53,7 @@
UTF-8
- 4.1.113.Final
+ 4.1.114.Final
1.6.6
diff --git a/run-one/run-one-netty/pom.xml b/run-one/run-one-netty/pom.xml
index bfaea1ae..0719f0cc 100644
--- a/run-one/run-one-netty/pom.xml
+++ b/run-one/run-one-netty/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml
diff --git a/widget/light-client/pom.xml b/widget/light-client/pom.xml
index 4d076ec2..a26fa965 100644
--- a/widget/light-client/pom.xml
+++ b/widget/light-client/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml
diff --git a/widget/light-domain-event/pom.xml b/widget/light-domain-event/pom.xml
index 1ee0551f..8566a5c4 100644
--- a/widget/light-domain-event/pom.xml
+++ b/widget/light-domain-event/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/widget/light-game-room/pom.xml b/widget/light-game-room/pom.xml
index d588d525..5446fb31 100644
--- a/widget/light-game-room/pom.xml
+++ b/widget/light-game-room/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/widget/light-jprotobuf/pom.xml b/widget/light-jprotobuf/pom.xml
index 71ac9f23..2256fcb6 100644
--- a/widget/light-jprotobuf/pom.xml
+++ b/widget/light-jprotobuf/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/widget/light-profile/pom.xml b/widget/light-profile/pom.xml
index 7c25951d..65266235 100644
--- a/widget/light-profile/pom.xml
+++ b/widget/light-profile/pom.xml
@@ -5,7 +5,7 @@
ioGame
com.iohao.game
- 21.18
+ 21.19
../../pom.xml
4.0.0
diff --git a/widget/other-tool/pom.xml b/widget/other-tool/pom.xml
index 6631a37f..9d86c2a9 100644
--- a/widget/other-tool/pom.xml
+++ b/widget/other-tool/pom.xml
@@ -6,7 +6,7 @@
com.iohao.game
ioGame
- 21.18
+ 21.19
../../pom.xml