Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions src/change.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,31 @@ pub enum ChangeComparison {

#[derive(Debug)]
pub enum ChangeClass {
/// This change is backward incompatible. A client on the old version may
/// not be able to communicate with a server on the new version.
///
/// This represents an input type becoming more restricted (so an old client
/// can send request data that a new server will reject), or an output type
/// becoming less restricted (so a new server can send response data that an
/// old client will reject).
BackwardIncompatible,
/// This change is forward incompatible. A server on the old version may
/// not be able to communicate with a client on the new version.
///
/// This represents an input type becoming less restricted (so a new client
/// can send request data that an old server will reject), or an output type
/// becoming more restricted (so an old server can send response data that a
/// new client will reject).
ForwardIncompatible,
/// This change is bidirectionally incompatible. A server on the old version
/// may not be able to communicate with a client on the new version, and
/// vice versa.
Incompatible,
/// This change is trivial (e.g., metadata changed). Servers and clients
/// across versions will not be affected.
Trivial,
/// This change is not handled by `drift` yet, and it should be assumed to
/// be bidirectionally incompatible.
Unhandled,
}

Expand Down
Loading