Skip to content

Planned Breaking Changes

Paul Lorenz edited this page Sep 27, 2022 · 3 revisions

Planned Breaking Changes

The Ziti project strives to keep new releases backwards compatible with older releases. Special care will be taken to ensure that SDK clients are backwards and forwards compatible.

However, in order to move the project forwards we will at times need to make breaking changes. As we become aware of the need for a breaking change we will document here so that those who depend on our APIs can plan accordingly.

Split the SDK API from the management API (Complete)

Currently the SDK uses a subset of the Edge management REST API. It would be more secure to have an SDK specific set of APIs, potentially just copied from the management APIs. The management APIs could then be locked down more tightly, while still allowing the much smaller set of SDK facing APIs to be accessed as before.

This change may require some configuration or code changes to deal with two separate endpoints.

Moving Fabric Management API to REST (Complete)

Currently the fabric uses the channel framework to implement its management API. The Edge uses REST. Ideally the fabric and the edge would use the same API so that clients could work with fabric and edge in the same fashion. To accomplish this, the following is planned:

  1. The fabric will be moving to a REST based management API
    1. The fabric API will sit under /fabric/v1
    2. Websockets will be used for to replace existing streaming API (metrics, sessions, etc)
  2. The ziti-fabric command will be merged into the ziti command, with a fabric subcommand
  3. The ziti-fabric-gw, which provides a REST adapter to the channel2 based API will no longer be necessary

None of these changes should affect SDK-based clients or users which use the Edge APIs exclusively. It will affect users of the fabric management API, the ziti-fabric CLI and the ziti-fabric-gw.