Mosn Versions Save

The Cloud-Native Network Proxy Platform

v1.6.0

9 months ago

v1.6.0

New Features

  • PeakEWMA supports configuring activeRequestBias (#2301) @jizhuozhi
  • gRPC filter supports UDS (#2309) @wenxuwan
  • Support init inherit old mosn config function (#2241) @dengqian
  • Allow custom proxy defaultRouteHandlerName (#2308) @fibbery

Changes

  • Example http-sample README adding configuration file link (#2226) @mimani68
  • Update wazero to 1.2.1 (#2254) @codefromthecrypt
  • Update dependencies (#2230) (#2233) (#2247) (#2302) (#2326) (#2332) (#2333) @dependabot

Refactoring

  • Refactor debug log content, move data into tracef (#2316) @antJack

Optimization

  • Optimize the default EWMA of newly added hosts (#2301) @jizhuozhi
  • PeakEwma LB no longer counts error responses (#2323) @jizhuozhi

Bug fixes

  • Fix edfScheduler incorrectly fixing weight to 1 in dynamic load algorithm (#2306) @jizhuozhi
  • Fix unstable LB behavior caused by changing the order of cluster hosts (#2258) @dengqian
  • Fix panic caused by missing EWMA() method in NilMetrics (#2310) @antJack (#2312) @jizhuozhi
  • Fix panic caused by empty cluster hosts when xDS is updated (#2314) @dengqian
  • Fix reboot failure due to undeleted UDS socket file when MOSN exits abnormally (#2318) @wenxuwan
  • Fix xDS status code not converted error. Fix unhandled istio inbound IPv6 address error (#2144) @kkrrsq
  • Fix new connection error when Listener does not close directly during graceful exit of non-hot upgrade (#2234) @hui-cha
  • Fix goimports lint error (#2313) @spacewander

v1.5.0

1 year ago

v1.5.0

New Features

  • EdfLoadBalancer supports slow start mode (#2178) @jizhuozhi
  • Support cluster exclusive connectionPool (#2281) @yejialiango
  • LeastActiveRequest and LeastActiveConnection load balancers support setting active_request_bias (#2286) @jizhuozhi
  • Support configuration of metric sampler (#2261) @jizhuozhi
  • Add PeakEWMA load balancer (#2253) @jizhuozhi

Changes

  • README update partners & users (#2245) @doujiang24
  • Update dependencies (#2242) (#2248) (#2249) @dependabot
  • Upgrade the floor Go version supported by MOSN to 1.18 (#2288) @muyuan0

Optimization

  • Use logical clock to make edf scheduler more stable (#2229) @jizhuozhi
  • Change log level on missing proxy_on_delete from ERROR to WARN in proxywasm (#2246) @codefromthecrypt
  • Receiver names are different for connection object (#2262) @diannaowa
  • Disable over strict linters in workflow (#2259) @jizhuozhi
  • Disable workflow when PR in draft mode (#2269) @diannaowa
  • Use pointer to avoid overhead of duffcopy and duffzero (#2272) @jizhuozhi
  • Remove unnecessary imports (#2292) @spacewander
  • CI add goimports check (#2297) @spacewander

Bug fixes

  • Fix panic caused by different hosts using the same rander during health check (#2240) @dengqian
  • Fix connpool binding conn id (#2263) @antJack
  • Fix saved client stream protocol information to DownStreamProtocol in the context (#2270) @nejisama
  • Fix not using the correct Go version for testing (#2288) @muyuan0
  • Fix incorrectly assume the variable not found if the real value is '-' (#2174) @3062
  • Fix nil interface panic caused by cluster certificate configuration error (#2291) @3062
  • Fix parsing error caused by using interface type in the leastActiveRequestLoadBalancer configuration (#2284) @jizhuozhi
  • Fix configuration lbConfig not effective (#2299) @3062
  • Fix activeRequestBias missing default value and some naming case error (#2298) @jizhuozhi

v1.4.0

1 year ago

v1.4.0

New Features

  • Support record HTTP health check log (#2096) @dengqian
  • Add least_connection load balancer (#2184) @dengqian
  • Add API to force reconnect and send ADS request (#2183) @dengqian
  • Support pprof debug server endpoint configure (#2202) @dengqian
  • Integrate with mosn.io/envoy-go-extension, consult document (#2200) @antJack (#2222) @3062
  • Add API to support override registration (mosn/pkg#72) @antJack
  • Add a field in variables to record mosn processing time (#2235) @z2z23n0
  • Support setting cluster idle_timeout to zero to indicate never timeout (#2197) @antJack

Refactoring

  • Move pprof import to pkg/mosn (#2216) @3062

Optimization

  • Reduce logging for proxywasm benchmarks (#2189) @Crypt Keeper

Bug fixes

  • Enlarge UDP DNS resolve buffer (#2201) @dengqian
  • Fix the debug server not inherited during smooth upgrade (#2204) @dengqian
  • Fix where new mosn would delete reconfig.sock when smooth upgrade failed (#2205) @dengqian
  • Fix HTTP health check URL with query string will be unescaped (#2207) @dengqian
  • Fix lb ReqRoundRobin fails to choose host when index exceeds hosts length (#2209) @dengqian
  • Fix the problem that after RDS creates a route, the established connection cannot find the route (#2199) @dengqian (#2210) @3062
  • Fix old cache values are read after the execution of Variable.Set (mosn/pkg#73) @antJack
  • Fix panic caused by DefaultRoller not setting time (mosn/pkg#74) @dengqian
  • Advance the timing of metrics initialization to make it work for static config (#2221) @dengqian
  • Fix a concurrency problem caused by multiple health checkers sharing rander (#2228) @dengqian
  • Set HTTP/1.1 as the HTTP protocol to be sent upstream (#2225) @dengqian
  • Completing the missing statistics (#2215) @3062

v1.3.0

1 year ago

v1.3.0

Refactoring

  • Moves to consolidated Proxy-Wasm implementation and enables wazero by default (#2172) @codefromthecrypt

Optimization

  • Optimized parsing xDS transparent proxy configuration: add pass-through configuration for unrecognized addresses (#2171) @3062
  • Optimized the golangci execution flow in CI testing (#2166) (#2167) @taoyuanyuan
  • Add integrated benchmarks for Proxy-Wasm (#2164) (#2169) @codefromthecrypt
  • Upgrade the minimum version of Go supported by MOSN to 1.17 (#2160) @codefromthecrypt
  • Fix some problems in the README.md (#2161) @liaolinrong
  • Add benchmark (#2173) @3062
  • subsetLoadBalancer reuse subset entry to optimze alloc/inuse memory (#2119) @dzdx (#2188) @liwu

Bug fixes

  • Fix a panic problem with connpool_binging when connecting to upstream timeout (#2180) @EraserTime
  • Fix the problem that retryTime is 0 when cluster LB algorithm is LB_ORIGINAL_DST (#2170) @3062
  • Fix smooth upgrade failed (#2129) @Bryce-Huang (#2193) @3062
  • Modify the way xDS Listener logs are parsed (#2182) @3062
  • Fix example print error (#2190) @liaolinrong

v1.2.0

1 year ago

v1.2.0

New Features

  • Support for configuring HTTP retry status codes (#2097) @dengqian
  • Add dev container build configuration and instructions (#2108) @keqingyuan
  • Support connpool_binding GoAway (#2115) @EraserTime
  • Support for configuring the listener defaultReadBufferSize (#2133) @3062
  • Support Proxy-Wasm v2 ABI (#2089) @lawrshen
  • Support transparent proxy based on iptables tproxy (#2142) @3062

Refactoring

  • Remove MOSN's extended context framework and use the variable mechanism instead. Migrate the variable mechanism and memory reuse framework to mosn.io/pkg (#2055) @nejisama
  • Migrating the metrics interface to mosn.io/api (#2124) @YIDWang

Bug fixes

  • Fix some missing log parameters (#2141) @lawrshen
  • Determine if the obtained cookie exists by error (#2136) @greedying

v1.1.0

1 year ago

v1.1.0

New Features

  • TraceLog support for zipkin (#2014) @fibbery
  • Support cloud edge interconnection (#1640) @CodingSinger, details can be found in blog
  • Trace supports plugin extension in the form of Driver, using SkyWalking as trace implementation (#2047) @YIDWang
  • Support Parsing Extended xDS Stream Filter (#2095) @Bryce-huang
  • stream filter: ipaccess extension implements xDS parsing logic (#2095) @Bryce-huang
  • Add package tar command to MakeFile (#1968) @doujiang24

Changes

  • Adjust connection read timeout from buffer.ConnReadTimeout to types.DefaultConnReadTimeout (#2051) @fibbery
  • Fix typo in documentation (#2056) (#2057)@threestoneliu (#2070) @chenzhiguo
  • Update the configuration file of license-checker.yml (#2071) @kezhenxu94
  • New interface for traversing SubsetLB (#2059) (#2061) @nejisama
  • Add SetConfig interface for tls.Conn (#2088) @antJack
  • Add Example of xds-server as MOSN control plane (#2075) @Bryce-huang
  • Add error log when HTTP request parsing fails (#2085) @taoyuanyuan (#2066) @fibbery
  • Load balancing skips the last selected host on retry (#2077) @dengqian
  • Access logs support printing traceID, connectionID and UpstreamConnectionID (#2107) @Bryce-huang

Refactoring

  • Refactor how HostSet is used (#2036) @dzdx
  • Change the connection write data to only support synchronous write mode (#2087) @taoyuanyuan

Optimization

  • Optimize the algorithm for creating subset load balancing to reduce memory usage (#2010) @dzdx
  • Support scalable cluster update method operation (#2048) @nejisama
  • Optimize multi-certificate matching logic: match servername first, and match ALPN only after all servernames are unmatched (#2053) @MengJiapeng

Bug fixes

  • Fix the latest image version in the wasm example to be a fixed version (#2033) @antJack
  • Adjust the order of log closing execution when MOSN exits, and fix the problem that some exit logs cannot be output correctly (#2034) @doujiang24
  • Fix the problem that OriginalDst was not properly processed after matching successfully (#2058) @threestoneliu
  • Fix the problem that the protocol conversion scene does not handle exceptions correctly, and add the protocol conversion implementation specification (#2062) @YIDWang
  • Fix stream proxy not properly handling exception events such as connection write timeout/disconnect (#2080) @dengqian
  • Fix the panic problem that may be caused by the wrong timing of connection event listening (#2082) @dengqian
  • Avoid closing event before event listener connection (#2098) @dengqian
  • HTTP1/HTTP2 protocol save protocol information in context when processing (#2035) @yidwang
  • Fix possible concurrency issues when pushing xDS (#2101) @yzj0911
  • If the upstream address variable is not found, it no longer returns null and returns ValidNotFound (#2049) @songzhibin97
  • Fix health check does not support xDS (#2084) @Bryce-huang
  • Fix the method of judging the upstream address (#2093) @dengqian

v1.0.1

2 years ago

v1.0.1

Changes

  • Protocol: Bolt v1 v2 maps status code api.NoHealthUpstreamCode -> ResponseStatusNoProcessor (#2018) @antJack.

Bug fixes

  • Should allow AppendGracefulStopStage and AppendBeforeStopStage when MOSN is starting or running (#2029) @rayowang.
  • Fix wrong variable in error message when workerPool Panic (#2019) @antJack.

v1.0.0

2 years ago

v1.0.0

Changes

  • Protocol: bolt support GoAway (#1993) @z2z23n0
  • Protocol: HTTP health check support more configurations (#1999) @dengqian
  • Add new Admin API for query MOSN version (#2002) @songzhibin97
  • Exit code change to 2 when mosn start failed in upgrade mode (#2006) @doujiang24
  • Add a new function to check whether MOSN is in active upgrading state (#2003) @doujiang24
  • Add new command: stop (#1990) @Jun10ng

Bug fixes

  • Fix the problem that the domain name update result is wrong when there are multiple DNS domain names in StrictDnsCluster (#1994) @Jun10ng
  • Fix upgrade state check error when metrics is configured to shared memory (#2011) @nejisama

v0.27.0

2 years ago

v0.27.0

New Features

  • Support istio v1.10.6 by default. Support switch istio version by make command, current MOSN support v1.10.6 and v1.5.2. (#1910) @nejisama
  • Support use variables to configure route headers add or remove. (#1946) @MengJiapeng
  • Support health check's initialize interval can be configured (#1942) @rickey17
  • Add HTTP Dial for upstream cluster health check (#1942) @rickey17
  • Add extension callback function for tls context created. @antJack
  • Support extension for Listener and Connection created. @antJack
  • Support graceful shutdown for xprotocol framework. (#1922) @doujiang24
  • Support graceful shutdown for MOSN (#1922) @doujiang24
  • Integrated Holmes for automatically pprof (#1978) @doujiang24
  • Add Fetch and RequireCert for SDS client @nejisama
  • Add a new tls verify extension: sni verify (#1910) @nejisama

Changes

  • Upgrade dubbo-go-hessian to v1.10.2 (#1896) @wongoo
  • Add new configuration for upstream cluster: IdleTimeout (#1914) @hui-cha
  • Transfer some upstream cluster configuration constants to config/v2 package (#1970) @jizhuozhi
  • Add variable to store request raw data in xprotocol protocols implementations @antJack
  • Add new configuration for original-dst filter: localhost listener can be used in listener match fallback (#1972) @nejisama
  • Add new configuration for original-dst cluster: use localhost address as the target address @nejisama
  • Do not use vendor mode any more, use go mod instead. (#1997) @nejisama

Refactoring

  • Refactor MOSN state management and stage management. (#1859) @doujiang24
  • Shield signal processing extension related interfaces, do not expose semaphore to developers, and modify it to be scalable for behavior after receiving a signal. (#1859) @doujiang24
  • Use separate IoBuffer for log (#1936) @nejisama
  • Refactor sds provider, support a sds config to generate different tls config (#1958) @nejisama

Optimization

  • Optimize the irregular module naming in examples. (#1913) @scaat
  • Delete some useless fields in connection struct (#1811) @doujiang24
  • Optimize the heap management in edf loadbalancer (#1920) @jizhuozhi
  • Optimize the error message when get variables returns error (#1952) @antJack
  • Optimize the memory reuse in proxy: a finished request received reset will take no effect on memory reuse now @wangfakang
  • Optimize the memory usage in maglev loadbalancer (#1964) @baerwang
  • Support error log to iobuffer error, support exception handling when log rotation error occurs (#1996) @nejisama

Bug fixes

  • Fix: when stream id is too large in http2, the connection is not closed. (#1900) @jayantxie
  • Fix: route error log output is abnormal (#1915) @scaat
  • Fix: xprotocol go plugin example build errors (#1899) @nearmeng
  • Fix: original-dst filter get ip errors being ignored (#1931) @alpha-baby
  • Fix: HTTP may cause hangs in high concurrency (#1949) @alpha-baby
  • Fix: istio config parse extension spell error (#1927) LemmyHuang
  • Fix: proxy may cause nil panic when get variables (#1953) @doujiang24
  • Fix: HTTP cannot get reason for connection reset (#1772) @wangfakang
  • Fix: cannot restart a stopped listener (#1883) @lemonlinger
  • Fix: strict-dns debug log output is abnormal (#1963) @wangfakang
  • Fix: divide 0 error in edf loadbalancer (#1970) @jizhuozhi
  • Fix: listener may cause nil panic when set deadline (#1981) @antJack
  • Fix: some typo errors @Jun10ng @fibbery
  • Fix: too many goroutines makes go test race failed (#1898) @alpha-baby

v0.26.0

2 years ago

v0.26.0

Incompatible Change

For implementing new protocols more nature, XProtocol is no longer as a protocol and no subprotocol any more. XProtocol is a framework to implement protocol easier now. So, the old existing code for implementing new protocols need some changes, please see this doc(In Chinese) for changing the old existing code suit for the new release.

New Features

  • Added the ip_access new filter to manage access control based on IP (#1797). @Bryce-huang
  • Support admin api extends auth functions (#1834). @nejisama
  • The transcode filter module support dynamic phase (#1815). @YIDWang
  • Added the SetConnectionState method for tls connection in pkg/mtls/crypto/tls.Conn (#1804). @antJack
  • Added the after-start and after-stop two new stages, and allow to register handler during these stages. @doujiang24
  • Support specify the unix domain socket directory by adding the new "uds_dir" configuration (#1829). @dengqian
  • Support choose dynamic protocol convert dynamically and allow register transcoder through go-plugin. @Tanc010
  • Added more HTTP protocol method to make protocol matcher work properly (#1870). @XIEZHENGYAO
  • Support to set upstream protocol dynamically (#1808). @YIDWang
  • Support set default HTTP stream config #1886. @nejisama

Changes

  • Change the default max header size to 8KB (#1837). @nejisama
  • Refactory default HTTP1 and HTTP2 convert, remove the proxy convert, use transcoder filter instead. @nejisama
  • transcoder filter: changed to register trancoder factory instead trancoder (#1879). @YIDWang

Bug fixes

  • Fix a HTTP buffer reuse related bug that may leads to nil panics in high concurrency case. @nejisama
  • Fix: get the proper value of variable response_flag, (#1814). @lemonlinger
  • Fix: prefix_write not work with "/" (#1826). @Bryce-huang
  • Fix: the reconfig.sock file may be removed unexpectly when killed the old MOSN manually during smoothly upgrade, (#1820). @XIEZHENGYAO
  • Fix the bug in doretry: should not set setupRetry to false directly, since the old response should be skip when the new upstream request has been sent out (#1807). @taoyuanyuan
  • Should set the inherit config back to the MOSN instance (#1819). @XIEZHENGYAO
  • Should send resetStreamFrame to upstream when cancel grpc context at client side, otherwise server side context won't be done. @XIEZHENGYAO
  • Should set the resetReason before closing the stream connection, otherwise, may unable to get the real reason (#1828). @wangfakang
  • Should use the listener that best match when found multi listeners, otherwise, may got 400 error code. @MengJiapeng
  • Fixed panic due to concurrent map iteration and map write during process setting broadcast in HTTP2 protocol. @XIEZHENGYAO
  • Fix memory leak occurred in the binding connpool of XProtocol (#1821). @Dennis8274
  • Should close logger at the end, otherwise, may lost log during close MOSN instance (#1845). @doujiang24
  • Fix panic due to codecClient is nil when got connect timeout event from XProtocol PingPong connection pool (#1849). @cuiweixie
  • Health checker not work when the unhealthyThreshold is an empty value (#1853). @Bryce-huang
  • WRR may leads dead recursion in unweightChooseHost #1860. @alpha-baby
  • Fix direct response, send hijack should not transcode. @nejisama
  • Fix EDF wrr lb cannot choose a healthy host when there's a unhealthy host with a high weight. @lemonlinger
  • Got the wrong CACert filename when converting the listen filter from Istio LDS, MOSN may not listen success (#1893). @doujiang24
  • The goroutine for resolving hosts in STRICT_DNS_CLUSTER cannot be stopped #1894 @bincherry