Release 0.25.5
- Bug fix: Fixes an issue where dial could fail if the terminator router didn't response to routing last
- Enhancement: Updated Control Channel to use new heartbeat logging mirroring Links in Release
0.25.0 - Enhancement: Added Circuit Creation Timespan which denotes how long the fabric took to construct a requested circuit.
{
"namespace": "namespace",
"event_type": "event_type",
"circuit_id": "circuit_id",
"timestamp": "2022-04-07T14:00:52.0500632-05:00",
"client_id": "client_id",
"service_id": "service_id",
"creation_timespan": 5000000, //Timespan in nanoseconds
"path": "path"
}- Bug fix: Fixes an issue where Edge administrator checks would not take default admin flag into account
- Bug fix: Fix an issue with docker-compose quickstart not properly loading env vars
- Enhancement: Add support for Apple M1 using the ziti quickstart CLI script
- Enhancement: Use an env file for docker-compose quickstart for easier version changes and other duplicated field values
- Enhancement: Allow for version override using the ziti quickstart CLI script
- Change: Renamed
pushDevBuild.shtobuildLocalDev.sh, the script used for building a local dev version of the docker quickstart image - Bug fix: Fixes an issues where
isAdminwould always default to false on updates (put/patch) - Bug fix: Identity property
externalIdwas not properly rendering onGETand not handled consistently onPUTandPATCH - Enhancement: External JWT Signer Issuer & Audience Validation
- Enhancement: Add ability to define local interface binding for link and controller dial
- Bug fix: Edge Management REST API Doc shows Edge Client REST API Doc
- Enhancement:
ziti db explore <ctrl.db>command has been added to explore offline database files - Enhancement: The mgmt API is now available via websocket. The stream commands are now available on
ziti fabric - Enhancement: Most list commands have been updated with tabular output
- Enhancement:
ziti edge showis now available with subcommandsconfigandconfig-typeziti edge list configsno longer shows the associated json. It can be viewed usingziti edge show config <config name or id>
- Enhancement:
ziti edge update config-typeis now available - Enhancement:
ziti edge create|update identitynow supports--external-id - Bug fix: Fixes an issue where the router config would use hostname instead of the DNS name
- Bug fix: When establishing links, a link could be closed while being registered, leading the controlller and router to get out of sync
- Enhancement: Add min router cost. Helps to minimize unnecessary hops.
- Defaults to 10, configurable in the controller config with the minRouterCost value under
network:
- Defaults to 10, configurable in the controller config with the minRouterCost value under
- Enhancement: Can now see xgress instance and link send buffer pointer values in circuit inspections. This allows correlating to stackdumps
- Enhancement: Can now see xgress related goroutines by using
ziti fabric inspect '.*' circuitAndStacks:<circuitId> - Enhancement: If a router connects to the controller but is already connected, the new connection now takes precedence
- There is a configurable churn limit, which limits how often this can happen.
- The default is 1 minute and is settable via
routerConnectChurnLimitundernetwork
- Enhancement: Flow control changes
- Duplicate acks won't shrink window. Duplicate acks imply retransmits and the retransmits already affect the window size
- Drop min round trip time scaling to 1.5 as will get scaled up as needed by duplicate ack detection
- Drop round trip time addition to 0 from 100ms and rely purely on scaling
- Avoid potential stall by always allowing at least one payload into sender side, even when receiver is full.
- This way if receiver signal to sender is lost, we'll still having something trying to send
- Enhancement: When router reconnects to controller, re-establish any embedded tunneler hosting on that router to ensure router and controller are in sync
External JWT Signer Issuer & Audience Validation
External JWT Signers (endpoint /external-jwt-signers) now support issuer and audience optional string fields.
These fields may be set to null on POST/PUT/PATCH or omitted; which will result in no validation of incoming
JWT's aud and iss fields. If issuer is defined, JWT iss fields will be validated. If audience is defined, JWT
aud fields will be validated. If a JWT contains multiple audience values as an array of strings and will be validated,
validation will check if the External JWT Signer's audience value is present as one of the values.
Add ability to define local interface binding for link and controller dial
The network interface used to dial the controller and router links can be provided in the router configuration file. The interface can be provided as either a name or an IP address.
ctrl:
endpoint: tls:127.0.0.1:6262
bind: wlp5s0
link:
dialers:
- binding: transport
bind: 192.168.1.11