Releases: sermant-io/Sermant
Releases · sermant-io/Sermant
Release v2.2.0
⭐ Feature
- Support obtaining flow control configuration issued through Istio CRD configuration based on the xDS protocol. Issue #1604
(1) Support obtaining the flow control configuration of the Istio control plane based on the xDS protocol.
(2) Support flow control using xDS flow control configuration. - Support installing external Agent . Issue #1705
(1) Support for installing external agents, including compatibility support for opentelemetry.
(2) Support static mounting of external agents through the -javaagent command or Sermant Injector.
(3) Support dynamic mounting of external Agents through script or Sermant Backend. - Support Nacos registry center in SpringBoot registry plugin. Issue #1714
- Support Prometheus monitoring on the Sermant.
(1) Support providing metrics collection API interface. Issue #1445
(2) Support providing default metric Tag. Issue #1707
(3) Support collecting routing metrics in router plugins. Issue #1655
📈 Improvements
- Supports custom installation path when dynamically mounting plugins. Issue #1703
- Optimize the dynamic mounting script and add the dynamic mounting script to the Sermant Release package. Issue #1695
- Optimize xDS-based routing capability, achieving over 90% reduction in additional CPU resource consumption and call latency compared to Envoy. Issue #1680
- Optimize code and improve readability. Issue #1672
- Support for SpringBoot 3 in router plugin. Issue #1669
🐞 Fixes
- Fix the issue that the flow control plugin will throw an exception when calling downstream services with an uninitialized service name in microservices. Issue #1727
- Fix the issue that the tag transmission plugin fails to transmit tags in a cross-thread scenario in HikariDataSource. Issue #1718
- Fix Open-Source Software Vulnerabilities. Issue #1716
- Fix the issue the interception point of the mq grayscale plugin in RocketMQ client version 5.1 is invalid. Issue #1710
- Fix the issue that multiple dynamic mounts of Agent do not support different Agent paths. Issue #1687
- Fix the issue that the ClassLoader o Sermant loads the SPI implementation class of the parent class loader. Issue #1685
- Fix the issue that the tag transmission plugin may add the request header more than once. Issue #1674
- Fixed the issue that DefaultAdviser logs are output to the application console. Issue #1666
- Fix the issue that the tag transmission plugin will remove the current thread's traffic tag in Dubbo consumer side. Issue #1654
- Fix the issue that xds routing fails when okhttp2.2.0 is used. Issue #1647
- Fix the issue that HttpServletRequest cannot obtain InputStream in the router plugin. Issue #1646
🙇 Thank you
This release thanks the following contributors for their pull requests:
@chengyouling
@daizhenyu
@hanbingleixue
@hezhangjian
@lilai23
@provenceee
@rztao
@SunJiFengPlus
@xzhaoxz
@zwmagic
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