-
Notifications
You must be signed in to change notification settings - Fork 4
API Changes Compatibility Suite
iugaidiana edited this page Feb 17, 2025
·
2 revisions
During comparison of API specifications, APIHUB (qubership-apihub-api-diff) classifies each change by one of the following severity type:
- Breaking change is a change that breaks backward compatibility with the previous version of API. For example, deleting an operation, adding a required parameter or changing type of a parameter are breaking changes.
- Deprecating change is a change that annotates an operation, parameter or schema as deprecated. Removing a "deprecated" annotation is also considered a deprecating change.
- Non-breaking change is change that does not break backward compatibility with the previous version of API. For example, adding new operation or optional parameter is non-breaking change.
- Annotation change is a change to enrich the API documentation with information that does not affect the functionality of the API. For example, adding/changing/deleting descriptions or examples is annotation change. Unclassified change is a change that cannot be classified as any of the other types.
Current page contains compatibility suite for API specification changes for OpenAPI 3.0 and GraphQL (release October 2021).
Add enpoint with one method
| path to the change | change id | link | severity |
|---|---|---|---|
| paths.[<path>] | add-new-path | non-breaking |
Example:
Before:
openapi: 3.0
...
paths:
/pets:
post:
...After:
openapi: 3.0
...
paths:
/pets:
post:
...
/petstore:
get:
...Remove endpoint with one method
| path to the change | change id | link | severity |
|---|---|---|---|
| paths.[<path>] | remove-path | breaking |
Example:
Before:
openapi: 3.0
...
paths:
/pets:
post:
...
/petstore:
get:
...After:
openapi: 3.0
...
paths:
/pets:
post:
...| path to the change | change id | link | severity |
|---|---|---|---|
| paths.[*].[<method>] | add-new-method | non-breaking |
Example:
Before:
openapi: 3.0
...
paths:
/pets:
post:
...After:
openapi: 3.0
...
paths:
/pets:
post:
...
get:
..Remove non-deprecated method
| path to the change | change id | link | severity |
|---|---|---|---|
| paths.[*].[<method>] | remove-method | breaking |
Example:
Before:
openapi: 3.0
...
paths:
/pets:
post:
...
get:
...After:
openapi: 3.0
...
paths:
/pets:
post:
...Add tag to the operation
| path to the change | change id | link | severity |
|---|---|---|---|
| paths.[*].[*].tags.<value> | add-tag | annotation |
Example:
Before:
openapi: 3.0
tags:
- name: tag1
paths:
/pets:
post:
summary: Returns a list of pets.
responses:
"200":
description: OkAfter:
openapi: 3.0
tags:
- name: tag1
...
paths:
/pets:
post:
tags:
- tag1
summary: Returns a list of pets.
responses:
"200":
description: OkProcesses description
Technical articles
Design Items
- Navigation to APIHUB (log in / log out)
- Create Workspace
- Create Group
- Create Package
- Favorite packages, dashboards, groups, workspaces
- Shared Packages
- Activity History in Main Page
- Personal private workspace
- Version summary
- Revision History
- Package Activity History
- Manage Manual Operations Group
- Export Operations Group (reduced source specifications)
- Export Operations Group (combined specification)
- Export List of Operations in Excel
- Search and Filter Operations
- List of Operations
- List of Operations Groups
- Manage REST Path Prefix Group
- Activity History
- List of Deprecated Operations
- Export List of Changes in Excel
- Human‐readable description for deprecated items for OpenAPI 3.0
- List of Documents
- OpenAPI Document Overview
- Copy Package Version
- Export Package Version
- Export Document from Package Version
- Export List of Deprecated Operations in Excel
- API Quality Validation Result
- Export of discrepancy analysis results for arbitrary package versions in Excel
- AI Recommendations Tab
- General Settings
- Package versions list
- Access Tokens Management
- Delete Package
- Default Release Version
- Define Release Version Pattern