Skip to content

Releases: sermant-io/Sermant

Release v1.4.0

30 Mar 09:15
ba82cb6
Compare
Choose a tag to compare

⭐ Feature

  • Supports data-layer middleware write prohibition. This capability can be enabled in multi-cloud and multi-active scenarios to ensure database data consistency Issue #1422
    (1) Support write operation prohibition on Mysql (JDBC: org.mariadb.jdbc:mariadb-java-client versions 2.4.2-2.7.x and 3.0.x-3.3.x)
    (2) Support write operation prohibition on PostgreSQL (JDBC: org.postgresql:postgresql 9.4.x and 42.0.x-42.11.x)
    (3) Support write operation prohibition on OpenGaussDB (JDBC:org.opengauss:opengauss-jdbc 3.0.x-3.1.x)
    (4) Support write operation prohibition on MongoDB (JDBC: org.mongodb:mongodb-driver-sync 3.7.x-3.11.x and 4.0.x-4.11.x)

📈 Improvements

  • The routing plugin supports dubbo3.x Issue #1452

🐞 Fixes

  • Fixed the issue that the dynamic configuration zone of the message queue consumption prohibition plugin does not take effect Issue #1409
  • Fixed a stack overflow issue when using snakeyaml to convert dynamic configuration content to an object of the config class Issue #1464
  • Fixed the Open Source Component Vulnerability of Sermant Issue #1479

E2E-Test

  • Added the integration test of the message queue consumption prohibition plugin Issue #1461
  • Added the integration test of the write prohibition plugin of the data layer middleware Issue #1400

Release v-cooperate-with-gala-gopher-beta

22 Mar 07:04
d9c8c2b
Compare
Choose a tag to compare

📈 Improvements

  • Enhance the capability of the metric collection plugin.
    (1)The metric collection plugin supports SpringCloud metric collection. Issue #1402
    (2)The metric collection plugin supports MySQL metric collection. Issue #1420

Release v1.3.1

18 Jan 02:08
6692b83
Compare
Choose a tag to compare

📈 Improvements

  • Enhanced router plugin capabilities
    (1)The asynchronous routing capability is added to the router plugin to support cross-thread transmission of route and tag information. Issue #1404
    (2)The fallback rule matching logic is added to the router plugin to solve the problem that the secondary priority instance cannot be defined when no instance can be matched in the full-link gray scenario. Issue #1405

🐞 Fixes

  • Fixed the issue that the dynamic configuration zone of the mq consume prohibition plugin does not take effect. Issue #1409
  • Fixed the issue that the host class fails to be loaded in the dynamic configuration module of the mq consume prohibition plugin. Issue #1413
  • Fixed the issue that the tag routing rules and AZ affinity routes are incompatible when the version is upgraded from 1.0 to 1.3. Issue #1406

Release v1.3.0

29 Dec 07:20
9d1f090
Compare
Choose a tag to compare

⭐ Feature

  • Interceptor information that has been enhanced for the Java process can be queried by running commands. Issue #1259
  • The Kafka and RocketMQ consumption prohibition capability is supported. In the multi-cloud and multi-active architecture traffic switching scenario, this capability can be enabled to avoid repeated execution of secondary traffic. Issue #1379
    (1) Consumption prohibition for Kafka 1.1, 2.3.x, 2.7 version.
    (2) Consumption prohibition for RocketMQ 4.8.x, 4.9.x, 5.0.x, 5.1.x version.
    (3) Supports prohibiting or resuming consumption by topic or client.
    (4) Supporting the delivery of the configuration of consumption prohibition through dynamic configuration.

📈 Improvements

  • Improve the capabilities related to the traffic tag transparent transmission plugin.
    (1) Added the integration test. Issue #1333
    (2) The project structure of the traffic tag transparent transmission plugin is modified. The plug-in is modularized based on the component version granularity, which facilitates extension in future versions. Issue #1360
  • The plugin installation mechanism of the Sermant Agent is enhanced to support repeated installation of the plugin. This feature can be used in scenarios where the plugin bytecode enhancement scope (class and method) needs to be dynamically extended. For example, a new fault needs to be injected based on the original fault injection in the fault injection scenario. Issue #1332

🐞 Fixes

  • Fix the issue where the registry plugin fails to be registered with the CSE registration center because the length of the generated host name exceeds 64 characters. Issue #1329
  • Fixes an issue where it was possible to load into a host class from the PluginClassLoader. Issue #1352
  • Fixed an issue where logs were printed directly to the host application when the FrameworkClassLoader was initialized. Issue #1381
  • Fix the problem that the host class cannot be found when instantiating the interceptor. Issue #1390
  • The NetInterfaceCheckException class is incorrectly encoded. Issue #1392
  • Fixing the Open Source Component Vulnerability of Sermant. Issue #1398

