|
| 1 | +# Release notes 1.1.0 |
| 2 | + |
| 3 | +## What's New |
| 4 | + |
| 5 | +* Experimental support for sdk based flow-control |
| 6 | +* Config change for multiple underlays |
| 7 | + |
| 8 | +## SDK Flow Control |
| 9 | + |
| 10 | +If the router being connected to supports it, the sdk can now manage flow control |
| 11 | +instead of delegating that to the router. This is mostly important when running |
| 12 | +multiple simultaneous circuits throught the SDK. When running multiple circuits, |
| 13 | +a slow circuit can get stalled at the router because of flow control back-pressure. |
| 14 | +This then back-pressures all circuits from the SDK to that router. |
| 15 | + |
| 16 | +By moving the flow-control to the SDK, a slow circuit will not negatively impact |
| 17 | +other circuits to the same router. This is currently enabled in the `DialOptions` |
| 18 | +and `ListenOptions` for the dial and hosting sides respectively. |
| 19 | + |
| 20 | +``` |
| 21 | +t := true |
| 22 | +dialOptions := &ziti.DialOptions{ |
| 23 | + ConnectTimeout: wf.ConnectTimeout, |
| 24 | + SdkFlowControl: &t, |
| 25 | +} |
| 26 | +
|
| 27 | +listenOptions := ziti.DefaultListenOptions() |
| 28 | +listenOptions.SdkFlowControl = &t |
| 29 | +``` |
| 30 | + |
| 31 | +As this is an experimental feature, the configuration may change or be removed |
| 32 | +in the future. |
| 33 | + |
| 34 | +## Config Changes |
| 35 | + |
| 36 | +The multi-underlay configuration has changed. There are now two settings. |
| 37 | + |
| 38 | +``` |
| 39 | +// If set to a number greater than one, the sdk will attempt to create multiple connections to edge routers. |
| 40 | +// This configuration value should not be considered part of the stable API yet. It currently defaults to one, |
| 41 | +// but it may default to a larger number at some point in the future or be removed. If set to zero, it will |
| 42 | +// be reset to one. |
| 43 | +MaxDefaultConnections uint32 `json:"-"` |
| 44 | +
|
| 45 | +// If set to a number greater than zero, the sdk will attempt to create one or more separate connection to |
| 46 | +// each edge routers for control plane data, such as dials. This configuration value should not be considered |
| 47 | +// part of the stable API yet. It currently defaults to zero, but it may default to 1 at some point in the future |
| 48 | +// or be removed. |
| 49 | +MaxControlConnections uint32 `json:"-"` |
| 50 | +``` |
| 51 | + |
| 52 | +The old `EnableSeparateControlPlaneConnection` setting is gone. Set `MaxControlConnections` to 1 to enable |
| 53 | +separation of control plane data. |
| 54 | + |
| 55 | +Note that while present, the `MaxDefaultConnections` should not be used yet. |
| 56 | + |
| 57 | +## Issues Fixed and Dependency Updates |
| 58 | + |
| 59 | +* github.com/openziti/sdk-golang: [v1.0.2 -> v1.1.0](https://github.com/openziti/sdk-golang/compare/v1.0.2...v1.1.0) |
| 60 | + * [Issue #702](https://github.com/openziti/sdk-golang/issues/702) - [Go SDK] Support xgress flow control from the SDK |
| 61 | + |
| 62 | +* github.com/openziti/channel/v4: [v4.0.4 -> v4.0.6](https://github.com/openziti/channel/compare/v4.0.4...v4.0.6) |
| 63 | + * [Issue #182](https://github.com/openziti/channel/issues/182) - MultiListener can deadlock |
| 64 | + * [Issue #180](https://github.com/openziti/channel/issues/180) - Add GetUserData to Channel interface |
| 65 | + |
| 66 | +* github.com/openziti/identity: [v1.0.100 -> v1.0.101](https://github.com/openziti/identity/compare/v1.0.100...v1.0.101) |
| 67 | + * [Issue #64](https://github.com/openziti/identity/issues/64) - Support a way to check if a cert/serverCert can be saved |
| 68 | + |
| 69 | + |
1 | 70 | # Release notes 1.0.2
|
2 | 71 |
|
3 | 72 | ## Issues Fixed and Dependency Updates
|
|
0 commit comments