- Routing configuration supports remove request headers. @wangfakang
- Support WASM Reload. @zu1k
- Integrated SEATA TCC mode, support HTTP protocol. [@dk-lockdown]((https://github.com/dk-lockdown)
- Support boltv2 protocol tracelog. @nejisama
- New metrics stream filter for gRPC framework. @wenxuwan
- Support DNS related configuration in xDS cluster config. @antJack
- Decouple MOSN core and Istio related xDS code. @nejisama
- Upgrade proxy-wasm-go-host version. @zhenjunMa
- Refactor networkfilter configuration parse functions, support
AddOrUpdate
andGet
. @antJack
- Use
mod vendor
instead ofGO111MODULE=off
in Makefile. @scaat - Move some archived repo code into
mosn.io/pkg
. @nejisama - Optimize EDF loadbalancer: random pick host at the first select time. @alpha-baby
- Optimize EDF loadbalancer performance. @alpha-baby
- Optimize boltv2 protocol heartbeat's trigger and reply. @nejisama
- Optimize HTTP2 retry processing in stream mode, optimize HTTP2 unary request processing in stream mode. @XIEZHENGYAO
- Ignore CPU numbers limit when use environment variable to set GOMAXPROCS. @wangfakang
- Reduce memory alloc when create subset loadbalancer. [@dzdx]((https://github.com/dzdx)
- Support different listener can independent run same name gRPC Server. @nejisama
- Fix MOSN hangs up when host is empty when retry. @XIEZHENGYAO
- Fix connections in
msgconnpool
cannot handle connect event. @RayneHwang - Fix MOSN panic when tracer driver is not inited and someone calls tracer
Enable
. @nejisama - Fix boltv2 protocol constructs hijack response version wrong. @nejisama
- Fix HTTP2 handle connection termination event. @XIEZHENGYAO
- Fix typo. @jxd134 @yannsun
- Fix
ResponseFlag
outputs inRequestInfo
. @wangfakang - Fix bolt/boltv2 protocol not recalculated the empty data's length. @hui-cha
- Support jaeger to collect OpenTracing message @Roger
- Routing configuration new variable configuration mode, you can modify the routing results by modifying the variable @wangfakang
- Routing virtualhost matching supports port matching mode @jiebin
- Impl envoy filter: header_to_metadata @antJack
- Support graceful for uds @taoyuanyuan
- New subset load balancing logic to use the full list of machines for load balancing in scenarios where there is no metadata matching @nejisama
- MOSN's grpc framework supports graceful stop @alpha-baby
- Optimize health check update mode for Cluster configuration updates @alpha-baby
- Add OnConnectionEvent interface in api.Connection @CodingSinger
- Weighted roundrobin loadbalancer underwriting policy adjusted to normal roundrobin load balancer @alpha-baby
- Enhance interface value in mosn variable model @antJack
- Subset also follows the same underwriting strategy when determining the number of machines and whether they exist @antJack
- Dubbo stream filter supports automatic protocol recognition @Thiswang
- Fix roundrobin loadbalancer result exception in case of concurrency @alpha-baby
- Fix unix address resolution exception @taoyuanyuan
- Fix the exception that HTTP short connection cannot take effect @taoyuanyuan
- Fix a memory leak in the TLS over SM3 suite after disconnection @ZengKe
- HTTP2 support doretry when connection reset by peer or broken pipe @taoyuanyuan
- Fix the host information error from the connection pool @Sharember
- Fix data race bug when choose weighted cluster @alpha-baby
- Return invalid host if host is unhealthy in EdfLoadBalancer @alpha-baby
- Fix the problem that XProtocol routing configuration timeout is invalid @nejisama
- Add new networkfilter:grpc. A grpc server can be extended by networkfilter and implemented in the MOSN, reuse MOSN capabilities. @nejisama @zhenjunMa
- Add a new extended function for traversal calls in the StreamFilterChain. @wangfakang
- Add HTTP 403 status code mapping in the bolt protocol. @pxzero
- Add the ability to shutdown the upstream connections. @nejisama
- Optimize the networkfilter configuration parsed. @nejisama
- Support extend proxy config by protocol, optimize the proxy configuration parse timing. @nejisama
- Add tls conenction's certificate cache, reduce the memory usage. @nejisama
- Optimize Quick Start Sample. @nobodyiam
- Reuse context when router handler check available. @alpha-baby
- Modify the NewSubsetLoadBalancer's input parameter to interface instead of the determined structure. @alpha-baby
- Add an example of using so plugin to implement a protocol. @yichouchou
- Optimize the method of get environment variable
GOPATH
in theMAKEFILE
. @bincherry - Support darwin & aarch64 architecture. @nejisama
- Optimize the logger file flag. @taoyuanyuan
- Fix the bug of HTTP1 URL encoding. @morefreeze
- Fix the bug of HTTP1 URL case-sensitive process. @GLYASAI
- Fix the bug of memory leak in error handling when the tls cipher suite is SM4. @william-zk
- Add Wasm extension framework @antJack
- Add x-bolt sub-protocol to allow wasm-based codec for XProtocol @zonghaishang
- Support fallback through SO_ORIGINAL_DST when protocol auto-matching got failed @antJack
- Support Go Plugin mode for XProtocol @fdingiit
- Support for network extension @wangfakang
- Update to Istio xDS v3 API @champly Branch: istio-1.7.7
- Remove redundant file path clean when resolving StreamFilter configs @eliasyaoyc
- Allow setting a unified callback handler for the StreamFilterChain @antJack
- Support multi-stage execution and remove state lock for the FeatureGate @nejisama
- Add trace support for HTTP2 @OrezzerO
- Add StageManger to divide the bootstrap procedure of MOSN into four configurable stages @nejisama
- Unify the type definitions of XProtocol and move into mosn.io/api package @fdingiit
- Add GetTimeout method for XProtocol to replace the variable getter @nejisama
- Fix concurrent read and write for RequestInfo in Proxy @nejisama
- Fix the safety bug when forwarding the request URI @antJack
- Fix concurrent slice read and write for Router configurations when doing persistence @nejisama
- Upgrade sentinel version to v1.0.2 @ansiz
- Shrink the read buffer of tls when read timeout, reduce tls memory consumption @cch123
- Add comments and simplify the implementation of the xprotocol protocol connpool @cch123
- Update the mosn registry version @cadeeper @cch123
- Optimize header matching logic when routing, support general RPC routing matching implementation @nejisama
- Delete some of the original constants and add constants used to describe the mechanism of variables @nejisama
- Refactor flow control module, support custom callback extension, realize the ability to customize filter conditions and modify context information, etc @ansiz
- Fix metrics statistics error when request is abnormal @cch123
- Fix the bug that the URL is not escaping before forwarding HTTP request @antJack
- Fix the variable injection errors in HTTP protocol, Fix the bug that routing rewrite is not supported in the HTTP2 protocol @nejisama
- Support Domain-Specific Language route implementation @CodingSinger
- StreamFilter supports the dynamic link libraries written in Go @CodingSinger
- VirtualHost supports per_filter_config configuration in routing configuration @machine3
- Xprotocol supports dubbo thrift protocol @cadeeper
- Add UDS address prefix check before UDS resolution when TCP address resolution fails @wangfakang
- Optimized the retrial interval for connection pool acquisition @nejisama
- Add global switch for write loop mode @nejisama
- Optimize auto protocol matching and add test cases @taoyuanyuan
- Replace the headers with more efficient variables @CodingSinger
- Pool the writeBufferChan timer to reduce overhead @cch123
- Add MOSN failure detail info into TraceLog @nejisama
- New read done channel in HTTP protocol processing @alpha-baby
- Enhance logger rotator @nejisama
- Upgrade to golang 1.14.13 @nejisama
- Refactor router chain extension mode to the route handler extension mode, support different router handler configuration @nejisama
- Refactor MOSN extended configuration, support load config according to configuration order @nejisama
- Fix the bug no provider available occurred after dubbo2.7.3 @cadeeper
- Fix the bug that UDS connections were treated as TCP connections in netpoll mode @wangfakang
- Fix the problem that the HTTP Header cannot be obtained correctly when it is set to an empty value @ianwoolf
- Support old Mosn transfer configuration to new Mosn through UDS to solve the issue that Mosn in XDS mode cannot be smoothly upgraded @alpha-baby
- Automatic protocol identification supports the identification of XProtocol @cadeeper
- Support configuration of the keepalive parameters for XProtocol @cch123
- Support more detailed time tracking @nejisama
- Support metrics lazy registration to optimize metrics memory when number of service in cluster is too large @champly
- Add setter function for default XProtocol multiplex connection pool size @cch123
- Support netpoll @cch123
- Support broadcast @dengqian
- Support get tls configurations from LDS response @wZH-CN
- Add ACK response for SDS @wZH-CN
- Use the latest TLS memory optimization scheme @cch123
- Proxy log optimization to reduce memory escape @taoyuanyuan
- Increase the maximum number of connections limit @champly
- When AccessLog fails to obtain variables, use "-" instead @champly
- MaxProcs supports configuring automatic recognition based on CPU usage limits @champly
- Allow specifying network for cluster @champly
- Refactored the StreamFilter framework. The network filter can reuse the stream filter framework @antJack
- Fix HTTP Trace get URL error @wzshiming
- Fix the ConnectTimeout parameter of xDS cluster is not converted @dengqian
- Fix the upstreamHostGetter method gets the wrong hostname @dengqian
- Fix tcp proxy close the connection abnormally @dengqian
- Fix the lack of default configuration of mixer filter, resulting in a nil pointer reference @glyasai
- Fix HTTP2 direct response not setting
Content-length
correctly @wangfakang - Fix the nil pointer reference in getAPISourceEndpoint @dylandee
- Fix memory increase caused by too many Timer applications when Write is piled up @champly
- Fix the problem of missing stats when Dubbo Filter receives an illegal response @champly
- Add MOSN configure extension @nejisama
- Add MOSN configuration tool mosn/configure, improve user configure experience @cch123
- Avoid copying http response body @wangfakang
- Upgrade
github.com/TarsCloud/TarsGo
package, to v1.1.4 @champly - Add test for various connpool @cch123
- Use sync.Pool to reduce memory cost by TLS connection outBuf @cch123
- Reduce xprotocol lock area @cch123
- Remove useless parameter of
network.NewClientConnection
method, remove ALPN detection inDispatch
method of structstreamConn
@nejisama - Add
TerminateStream
API toStreamReceiverFilterHandler
, with which stream can be reset during handling @nejisama - Add client TLS fallback @nejisama
- Fix TLS HashValue in host @nejisama
- Fix disable_log admin api typo @nejisama
- Fix
go mod tidy
failing @champly - Fix
ResourceExhausted: grpc: received message larger than max
when MOSN receive > 4M XDS messages @champly - Fix fault tolerance unit-test @wangfakang
- Fix MOSN reconfig fails when
MOSNConfig.servers[].listeners[].bind_port
isfalse
@alpha-baby - Set timeout for local write buffer send, avoid goroutine leak @cch123
- Fix deadloop when TLS timeout @nejisama
- Fix data isn't modified by
SetData
method indubbo.Frame
struct @lxd5866
- Add header max size configuration option. @wangfakang
- Add protocol impement choice whether need workerpool mode. And support workerpool mode concurrent configuration. @cch123
- Add UDS feature for listener. @CodingSinger
- Add dubbo protocol use xDS httproute config filter. @champly
- Optimiza http situation buffer malloc. @wangfakang
- Optimize RWMutex for SDS StreamClient. @nejisama
- Update hessian2 v1.7.0 lib. @cch123
- Modify NewStream interface, use callback replace direct. @cch123
- Refactor XProtocol connect pool, support pingpong mode, mutiplex mode and bind mode. @cch123
- Optimize XProtocol mutiplex mode, support Host max connect configuration. @cch123
- Optimize route regex config avoid dump unuse config. @wangfakang
- Fix README ant logo invalid address. @wangfakang
- Fix header override content when set a longer header to request header. @cch123
- Fix Dubbo protocol analysis attachment maybe panic. @champly
- Logger Roller supports the custom Roller. @wenxuwan
- Add a SendHijackReplyWithBody API for streamFilter. @wenxuwan
- The configuration adds option of turning off the smooth upgrade. If the smooth upgrade is turned off, different instances of MOSN can be started on the same machine. @cch123
- Optimize the MOSN integration test framework and add more unit test cases. @nejisama @wangfakang @taoyuanyuan
- DirectResponse route configuration supports the update mode of XDS. @wangfakang
- Add a new field of TLSContext for clusterManager configuration. @nejisama
- Fix the bug that UDP connection timeout during the smooth upgrade will cause an endless loop. @dengqian
- Fix the bug that call DirectResponse in the SendFilter will cause an endless loop. @taoyuanyuan
- Fix concurrency conflicts in HTTP2 stream counting. @wenxuwan
- Fix the bug that UDP connection read timeout cause data loss. @dengqian
- Fix the bug that the response StatusCode cannot be recorded correctly due to the loss of the protocol flag when doing a retry. @dengqian
- Fix the protocol boltv2 decode error. @nejisama
- Fix the bug that listener cannot be restarted automatically when listener panic. @alpha-baby
- Fix the bug that NoCache flag is invalid in variable. @wangfakang
- Fix concurrency conflicts in SDS reconnect. @nejisama
- Routing Path Rewrite supports configuring the content of Rewrite by regular expression @liangyuanpeng
- Configure new fields: Extended configuration fields, you can start the configuration by extending the configuration fields; Dubbo service discovery configuration via extended configuration fields @cch123
- New DSL feature for easy control of request processing behavior @wangfakang
- Extended implementation of StreamFilter with new traffic mirroring function @champly
- Listener configuration adds UDP support @dengqian
- Configuration format support YAML format parsing @GLYASAI
- Routing support for HTTP redirect configuration @knight42
- Istio's stats filter for personalizing metrics based on matching criteria @wzshiming
- Metrics configuration support to configure the output percentage of the Histogram @champly
- StreamFilter New state for aborting requests directly and not responding to clients @taoyuanyuan
- XProtocol hijack response support carry body @champly
- Apache SkyWalking upgrade to version 0.5.0 arugal
- Upstream Connection TLS State Determination Modification to support the determination of whether a connection needs to be re-established via a TLS-configured Hash @nejisama
- Optimize DNS cache logic to prevent DNS flooding issues that can be caused when DNS fails @wangfakang
- Fix the bug that XProtocol protocols determine protocol errors in scenarios with multiple protocols when TLS encryption is enabled @nejisama
- Fix bug in AccessLog where variables of prefix match type don't work @dengqian
- Fix bug where Listener configuration parsing is not handled correctly @nejisama
- Fix Router/Cluster bug that fails to save when the Name field contains a path separator in the file persistence configuration type @nejisama
- Support for Istio 1.5.X @wangfakang @trainyao @champly
- go-control-plane upgrade to version 0.9.4
- xDS support for ACK, new Metrics for xDS.
- Istio sourceLabels filtering support
- probe interface with pilot-agent support
- support for more startup parameters, adapting to Istio agent startup scenarios
- gzip, strict-dns, original-dst support for xDS updates.
- Remove Xproxy Logic
- Maglev Load Balancing Algorithm Support @trainyao
- New connection pool implementation for supporting message class requests @cch123
- New Metrics for TLS Connection Switching @nejisama
- Metrics for adding HTTP StatusCode @dengqian
- Add Metrics Admin API output @dengqian
- New interface to query the number of current requests for proxy @zonghaishang
- Support for HostRewrite Header @liangyuanpeng
- Upgrade tars dependencies to fix compilation issues with higher versions of Golang @wangfakang
- xDS Configuration Analysis Upgrade Adaptation Istio 1.5.x @wangfakang
- Optimize log output from proxy @wenxuwan
- DNS Cache default time changed to 15s @wangfakang
- HTTP Parameter Route Matching Optimization @wangfakang
- Upgrade the fasthttp library @wangfakang
- Optimizing Dubbo Request Forwarding Encoding @zonghaishang
- Request max body configurable for HTTP support @wangfakang
- Fix Dubbo Decode bug that fails to parse attachment @champly
- Fix bug where streams could be created before HTTP2 connection is established @dunjut
- Fix HTTP2 Handling Trailer null pointer exception @taoyuanyuan
- Fix bug where HTTP request headers are not standardized by default @nejisama
- Fix panic exceptions caused by disconnected connections during HTTP request processing @wangfakang
- Fix read/write lock copy issue with dubbo registry @champly
- Support Strict DNS Cluster @dengqian
- Stream Filter @wangfakang that supports GZip processing
- Dubbo service registry complete Beta version @cch123
- Stream Filter @NeGnail that supports standalone fault isolation
- Integrated Sentinel flow limiting capability @ansiz
- Optimize implementation of EDF LB and re-implement WRR LB using EDF @CodingSinger
- Configure to get ADMIN API optimizations, add features and environment variable related ADMIN API @nejisama
- Update that triggers a health check when updating Host changed from asynchronous mode to synchronous mode @nejisama
- Updated the Dubbo library to optimize the performance of Dubbo Decode @zonghaishang
- Optimize Metrics output in Prometheus, using regularity to filter out illegal Key @nejisama
- Optimize MOSN's return status code @wangfakang
- Fix concurrent conflict issues with health check registration callback functions @nejisama
- Fix the error where the configuration persistence function did not handle the null configuration correctly @nejisama
- Fix the problem that DUMP as a file fails when ClusterName/RouterName is too long @nejisama
- Fix the problem of not getting the XProtocol protocol correctly when getting it @wangfakang
- Fix the problem with fetching the wrong context when creating StreamFilter @wangfakang
- Support Skywalking @arugal
- Stream Filter adds a new phase of Receive Filter execution, which allows you to execute Receive Filter @wangfakang again after MOSN has finished routing Host
- HTTP2 supports streaming @peacocktrain @taoyuanyuan
- FeatureGate adds interface KnownFeatures to output current FeatureGate status @nejisama
- Provide a protocol-transparent way to obtain requested resources (PATH, URI, ARG), with the definition of resources defined by each protocol itself @wangfakang
- New load balancing algorithm
- Support for ActiveRequest LB @CodingSinger
- Support WRR LB @nejisama
- XProtocol protocol engine optimization @neverhook
- Modifies the XProtocol heartbeat response interface to support the protocol's heartbeat response to return more information
- Optimize connpool for heartbeat triggering, only heartbeats will be triggered if the protocol for heartbeats is implemented
- Dubbo library dependency version updated from v1.5.0-rc1 to v1.5.0 @cch123
- API Adjustments, HostInfo added health check related interface @wangfakang
- Optimize circuit breaking function @wangfakang
- Responsible for balanced selection logic simplification, Hosts of the same address multiplex the same health check mark @nejisama @cch123
- Optimize HTTP building logic and improve HTTP building performance @wangfakang
- Log rotation logic triggered from writing logs, adjusted to timed trigger @nejisama
- Typo fixes @xujianhai666 @candyleer
- Fix the xDS parsing fault injection configuration error @champly
- Fix the request hold issue caused by the MOSN HTTP HEAD method @wangfakang
- Fix a problem with missing StatusCode mappings in the XProtocol engine @neverhook
- Fix the bug for DirectReponse triggering retries @taoyuanyuan
- Support the extension of Listener Filter, the transparent hijacking capability is implemented based on Listener Filter @wangfakang
- New Set method for variable mechanism @pxzero
- Added automatic retry and exception handling when SDS Client fails @taoyuanyuan
- Improve TraceLog and support injecting context @nejisama
- Refactored XProtocol Engine and reimplemented SOFARPC protocol @neverhook
- Removed SOFARPC Healthcheck filter and changed to xprotocol's built-in heartbeat implementation
- Removed the original protocol conversion (protocol conv) support of the SOFARPC protocol, and added a new protocol conversion extension implementation capability based on stream filter
- xprotocol adds idle free and keepalive
- Protocol analysis and optimization
- Modify the Encode method parameters of HTTP2 protocol @taoyuanyuan
- Streamlined LDS interface parameters @nejisama
- Modified the routing configuration model, abandoned
connection_manager
@nejisama
- Optimize Upstream dynamic domain name resolution mechanism @wangfakang
- Optimized TLS encapsulation, added error log, and modified timeout period in compatibility mode @nejisama
- Optimize timeout setting, use variable mechanism to set timeout @neverhook
- Dubbo parsing library dependency upgraded to 1.5.0 @cch123
- Reference path migration script adds OS adaptation @taomaree
- Fix the problem of losing query string during HTTP2 protocol forwarding @champly
- Support multi-process plugin mode
- Startup parameters support service-meta parameters
- Supports abstract uds mode to mount sds socket
- Separate some mosn base library code into mosn.io/pkg package (github.com/mosn/pkg)
- Separate mosn interface definition to mosn.io/api package (github.com/mosn/api)
- The log basic module is separated into mosn.io/pkg, and the log of mosn is optimized
- Optimize FeatureGate
- Added processing when failed to get SDS configuration
- When CDS deletes a cluster dynamically, it will stop the health check corresponding to the cluster
- The callback function when sds triggers certificate update adds certificate configuration as a parameter
- Fixed a memory leak issue when SOFARPC Oneway request failed
- Fixed the issue of 502 error when receiving non-standard HTTP response
- Fixed possible conflicts during DUMP configuration
- Fixed the error of Request and Response Size of TraceLog statistics
- Fixed write timeout failure due to concurrent write connections
- Fixed serialize bug
- Fixed the problem that the memory reuse buffer is too large when the connection is read, causing the memory consumption to be too high
- Optimize Dubbo related implementation in XProtocol
- Support variable mechanism, accesslog is modified to use variable mechanism to obtain information
- Refactored package reference path for
sofastack.io/sofa-mosn
tomosn.io/mosn
- Fixed the bug that buf is not empty when Write is connected
- Fixed HTTP2 stream counting bug
- Fix memory leak caused by proxy coroutine panic
- Fix memory leak caused by read and write coroutine stuck in specific scenarios
- Fix the bug of xDS concurrent processing
make image
output image modification, modified to a MOSN example- Fixed the field of getting CallerAPP in TraceLog of SOFA RPC
- Metrics added: count of requests that MOSN failed to process
- Improved the write performance of Metrics shared memory with MMAP
- Reduced the default coroutine pool size and optimize memory usage
- Optimized log output
- Fixed a bug where if there is a log file when MOSN starts, it is not rotated normally.
- Added interface: Support connection returns current availability status
- Manage API to add default help page
- Reduced connections and request default memory allocation
- Optimized machine list information storage in ConfigStore
- Metrics optimization
- SOFARPC heartbeat requests are no longer recorded in Metrics
- Optimize shared memory mode for Metrics use
- Optimized profile reading, ignoring empty files and non-json files
- Optimized the xDS client
- The xDS client is modified to start completely asynchronously without blocking the startup process
- Optimize xDS client disconnect retry logic
- Fixed bug where hot upgrade connection migration would fail in TLS Inspector mode
- Fixed a bug where the log rotation configuration could not be updated correctly
- Fixed a bug where the log did not output log time correctly at the Fatal level
- Fixed a bug in which a connected read loop would cause an infinite loop in a particular scenario
- Fixed a bug in HTTP connection count statistics errors
- Fixed a bug that prevented the channel from being properly closed when the connection was closed
- Fixed bug handling of buffers when handling response to BoltV2 protocol
- Fixed concurrency violations when reading and writing persistent configurations
- Fixed concurrency conflicts that receive responses and trigger timeouts
- Added FeatureGates support
- Added Metrics: request processing time in MOSN
- Support for restarting listening sockets that have been closed at runtime
- Upgraded to Go 1.12.7
- Modified the xDS client startup order, now it will start before the MOSN service
- Fixed a bug that did not properly trigger a request reset when an RPC request was written.
- Fixed memory leak bugs when no upstream response was received
- Fixed a bug where some of the request parameters would be lost when the HTTP request was retried
- Fixed a bug that could cause panic when DNS resolution failed
- Fixed a bug that didn't time out when the connection was established in TLS Inspector mode
- prometheus output format no longer supports gzip
- Configured the new idle connection timeout
connection_idle_timeout
field, the default value is 90s. MOSN will actively close the connection when the idle connection timeout is triggered - Error log adds Alert interface and outputs error log with error code format
- Support SDS to obtain TLS certificate
- Refactored upstream module
- Refactored the internal Cluster implementation structure
- Update Host implementation changed from delta update to full update to speed up update
- Refactored Snapshot implementation
- Optimized some memory usage
- Modified the parameters of some interface functions
- Refactored the implementation of Tracing and supports more extensions
- Optimized connected Metrics statistics
- Optimized the output format of Metrics in prometheus mode
- Optimized IO write coroutines to reduce memory footprint
- Fixed possible concurrency violations when creating Loggers concurrently
- Fixed a bug that caused a panic due to a response and a trigger timeout
- Fixed concurrent bugs when HTTP processing connection reset
- Fixed bug where the log file could not be rotated correctly after it was deleted
- Fixed a concurrent bug when HTTP2 handled goaway
- Configure a hybrid mode that supports both xDS mode and static configuration
- Support management API extensible registration new API
- Supports dynamic update of StreamFilter configuration, which can take effect on all connections
- Refactored package import path
- Changed from
github.com/alipay/sofa-mosn
tosofastack.io/sofa-mosn
- Changed from
- Optimized the output structure of the error log
- Improved implementation of configuration file json parsing
- Optimized memory reuse for large buffer scenarios
- Optimized the use of shared memory for Metrics when first booting
- Fixed bug where ProxyLogger's log level could not be dynamically updated
- Fixed connection read and write loops that could cause panic bugs
- Fixed a bug that didn't work correctly when deleting multiple clusters at the same time
- Fixed a bug where the number of active requests in Metrics was incorrectly counted in concurrency
- Fixed a bug where the HTTP connection triggered a panic when resetting and receiving a response concurrency
- Support for new profile models
- Cluster configuration support is set to a separate directory
- Routing configuration support is set to a separate directory
- Support for multiple certificate configurations
- Compatible with old profile models
- Add new Metrics to show basic information
- version number
- version of Go used
- MOSN runtime state
- the address to listen to
- Support for Metrics filtering
- Support for registering callback functions when MOSN changes state
- Support Request oneway
- Support batch modification of error log level, support batch shutdown of Access log
- Refactored the Proxy threading model
- Each request is processed using a separate Goroutine
- Use the state machine instead of the callback function to request the processing flow to be modified to serial
- Refactored the connection pool selection model, try to avoid selecting the backend to the exception
- Optimized Metrics output performance
- Optimized error log output
- Optimized SOFA RPC protocol parsing performance
- Extended the implementation of the context, reduce the number of nesting layers and optimize performance when compatible with standard contexts
- Fixed a bug in the parsing part of the json configuration
- Fixed a bug where HTTP would trigger Goroutine leaks in certain scenarios
- Fixed bug in IO write concurrency scenarios that could cause panic
- Fixed a bug where HOST information was not deduplicated
- Metrics added prometheus mode output
- Metrics supports exclusion configuration
- Support dynamic opening and closing of logs, support dynamic adjustment of error log level
- HTTP protocol support 100 continue
- Support Tars protocol
- Connections that support the SOFARPC protocol send heartbeats when idle
- Support for creating connections based on sub-protocols of SOFARPC
- Support for new smooth upgrade methods
- Active health check supports scalable implementation, default is tcp dial
- Memory Multiplexing Module supports scalability
- Load balancing implementation support for scalability
- Profile resolution support is extensible, default is json file parsing
- Refactored the stream package structure, modified some API interfaces
- Log module modified to asynchronous write log
- Refactored xDS configuration conversion module
- Refactored implementation of the routing chain
- Move some common function functions to the utils package directory
- Route matching optimization, supporting KV matching in specific scenarios
- The request status code recorded in the request message is uniformly converted to the HTTP status code as a standard
- Optimized Tracer implementation to improve the performance of Tracer records
- Optimized performance for profile persistence
- Optimized performance for dynamically updating backend machine lists
- Fixed deadlock bug in workpool
- Fixed bug with HTTP2 error handling trailer
- Fixed concurrency issues with buffer reuse
- Support gRPC via HTTP2
- Support HTTP/HTTP2 protocol automatic identification
- Tracer supporting SOFA RPC protocol
- Add more routing features
- Support for retry policy configuration
- Policy configuration that supports direct response
- Support for adding and deleting custom fields in HTTP header
- Support for rewriting the HTTP protocol Host and URI
- Support for scalable routing implementation
- Support QPS current limiting and rate based current limiting
- Support fault injection
- Support for Mixer
- Support for obtaining MOSN runtime configuration
- Refactored the protocol framework to support the extension of the SOFA RPC sub-protocol
- Optimized support for the HTTP protocol, performance improvement of about 30%
- Optimized support for HTTP2 protocol, performance improvement of about 100%
- Optimized implementation of TCP Proxy
- Fixed a bug in smooth upgrades
- Fixed bug with HTTP/HTTP2 protocol processing
- Fixed some bugs with potential memory leaks
- Support for smooth migration of Metrics
- Smooth migration with TLS support
- Optimized CPU and memory usage for SOFARPC protocol resolution
- Support stand-alone TLS switch
- Support Dubbo protocol through XProtocol protocol
- Support for route matching rules with weights
- Added xDS client implementation
- Support for LDS
- Support CDS
- Support for four layers of Filter to expand
- Support TLS configuration scalable
- Support for IO processing based on native epoll
- Enhanced scalability for protocol parsing
- Added XProtocol, which can be implemented by XProtocol extension protocol
- Implement memory reuse framework to reduce memory allocation overhead
- Implemented a programmable, scalable network extension framework MOSN
- Achieved the protocol framework
- Support SOFA RPC protocol
- Support HTTP protocol
- Support HTTP2 protocol
- Support for scalable mode based on Stream Filters
- Support back-end cluster management and load balancing
- Support simple route matching rules
- Support smooth restart and smooth upgrade