Releases: sermant-io/Sermant
Releases · sermant-io/Sermant
Release v2.1.2
📈 Improvements
- Optimize performance in xds routing scenarios and reduce additional CPU usage and call delays. Issue #1680
🐞 Fixes
- Fixed the issue where DefaultAdviser logs are output to the application console. Issue #1666
- Fixed the issue where the sermant-tag-transmission plugin repeatedly adds request headers. Issue #1674
- Fixed the issue where Sermant class loader loading implementation of SPI interface from parent class loader. Issue #1685
- Fixed the issue where multiple dynamic mounts do not support different agent directories. Issue #1687
Release v2.1.1
Release v2.1.0
⭐ Feature
- Support Prometheus monitoring on the Sermant(beta). Issue #1445
(1)Support collection of Sermant indicators.
(2)Support providing API collection plugin indicators. - Support rocketMq grayscale message. Issue #1539
- Support obtaining Istio routing and load balancing configurations based on the xDS protocol. Issue #1604
(1)Support obtaining the routing and load balancing configuration of the Istio control plane based on the xDS protocol.
(2)Support routing using xDS routing rule configuration. - Supports hot plugging services on the Backend. Issue #1606
(1)Support dynamic installation, uninstallation and update of plugins through Sermant Backend.
(2)Support viewing hot plugging events of specified instances in Sermant Backend.
📈 Improvements
- Optimize configuration management services. Issue #1622
(1)Supports rendering of configuration management page and configuration details page through plugin ui template. - Upgrading open-source software versions. Issue #1637
🐞 Fixes
- Fix the issue of Nacos dynamic configuration. Issue #1584
- Fix the issue of failed parsing of Sermant empty collection configuration. Issue #1591
- Fix the issue of the service loading order is inconsistent with the SPI file definition order. Issue #1602
- Fix the issue of using the wrong time unit when the backend uses Redis to store heartbeats. Issue #1610
- Fix the issue of OutOfMemoryError when Backend uses Nacos as the configuration center。Issue #1613
- Fix the issue of backend sending webhook error when using redis to store events. Issue #1616
- Fix the issue of the consumer may send requests to the wrong instance in the graceful shutdown plugin. Issue #1589
Release v2.0.0
⭐ Feature
- Support xDS protocol to communicate with the Control Plane of Service Mesh. Issue #1515
(1)Implements communication based on the xDS protocol and Istio data plane.
(2)Implements the service discovery capability in the K8S scenario based on the CDS and EDS protocols.
(3)In the Kubernetes scenario, the Sermant framework implements the service discovery capability based on the CDS and EDS protocols and provides an interface for the Sermant plugin to obtain service instances. - Support configuration management on the sermant-backend. Issue #1528
(1)Support configuration management on the sermant-backend page.
(2)Support Zookeeper, Nacos, and Kie configuration centers.
📈 Improvements
- Refactor all packages to io.sermant to keep a consistent directory structure. Issue #1505
- Reconstruct the dynamic configuration service and provide services for the sermant-backend through a unified interface. Issue #1523
- Reduce startup time of sermant-agent. Issue #1541
- Support user-defined parameters on the attach command. Issue #1552
- Support English version for sermant-backend. Issue #1553
- Support the Redis cluster on the sermant-backend. Issue #1555
🐞 Fixes
- Fix the issue that the unit test of the springboot-registry plugin fails to be executed. Issue #1501
- Fix the issue that the plugin configuration fails to be dynamically loaded for the second time. Issue #1520
- Fix the issue that the ConfigSubscriber mode not support Map. Issue #1536
- Fix Open-Source Software Vulnerabilities. Issue #1558
📔 Documentation
Release v1.4.1
🐞 Fixes
- Fixed issue of plugin config reload dynamically failure. Issue #1520
Release v1.4.0
⭐ 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
Release v-cooperate-with-gala-gopher-beta
Release v1.3.1
📈 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
⭐ 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
Release v1.0.7
📈 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