📔 Documentation

  • Fixed an issue where the logo on the README document could not be displayed. Issue #1342
  • Changed the Sermant download link in the README file to the address of the 1.2.1 version. Issue #1362

Release v1.0.7

19 Dec 12:29
514e698
Compare
Choose a tag to compare

📈 Improvements

  • The fallback rule matching logic is added to the router plugin to solve the problem that the secondary priority instance cannot be defined when no instance can be matched in the full-link gray scenario. Issue #1386

Release v1.2.1

09 Nov 02:32
ef00d75
Compare
Choose a tag to compare

📈 Improvements

  • Supports repeated plugin installation. Issue #1332

🐞 Fixes

  • Fixes an issue where it was possible to load into a host class from the PluginClassLoader. Issue #1352
  • Fixes an issue where classes loaded by SermantClassLoader were not ignored during bytecode enhancement. Issue #1340

Release v-cooperate-with-gala-gopher-alpha

09 Nov 08:13
81edb23
Compare
Choose a tag to compare

⭐ Feature

  • Collects L7 metrics of the dubbo framework and reports them to Gopher. Issue #1341

Release v1.2.0

07 Oct 12:22
63e8c97
Compare
Choose a tag to compare

⭐ Feature

  • Supports dynamic configuration service to connect to the Nacos configuration center. Issue #1228
  • Supports dynamic installation and uninstallation of the Agent framework and plug-ins using commands or APIs. Issue #1236
  • Supports traffic tag transparent transmission capability. Issue #1244
    (1) Supports transparent transmission of traffic tag of RocketMQ4.8+ and webServlet3.0+. PR #1253
    (2) Supports transparent transmission of traffic tag of kafka 1.x 2.x 3.x. PR #1254
    (3) Supports transparent transmission of traffic tag of cross-thread. PR #1268
    (4) Supports transparent transmission of traffic tag of Dubbo 2.6.x,2.7.x,3.x. PR #1273
    (5) Supports transparent transmission of traffic tag of httpclient3.x、HttpClient4.x、Okhttp2、Jdk httpclient. PR #1251 #1281
    (6) Supports transparent transmission of traffic tag of sofarpc5.0+、grpc、servicecombrpc2.0+. PR #1287 #1288 #1291
    (7) Matching the keys to be transmitted based on the prefix and suffix during traffic tag transparent transmission. PR #1297

📈 Improvements

  • Deleted backend-lite and kept the capabilities in the backend. The backend provides more comprehensive capabilities and better UI effects. Issue #1233
  • The classload structure of the framework and plugin is changed to better provide the class isolation capability, which brings the following benefits::
    (1) The Advice template is combined. No separate Advice template is maintained for Java classes, reducing the performance impact of bytecode enhancement on Java classes. Issue #1234
    (2) Establishing a classloader structure for Sermant under AppClassLoader keeps classes isolated in more complex classloading environments. Issue #1235
    (3) Better control over the class resources loaded by Sermant Framework and plugins when performing dynamic installs and uninstalls.
  • Optimize the DiscoveryClientInterceptor/DiscoveryClientServiceInterceptor processing logic in the Spring Cloud dual-registration scenario and remove the thread variable. Issue #1242
  • Supports JDK11 and JDK17. Issue #1283
    (1) The Monitor plugin is modified to adapt to new monitoring metric so that the Sermant can run in JDK11. PR #1285
    (2) Upgrade ByteBuddy to version 1.12.19 and Lombok to version 1.18.22 to support Sermant under JDK17. PR #1293
  • Modify the mode for the service visibility plugin to listen to the Netty status. The internal notification mechanism is used to reduce the coupling between the service governance plugin and the agent framework. Issue #1314
  • Update the Sermant Agent configuration file and add the configuration description to the configuration file. Issue #1323

🐞 Fixes

  • Fixed an issue that the plugin service can be obtained through the ServiceManager and the plugin configuration can be obtained through the ConfigManager. Issue #1239
  • Fixed an issue that the ZooKeeper registration center may fail to be deduplicated in the Spring Cloud dual-registration scenario. Issue #1241
  • Fixed an issue where Sermant mounted by injector conflicts with Skywalking. Issue #1258
  • Fixed the issue where the initialization fails when the dynamic configuration service disconnects from ZooKeeper. Issue #1295
  • Fixing Open-Source Component Vulnerabilities. Issue #1318

📔 Documentation

  • Updated the Readme on the GitHub homepage, modified the image masking IP address of the Sermant backend, and modified the path of the sample project. Issue #1282

Release v1.0.6

22 Sep 06:37
2ed4003
Compare
Choose a tag to compare

📈 Improvements

Release v1.0.5

12 Aug 10:50
6dd5d2e
Compare
Choose a tag to compare

📈 Improvements

🐞 Fixes

  • Template and Transform customized to enhance the loading of bootstrap class loaders by @luanwenfei-venus #1272